1// Copyright 2010-2025 Google LLC
 
    2// Licensed under the Apache License, Version 2.0 (the "License");
 
    3// you may not use this file except in compliance with the License.
 
    4// You may obtain a copy of the License at
 
    6//     http://www.apache.org/licenses/LICENSE-2.0
 
    8// Unless required by applicable law or agreed to in writing, software
 
    9// distributed under the License is distributed on an "AS IS" BASIS,
 
   10// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
   11// See the License for the specific language governing permissions and
 
   12// limitations under the License.
 
   14// The suggested resources to solve an optimization problem.
 
   18package operations_research.service.v1.mathopt;
 
   20option java_multiple_files = true;
 
   21option java_package = "com.google.ortools.service.v1.mathopt";
 
   22option csharp_namespace = "Google.OrTools.Service";
 
   24// This message is used to specify some hints on the resources a remote solve is
 
   25// expected to use. These parameters are hints and may be ignored by the remote
 
   26// server (in particular in case of solve in a local subprocess, for example).
 
   28// When using SolveService.Solve and SolveService.ComputeInfeasibleSubsystem,
 
   29// these hints are mostly optional as some defaults will be computed based on
 
   30// the other parameters.
 
   32// When using SolveService.StreamSolve these hints are used to dimension the
 
   33// resources available during the execution of every action; thus it is
 
   34// recommended to set them.
 
   35message SolverResourcesProto {
 
   36  // The number of CPUs this solve should be allocated (time-averaged over a
 
   37  // short implementation-defined window). Must be finite and >=1.0.
 
   38  // Note that if the SolveParametersProto.threads is not set then this
 
   39  // parameter should also be left unset.
 
   40  optional double cpu = 1;
 
   42  // The limit of RAM for the solve in bytes. Must be finite and >=512000.
 
   43  optional double ram = 2;