Files
ortools-clone/ortools/constraint_solver/solver_parameters.proto

141 lines
3.8 KiB
Protocol Buffer
Raw Permalink Normal View History

2025-01-10 11:35:44 +01:00
// Copyright 2010-2025 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.
// This file contains protocol buffers for all parameters of the CP solver.
syntax = "proto3";
2019-03-25 11:21:06 +01:00
option java_package = "com.google.ortools.constraintsolver";
option java_multiple_files = true;
option csharp_namespace = "Google.OrTools.ConstraintSolver";
package operations_research;
// Solver parameters.
message ConstraintSolverParameters {
//
// Internal parameters of the solver.
//
enum TrailCompression {
NO_COMPRESSION = 0;
COMPRESS_WITH_ZLIB = 1;
2022-01-18 11:05:48 +01:00
}
// This parameter indicates if the solver should compress the trail
// during the search. No compression means that the solver will be faster,
// but will use more memory.
TrailCompression compress_trail = 1;
// This parameter indicates the default size of a block of the trail.
// Compression applies at the block level.
int32 trail_block_size = 2;
// When a sum/min/max operation is applied on a large array, this
// array is recursively split into blocks of size 'array_split_size'.
int32 array_split_size = 3;
//
// Control naming of the variables..
//
// This parameters indicates if the solver should store the names of
// the objets it manages.
bool store_names = 4;
// Create names for cast variables.
bool name_cast_variables = 5;
// Should anonymous variables be given a name.
bool name_all_variables = 6;
//
// Control monitoring of the solver and the model.
//
// Activate propagation profiling.
bool profile_propagation = 7;
// Export propagation profiling data to file.
string profile_file = 8;
// Activate local search profiling.
bool profile_local_search = 16;
// Print local search profiling data after solving.
bool print_local_search_profile = 17;
// Activate propagate tracing.
bool trace_propagation = 9;
// Trace search.
bool trace_search = 10;
// Print the model before solving.
bool print_model = 11;
// Print model statistics before solving.
bool print_model_stats = 12;
// Print added constraints.
bool print_added_constraints = 13;
//
// Control search.
//
// Disable solving.
bool disable_solve = 15;
// The following flags are meant for internal use only.
//
// Control the implementation of the table constraint.
//
bool use_small_table = 101;
dotnet: Remove reference to dotnet release command - Currently not implemented... Add abseil patch - Add patches/absl-config.cmake Makefile: Add abseil-cpp on unix - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake Makefile: Add abseil-cpp on windows - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake CMake: Add abseil-cpp - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake port to absl: C++ Part - Fix warning with the use of ABSL_MUST_USE_RESULT > The macro must appear as the very first part of a function declaration or definition: ... Note: past advice was to place the macro after the argument list. src: dependencies/sources/abseil-cpp-master/absl/base/attributes.h:418 - Rename enum after windows clash - Remove non compact table constraints - Change index type from int64 to int in routing library - Fix file_nonport compilation on windows - Fix another naming conflict with windows (NO_ERROR is a macro) - Cleanup hash containers; work on sat internals - Add optional_boolean sub-proto Sync cpp examples with internal code - reenable issue173 after reducing number of loops port to absl: Python Part - Add back cp_model.INT32_MIN|MAX for examples Update Python examples - Add random_tsp.py - Run words_square example - Run magic_square in python tests port to absl: Java Part - Fix compilation of the new routing parameters in java - Protect some code from SWIG parsing Update Java Examples port to absl: .Net Part Update .Net examples work on sat internals; Add C++ CP-SAT CpModelBuilder API; update sample code and recipes to use the new API; sync with internal code Remove VS 2015 in Appveyor-CI - abseil-cpp does not support VS 2015... improve tables upgrade C++ sat examples to use the new API; work on sat internals update license dates rewrite jobshop_ft06_distance.py to use the CP-SAT solver rename last example revert last commit more work on SAT internals fix
2018-10-31 16:18:18 +01:00
reserved 100, 102, 103, 104;
//
// Control the propagation of the cumulative constraint.
//
bool use_cumulative_edge_finder = 105;
bool use_cumulative_time_table = 106;
bool use_cumulative_time_table_sync = 112;
bool use_sequence_high_demand_tasks = 107;
bool use_all_possible_disjunctions = 108;
int32 max_edge_finder_size = 109;
//
// Control the propagation of the diffn constraint.
//
bool diffn_use_cumulative = 110;
//
// Control the implementation of the element constraint.
//
bool use_element_rmq = 111;
dotnet: Remove reference to dotnet release command - Currently not implemented... Add abseil patch - Add patches/absl-config.cmake Makefile: Add abseil-cpp on unix - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake Makefile: Add abseil-cpp on windows - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake CMake: Add abseil-cpp - Force abseil-cpp SHA1 to 45221cc note: Just before the PR #136 which break all CMake port to absl: C++ Part - Fix warning with the use of ABSL_MUST_USE_RESULT > The macro must appear as the very first part of a function declaration or definition: ... Note: past advice was to place the macro after the argument list. src: dependencies/sources/abseil-cpp-master/absl/base/attributes.h:418 - Rename enum after windows clash - Remove non compact table constraints - Change index type from int64 to int in routing library - Fix file_nonport compilation on windows - Fix another naming conflict with windows (NO_ERROR is a macro) - Cleanup hash containers; work on sat internals - Add optional_boolean sub-proto Sync cpp examples with internal code - reenable issue173 after reducing number of loops port to absl: Python Part - Add back cp_model.INT32_MIN|MAX for examples Update Python examples - Add random_tsp.py - Run words_square example - Run magic_square in python tests port to absl: Java Part - Fix compilation of the new routing parameters in java - Protect some code from SWIG parsing Update Java Examples port to absl: .Net Part Update .Net examples work on sat internals; Add C++ CP-SAT CpModelBuilder API; update sample code and recipes to use the new API; sync with internal code Remove VS 2015 in Appveyor-CI - abseil-cpp does not support VS 2015... improve tables upgrade C++ sat examples to use the new API; work on sat internals update license dates rewrite jobshop_ft06_distance.py to use the CP-SAT solver rename last example revert last commit more work on SAT internals fix
2018-10-31 16:18:18 +01:00
//
// Skip locally optimal pairs of paths in PathOperators. Setting this
// parameter to true might skip valid neighbors if there are constraints
// linking paths together (such as precedences). In any other case this
// should only speed up the search without omitting any neighbors.
//
bool skip_locally_optimal_paths = 113;
//
// Control the behavior of local search.
//
int32 check_solution_period = 114;
2019-03-25 11:21:06 +01:00
}