Files
ortools-clone/ortools/sat/cp_model_service.proto
Laurent Perron ccf8efc4c9 polish
2021-02-19 15:39:50 +01:00

64 lines
2.1 KiB
Protocol Buffer

// Copyright 2010-2018 Google LLC
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";
package operations_research.sat;
import "google/protobuf/duration.proto";
import "ortools/sat/cp_model.proto";
option csharp_namespace = "Google.OrTools.Sat";
option java_package = "com.google.ortools.sat";
option java_multiple_files = true;
option java_outer_classname = "CpModelServiceProto";
// This service enables sending a CpModelProto to a server and getting back
// the optimal solution or all intermediate solutions of the problem.
service CpSatSolver {
// Single solve, sends a model, expects the optimal solution.
rpc SolveProblem(CpSatSolveRequest) returns (CpSatSolveResponse) {}
}
// The request set to the remote solve service.
message CpSatSolveRequest {
// The model to solve.
CpModelProto model = 1;
// The number of search workers to use. A value of 0 means the solver will
// try do decide upon a meaningful value.
int32 search_workers_count = 2;
// The max time the solver will spend while trying to find the optimal
// solution.
google.protobuf.Duration time_limit = 3;
// Extra solver parameters passed as a string.
string search_parameters_as_string = 4;
// If true, the solver internal log will be copied into the 'search_log' field
// of the response message.
bool log_search_progress = 5;
}
// The response fo the remove solve service.
message CpSatSolveResponse {
// The actual solver response.
CpSolverResponse response = 1;
// If log_search_progress was set in the solve request, this field will be
// filled by the internal log of the solver.
string search_log = 2;
}