Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
solver_parameters.proto
Go to the documentation of this file.
1// Copyright 2010-2024 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
5//
6// http://www.apache.org/licenses/LICENSE-2.0
7//
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.
13
14// This file contains protocol buffers for all parameters of the CP solver.
15
16syntax = "proto3";
17
18option java_package = "com.google.ortools.constraintsolver";
19option java_multiple_files = true;
20option csharp_namespace = "Google.OrTools.ConstraintSolver";
21
22package operations_research;
23
24// Solver parameters.
25message ConstraintSolverParameters {
26 //
27 // Internal parameters of the solver.
28 //
29 enum TrailCompression {
30 NO_COMPRESSION = 0;
31 COMPRESS_WITH_ZLIB = 1;
32 }
33
34 // This parameter indicates if the solver should compress the trail
35 // during the search. No compression means that the solver will be faster,
36 // but will use more memory.
37 TrailCompression compress_trail = 1;
38
39 // This parameter indicates the default size of a block of the trail.
40 // Compression applies at the block level.
41 int32 trail_block_size = 2;
42
43 // When a sum/min/max operation is applied on a large array, this
44 // array is recursively split into blocks of size 'array_split_size'.
45 int32 array_split_size = 3;
46
47 //
48 // Control naming of the variables..
49 //
50
51 // This parameters indicates if the solver should store the names of
52 // the objets it manages.
53 bool store_names = 4;
54
55 // Create names for cast variables.
56 bool name_cast_variables = 5;
57
58 // Should anonymous variables be given a name.
59 bool name_all_variables = 6;
60
61 //
62 // Control monitoring of the solver and the model.
63 //
64
65 // Activate propagation profiling.
66 bool profile_propagation = 7;
67
68 // Export propagation profiling data to file.
69 string profile_file = 8;
70
71 // Activate local search profiling.
72 bool profile_local_search = 16;
73
74 // Print local search profiling data after solving.
75 bool print_local_search_profile = 17;
76
77 // Activate propagate tracing.
78 bool trace_propagation = 9;
79
80 // Trace search.
81 bool trace_search = 10;
82
83 // Print the model before solving.
84 bool print_model = 11;
85
86 // Print model statistics before solving.
87 bool print_model_stats = 12;
88
89 // Print added constraints.
90 bool print_added_constraints = 13;
91
92 //
93 // Control search.
94 //
95
96 // Disable solving.
97
98 bool disable_solve = 15;
99
100 // The following flags are meant for internal use only.
101
102 //
103 // Control the implementation of the table constraint.
104 //
105 bool use_small_table = 101;
106 reserved 100, 102, 103, 104;
107
108 //
109 // Control the propagation of the cumulative constraint.
110 //
111 bool use_cumulative_edge_finder = 105;
112 bool use_cumulative_time_table = 106;
113 bool use_cumulative_time_table_sync = 112;
114 bool use_sequence_high_demand_tasks = 107;
115 bool use_all_possible_disjunctions = 108;
116 int32 max_edge_finder_size = 109;
117
118 //
119 // Control the propagation of the diffn constraint.
120 //
121 bool diffn_use_cumulative = 110;
122
123 //
124 // Control the implementation of the element constraint.
125 //
126 bool use_element_rmq = 111;
127
128 //
129 // Skip locally optimal pairs of paths in PathOperators. Setting this
130 // parameter to true might skip valid neighbors if there are constraints
131 // linking paths together (such as precedences). In any other case this
132 // should only speed up the search without omitting any neighbors.
133 //
134 bool skip_locally_optimal_paths = 113;
135
136 //
137 // Control the behavior of local search.
138 //
139 int32 check_solution_period = 114;
140}