Google OR-Tools v9.12
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
BopParameters.pb.cs
Go to the documentation of this file.
1// <auto-generated>
2// Generated by the protocol buffer compiler. DO NOT EDIT!
3// source: ortools/bop/bop_parameters.proto
4// </auto-generated>
5#pragma warning disable 1591, 0612, 3021, 8981
6#region Designer generated code
7
8using pb = global::Google.Protobuf;
9using pbc = global::Google.Protobuf.Collections;
10using pbr = global::Google.Protobuf.Reflection;
11using scg = global::System.Collections.Generic;
13
15 public static partial class BopParametersReflection {
16
17 #region Descriptor
19 public static pbr::FileDescriptor Descriptor {
20 get { return descriptor; }
21 }
22 private static pbr::FileDescriptor descriptor;
23
25 byte[] descriptorData = global::System.Convert.FromBase64String(
26 string.Concat(
27 "CiBvcnRvb2xzL2JvcC9ib3BfcGFyYW1ldGVycy5wcm90bxIXb3BlcmF0aW9u",
28 "c19yZXNlYXJjaC5ib3AihAQKEkJvcE9wdGltaXplck1ldGhvZBJHCgR0eXBl",
29 "GAEgASgOMjkub3BlcmF0aW9uc19yZXNlYXJjaC5ib3AuQm9wT3B0aW1pemVy",
30 "TWV0aG9kLk9wdGltaXplclR5cGUipAMKDU9wdGltaXplclR5cGUSEgoOU0FU",
31 "X0NPUkVfQkFTRUQQABIVChFTQVRfTElORUFSX1NFQVJDSBAPEhUKEUxJTkVB",
32 "Ul9SRUxBWEFUSU9OEAESEAoMTE9DQUxfU0VBUkNIEAISGQoVUkFORE9NX0ZJ",
33 "UlNUX1NPTFVUSU9OEAMSGQoVUkFORE9NX0NPTlNUUkFJTlRfTE5TEAQSFwoT",
34 "UkFORE9NX1ZBUklBQkxFX0xOUxAFEhAKDENPTVBMRVRFX0xOUxAHEhUKEUxQ",
35 "X0ZJUlNUX1NPTFVUSU9OEAgSHAoYT0JKRUNUSVZFX0ZJUlNUX1NPTFVUSU9O",
36 "EAkSHgoaVVNFUl9HVUlERURfRklSU1RfU09MVVRJT04QDhImCiJSQU5ET01f",
37 "Q09OU1RSQUlOVF9MTlNfR1VJREVEX0JZX0xQEAsSJAogUkFORE9NX1ZBUklB",
38 "QkxFX0xOU19HVUlERURfQllfTFAQDBIWChJSRUxBVElPTl9HUkFQSF9MTlMQ",
39 "EBIjCh9SRUxBVElPTl9HUkFQSF9MTlNfR1VJREVEX0JZX0xQEBEiVQoVQm9w",
40 "U29sdmVyT3B0aW1pemVyU2V0EjwKB21ldGhvZHMYASADKAsyKy5vcGVyYXRp",
41 "b25zX3Jlc2VhcmNoLmJvcC5Cb3BPcHRpbWl6ZXJNZXRob2Qi7hMKDUJvcFBh",
42 "cmFtZXRlcnMSIAoTbWF4X3RpbWVfaW5fc2Vjb25kcxgBIAEoAToDaW5mEiMK",
43 "Fm1heF9kZXRlcm1pbmlzdGljX3RpbWUYGyABKAE6A2luZhIkChlscF9tYXhf",
44 "ZGV0ZXJtaW5pc3RpY190aW1lGCUgASgBOgExEjkKMW1heF9udW1iZXJfb2Zf",
45 "Y29uc2VjdXRpdmVfZmFpbGluZ19vcHRpbWl6ZXJfY2FsbHMYIyABKAUSIgoS",
46 "cmVsYXRpdmVfZ2FwX2xpbWl0GBwgASgBOgYwLjAwMDESIgoXbWF4X251bV9k",
47 "ZWNpc2lvbnNfaW5fbHMYAiABKAU6ATQSNAogbWF4X251bV9icm9rZW5fY29u",
48 "c3RyYWludHNfaW5fbHMYJiABKAU6CjIxNDc0ODM2NDcSIgoTbG9nX3NlYXJj",
49 "aF9wcm9ncmVzcxgOIAEoCDoFZmFsc2USJgoYY29tcHV0ZV9lc3RpbWF0ZWRf",
50 "aW1wYWN0GAMgASgIOgR0cnVlEiAKEXBydW5lX3NlYXJjaF90cmVlGAQgASgI",
51 "OgVmYWxzZRIsCh1zb3J0X2NvbnN0cmFpbnRzX2J5X251bV90ZXJtcxgFIAEo",
52 "CDoFZmFsc2USHAoOdXNlX3JhbmRvbV9sbnMYBiABKAg6BHRydWUSFgoLcmFu",
53 "ZG9tX3NlZWQYByABKAU6ATgSHAoQbnVtX3JlbGF4ZWRfdmFycxgIIAEoBToC",
54 "MTASMwolbWF4X251bWJlcl9vZl9jb25mbGljdHNfaW5fcmFuZG9tX2xucxgJ",
55 "IAEoBToEMjUwMBIfChRudW1fcmFuZG9tX2xuc190cmllcxgKIAEoBToBMRIx",
56 "Ch5tYXhfbnVtYmVyX29mX2JhY2t0cmFja3NfaW5fbHMYCyABKAM6CTEwMDAw",
57 "MDAwMBIYCgp1c2VfbHBfbG5zGAwgASgIOgR0cnVlEjEKI3VzZV9zYXRfdG9f",
58 "Y2hvb3NlX2xuc19uZWlnaGJvdXJob29kGA8gASgIOgR0cnVlEjMKJ21heF9u",
59 "dW1iZXJfb2ZfY29uZmxpY3RzX2Zvcl9xdWlja19jaGVjaxgQIAEoBToCMTAS",
60 "GwoMdXNlX3N5bW1ldHJ5GBEgASgIOgVmYWxzZRI1CiZleHBsb2l0X3N5bW1l",
61 "dHJ5X2luX3NhdF9maXJzdF9zb2x1dGlvbhgoIAEoCDoFZmFsc2USQgo1bWF4",
62 "X251bWJlcl9vZl9jb25mbGljdHNfaW5fcmFuZG9tX3NvbHV0aW9uX2dlbmVy",
63 "YXRpb24YFCABKAU6AzUwMBI/CjBtYXhfbnVtYmVyX29mX2V4cGxvcmVkX2Fz",
64 "c2lnbm1lbnRzX3Blcl90cnlfaW5fbHMYFSABKAM6BTEwMDAwEisKHXVzZV90",
65 "cmFuc3Bvc2l0aW9uX3RhYmxlX2luX2xzGBYgASgIOgR0cnVlEjMKJHVzZV9w",
66 "b3RlbnRpYWxfb25lX2ZsaXBfcmVwYWlyc19pbl9scxgnIAEoCDoFZmFsc2US",
67 "LgogdXNlX2xlYXJuZWRfYmluYXJ5X2NsYXVzZXNfaW5fbHAYFyABKAg6BHRy",
68 "dWUSHAoRbnVtYmVyX29mX3NvbHZlcnMYGCABKAU6ATEScgoUc3luY2hyb25p",
69 "emF0aW9uX3R5cGUYGSABKA4yQC5vcGVyYXRpb25zX3Jlc2VhcmNoLmJvcC5C",
70 "b3BQYXJhbWV0ZXJzLlRocmVhZFN5bmNocm9uaXphdGlvblR5cGU6Ek5PX1NZ",
71 "TkNIUk9OSVpBVElPThJNChVzb2x2ZXJfb3B0aW1pemVyX3NldHMYGiADKAsy",
72 "Li5vcGVyYXRpb25zX3Jlc2VhcmNoLmJvcC5Cb3BTb2x2ZXJPcHRpbWl6ZXJT",
73 "ZXQS8gUKHWRlZmF1bHRfc29sdmVyX29wdGltaXplcl9zZXRzGCEgASgJOsoF",
74 "bWV0aG9kczp7dHlwZTpMT0NBTF9TRUFSQ0ggfSAgICAgICAgICAgICAgICAg",
75 "ICAgICAgbWV0aG9kczp7dHlwZTpSQU5ET01fRklSU1RfU09MVVRJT04gfSAg",
76 "ICAgICAgICAgICAgbWV0aG9kczp7dHlwZTpMSU5FQVJfUkVMQVhBVElPTiB9",
77 "ICAgICAgICAgICAgICAgICAgbWV0aG9kczp7dHlwZTpMUF9GSVJTVF9TT0xV",
78 "VElPTiB9ICAgICAgICAgICAgICAgICAgbWV0aG9kczp7dHlwZTpPQkpFQ1RJ",
79 "VkVfRklSU1RfU09MVVRJT04gfSAgICAgICAgICAgbWV0aG9kczp7dHlwZTpV",
80 "U0VSX0dVSURFRF9GSVJTVF9TT0xVVElPTiB9ICAgICAgICAgbWV0aG9kczp7",
81 "dHlwZTpSQU5ET01fQ09OU1RSQUlOVF9MTlNfR1VJREVEX0JZX0xQIH0gbWV0",
82 "aG9kczp7dHlwZTpSQU5ET01fVkFSSUFCTEVfTE5TX0dVSURFRF9CWV9MUCB9",
83 "ICAgbWV0aG9kczp7dHlwZTpSRUxBVElPTl9HUkFQSF9MTlMgfSAgICAgICAg",
84 "ICAgICAgICAgbWV0aG9kczp7dHlwZTpSRUxBVElPTl9HUkFQSF9MTlNfR1VJ",
85 "REVEX0JZX0xQIH0gICAgbWV0aG9kczp7dHlwZTpSQU5ET01fQ09OU1RSQUlO",
86 "VF9MTlMgfSAgICAgICAgICAgICAgbWV0aG9kczp7dHlwZTpSQU5ET01fVkFS",
87 "SUFCTEVfTE5TIH0gICAgICAgICAgICAgICAgbWV0aG9kczp7dHlwZTpTQVRf",
88 "Q09SRV9CQVNFRCB9ICAgICAgICAgICAgICAgICAgICAgbWV0aG9kczp7dHlw",
89 "ZTpDT01QTEVURV9MTlMgfSAgICAgICAgICAgICAgICAgICAgICAgEiYKF3Vz",
90 "ZV9scF9zdHJvbmdfYnJhbmNoaW5nGB0gASgIOgVmYWxzZRIuCiJkZWNvbXBv",
91 "c2VyX251bV92YXJpYWJsZXNfdGhyZXNob2xkGB4gASgFOgI1MBIwCiVudW1f",
92 "Ym9wX3NvbHZlcnNfdXNlZF9ieV9kZWNvbXBvc2l0aW9uGB8gASgFOgExEjEK",
93 "JmRlY29tcG9zZWRfcHJvYmxlbV9taW5fdGltZV9pbl9zZWNvbmRzGCQgASgB",
94 "OgEwEigKGmd1aWRlZF9zYXRfY29uZmxpY3RzX2NodW5rGCIgASgFOgQxMDAw",
95 "EjAKJW1heF9scF9zb2x2ZV9mb3JfZmVhc2liaWxpdHlfcHJvYmxlbXMYKSAB",
96 "KAU6ATAiYgoZVGhyZWFkU3luY2hyb25pemF0aW9uVHlwZRIWChJOT19TWU5D",
97 "SFJPTklaQVRJT04QABITCg9TWU5DSFJPTklaRV9BTEwQARIYChRTWU5DSFJP",
98 "TklaRV9PTl9SSUdIVBACQi8KFmNvbS5nb29nbGUub3J0b29scy5ib3BQAaoC",
99 "Ekdvb2dsZS5PclRvb2xzLkJvcA=="));
100 descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
101 new pbr::FileDescriptor[] { },
102 new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
103 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Bop.BopOptimizerMethod), global::Google.OrTools.Bop.BopOptimizerMethod.Parser, new[]{ "Type" }, null, new[]{ typeof(global::Google.OrTools.Bop.BopOptimizerMethod.Types.OptimizerType) }, null, null),
104 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Bop.BopSolverOptimizerSet), global::Google.OrTools.Bop.BopSolverOptimizerSet.Parser, new[]{ "Methods" }, null, null, null, null),
105 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.Bop.BopParameters), global::Google.OrTools.Bop.BopParameters.Parser, new[]{ "MaxTimeInSeconds", "MaxDeterministicTime", "LpMaxDeterministicTime", "MaxNumberOfConsecutiveFailingOptimizerCalls", "RelativeGapLimit", "MaxNumDecisionsInLs", "MaxNumBrokenConstraintsInLs", "LogSearchProgress", "ComputeEstimatedImpact", "PruneSearchTree", "SortConstraintsByNumTerms", "UseRandomLns", "RandomSeed", "NumRelaxedVars", "MaxNumberOfConflictsInRandomLns", "NumRandomLnsTries", "MaxNumberOfBacktracksInLs", "UseLpLns", "UseSatToChooseLnsNeighbourhood", "MaxNumberOfConflictsForQuickCheck", "UseSymmetry", "ExploitSymmetryInSatFirstSolution", "MaxNumberOfConflictsInRandomSolutionGeneration", "MaxNumberOfExploredAssignmentsPerTryInLs", "UseTranspositionTableInLs", "UsePotentialOneFlipRepairsInLs", "UseLearnedBinaryClausesInLp", "NumberOfSolvers", "SynchronizationType", "SolverOptimizerSets", "DefaultSolverOptimizerSets", "UseLpStrongBranching", "DecomposerNumVariablesThreshold", "NumBopSolversUsedByDecomposition", "DecomposedProblemMinTimeInSeconds", "GuidedSatConflictsChunk", "MaxLpSolveForFeasibilityProblems" }, null, new[]{ typeof(global::Google.OrTools.Bop.BopParameters.Types.ThreadSynchronizationType) }, null, null)
106 }));
107 }
108 #endregion
109
110 }
111 #region Messages
117 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
118 public sealed partial class BopOptimizerMethod : pb::IMessage<BopOptimizerMethod>
119 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
120 , pb::IBufferMessage
121 #endif
122 {
123 private static readonly pb::MessageParser<BopOptimizerMethod> _parser = new pb::MessageParser<BopOptimizerMethod>(() => new BopOptimizerMethod());
124 private pb::UnknownFieldSet _unknownFields;
125 private int _hasBits0;
126 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
127 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
128 public static pb::MessageParser<BopOptimizerMethod> Parser { get { return _parser; } }
130 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
131 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
132 public static pbr::MessageDescriptor Descriptor {
133 get { return global::Google.OrTools.Bop.BopParametersReflection.Descriptor.MessageTypes[0]; }
134 }
135
136 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
137 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
138 pbr::MessageDescriptor pb::IMessage.Descriptor {
139 get { return Descriptor; }
140 }
141
142 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
143 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
144 public BopOptimizerMethod() {
145 OnConstruction();
146 }
147
148 partial void OnConstruction();
149
150 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
151 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
152 public BopOptimizerMethod(BopOptimizerMethod other) : this() {
153 _hasBits0 = other._hasBits0;
154 type_ = other.type_;
155 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
156 }
157
158 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
159 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
160 public BopOptimizerMethod Clone() {
161 return new BopOptimizerMethod(this);
162 }
163
164
165 public const int TypeFieldNumber = 1;
166 private readonly static global::Google.OrTools.Bop.BopOptimizerMethod.Types.OptimizerType TypeDefaultValue = global::Google.OrTools.Bop.BopOptimizerMethod.Types.OptimizerType.SatCoreBased;
167
168 private global::Google.OrTools.Bop.BopOptimizerMethod.Types.OptimizerType type_;
169 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
170 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
171 public global::Google.OrTools.Bop.BopOptimizerMethod.Types.OptimizerType Type {
172 get { if ((_hasBits0 & 1) != 0) { return type_; } else { return TypeDefaultValue; } }
173 set {
174 _hasBits0 |= 1;
175 type_ = value;
176 }
177 }
179 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
180 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
181 public bool HasType {
182 get { return (_hasBits0 & 1) != 0; }
183 }
185 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
186 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
187 public void ClearType() {
188 _hasBits0 &= ~1;
189 }
190
191 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
192 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
193 public override bool Equals(object other) {
194 return Equals(other as BopOptimizerMethod);
195 }
196
197 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
198 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
199 public bool Equals(BopOptimizerMethod other) {
200 if (ReferenceEquals(other, null)) {
201 return false;
202 }
203 if (ReferenceEquals(other, this)) {
204 return true;
205 }
206 if (Type != other.Type) return false;
207 return Equals(_unknownFields, other._unknownFields);
208 }
209
210 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
211 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
212 public override int GetHashCode() {
213 int hash = 1;
214 if (HasType) hash ^= Type.GetHashCode();
215 if (_unknownFields != null) {
216 hash ^= _unknownFields.GetHashCode();
217 }
218 return hash;
219 }
220
221 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
222 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
223 public override string ToString() {
224 return pb::JsonFormatter.ToDiagnosticString(this);
225 }
226
227 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
228 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
229 public void WriteTo(pb::CodedOutputStream output) {
230 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
231 output.WriteRawMessage(this);
232 #else
233 if (HasType) {
234 output.WriteRawTag(8);
235 output.WriteEnum((int) Type);
236 }
237 if (_unknownFields != null) {
238 _unknownFields.WriteTo(output);
239 }
240 #endif
241 }
242
243 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
244 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
245 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
246 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
247 if (HasType) {
248 output.WriteRawTag(8);
249 output.WriteEnum((int) Type);
250 }
251 if (_unknownFields != null) {
252 _unknownFields.WriteTo(ref output);
253 }
254 }
255 #endif
256
257 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
258 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
259 public int CalculateSize() {
260 int size = 0;
261 if (HasType) {
262 size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
263 }
264 if (_unknownFields != null) {
265 size += _unknownFields.CalculateSize();
266 }
267 return size;
268 }
269
270 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
271 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
272 public void MergeFrom(BopOptimizerMethod other) {
273 if (other == null) {
274 return;
275 }
276 if (other.HasType) {
277 Type = other.Type;
278 }
279 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
280 }
281
282 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
283 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
284 public void MergeFrom(pb::CodedInputStream input) {
285 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
286 input.ReadRawMessage(this);
287 #else
288 uint tag;
289 while ((tag = input.ReadTag()) != 0) {
290 if ((tag & 7) == 4) {
291 // Abort on any end group tag.
292 return;
293 }
294 switch(tag) {
295 default:
296 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
297 break;
298 case 8: {
299 Type = (global::Google.OrTools.Bop.BopOptimizerMethod.Types.OptimizerType) input.ReadEnum();
300 break;
301 }
302 }
303 }
304 #endif
305 }
306
307 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
308 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
309 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
310 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
311 uint tag;
312 while ((tag = input.ReadTag()) != 0) {
313 if ((tag & 7) == 4) {
314 // Abort on any end group tag.
315 return;
316 }
317 switch(tag) {
318 default:
319 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
320 break;
321 case 8: {
322 Type = (global::Google.OrTools.Bop.BopOptimizerMethod.Types.OptimizerType) input.ReadEnum();
323 break;
324 }
325 }
326 }
327 }
328 #endif
329
330 #region Nested types
332 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
333 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
334 public static partial class Types {
335 public enum OptimizerType {
336 [pbr::OriginalName("SAT_CORE_BASED")] SatCoreBased = 0,
337 [pbr::OriginalName("SAT_LINEAR_SEARCH")] SatLinearSearch = 15,
338 [pbr::OriginalName("LINEAR_RELAXATION")] LinearRelaxation = 1,
339 [pbr::OriginalName("LOCAL_SEARCH")] LocalSearch = 2,
340 [pbr::OriginalName("RANDOM_FIRST_SOLUTION")] RandomFirstSolution = 3,
341 [pbr::OriginalName("RANDOM_CONSTRAINT_LNS")] RandomConstraintLns = 4,
342 [pbr::OriginalName("RANDOM_VARIABLE_LNS")] RandomVariableLns = 5,
343 [pbr::OriginalName("COMPLETE_LNS")] CompleteLns = 7,
344 [pbr::OriginalName("LP_FIRST_SOLUTION")] LpFirstSolution = 8,
345 [pbr::OriginalName("OBJECTIVE_FIRST_SOLUTION")] ObjectiveFirstSolution = 9,
346 [pbr::OriginalName("USER_GUIDED_FIRST_SOLUTION")] UserGuidedFirstSolution = 14,
347 [pbr::OriginalName("RANDOM_CONSTRAINT_LNS_GUIDED_BY_LP")] RandomConstraintLnsGuidedByLp = 11,
348 [pbr::OriginalName("RANDOM_VARIABLE_LNS_GUIDED_BY_LP")] RandomVariableLnsGuidedByLp = 12,
349 [pbr::OriginalName("RELATION_GRAPH_LNS")] RelationGraphLns = 16,
350 [pbr::OriginalName("RELATION_GRAPH_LNS_GUIDED_BY_LP")] RelationGraphLnsGuidedByLp = 17,
352
353 }
354 #endregion
355
356 }
357
358
363 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
364 public sealed partial class BopSolverOptimizerSet : pb::IMessage<BopSolverOptimizerSet>
365 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
366 , pb::IBufferMessage
367 #endif
368 {
369 private static readonly pb::MessageParser<BopSolverOptimizerSet> _parser = new pb::MessageParser<BopSolverOptimizerSet>(() => new BopSolverOptimizerSet());
370 private pb::UnknownFieldSet _unknownFields;
371 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
372 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
373 public static pb::MessageParser<BopSolverOptimizerSet> Parser { get { return _parser; } }
375 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
376 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
377 public static pbr::MessageDescriptor Descriptor {
378 get { return global::Google.OrTools.Bop.BopParametersReflection.Descriptor.MessageTypes[1]; }
379 }
380
381 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
382 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
383 pbr::MessageDescriptor pb::IMessage.Descriptor {
384 get { return Descriptor; }
385 }
386
387 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
388 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
389 public BopSolverOptimizerSet() {
390 OnConstruction();
391 }
392
393 partial void OnConstruction();
394
395 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
396 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
397 public BopSolverOptimizerSet(BopSolverOptimizerSet other) : this() {
398 methods_ = other.methods_.Clone();
399 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
400 }
401
402 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
403 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
404 public BopSolverOptimizerSet Clone() {
405 return new BopSolverOptimizerSet(this);
406 }
407
408
409 public const int MethodsFieldNumber = 1;
410 private static readonly pb::FieldCodec<global::Google.OrTools.Bop.BopOptimizerMethod> _repeated_methods_codec
411 = pb::FieldCodec.ForMessage(10, global::Google.OrTools.Bop.BopOptimizerMethod.Parser);
412 private readonly pbc::RepeatedField<global::Google.OrTools.Bop.BopOptimizerMethod> methods_ = new pbc::RepeatedField<global::Google.OrTools.Bop.BopOptimizerMethod>();
413 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
414 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
415 public pbc::RepeatedField<global::Google.OrTools.Bop.BopOptimizerMethod> Methods {
416 get { return methods_; }
417 }
418
419 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
420 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
421 public override bool Equals(object other) {
423 }
424
425 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
426 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
427 public bool Equals(BopSolverOptimizerSet other) {
428 if (ReferenceEquals(other, null)) {
429 return false;
430 }
431 if (ReferenceEquals(other, this)) {
432 return true;
433 }
434 if(!methods_.Equals(other.methods_)) return false;
435 return Equals(_unknownFields, other._unknownFields);
436 }
437
438 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
439 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
440 public override int GetHashCode() {
441 int hash = 1;
442 hash ^= methods_.GetHashCode();
443 if (_unknownFields != null) {
444 hash ^= _unknownFields.GetHashCode();
445 }
446 return hash;
447 }
448
449 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
450 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
451 public override string ToString() {
452 return pb::JsonFormatter.ToDiagnosticString(this);
453 }
454
455 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
456 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
457 public void WriteTo(pb::CodedOutputStream output) {
458 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
459 output.WriteRawMessage(this);
460 #else
461 methods_.WriteTo(output, _repeated_methods_codec);
462 if (_unknownFields != null) {
463 _unknownFields.WriteTo(output);
464 }
465 #endif
466 }
467
468 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
469 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
470 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
471 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
472 methods_.WriteTo(ref output, _repeated_methods_codec);
473 if (_unknownFields != null) {
474 _unknownFields.WriteTo(ref output);
475 }
476 }
477 #endif
478
479 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
480 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
481 public int CalculateSize() {
482 int size = 0;
483 size += methods_.CalculateSize(_repeated_methods_codec);
484 if (_unknownFields != null) {
485 size += _unknownFields.CalculateSize();
486 }
487 return size;
488 }
489
490 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
491 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
492 public void MergeFrom(BopSolverOptimizerSet other) {
493 if (other == null) {
494 return;
495 }
496 methods_.Add(other.methods_);
497 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
498 }
499
500 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
501 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
502 public void MergeFrom(pb::CodedInputStream input) {
503 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
504 input.ReadRawMessage(this);
505 #else
506 uint tag;
507 while ((tag = input.ReadTag()) != 0) {
508 if ((tag & 7) == 4) {
509 // Abort on any end group tag.
510 return;
511 }
512 switch(tag) {
513 default:
514 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
515 break;
516 case 10: {
517 methods_.AddEntriesFrom(input, _repeated_methods_codec);
518 break;
519 }
520 }
521 }
522 #endif
523 }
524
525 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
526 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
527 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
528 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
529 uint tag;
530 while ((tag = input.ReadTag()) != 0) {
531 if ((tag & 7) == 4) {
532 // Abort on any end group tag.
533 return;
534 }
535 switch(tag) {
536 default:
537 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
538 break;
539 case 10: {
540 methods_.AddEntriesFrom(ref input, _repeated_methods_codec);
541 break;
542 }
543 }
544 }
545 }
546 #endif
547
548 }
549
550
556 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
557 public sealed partial class BopParameters : pb::IMessage<BopParameters>
558 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
559 , pb::IBufferMessage
560 #endif
561 {
562 private static readonly pb::MessageParser<BopParameters> _parser = new pb::MessageParser<BopParameters>(() => new BopParameters());
563 private pb::UnknownFieldSet _unknownFields;
564 private int _hasBits0;
565 private int _hasBits1;
566 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
567 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
568 public static pb::MessageParser<BopParameters> Parser { get { return _parser; } }
569
570 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
571 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
572 public static pbr::MessageDescriptor Descriptor {
573 get { return global::Google.OrTools.Bop.BopParametersReflection.Descriptor.MessageTypes[2]; }
575
576 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
577 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
578 pbr::MessageDescriptor pb::IMessage.Descriptor {
579 get { return Descriptor; }
580 }
581
582 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
583 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
584 public BopParameters() {
585 OnConstruction();
587
588 partial void OnConstruction();
589
590 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
591 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
592 public BopParameters(BopParameters other) : this() {
593 _hasBits0 = other._hasBits0;
594 _hasBits1 = other._hasBits1;
595 maxTimeInSeconds_ = other.maxTimeInSeconds_;
596 maxDeterministicTime_ = other.maxDeterministicTime_;
597 lpMaxDeterministicTime_ = other.lpMaxDeterministicTime_;
598 maxNumberOfConsecutiveFailingOptimizerCalls_ = other.maxNumberOfConsecutiveFailingOptimizerCalls_;
599 relativeGapLimit_ = other.relativeGapLimit_;
600 maxNumDecisionsInLs_ = other.maxNumDecisionsInLs_;
601 maxNumBrokenConstraintsInLs_ = other.maxNumBrokenConstraintsInLs_;
602 logSearchProgress_ = other.logSearchProgress_;
603 computeEstimatedImpact_ = other.computeEstimatedImpact_;
604 pruneSearchTree_ = other.pruneSearchTree_;
605 sortConstraintsByNumTerms_ = other.sortConstraintsByNumTerms_;
606 useRandomLns_ = other.useRandomLns_;
607 randomSeed_ = other.randomSeed_;
608 numRelaxedVars_ = other.numRelaxedVars_;
609 maxNumberOfConflictsInRandomLns_ = other.maxNumberOfConflictsInRandomLns_;
610 numRandomLnsTries_ = other.numRandomLnsTries_;
611 maxNumberOfBacktracksInLs_ = other.maxNumberOfBacktracksInLs_;
612 useLpLns_ = other.useLpLns_;
613 useSatToChooseLnsNeighbourhood_ = other.useSatToChooseLnsNeighbourhood_;
614 maxNumberOfConflictsForQuickCheck_ = other.maxNumberOfConflictsForQuickCheck_;
615 useSymmetry_ = other.useSymmetry_;
616 exploitSymmetryInSatFirstSolution_ = other.exploitSymmetryInSatFirstSolution_;
617 maxNumberOfConflictsInRandomSolutionGeneration_ = other.maxNumberOfConflictsInRandomSolutionGeneration_;
618 maxNumberOfExploredAssignmentsPerTryInLs_ = other.maxNumberOfExploredAssignmentsPerTryInLs_;
619 useTranspositionTableInLs_ = other.useTranspositionTableInLs_;
620 usePotentialOneFlipRepairsInLs_ = other.usePotentialOneFlipRepairsInLs_;
621 useLearnedBinaryClausesInLp_ = other.useLearnedBinaryClausesInLp_;
622 numberOfSolvers_ = other.numberOfSolvers_;
623 synchronizationType_ = other.synchronizationType_;
624 solverOptimizerSets_ = other.solverOptimizerSets_.Clone();
625 defaultSolverOptimizerSets_ = other.defaultSolverOptimizerSets_;
626 useLpStrongBranching_ = other.useLpStrongBranching_;
627 decomposerNumVariablesThreshold_ = other.decomposerNumVariablesThreshold_;
628 numBopSolversUsedByDecomposition_ = other.numBopSolversUsedByDecomposition_;
629 decomposedProblemMinTimeInSeconds_ = other.decomposedProblemMinTimeInSeconds_;
630 guidedSatConflictsChunk_ = other.guidedSatConflictsChunk_;
631 maxLpSolveForFeasibilityProblems_ = other.maxLpSolveForFeasibilityProblems_;
632 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
633 }
634
635 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
636 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
637 public BopParameters Clone() {
638 return new BopParameters(this);
640
642 public const int MaxTimeInSecondsFieldNumber = 1;
643 private readonly static double MaxTimeInSecondsDefaultValue = double.PositiveInfinity;
645 private double maxTimeInSeconds_;
650 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
651 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
652 public double MaxTimeInSeconds {
653 get { if ((_hasBits0 & 1) != 0) { return maxTimeInSeconds_; } else { return MaxTimeInSecondsDefaultValue; } }
654 set {
655 _hasBits0 |= 1;
656 maxTimeInSeconds_ = value;
657 }
658 }
660 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
661 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
662 public bool HasMaxTimeInSeconds {
663 get { return (_hasBits0 & 1) != 0; }
666 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
667 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
668 public void ClearMaxTimeInSeconds() {
669 _hasBits0 &= ~1;
671
673 public const int MaxDeterministicTimeFieldNumber = 27;
674 private readonly static double MaxDeterministicTimeDefaultValue = double.PositiveInfinity;
676 private double maxDeterministicTime_;
684 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
685 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
686 public double MaxDeterministicTime {
687 get { if ((_hasBits0 & 4194304) != 0) { return maxDeterministicTime_; } else { return MaxDeterministicTimeDefaultValue; } }
688 set {
689 _hasBits0 |= 4194304;
690 maxDeterministicTime_ = value;
691 }
692 }
694 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
695 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
696 public bool HasMaxDeterministicTime {
697 get { return (_hasBits0 & 4194304) != 0; }
700 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
701 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
702 public void ClearMaxDeterministicTime() {
703 _hasBits0 &= ~4194304;
705
707 public const int LpMaxDeterministicTimeFieldNumber = 37;
708 private readonly static double LpMaxDeterministicTimeDefaultValue = 1D;
710 private double lpMaxDeterministicTime_;
716 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
717 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
718 public double LpMaxDeterministicTime {
719 get { if ((_hasBits0 & 1073741824) != 0) { return lpMaxDeterministicTime_; } else { return LpMaxDeterministicTimeDefaultValue; } }
720 set {
721 _hasBits0 |= 1073741824;
722 lpMaxDeterministicTime_ = value;
723 }
724 }
726 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
727 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
728 public bool HasLpMaxDeterministicTime {
729 get { return (_hasBits0 & 1073741824) != 0; }
732 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
733 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
734 public void ClearLpMaxDeterministicTime() {
735 _hasBits0 &= ~1073741824;
737
739 public const int MaxNumberOfConsecutiveFailingOptimizerCallsFieldNumber = 35;
740 private readonly static int MaxNumberOfConsecutiveFailingOptimizerCallsDefaultValue = 0;
742 private int maxNumberOfConsecutiveFailingOptimizerCalls_;
750 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
751 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
753 get { if ((_hasBits0 & 268435456) != 0) { return maxNumberOfConsecutiveFailingOptimizerCalls_; } else { return MaxNumberOfConsecutiveFailingOptimizerCallsDefaultValue; } }
754 set {
755 _hasBits0 |= 268435456;
756 maxNumberOfConsecutiveFailingOptimizerCalls_ = value;
757 }
758 }
760 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
761 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
762 public bool HasMaxNumberOfConsecutiveFailingOptimizerCalls {
763 get { return (_hasBits0 & 268435456) != 0; }
766 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
767 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
768 public void ClearMaxNumberOfConsecutiveFailingOptimizerCalls() {
769 _hasBits0 &= ~268435456;
771
773 public const int RelativeGapLimitFieldNumber = 28;
774 private readonly static double RelativeGapLimitDefaultValue = 0.0001D;
776 private double relativeGapLimit_;
784 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
785 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
786 public double RelativeGapLimit {
787 get { if ((_hasBits0 & 8388608) != 0) { return relativeGapLimit_; } else { return RelativeGapLimitDefaultValue; } }
788 set {
789 _hasBits0 |= 8388608;
790 relativeGapLimit_ = value;
791 }
792 }
794 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
795 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
796 public bool HasRelativeGapLimit {
797 get { return (_hasBits0 & 8388608) != 0; }
800 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
801 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
802 public void ClearRelativeGapLimit() {
803 _hasBits0 &= ~8388608;
805
807 public const int MaxNumDecisionsInLsFieldNumber = 2;
808 private readonly static int MaxNumDecisionsInLsDefaultValue = 4;
810 private int maxNumDecisionsInLs_;
815 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
816 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
817 public int MaxNumDecisionsInLs {
818 get { if ((_hasBits0 & 2) != 0) { return maxNumDecisionsInLs_; } else { return MaxNumDecisionsInLsDefaultValue; } }
819 set {
820 _hasBits0 |= 2;
821 maxNumDecisionsInLs_ = value;
822 }
823 }
825 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
826 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
827 public bool HasMaxNumDecisionsInLs {
828 get { return (_hasBits0 & 2) != 0; }
831 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
832 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
833 public void ClearMaxNumDecisionsInLs() {
834 _hasBits0 &= ~2;
836
838 public const int MaxNumBrokenConstraintsInLsFieldNumber = 38;
839 private readonly static int MaxNumBrokenConstraintsInLsDefaultValue = 2147483647;
841 private int maxNumBrokenConstraintsInLs_;
847 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
848 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
849 public int MaxNumBrokenConstraintsInLs {
850 get { if ((_hasBits0 & -2147483648) != 0) { return maxNumBrokenConstraintsInLs_; } else { return MaxNumBrokenConstraintsInLsDefaultValue; } }
851 set {
852 _hasBits0 |= -2147483648;
853 maxNumBrokenConstraintsInLs_ = value;
854 }
855 }
857 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
858 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
859 public bool HasMaxNumBrokenConstraintsInLs {
860 get { return (_hasBits0 & -2147483648) != 0; }
863 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
864 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
865 public void ClearMaxNumBrokenConstraintsInLs() {
866 _hasBits0 &= ~-2147483648;
868
870 public const int LogSearchProgressFieldNumber = 14;
871 private readonly static bool LogSearchProgressDefaultValue = false;
873 private bool logSearchProgress_;
877 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
878 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
879 public bool LogSearchProgress {
880 get { if ((_hasBits0 & 4096) != 0) { return logSearchProgress_; } else { return LogSearchProgressDefaultValue; } }
881 set {
882 _hasBits0 |= 4096;
883 logSearchProgress_ = value;
884 }
885 }
887 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
888 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
889 public bool HasLogSearchProgress {
890 get { return (_hasBits0 & 4096) != 0; }
893 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
894 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
895 public void ClearLogSearchProgress() {
896 _hasBits0 &= ~4096;
898
900 public const int ComputeEstimatedImpactFieldNumber = 3;
901 private readonly static bool ComputeEstimatedImpactDefaultValue = true;
903 private bool computeEstimatedImpact_;
907 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
908 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
909 public bool ComputeEstimatedImpact {
910 get { if ((_hasBits0 & 4) != 0) { return computeEstimatedImpact_; } else { return ComputeEstimatedImpactDefaultValue; } }
911 set {
912 _hasBits0 |= 4;
913 computeEstimatedImpact_ = value;
914 }
915 }
917 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
918 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
919 public bool HasComputeEstimatedImpact {
920 get { return (_hasBits0 & 4) != 0; }
923 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
924 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
925 public void ClearComputeEstimatedImpact() {
926 _hasBits0 &= ~4;
928
930 public const int PruneSearchTreeFieldNumber = 4;
931 private readonly static bool PruneSearchTreeDefaultValue = false;
933 private bool pruneSearchTree_;
937 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
938 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
939 public bool PruneSearchTree {
940 get { if ((_hasBits0 & 8) != 0) { return pruneSearchTree_; } else { return PruneSearchTreeDefaultValue; } }
941 set {
942 _hasBits0 |= 8;
943 pruneSearchTree_ = value;
944 }
945 }
947 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
948 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
949 public bool HasPruneSearchTree {
950 get { return (_hasBits0 & 8) != 0; }
953 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
954 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
955 public void ClearPruneSearchTree() {
956 _hasBits0 &= ~8;
958
960 public const int SortConstraintsByNumTermsFieldNumber = 5;
961 private readonly static bool SortConstraintsByNumTermsDefaultValue = false;
963 private bool sortConstraintsByNumTerms_;
968 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
969 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
970 public bool SortConstraintsByNumTerms {
971 get { if ((_hasBits0 & 16) != 0) { return sortConstraintsByNumTerms_; } else { return SortConstraintsByNumTermsDefaultValue; } }
972 set {
973 _hasBits0 |= 16;
974 sortConstraintsByNumTerms_ = value;
975 }
976 }
978 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
979 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
980 public bool HasSortConstraintsByNumTerms {
981 get { return (_hasBits0 & 16) != 0; }
984 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
985 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
986 public void ClearSortConstraintsByNumTerms() {
987 _hasBits0 &= ~16;
989
991 public const int UseRandomLnsFieldNumber = 6;
992 private readonly static bool UseRandomLnsDefaultValue = true;
994 private bool useRandomLns_;
998 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
999 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1000 public bool UseRandomLns {
1001 get { if ((_hasBits0 & 32) != 0) { return useRandomLns_; } else { return UseRandomLnsDefaultValue; } }
1002 set {
1003 _hasBits0 |= 32;
1004 useRandomLns_ = value;
1005 }
1006 }
1008 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1009 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1010 public bool HasUseRandomLns {
1011 get { return (_hasBits0 & 32) != 0; }
1014 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1015 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1016 public void ClearUseRandomLns() {
1017 _hasBits0 &= ~32;
1019
1021 public const int RandomSeedFieldNumber = 7;
1022 private readonly static int RandomSeedDefaultValue = 8;
1024 private int randomSeed_;
1032 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1033 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1034 public int RandomSeed {
1035 get { if ((_hasBits0 & 64) != 0) { return randomSeed_; } else { return RandomSeedDefaultValue; } }
1036 set {
1037 _hasBits0 |= 64;
1038 randomSeed_ = value;
1039 }
1040 }
1042 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1043 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1044 public bool HasRandomSeed {
1045 get { return (_hasBits0 & 64) != 0; }
1046 }
1047 /// <summary>Clears the value of the "random_seed" field</summary>
1048 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1049 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1050 public void ClearRandomSeed() {
1051 _hasBits0 &= ~64;
1052 }
1055 public const int NumRelaxedVarsFieldNumber = 8;
1056 private readonly static int NumRelaxedVarsDefaultValue = 10;
1057
1058 private int numRelaxedVars_;
1062 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1063 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1064 public int NumRelaxedVars {
1065 get { if ((_hasBits0 & 128) != 0) { return numRelaxedVars_; } else { return NumRelaxedVarsDefaultValue; } }
1066 set {
1067 _hasBits0 |= 128;
1068 numRelaxedVars_ = value;
1069 }
1070 }
1072 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1073 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1074 public bool HasNumRelaxedVars {
1075 get { return (_hasBits0 & 128) != 0; }
1076 }
1077 /// <summary>Clears the value of the "num_relaxed_vars" field</summary>
1078 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1079 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1080 public void ClearNumRelaxedVars() {
1081 _hasBits0 &= ~128;
1082 }
1086 private readonly static int MaxNumberOfConflictsInRandomLnsDefaultValue = 2500;
1087
1088 private int maxNumberOfConflictsInRandomLns_;
1093 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1094 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1096 get { if ((_hasBits0 & 256) != 0) { return maxNumberOfConflictsInRandomLns_; } else { return MaxNumberOfConflictsInRandomLnsDefaultValue; } }
1097 set {
1098 _hasBits0 |= 256;
1099 maxNumberOfConflictsInRandomLns_ = value;
1100 }
1101 }
1103 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1104 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1105 public bool HasMaxNumberOfConflictsInRandomLns {
1106 get { return (_hasBits0 & 256) != 0; }
1107 }
1108 /// <summary>Clears the value of the "max_number_of_conflicts_in_random_lns" field</summary>
1109 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1110 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1112 _hasBits0 &= ~256;
1113 }
1116 public const int NumRandomLnsTriesFieldNumber = 10;
1117 private readonly static int NumRandomLnsTriesDefaultValue = 1;
1118
1119 private int numRandomLnsTries_;
1123 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1124 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1125 public int NumRandomLnsTries {
1126 get { if ((_hasBits0 & 512) != 0) { return numRandomLnsTries_; } else { return NumRandomLnsTriesDefaultValue; } }
1127 set {
1128 _hasBits0 |= 512;
1129 numRandomLnsTries_ = value;
1130 }
1131 }
1133 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1134 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1135 public bool HasNumRandomLnsTries {
1136 get { return (_hasBits0 & 512) != 0; }
1137 }
1138 /// <summary>Clears the value of the "num_random_lns_tries" field</summary>
1139 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1140 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1141 public void ClearNumRandomLnsTries() {
1142 _hasBits0 &= ~512;
1143 }
1146 public const int MaxNumberOfBacktracksInLsFieldNumber = 11;
1147 private readonly static long MaxNumberOfBacktracksInLsDefaultValue = 100000000L;
1148
1149 private long maxNumberOfBacktracksInLs_;
1154 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1155 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1156 public long MaxNumberOfBacktracksInLs {
1157 get { if ((_hasBits0 & 1024) != 0) { return maxNumberOfBacktracksInLs_; } else { return MaxNumberOfBacktracksInLsDefaultValue; } }
1158 set {
1159 _hasBits0 |= 1024;
1160 maxNumberOfBacktracksInLs_ = value;
1161 }
1162 }
1164 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1165 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1166 public bool HasMaxNumberOfBacktracksInLs {
1167 get { return (_hasBits0 & 1024) != 0; }
1168 }
1169 /// <summary>Clears the value of the "max_number_of_backtracks_in_ls" field</summary>
1170 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1171 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1172 public void ClearMaxNumberOfBacktracksInLs() {
1173 _hasBits0 &= ~1024;
1174 }
1177 public const int UseLpLnsFieldNumber = 12;
1178 private readonly static bool UseLpLnsDefaultValue = true;
1179
1180 private bool useLpLns_;
1184 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1185 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1186 public bool UseLpLns {
1187 get { if ((_hasBits0 & 2048) != 0) { return useLpLns_; } else { return UseLpLnsDefaultValue; } }
1188 set {
1189 _hasBits0 |= 2048;
1190 useLpLns_ = value;
1191 }
1192 }
1194 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1195 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1196 public bool HasUseLpLns {
1197 get { return (_hasBits0 & 2048) != 0; }
1198 }
1199 /// <summary>Clears the value of the "use_lp_lns" field</summary>
1200 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1201 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1202 public void ClearUseLpLns() {
1203 _hasBits0 &= ~2048;
1204 }
1208 private readonly static bool UseSatToChooseLnsNeighbourhoodDefaultValue = true;
1209
1210 private bool useSatToChooseLnsNeighbourhood_;
1214 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1215 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1216 public bool UseSatToChooseLnsNeighbourhood {
1217 get { if ((_hasBits0 & 8192) != 0) { return useSatToChooseLnsNeighbourhood_; } else { return UseSatToChooseLnsNeighbourhoodDefaultValue; } }
1218 set {
1219 _hasBits0 |= 8192;
1220 useSatToChooseLnsNeighbourhood_ = value;
1221 }
1222 }
1224 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1225 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1226 public bool HasUseSatToChooseLnsNeighbourhood {
1227 get { return (_hasBits0 & 8192) != 0; }
1228 }
1229 /// <summary>Clears the value of the "use_sat_to_choose_lns_neighbourhood" field</summary>
1230 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1231 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1233 _hasBits0 &= ~8192;
1234 }
1238 private readonly static int MaxNumberOfConflictsForQuickCheckDefaultValue = 10;
1239
1240 private int maxNumberOfConflictsForQuickCheck_;
1245 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1246 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1248 get { if ((_hasBits0 & 16384) != 0) { return maxNumberOfConflictsForQuickCheck_; } else { return MaxNumberOfConflictsForQuickCheckDefaultValue; } }
1249 set {
1250 _hasBits0 |= 16384;
1251 maxNumberOfConflictsForQuickCheck_ = value;
1252 }
1253 }
1255 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1256 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1257 public bool HasMaxNumberOfConflictsForQuickCheck {
1258 get { return (_hasBits0 & 16384) != 0; }
1259 }
1260 /// <summary>Clears the value of the "max_number_of_conflicts_for_quick_check" field</summary>
1261 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1262 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1264 _hasBits0 &= ~16384;
1265 }
1268 public const int UseSymmetryFieldNumber = 17;
1269 private readonly static bool UseSymmetryDefaultValue = false;
1270
1271 private bool useSymmetry_;
1279 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1280 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1281 public bool UseSymmetry {
1282 get { if ((_hasBits0 & 32768) != 0) { return useSymmetry_; } else { return UseSymmetryDefaultValue; } }
1283 set {
1284 _hasBits0 |= 32768;
1285 useSymmetry_ = value;
1286 }
1287 }
1289 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1290 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1291 public bool HasUseSymmetry {
1292 get { return (_hasBits0 & 32768) != 0; }
1293 }
1295 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1296 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1297 public void ClearUseSymmetry() {
1298 _hasBits0 &= ~32768;
1299 }
1300
1301 /// <summary>Field number for the "exploit_symmetry_in_sat_first_solution" field.</summary>
1303 private readonly static bool ExploitSymmetryInSatFirstSolutionDefaultValue = false;
1304
1305 private bool exploitSymmetryInSatFirstSolution_;
1313 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1314 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1316 get { if ((_hasBits1 & 2) != 0) { return exploitSymmetryInSatFirstSolution_; } else { return ExploitSymmetryInSatFirstSolutionDefaultValue; } }
1317 set {
1318 _hasBits1 |= 2;
1319 exploitSymmetryInSatFirstSolution_ = value;
1320 }
1321 }
1323 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1324 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1325 public bool HasExploitSymmetryInSatFirstSolution {
1326 get { return (_hasBits1 & 2) != 0; }
1327 }
1329 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1330 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1332 _hasBits1 &= ~2;
1333 }
1334
1335 /// <summary>Field number for the "max_number_of_conflicts_in_random_solution_generation" field.</summary>
1337 private readonly static int MaxNumberOfConflictsInRandomSolutionGenerationDefaultValue = 500;
1338
1339 private int maxNumberOfConflictsInRandomSolutionGeneration_;
1343 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1344 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1346 get { if ((_hasBits0 & 65536) != 0) { return maxNumberOfConflictsInRandomSolutionGeneration_; } else { return MaxNumberOfConflictsInRandomSolutionGenerationDefaultValue; } }
1347 set {
1348 _hasBits0 |= 65536;
1349 maxNumberOfConflictsInRandomSolutionGeneration_ = value;
1350 }
1351 }
1353 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1354 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1355 public bool HasMaxNumberOfConflictsInRandomSolutionGeneration {
1356 get { return (_hasBits0 & 65536) != 0; }
1357 }
1359 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1360 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1362 _hasBits0 &= ~65536;
1363 }
1364
1365 /// <summary>Field number for the "max_number_of_explored_assignments_per_try_in_ls" field.</summary>
1367 private readonly static long MaxNumberOfExploredAssignmentsPerTryInLsDefaultValue = 10000L;
1368
1369 private long maxNumberOfExploredAssignmentsPerTryInLs_;
1376 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1377 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1379 get { if ((_hasBits0 & 131072) != 0) { return maxNumberOfExploredAssignmentsPerTryInLs_; } else { return MaxNumberOfExploredAssignmentsPerTryInLsDefaultValue; } }
1380 set {
1381 _hasBits0 |= 131072;
1382 maxNumberOfExploredAssignmentsPerTryInLs_ = value;
1383 }
1384 }
1386 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1387 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1388 public bool HasMaxNumberOfExploredAssignmentsPerTryInLs {
1389 get { return (_hasBits0 & 131072) != 0; }
1390 }
1392 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1393 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1395 _hasBits0 &= ~131072;
1396 }
1397
1398 /// <summary>Field number for the "use_transposition_table_in_ls" field.</summary>
1399 public const int UseTranspositionTableInLsFieldNumber = 22;
1400 private readonly static bool UseTranspositionTableInLsDefaultValue = true;
1401
1402 private bool useTranspositionTableInLs_;
1409 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1410 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1411 public bool UseTranspositionTableInLs {
1412 get { if ((_hasBits0 & 262144) != 0) { return useTranspositionTableInLs_; } else { return UseTranspositionTableInLsDefaultValue; } }
1413 set {
1414 _hasBits0 |= 262144;
1415 useTranspositionTableInLs_ = value;
1416 }
1417 }
1419 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1420 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1421 public bool HasUseTranspositionTableInLs {
1422 get { return (_hasBits0 & 262144) != 0; }
1423 }
1425 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1426 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1427 public void ClearUseTranspositionTableInLs() {
1428 _hasBits0 &= ~262144;
1429 }
1430
1431 /// <summary>Field number for the "use_potential_one_flip_repairs_in_ls" field.</summary>
1432 public const int UsePotentialOneFlipRepairsInLsFieldNumber = 39;
1433 private readonly static bool UsePotentialOneFlipRepairsInLsDefaultValue = false;
1434
1435 private bool usePotentialOneFlipRepairsInLs_;
1441 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1442 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1443 public bool UsePotentialOneFlipRepairsInLs {
1444 get { if ((_hasBits1 & 1) != 0) { return usePotentialOneFlipRepairsInLs_; } else { return UsePotentialOneFlipRepairsInLsDefaultValue; } }
1445 set {
1446 _hasBits1 |= 1;
1447 usePotentialOneFlipRepairsInLs_ = value;
1448 }
1449 }
1451 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1452 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1453 public bool HasUsePotentialOneFlipRepairsInLs {
1454 get { return (_hasBits1 & 1) != 0; }
1455 }
1457 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1458 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1460 _hasBits1 &= ~1;
1461 }
1462
1463 /// <summary>Field number for the "use_learned_binary_clauses_in_lp" field.</summary>
1464 public const int UseLearnedBinaryClausesInLpFieldNumber = 23;
1465 private readonly static bool UseLearnedBinaryClausesInLpDefaultValue = true;
1466
1467 private bool useLearnedBinaryClausesInLp_;
1471 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1472 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1473 public bool UseLearnedBinaryClausesInLp {
1474 get { if ((_hasBits0 & 524288) != 0) { return useLearnedBinaryClausesInLp_; } else { return UseLearnedBinaryClausesInLpDefaultValue; } }
1475 set {
1476 _hasBits0 |= 524288;
1477 useLearnedBinaryClausesInLp_ = value;
1478 }
1479 }
1481 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1482 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1483 public bool HasUseLearnedBinaryClausesInLp {
1484 get { return (_hasBits0 & 524288) != 0; }
1485 }
1487 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1488 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1489 public void ClearUseLearnedBinaryClausesInLp() {
1490 _hasBits0 &= ~524288;
1491 }
1492
1493 /// <summary>Field number for the "number_of_solvers" field.</summary>
1494 public const int NumberOfSolversFieldNumber = 24;
1495 private readonly static int NumberOfSolversDefaultValue = 1;
1496
1497 private int numberOfSolvers_;
1503 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1504 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1505 public int NumberOfSolvers {
1506 get { if ((_hasBits0 & 1048576) != 0) { return numberOfSolvers_; } else { return NumberOfSolversDefaultValue; } }
1507 set {
1508 _hasBits0 |= 1048576;
1509 numberOfSolvers_ = value;
1510 }
1511 }
1513 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1514 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1515 public bool HasNumberOfSolvers {
1516 get { return (_hasBits0 & 1048576) != 0; }
1517 }
1519 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1520 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1521 public void ClearNumberOfSolvers() {
1522 _hasBits0 &= ~1048576;
1523 }
1524
1525 /// <summary>Field number for the "synchronization_type" field.</summary>
1526 public const int SynchronizationTypeFieldNumber = 25;
1527 private readonly static global::Google.OrTools.Bop.BopParameters.Types.ThreadSynchronizationType SynchronizationTypeDefaultValue = global::Google.OrTools.Bop.BopParameters.Types.ThreadSynchronizationType.NoSynchronization;
1528
1529 private global::Google.OrTools.Bop.BopParameters.Types.ThreadSynchronizationType synchronizationType_;
1530 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1531 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1533 get { if ((_hasBits0 & 2097152) != 0) { return synchronizationType_; } else { return SynchronizationTypeDefaultValue; } }
1534 set {
1535 _hasBits0 |= 2097152;
1536 synchronizationType_ = value;
1537 }
1538 }
1540 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1541 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1542 public bool HasSynchronizationType {
1543 get { return (_hasBits0 & 2097152) != 0; }
1544 }
1546 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1547 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1548 public void ClearSynchronizationType() {
1549 _hasBits0 &= ~2097152;
1550 }
1551
1552 /// <summary>Field number for the "solver_optimizer_sets" field.</summary>
1553 public const int SolverOptimizerSetsFieldNumber = 26;
1554 private static readonly pb::FieldCodec<global::Google.OrTools.Bop.BopSolverOptimizerSet> _repeated_solverOptimizerSets_codec
1555 = pb::FieldCodec.ForMessage(210, global::Google.OrTools.Bop.BopSolverOptimizerSet.Parser);
1556 private readonly pbc::RepeatedField<global::Google.OrTools.Bop.BopSolverOptimizerSet> solverOptimizerSets_ = new pbc::RepeatedField<global::Google.OrTools.Bop.BopSolverOptimizerSet>();
1563 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1564 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1565 public pbc::RepeatedField<global::Google.OrTools.Bop.BopSolverOptimizerSet> SolverOptimizerSets {
1566 get { return solverOptimizerSets_; }
1567 }
1568
1569 /// <summary>Field number for the "default_solver_optimizer_sets" field.</summary>
1570 public const int DefaultSolverOptimizerSetsFieldNumber = 33;
1571 private readonly static string DefaultSolverOptimizerSetsDefaultValue = global::System.Text.Encoding.UTF8.GetString(global::System.Convert.FromBase64String("bWV0aG9kczp7dHlwZTpMT0NBTF9TRUFSQ0ggfSAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kczp7dHlwZTpSQU5ET01fRklSU1RfU09MVVRJT04gfSAgICAgICAgICAgICAgbWV0aG9kczp7dHlwZTpMSU5FQVJfUkVMQVhBVElPTiB9ICAgICAgICAgICAgICAgICAgbWV0aG9kczp7dHlwZTpMUF9GSVJTVF9TT0xVVElPTiB9ICAgICAgICAgICAgICAgICAgbWV0aG9kczp7dHlwZTpPQkpFQ1RJVkVfRklSU1RfU09MVVRJT04gfSAgICAgICAgICAgbWV0aG9kczp7dHlwZTpVU0VSX0dVSURFRF9GSVJTVF9TT0xVVElPTiB9ICAgICAgICAgbWV0aG9kczp7dHlwZTpSQU5ET01fQ09OU1RSQUlOVF9MTlNfR1VJREVEX0JZX0xQIH0gbWV0aG9kczp7dHlwZTpSQU5ET01fVkFSSUFCTEVfTE5TX0dVSURFRF9CWV9MUCB9ICAgbWV0aG9kczp7dHlwZTpSRUxBVElPTl9HUkFQSF9MTlMgfSAgICAgICAgICAgICAgICAgbWV0aG9kczp7dHlwZTpSRUxBVElPTl9HUkFQSF9MTlNfR1VJREVEX0JZX0xQIH0gICAgbWV0aG9kczp7dHlwZTpSQU5ET01fQ09OU1RSQUlOVF9MTlMgfSAgICAgICAgICAgICAgbWV0aG9kczp7dHlwZTpSQU5ET01fVkFSSUFCTEVfTE5TIH0gICAgICAgICAgICAgICAgbWV0aG9kczp7dHlwZTpTQVRfQ09SRV9CQVNFRCB9ICAgICAgICAgICAgICAgICAgICAgbWV0aG9kczp7dHlwZTpDT01QTEVURV9MTlMgfSAgICAgICAgICAgICAgICAgICAgICAg"), 0, 714);
1572
1573 private string defaultSolverOptimizerSets_;
1574 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1575 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1576 public string DefaultSolverOptimizerSets {
1577 get { return defaultSolverOptimizerSets_ ?? DefaultSolverOptimizerSetsDefaultValue; }
1578 set {
1579 defaultSolverOptimizerSets_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
1581 }
1583 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1584 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1585 public bool HasDefaultSolverOptimizerSets {
1586 get { return defaultSolverOptimizerSets_ != null; }
1587 }
1589 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1590 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1591 public void ClearDefaultSolverOptimizerSets() {
1592 defaultSolverOptimizerSets_ = null;
1593 }
1594
1595 /// <summary>Field number for the "use_lp_strong_branching" field.</summary>
1596 public const int UseLpStrongBranchingFieldNumber = 29;
1597 private readonly static bool UseLpStrongBranchingDefaultValue = false;
1598
1599 private bool useLpStrongBranching_;
1611 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1612 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1613 public bool UseLpStrongBranching {
1614 get { if ((_hasBits0 & 16777216) != 0) { return useLpStrongBranching_; } else { return UseLpStrongBranchingDefaultValue; } }
1615 set {
1616 _hasBits0 |= 16777216;
1617 useLpStrongBranching_ = value;
1618 }
1619 }
1621 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1622 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1623 public bool HasUseLpStrongBranching {
1624 get { return (_hasBits0 & 16777216) != 0; }
1625 }
1627 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1628 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1629 public void ClearUseLpStrongBranching() {
1630 _hasBits0 &= ~16777216;
1631 }
1632
1633 /// <summary>Field number for the "decomposer_num_variables_threshold" field.</summary>
1634 public const int DecomposerNumVariablesThresholdFieldNumber = 30;
1635 private readonly static int DecomposerNumVariablesThresholdDefaultValue = 50;
1636
1637 private int decomposerNumVariablesThreshold_;
1642 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1643 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1645 get { if ((_hasBits0 & 33554432) != 0) { return decomposerNumVariablesThreshold_; } else { return DecomposerNumVariablesThresholdDefaultValue; } }
1646 set {
1647 _hasBits0 |= 33554432;
1648 decomposerNumVariablesThreshold_ = value;
1649 }
1650 }
1652 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1653 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1654 public bool HasDecomposerNumVariablesThreshold {
1655 get { return (_hasBits0 & 33554432) != 0; }
1656 }
1658 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1659 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1661 _hasBits0 &= ~33554432;
1662 }
1663
1664 /// <summary>Field number for the "num_bop_solvers_used_by_decomposition" field.</summary>
1665 public const int NumBopSolversUsedByDecompositionFieldNumber = 31;
1666 private readonly static int NumBopSolversUsedByDecompositionDefaultValue = 1;
1667
1668 private int numBopSolversUsedByDecomposition_;
1674 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1675 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1677 get { if ((_hasBits0 & 67108864) != 0) { return numBopSolversUsedByDecomposition_; } else { return NumBopSolversUsedByDecompositionDefaultValue; } }
1678 set {
1679 _hasBits0 |= 67108864;
1680 numBopSolversUsedByDecomposition_ = value;
1681 }
1682 }
1684 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1685 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1686 public bool HasNumBopSolversUsedByDecomposition {
1687 get { return (_hasBits0 & 67108864) != 0; }
1688 }
1690 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1691 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1693 _hasBits0 &= ~67108864;
1694 }
1695
1696 /// <summary>Field number for the "decomposed_problem_min_time_in_seconds" field.</summary>
1698 private readonly static double DecomposedProblemMinTimeInSecondsDefaultValue = 0D;
1699
1700 private double decomposedProblemMinTimeInSeconds_;
1707 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1708 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1709 public double DecomposedProblemMinTimeInSeconds {
1710 get { if ((_hasBits0 & 536870912) != 0) { return decomposedProblemMinTimeInSeconds_; } else { return DecomposedProblemMinTimeInSecondsDefaultValue; } }
1711 set {
1712 _hasBits0 |= 536870912;
1713 decomposedProblemMinTimeInSeconds_ = value;
1714 }
1715 }
1717 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1718 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1719 public bool HasDecomposedProblemMinTimeInSeconds {
1720 get { return (_hasBits0 & 536870912) != 0; }
1721 }
1723 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1724 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1726 _hasBits0 &= ~536870912;
1727 }
1728
1729 /// <summary>Field number for the "guided_sat_conflicts_chunk" field.</summary>
1730 public const int GuidedSatConflictsChunkFieldNumber = 34;
1731 private readonly static int GuidedSatConflictsChunkDefaultValue = 1000;
1732
1733 private int guidedSatConflictsChunk_;
1739 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1740 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1741 public int GuidedSatConflictsChunk {
1742 get { if ((_hasBits0 & 134217728) != 0) { return guidedSatConflictsChunk_; } else { return GuidedSatConflictsChunkDefaultValue; } }
1743 set {
1744 _hasBits0 |= 134217728;
1745 guidedSatConflictsChunk_ = value;
1746 }
1747 }
1749 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1750 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1751 public bool HasGuidedSatConflictsChunk {
1752 get { return (_hasBits0 & 134217728) != 0; }
1753 }
1755 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1756 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1757 public void ClearGuidedSatConflictsChunk() {
1758 _hasBits0 &= ~134217728;
1759 }
1760
1761 /// <summary>Field number for the "max_lp_solve_for_feasibility_problems" field.</summary>
1762 public const int MaxLpSolveForFeasibilityProblemsFieldNumber = 41;
1763 private readonly static int MaxLpSolveForFeasibilityProblemsDefaultValue = 0;
1764
1765 private int maxLpSolveForFeasibilityProblems_;
1772 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1773 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1775 get { if ((_hasBits1 & 4) != 0) { return maxLpSolveForFeasibilityProblems_; } else { return MaxLpSolveForFeasibilityProblemsDefaultValue; } }
1776 set {
1777 _hasBits1 |= 4;
1778 maxLpSolveForFeasibilityProblems_ = value;
1779 }
1780 }
1782 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1783 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1784 public bool HasMaxLpSolveForFeasibilityProblems {
1785 get { return (_hasBits1 & 4) != 0; }
1786 }
1788 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1789 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1791 _hasBits1 &= ~4;
1792 }
1793
1794 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1795 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1796 public override bool Equals(object other) {
1797 return Equals(other as BopParameters);
1798 }
1799
1800 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1801 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1802 public bool Equals(BopParameters other) {
1803 if (ReferenceEquals(other, null)) {
1804 return false;
1805 }
1806 if (ReferenceEquals(other, this)) {
1807 return true;
1808 }
1809 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(MaxTimeInSeconds, other.MaxTimeInSeconds)) return false;
1810 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(MaxDeterministicTime, other.MaxDeterministicTime)) return false;
1811 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(LpMaxDeterministicTime, other.LpMaxDeterministicTime)) return false;
1812 if (MaxNumberOfConsecutiveFailingOptimizerCalls != other.MaxNumberOfConsecutiveFailingOptimizerCalls) return false;
1813 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(RelativeGapLimit, other.RelativeGapLimit)) return false;
1814 if (MaxNumDecisionsInLs != other.MaxNumDecisionsInLs) return false;
1815 if (MaxNumBrokenConstraintsInLs != other.MaxNumBrokenConstraintsInLs) return false;
1816 if (LogSearchProgress != other.LogSearchProgress) return false;
1817 if (ComputeEstimatedImpact != other.ComputeEstimatedImpact) return false;
1818 if (PruneSearchTree != other.PruneSearchTree) return false;
1819 if (SortConstraintsByNumTerms != other.SortConstraintsByNumTerms) return false;
1820 if (UseRandomLns != other.UseRandomLns) return false;
1821 if (RandomSeed != other.RandomSeed) return false;
1822 if (NumRelaxedVars != other.NumRelaxedVars) return false;
1823 if (MaxNumberOfConflictsInRandomLns != other.MaxNumberOfConflictsInRandomLns) return false;
1824 if (NumRandomLnsTries != other.NumRandomLnsTries) return false;
1825 if (MaxNumberOfBacktracksInLs != other.MaxNumberOfBacktracksInLs) return false;
1826 if (UseLpLns != other.UseLpLns) return false;
1827 if (UseSatToChooseLnsNeighbourhood != other.UseSatToChooseLnsNeighbourhood) return false;
1828 if (MaxNumberOfConflictsForQuickCheck != other.MaxNumberOfConflictsForQuickCheck) return false;
1829 if (UseSymmetry != other.UseSymmetry) return false;
1830 if (ExploitSymmetryInSatFirstSolution != other.ExploitSymmetryInSatFirstSolution) return false;
1831 if (MaxNumberOfConflictsInRandomSolutionGeneration != other.MaxNumberOfConflictsInRandomSolutionGeneration) return false;
1832 if (MaxNumberOfExploredAssignmentsPerTryInLs != other.MaxNumberOfExploredAssignmentsPerTryInLs) return false;
1833 if (UseTranspositionTableInLs != other.UseTranspositionTableInLs) return false;
1834 if (UsePotentialOneFlipRepairsInLs != other.UsePotentialOneFlipRepairsInLs) return false;
1835 if (UseLearnedBinaryClausesInLp != other.UseLearnedBinaryClausesInLp) return false;
1836 if (NumberOfSolvers != other.NumberOfSolvers) return false;
1837 if (SynchronizationType != other.SynchronizationType) return false;
1838 if(!solverOptimizerSets_.Equals(other.solverOptimizerSets_)) return false;
1839 if (DefaultSolverOptimizerSets != other.DefaultSolverOptimizerSets) return false;
1840 if (UseLpStrongBranching != other.UseLpStrongBranching) return false;
1841 if (DecomposerNumVariablesThreshold != other.DecomposerNumVariablesThreshold) return false;
1842 if (NumBopSolversUsedByDecomposition != other.NumBopSolversUsedByDecomposition) return false;
1843 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(DecomposedProblemMinTimeInSeconds, other.DecomposedProblemMinTimeInSeconds)) return false;
1844 if (GuidedSatConflictsChunk != other.GuidedSatConflictsChunk) return false;
1845 if (MaxLpSolveForFeasibilityProblems != other.MaxLpSolveForFeasibilityProblems) return false;
1846 return Equals(_unknownFields, other._unknownFields);
1847 }
1848
1849 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1850 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1851 public override int GetHashCode() {
1852 int hash = 1;
1853 if (HasMaxTimeInSeconds) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(MaxTimeInSeconds);
1854 if (HasMaxDeterministicTime) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(MaxDeterministicTime);
1855 if (HasLpMaxDeterministicTime) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(LpMaxDeterministicTime);
1857 if (HasRelativeGapLimit) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(RelativeGapLimit);
1858 if (HasMaxNumDecisionsInLs) hash ^= MaxNumDecisionsInLs.GetHashCode();
1860 if (HasLogSearchProgress) hash ^= LogSearchProgress.GetHashCode();
1861 if (HasComputeEstimatedImpact) hash ^= ComputeEstimatedImpact.GetHashCode();
1862 if (HasPruneSearchTree) hash ^= PruneSearchTree.GetHashCode();
1864 if (HasUseRandomLns) hash ^= UseRandomLns.GetHashCode();
1865 if (HasRandomSeed) hash ^= RandomSeed.GetHashCode();
1866 if (HasNumRelaxedVars) hash ^= NumRelaxedVars.GetHashCode();
1868 if (HasNumRandomLnsTries) hash ^= NumRandomLnsTries.GetHashCode();
1870 if (HasUseLpLns) hash ^= UseLpLns.GetHashCode();
1873 if (HasUseSymmetry) hash ^= UseSymmetry.GetHashCode();
1880 if (HasNumberOfSolvers) hash ^= NumberOfSolvers.GetHashCode();
1881 if (HasSynchronizationType) hash ^= SynchronizationType.GetHashCode();
1882 hash ^= solverOptimizerSets_.GetHashCode();
1884 if (HasUseLpStrongBranching) hash ^= UseLpStrongBranching.GetHashCode();
1887 if (HasDecomposedProblemMinTimeInSeconds) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(DecomposedProblemMinTimeInSeconds);
1888 if (HasGuidedSatConflictsChunk) hash ^= GuidedSatConflictsChunk.GetHashCode();
1890 if (_unknownFields != null) {
1891 hash ^= _unknownFields.GetHashCode();
1892 }
1893 return hash;
1894 }
1895
1896 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1897 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1898 public override string ToString() {
1899 return pb::JsonFormatter.ToDiagnosticString(this);
1900 }
1901
1902 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1903 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1904 public void WriteTo(pb::CodedOutputStream output) {
1905 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1906 output.WriteRawMessage(this);
1907 #else
1909 output.WriteRawTag(9);
1910 output.WriteDouble(MaxTimeInSeconds);
1911 }
1912 if (HasMaxNumDecisionsInLs) {
1913 output.WriteRawTag(16);
1914 output.WriteInt32(MaxNumDecisionsInLs);
1915 }
1916 if (HasComputeEstimatedImpact) {
1917 output.WriteRawTag(24);
1918 output.WriteBool(ComputeEstimatedImpact);
1919 }
1920 if (HasPruneSearchTree) {
1921 output.WriteRawTag(32);
1922 output.WriteBool(PruneSearchTree);
1923 }
1924 if (HasSortConstraintsByNumTerms) {
1925 output.WriteRawTag(40);
1926 output.WriteBool(SortConstraintsByNumTerms);
1927 }
1928 if (HasUseRandomLns) {
1929 output.WriteRawTag(48);
1930 output.WriteBool(UseRandomLns);
1931 }
1932 if (HasRandomSeed) {
1933 output.WriteRawTag(56);
1934 output.WriteInt32(RandomSeed);
1935 }
1936 if (HasNumRelaxedVars) {
1937 output.WriteRawTag(64);
1938 output.WriteInt32(NumRelaxedVars);
1939 }
1940 if (HasMaxNumberOfConflictsInRandomLns) {
1941 output.WriteRawTag(72);
1942 output.WriteInt32(MaxNumberOfConflictsInRandomLns);
1943 }
1944 if (HasNumRandomLnsTries) {
1945 output.WriteRawTag(80);
1946 output.WriteInt32(NumRandomLnsTries);
1947 }
1948 if (HasMaxNumberOfBacktracksInLs) {
1949 output.WriteRawTag(88);
1950 output.WriteInt64(MaxNumberOfBacktracksInLs);
1951 }
1952 if (HasUseLpLns) {
1953 output.WriteRawTag(96);
1954 output.WriteBool(UseLpLns);
1955 }
1956 if (HasLogSearchProgress) {
1957 output.WriteRawTag(112);
1958 output.WriteBool(LogSearchProgress);
1959 }
1960 if (HasUseSatToChooseLnsNeighbourhood) {
1961 output.WriteRawTag(120);
1962 output.WriteBool(UseSatToChooseLnsNeighbourhood);
1963 }
1964 if (HasMaxNumberOfConflictsForQuickCheck) {
1965 output.WriteRawTag(128, 1);
1966 output.WriteInt32(MaxNumberOfConflictsForQuickCheck);
1967 }
1968 if (HasUseSymmetry) {
1969 output.WriteRawTag(136, 1);
1970 output.WriteBool(UseSymmetry);
1971 }
1972 if (HasMaxNumberOfConflictsInRandomSolutionGeneration) {
1973 output.WriteRawTag(160, 1);
1974 output.WriteInt32(MaxNumberOfConflictsInRandomSolutionGeneration);
1975 }
1976 if (HasMaxNumberOfExploredAssignmentsPerTryInLs) {
1977 output.WriteRawTag(168, 1);
1978 output.WriteInt64(MaxNumberOfExploredAssignmentsPerTryInLs);
1979 }
1980 if (HasUseTranspositionTableInLs) {
1981 output.WriteRawTag(176, 1);
1982 output.WriteBool(UseTranspositionTableInLs);
1983 }
1984 if (HasUseLearnedBinaryClausesInLp) {
1985 output.WriteRawTag(184, 1);
1986 output.WriteBool(UseLearnedBinaryClausesInLp);
1987 }
1988 if (HasNumberOfSolvers) {
1989 output.WriteRawTag(192, 1);
1990 output.WriteInt32(NumberOfSolvers);
1991 }
1992 if (HasSynchronizationType) {
1993 output.WriteRawTag(200, 1);
1994 output.WriteEnum((int) SynchronizationType);
1995 }
1996 solverOptimizerSets_.WriteTo(output, _repeated_solverOptimizerSets_codec);
1997 if (HasMaxDeterministicTime) {
1998 output.WriteRawTag(217, 1);
1999 output.WriteDouble(MaxDeterministicTime);
2000 }
2001 if (HasRelativeGapLimit) {
2002 output.WriteRawTag(225, 1);
2003 output.WriteDouble(RelativeGapLimit);
2004 }
2005 if (HasUseLpStrongBranching) {
2006 output.WriteRawTag(232, 1);
2007 output.WriteBool(UseLpStrongBranching);
2008 }
2009 if (HasDecomposerNumVariablesThreshold) {
2010 output.WriteRawTag(240, 1);
2011 output.WriteInt32(DecomposerNumVariablesThreshold);
2012 }
2013 if (HasNumBopSolversUsedByDecomposition) {
2014 output.WriteRawTag(248, 1);
2015 output.WriteInt32(NumBopSolversUsedByDecomposition);
2016 }
2017 if (HasDefaultSolverOptimizerSets) {
2018 output.WriteRawTag(138, 2);
2019 output.WriteString(DefaultSolverOptimizerSets);
2020 }
2021 if (HasGuidedSatConflictsChunk) {
2022 output.WriteRawTag(144, 2);
2023 output.WriteInt32(GuidedSatConflictsChunk);
2024 }
2025 if (HasMaxNumberOfConsecutiveFailingOptimizerCalls) {
2026 output.WriteRawTag(152, 2);
2027 output.WriteInt32(MaxNumberOfConsecutiveFailingOptimizerCalls);
2028 }
2029 if (HasDecomposedProblemMinTimeInSeconds) {
2030 output.WriteRawTag(161, 2);
2031 output.WriteDouble(DecomposedProblemMinTimeInSeconds);
2032 }
2033 if (HasLpMaxDeterministicTime) {
2034 output.WriteRawTag(169, 2);
2035 output.WriteDouble(LpMaxDeterministicTime);
2036 }
2037 if (HasMaxNumBrokenConstraintsInLs) {
2038 output.WriteRawTag(176, 2);
2039 output.WriteInt32(MaxNumBrokenConstraintsInLs);
2040 }
2041 if (HasUsePotentialOneFlipRepairsInLs) {
2042 output.WriteRawTag(184, 2);
2043 output.WriteBool(UsePotentialOneFlipRepairsInLs);
2044 }
2045 if (HasExploitSymmetryInSatFirstSolution) {
2046 output.WriteRawTag(192, 2);
2047 output.WriteBool(ExploitSymmetryInSatFirstSolution);
2048 }
2049 if (HasMaxLpSolveForFeasibilityProblems) {
2050 output.WriteRawTag(200, 2);
2051 output.WriteInt32(MaxLpSolveForFeasibilityProblems);
2052 }
2053 if (_unknownFields != null) {
2054 _unknownFields.WriteTo(output);
2055 }
2056 #endif
2057 }
2058
2059 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2060 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2061 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2062 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2063 if (HasMaxTimeInSeconds) {
2064 output.WriteRawTag(9);
2065 output.WriteDouble(MaxTimeInSeconds);
2066 }
2067 if (HasMaxNumDecisionsInLs) {
2068 output.WriteRawTag(16);
2069 output.WriteInt32(MaxNumDecisionsInLs);
2070 }
2071 if (HasComputeEstimatedImpact) {
2072 output.WriteRawTag(24);
2073 output.WriteBool(ComputeEstimatedImpact);
2074 }
2075 if (HasPruneSearchTree) {
2076 output.WriteRawTag(32);
2077 output.WriteBool(PruneSearchTree);
2078 }
2079 if (HasSortConstraintsByNumTerms) {
2080 output.WriteRawTag(40);
2081 output.WriteBool(SortConstraintsByNumTerms);
2082 }
2083 if (HasUseRandomLns) {
2084 output.WriteRawTag(48);
2085 output.WriteBool(UseRandomLns);
2086 }
2087 if (HasRandomSeed) {
2088 output.WriteRawTag(56);
2089 output.WriteInt32(RandomSeed);
2090 }
2091 if (HasNumRelaxedVars) {
2092 output.WriteRawTag(64);
2093 output.WriteInt32(NumRelaxedVars);
2094 }
2095 if (HasMaxNumberOfConflictsInRandomLns) {
2096 output.WriteRawTag(72);
2097 output.WriteInt32(MaxNumberOfConflictsInRandomLns);
2098 }
2099 if (HasNumRandomLnsTries) {
2100 output.WriteRawTag(80);
2101 output.WriteInt32(NumRandomLnsTries);
2102 }
2103 if (HasMaxNumberOfBacktracksInLs) {
2104 output.WriteRawTag(88);
2105 output.WriteInt64(MaxNumberOfBacktracksInLs);
2106 }
2107 if (HasUseLpLns) {
2108 output.WriteRawTag(96);
2109 output.WriteBool(UseLpLns);
2110 }
2111 if (HasLogSearchProgress) {
2112 output.WriteRawTag(112);
2113 output.WriteBool(LogSearchProgress);
2114 }
2115 if (HasUseSatToChooseLnsNeighbourhood) {
2116 output.WriteRawTag(120);
2117 output.WriteBool(UseSatToChooseLnsNeighbourhood);
2118 }
2119 if (HasMaxNumberOfConflictsForQuickCheck) {
2120 output.WriteRawTag(128, 1);
2121 output.WriteInt32(MaxNumberOfConflictsForQuickCheck);
2122 }
2123 if (HasUseSymmetry) {
2124 output.WriteRawTag(136, 1);
2125 output.WriteBool(UseSymmetry);
2126 }
2127 if (HasMaxNumberOfConflictsInRandomSolutionGeneration) {
2128 output.WriteRawTag(160, 1);
2129 output.WriteInt32(MaxNumberOfConflictsInRandomSolutionGeneration);
2130 }
2131 if (HasMaxNumberOfExploredAssignmentsPerTryInLs) {
2132 output.WriteRawTag(168, 1);
2133 output.WriteInt64(MaxNumberOfExploredAssignmentsPerTryInLs);
2134 }
2135 if (HasUseTranspositionTableInLs) {
2136 output.WriteRawTag(176, 1);
2137 output.WriteBool(UseTranspositionTableInLs);
2138 }
2139 if (HasUseLearnedBinaryClausesInLp) {
2140 output.WriteRawTag(184, 1);
2141 output.WriteBool(UseLearnedBinaryClausesInLp);
2142 }
2143 if (HasNumberOfSolvers) {
2144 output.WriteRawTag(192, 1);
2145 output.WriteInt32(NumberOfSolvers);
2146 }
2147 if (HasSynchronizationType) {
2148 output.WriteRawTag(200, 1);
2149 output.WriteEnum((int) SynchronizationType);
2150 }
2151 solverOptimizerSets_.WriteTo(ref output, _repeated_solverOptimizerSets_codec);
2152 if (HasMaxDeterministicTime) {
2153 output.WriteRawTag(217, 1);
2154 output.WriteDouble(MaxDeterministicTime);
2155 }
2156 if (HasRelativeGapLimit) {
2157 output.WriteRawTag(225, 1);
2158 output.WriteDouble(RelativeGapLimit);
2159 }
2160 if (HasUseLpStrongBranching) {
2161 output.WriteRawTag(232, 1);
2162 output.WriteBool(UseLpStrongBranching);
2163 }
2164 if (HasDecomposerNumVariablesThreshold) {
2165 output.WriteRawTag(240, 1);
2166 output.WriteInt32(DecomposerNumVariablesThreshold);
2167 }
2168 if (HasNumBopSolversUsedByDecomposition) {
2169 output.WriteRawTag(248, 1);
2170 output.WriteInt32(NumBopSolversUsedByDecomposition);
2171 }
2172 if (HasDefaultSolverOptimizerSets) {
2173 output.WriteRawTag(138, 2);
2174 output.WriteString(DefaultSolverOptimizerSets);
2175 }
2176 if (HasGuidedSatConflictsChunk) {
2177 output.WriteRawTag(144, 2);
2178 output.WriteInt32(GuidedSatConflictsChunk);
2179 }
2180 if (HasMaxNumberOfConsecutiveFailingOptimizerCalls) {
2181 output.WriteRawTag(152, 2);
2182 output.WriteInt32(MaxNumberOfConsecutiveFailingOptimizerCalls);
2183 }
2184 if (HasDecomposedProblemMinTimeInSeconds) {
2185 output.WriteRawTag(161, 2);
2186 output.WriteDouble(DecomposedProblemMinTimeInSeconds);
2187 }
2188 if (HasLpMaxDeterministicTime) {
2189 output.WriteRawTag(169, 2);
2190 output.WriteDouble(LpMaxDeterministicTime);
2191 }
2192 if (HasMaxNumBrokenConstraintsInLs) {
2193 output.WriteRawTag(176, 2);
2194 output.WriteInt32(MaxNumBrokenConstraintsInLs);
2195 }
2196 if (HasUsePotentialOneFlipRepairsInLs) {
2197 output.WriteRawTag(184, 2);
2198 output.WriteBool(UsePotentialOneFlipRepairsInLs);
2199 }
2200 if (HasExploitSymmetryInSatFirstSolution) {
2201 output.WriteRawTag(192, 2);
2202 output.WriteBool(ExploitSymmetryInSatFirstSolution);
2203 }
2204 if (HasMaxLpSolveForFeasibilityProblems) {
2205 output.WriteRawTag(200, 2);
2206 output.WriteInt32(MaxLpSolveForFeasibilityProblems);
2207 }
2208 if (_unknownFields != null) {
2209 _unknownFields.WriteTo(ref output);
2210 }
2211 }
2212 #endif
2213
2214 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2215 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2216 public int CalculateSize() {
2217 int size = 0;
2218 if (HasMaxTimeInSeconds) {
2219 size += 1 + 8;
2221 if (HasMaxDeterministicTime) {
2222 size += 2 + 8;
2223 }
2224 if (HasLpMaxDeterministicTime) {
2225 size += 2 + 8;
2226 }
2227 if (HasMaxNumberOfConsecutiveFailingOptimizerCalls) {
2228 size += 2 + pb::CodedOutputStream.ComputeInt32Size(MaxNumberOfConsecutiveFailingOptimizerCalls);
2229 }
2230 if (HasRelativeGapLimit) {
2231 size += 2 + 8;
2232 }
2233 if (HasMaxNumDecisionsInLs) {
2234 size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxNumDecisionsInLs);
2235 }
2236 if (HasMaxNumBrokenConstraintsInLs) {
2237 size += 2 + pb::CodedOutputStream.ComputeInt32Size(MaxNumBrokenConstraintsInLs);
2238 }
2239 if (HasLogSearchProgress) {
2240 size += 1 + 1;
2241 }
2242 if (HasComputeEstimatedImpact) {
2243 size += 1 + 1;
2244 }
2245 if (HasPruneSearchTree) {
2246 size += 1 + 1;
2247 }
2248 if (HasSortConstraintsByNumTerms) {
2249 size += 1 + 1;
2250 }
2251 if (HasUseRandomLns) {
2252 size += 1 + 1;
2253 }
2254 if (HasRandomSeed) {
2255 size += 1 + pb::CodedOutputStream.ComputeInt32Size(RandomSeed);
2256 }
2257 if (HasNumRelaxedVars) {
2258 size += 1 + pb::CodedOutputStream.ComputeInt32Size(NumRelaxedVars);
2259 }
2260 if (HasMaxNumberOfConflictsInRandomLns) {
2261 size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxNumberOfConflictsInRandomLns);
2262 }
2263 if (HasNumRandomLnsTries) {
2264 size += 1 + pb::CodedOutputStream.ComputeInt32Size(NumRandomLnsTries);
2265 }
2266 if (HasMaxNumberOfBacktracksInLs) {
2267 size += 1 + pb::CodedOutputStream.ComputeInt64Size(MaxNumberOfBacktracksInLs);
2268 }
2269 if (HasUseLpLns) {
2270 size += 1 + 1;
2271 }
2272 if (HasUseSatToChooseLnsNeighbourhood) {
2273 size += 1 + 1;
2274 }
2275 if (HasMaxNumberOfConflictsForQuickCheck) {
2276 size += 2 + pb::CodedOutputStream.ComputeInt32Size(MaxNumberOfConflictsForQuickCheck);
2277 }
2278 if (HasUseSymmetry) {
2279 size += 2 + 1;
2280 }
2281 if (HasExploitSymmetryInSatFirstSolution) {
2282 size += 2 + 1;
2283 }
2284 if (HasMaxNumberOfConflictsInRandomSolutionGeneration) {
2285 size += 2 + pb::CodedOutputStream.ComputeInt32Size(MaxNumberOfConflictsInRandomSolutionGeneration);
2286 }
2287 if (HasMaxNumberOfExploredAssignmentsPerTryInLs) {
2288 size += 2 + pb::CodedOutputStream.ComputeInt64Size(MaxNumberOfExploredAssignmentsPerTryInLs);
2289 }
2290 if (HasUseTranspositionTableInLs) {
2291 size += 2 + 1;
2292 }
2293 if (HasUsePotentialOneFlipRepairsInLs) {
2294 size += 2 + 1;
2295 }
2296 if (HasUseLearnedBinaryClausesInLp) {
2297 size += 2 + 1;
2298 }
2299 if (HasNumberOfSolvers) {
2300 size += 2 + pb::CodedOutputStream.ComputeInt32Size(NumberOfSolvers);
2301 }
2302 if (HasSynchronizationType) {
2303 size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) SynchronizationType);
2304 }
2305 size += solverOptimizerSets_.CalculateSize(_repeated_solverOptimizerSets_codec);
2306 if (HasDefaultSolverOptimizerSets) {
2307 size += 2 + pb::CodedOutputStream.ComputeStringSize(DefaultSolverOptimizerSets);
2308 }
2309 if (HasUseLpStrongBranching) {
2310 size += 2 + 1;
2311 }
2312 if (HasDecomposerNumVariablesThreshold) {
2313 size += 2 + pb::CodedOutputStream.ComputeInt32Size(DecomposerNumVariablesThreshold);
2314 }
2315 if (HasNumBopSolversUsedByDecomposition) {
2316 size += 2 + pb::CodedOutputStream.ComputeInt32Size(NumBopSolversUsedByDecomposition);
2317 }
2318 if (HasDecomposedProblemMinTimeInSeconds) {
2319 size += 2 + 8;
2320 }
2321 if (HasGuidedSatConflictsChunk) {
2322 size += 2 + pb::CodedOutputStream.ComputeInt32Size(GuidedSatConflictsChunk);
2323 }
2324 if (HasMaxLpSolveForFeasibilityProblems) {
2325 size += 2 + pb::CodedOutputStream.ComputeInt32Size(MaxLpSolveForFeasibilityProblems);
2326 }
2327 if (_unknownFields != null) {
2328 size += _unknownFields.CalculateSize();
2329 }
2330 return size;
2331 }
2332
2333 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2334 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2335 public void MergeFrom(BopParameters other) {
2336 if (other == null) {
2337 return;
2338 }
2339 if (other.HasMaxTimeInSeconds) {
2340 MaxTimeInSeconds = other.MaxTimeInSeconds;
2341 }
2342 if (other.HasMaxDeterministicTime) {
2343 MaxDeterministicTime = other.MaxDeterministicTime;
2344 }
2345 if (other.HasLpMaxDeterministicTime) {
2346 LpMaxDeterministicTime = other.LpMaxDeterministicTime;
2347 }
2348 if (other.HasMaxNumberOfConsecutiveFailingOptimizerCalls) {
2349 MaxNumberOfConsecutiveFailingOptimizerCalls = other.MaxNumberOfConsecutiveFailingOptimizerCalls;
2350 }
2351 if (other.HasRelativeGapLimit) {
2352 RelativeGapLimit = other.RelativeGapLimit;
2353 }
2354 if (other.HasMaxNumDecisionsInLs) {
2355 MaxNumDecisionsInLs = other.MaxNumDecisionsInLs;
2356 }
2357 if (other.HasMaxNumBrokenConstraintsInLs) {
2358 MaxNumBrokenConstraintsInLs = other.MaxNumBrokenConstraintsInLs;
2359 }
2360 if (other.HasLogSearchProgress) {
2361 LogSearchProgress = other.LogSearchProgress;
2362 }
2363 if (other.HasComputeEstimatedImpact) {
2364 ComputeEstimatedImpact = other.ComputeEstimatedImpact;
2365 }
2366 if (other.HasPruneSearchTree) {
2367 PruneSearchTree = other.PruneSearchTree;
2368 }
2369 if (other.HasSortConstraintsByNumTerms) {
2370 SortConstraintsByNumTerms = other.SortConstraintsByNumTerms;
2371 }
2372 if (other.HasUseRandomLns) {
2373 UseRandomLns = other.UseRandomLns;
2374 }
2375 if (other.HasRandomSeed) {
2376 RandomSeed = other.RandomSeed;
2377 }
2378 if (other.HasNumRelaxedVars) {
2379 NumRelaxedVars = other.NumRelaxedVars;
2380 }
2381 if (other.HasMaxNumberOfConflictsInRandomLns) {
2382 MaxNumberOfConflictsInRandomLns = other.MaxNumberOfConflictsInRandomLns;
2383 }
2384 if (other.HasNumRandomLnsTries) {
2385 NumRandomLnsTries = other.NumRandomLnsTries;
2386 }
2387 if (other.HasMaxNumberOfBacktracksInLs) {
2388 MaxNumberOfBacktracksInLs = other.MaxNumberOfBacktracksInLs;
2389 }
2390 if (other.HasUseLpLns) {
2391 UseLpLns = other.UseLpLns;
2392 }
2393 if (other.HasUseSatToChooseLnsNeighbourhood) {
2394 UseSatToChooseLnsNeighbourhood = other.UseSatToChooseLnsNeighbourhood;
2395 }
2396 if (other.HasMaxNumberOfConflictsForQuickCheck) {
2397 MaxNumberOfConflictsForQuickCheck = other.MaxNumberOfConflictsForQuickCheck;
2398 }
2399 if (other.HasUseSymmetry) {
2400 UseSymmetry = other.UseSymmetry;
2401 }
2402 if (other.HasExploitSymmetryInSatFirstSolution) {
2403 ExploitSymmetryInSatFirstSolution = other.ExploitSymmetryInSatFirstSolution;
2404 }
2405 if (other.HasMaxNumberOfConflictsInRandomSolutionGeneration) {
2406 MaxNumberOfConflictsInRandomSolutionGeneration = other.MaxNumberOfConflictsInRandomSolutionGeneration;
2407 }
2408 if (other.HasMaxNumberOfExploredAssignmentsPerTryInLs) {
2409 MaxNumberOfExploredAssignmentsPerTryInLs = other.MaxNumberOfExploredAssignmentsPerTryInLs;
2410 }
2411 if (other.HasUseTranspositionTableInLs) {
2412 UseTranspositionTableInLs = other.UseTranspositionTableInLs;
2413 }
2414 if (other.HasUsePotentialOneFlipRepairsInLs) {
2415 UsePotentialOneFlipRepairsInLs = other.UsePotentialOneFlipRepairsInLs;
2416 }
2417 if (other.HasUseLearnedBinaryClausesInLp) {
2418 UseLearnedBinaryClausesInLp = other.UseLearnedBinaryClausesInLp;
2419 }
2420 if (other.HasNumberOfSolvers) {
2421 NumberOfSolvers = other.NumberOfSolvers;
2422 }
2423 if (other.HasSynchronizationType) {
2424 SynchronizationType = other.SynchronizationType;
2425 }
2426 solverOptimizerSets_.Add(other.solverOptimizerSets_);
2427 if (other.HasDefaultSolverOptimizerSets) {
2428 DefaultSolverOptimizerSets = other.DefaultSolverOptimizerSets;
2429 }
2430 if (other.HasUseLpStrongBranching) {
2431 UseLpStrongBranching = other.UseLpStrongBranching;
2432 }
2433 if (other.HasDecomposerNumVariablesThreshold) {
2434 DecomposerNumVariablesThreshold = other.DecomposerNumVariablesThreshold;
2435 }
2436 if (other.HasNumBopSolversUsedByDecomposition) {
2437 NumBopSolversUsedByDecomposition = other.NumBopSolversUsedByDecomposition;
2438 }
2439 if (other.HasDecomposedProblemMinTimeInSeconds) {
2440 DecomposedProblemMinTimeInSeconds = other.DecomposedProblemMinTimeInSeconds;
2441 }
2442 if (other.HasGuidedSatConflictsChunk) {
2443 GuidedSatConflictsChunk = other.GuidedSatConflictsChunk;
2444 }
2445 if (other.HasMaxLpSolveForFeasibilityProblems) {
2446 MaxLpSolveForFeasibilityProblems = other.MaxLpSolveForFeasibilityProblems;
2447 }
2448 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
2449 }
2450
2451 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2452 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2453 public void MergeFrom(pb::CodedInputStream input) {
2454 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2455 input.ReadRawMessage(this);
2456 #else
2457 uint tag;
2458 while ((tag = input.ReadTag()) != 0) {
2459 if ((tag & 7) == 4) {
2460 // Abort on any end group tag.
2461 return;
2462 }
2463 switch(tag) {
2464 default:
2465 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
2466 break;
2467 case 9: {
2468 MaxTimeInSeconds = input.ReadDouble();
2469 break;
2470 }
2471 case 16: {
2472 MaxNumDecisionsInLs = input.ReadInt32();
2473 break;
2474 }
2475 case 24: {
2476 ComputeEstimatedImpact = input.ReadBool();
2477 break;
2478 }
2479 case 32: {
2480 PruneSearchTree = input.ReadBool();
2481 break;
2482 }
2483 case 40: {
2484 SortConstraintsByNumTerms = input.ReadBool();
2485 break;
2486 }
2487 case 48: {
2488 UseRandomLns = input.ReadBool();
2489 break;
2490 }
2491 case 56: {
2492 RandomSeed = input.ReadInt32();
2493 break;
2494 }
2495 case 64: {
2496 NumRelaxedVars = input.ReadInt32();
2497 break;
2498 }
2499 case 72: {
2500 MaxNumberOfConflictsInRandomLns = input.ReadInt32();
2501 break;
2502 }
2503 case 80: {
2504 NumRandomLnsTries = input.ReadInt32();
2505 break;
2506 }
2507 case 88: {
2508 MaxNumberOfBacktracksInLs = input.ReadInt64();
2509 break;
2510 }
2511 case 96: {
2512 UseLpLns = input.ReadBool();
2513 break;
2514 }
2515 case 112: {
2516 LogSearchProgress = input.ReadBool();
2517 break;
2518 }
2519 case 120: {
2520 UseSatToChooseLnsNeighbourhood = input.ReadBool();
2521 break;
2522 }
2523 case 128: {
2524 MaxNumberOfConflictsForQuickCheck = input.ReadInt32();
2525 break;
2526 }
2527 case 136: {
2528 UseSymmetry = input.ReadBool();
2529 break;
2530 }
2531 case 160: {
2533 break;
2534 }
2535 case 168: {
2536 MaxNumberOfExploredAssignmentsPerTryInLs = input.ReadInt64();
2537 break;
2538 }
2539 case 176: {
2540 UseTranspositionTableInLs = input.ReadBool();
2541 break;
2542 }
2543 case 184: {
2544 UseLearnedBinaryClausesInLp = input.ReadBool();
2545 break;
2546 }
2547 case 192: {
2548 NumberOfSolvers = input.ReadInt32();
2549 break;
2550 }
2551 case 200: {
2552 SynchronizationType = (global::Google.OrTools.Bop.BopParameters.Types.ThreadSynchronizationType) input.ReadEnum();
2553 break;
2554 }
2555 case 210: {
2556 solverOptimizerSets_.AddEntriesFrom(input, _repeated_solverOptimizerSets_codec);
2557 break;
2558 }
2559 case 217: {
2560 MaxDeterministicTime = input.ReadDouble();
2561 break;
2562 }
2563 case 225: {
2564 RelativeGapLimit = input.ReadDouble();
2565 break;
2566 }
2567 case 232: {
2568 UseLpStrongBranching = input.ReadBool();
2569 break;
2570 }
2571 case 240: {
2572 DecomposerNumVariablesThreshold = input.ReadInt32();
2573 break;
2574 }
2575 case 248: {
2576 NumBopSolversUsedByDecomposition = input.ReadInt32();
2577 break;
2578 }
2579 case 266: {
2580 DefaultSolverOptimizerSets = input.ReadString();
2581 break;
2582 }
2583 case 272: {
2584 GuidedSatConflictsChunk = input.ReadInt32();
2585 break;
2586 }
2587 case 280: {
2589 break;
2590 }
2591 case 289: {
2592 DecomposedProblemMinTimeInSeconds = input.ReadDouble();
2593 break;
2594 }
2595 case 297: {
2596 LpMaxDeterministicTime = input.ReadDouble();
2597 break;
2598 }
2599 case 304: {
2600 MaxNumBrokenConstraintsInLs = input.ReadInt32();
2601 break;
2602 }
2603 case 312: {
2604 UsePotentialOneFlipRepairsInLs = input.ReadBool();
2605 break;
2606 }
2607 case 320: {
2608 ExploitSymmetryInSatFirstSolution = input.ReadBool();
2609 break;
2610 }
2611 case 328: {
2612 MaxLpSolveForFeasibilityProblems = input.ReadInt32();
2613 break;
2614 }
2615 }
2616 }
2617 #endif
2618 }
2619
2620 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2621 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2622 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2623 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
2624 uint tag;
2625 while ((tag = input.ReadTag()) != 0) {
2626 if ((tag & 7) == 4) {
2627 // Abort on any end group tag.
2628 return;
2629 }
2630 switch(tag) {
2631 default:
2632 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
2633 break;
2634 case 9: {
2635 MaxTimeInSeconds = input.ReadDouble();
2636 break;
2637 }
2638 case 16: {
2639 MaxNumDecisionsInLs = input.ReadInt32();
2640 break;
2641 }
2642 case 24: {
2643 ComputeEstimatedImpact = input.ReadBool();
2644 break;
2645 }
2646 case 32: {
2647 PruneSearchTree = input.ReadBool();
2648 break;
2649 }
2650 case 40: {
2651 SortConstraintsByNumTerms = input.ReadBool();
2652 break;
2653 }
2654 case 48: {
2655 UseRandomLns = input.ReadBool();
2656 break;
2657 }
2658 case 56: {
2659 RandomSeed = input.ReadInt32();
2660 break;
2661 }
2662 case 64: {
2663 NumRelaxedVars = input.ReadInt32();
2664 break;
2665 }
2666 case 72: {
2667 MaxNumberOfConflictsInRandomLns = input.ReadInt32();
2668 break;
2669 }
2670 case 80: {
2671 NumRandomLnsTries = input.ReadInt32();
2672 break;
2673 }
2674 case 88: {
2675 MaxNumberOfBacktracksInLs = input.ReadInt64();
2676 break;
2677 }
2678 case 96: {
2679 UseLpLns = input.ReadBool();
2680 break;
2681 }
2682 case 112: {
2683 LogSearchProgress = input.ReadBool();
2684 break;
2685 }
2686 case 120: {
2687 UseSatToChooseLnsNeighbourhood = input.ReadBool();
2688 break;
2689 }
2690 case 128: {
2691 MaxNumberOfConflictsForQuickCheck = input.ReadInt32();
2692 break;
2693 }
2694 case 136: {
2695 UseSymmetry = input.ReadBool();
2696 break;
2697 }
2698 case 160: {
2699 MaxNumberOfConflictsInRandomSolutionGeneration = input.ReadInt32();
2700 break;
2701 }
2702 case 168: {
2703 MaxNumberOfExploredAssignmentsPerTryInLs = input.ReadInt64();
2704 break;
2705 }
2706 case 176: {
2707 UseTranspositionTableInLs = input.ReadBool();
2708 break;
2709 }
2710 case 184: {
2711 UseLearnedBinaryClausesInLp = input.ReadBool();
2712 break;
2713 }
2714 case 192: {
2715 NumberOfSolvers = input.ReadInt32();
2716 break;
2717 }
2718 case 200: {
2719 SynchronizationType = (global::Google.OrTools.Bop.BopParameters.Types.ThreadSynchronizationType) input.ReadEnum();
2720 break;
2721 }
2722 case 210: {
2723 solverOptimizerSets_.AddEntriesFrom(ref input, _repeated_solverOptimizerSets_codec);
2724 break;
2725 }
2726 case 217: {
2727 MaxDeterministicTime = input.ReadDouble();
2728 break;
2729 }
2730 case 225: {
2731 RelativeGapLimit = input.ReadDouble();
2732 break;
2733 }
2734 case 232: {
2735 UseLpStrongBranching = input.ReadBool();
2736 break;
2737 }
2738 case 240: {
2739 DecomposerNumVariablesThreshold = input.ReadInt32();
2740 break;
2741 }
2742 case 248: {
2743 NumBopSolversUsedByDecomposition = input.ReadInt32();
2744 break;
2745 }
2746 case 266: {
2747 DefaultSolverOptimizerSets = input.ReadString();
2748 break;
2749 }
2750 case 272: {
2751 GuidedSatConflictsChunk = input.ReadInt32();
2752 break;
2753 }
2754 case 280: {
2755 MaxNumberOfConsecutiveFailingOptimizerCalls = input.ReadInt32();
2756 break;
2757 }
2758 case 289: {
2759 DecomposedProblemMinTimeInSeconds = input.ReadDouble();
2760 break;
2761 }
2762 case 297: {
2763 LpMaxDeterministicTime = input.ReadDouble();
2764 break;
2765 }
2766 case 304: {
2767 MaxNumBrokenConstraintsInLs = input.ReadInt32();
2768 break;
2769 }
2770 case 312: {
2771 UsePotentialOneFlipRepairsInLs = input.ReadBool();
2772 break;
2773 }
2774 case 320: {
2775 ExploitSymmetryInSatFirstSolution = input.ReadBool();
2776 break;
2777 }
2778 case 328: {
2779 MaxLpSolveForFeasibilityProblems = input.ReadInt32();
2780 break;
2781 }
2782 }
2783 }
2784 }
2785 #endif
2786
2787 #region Nested types
2789 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2790 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2791 public static partial class Types {
2795 /// optimizer (the smallest granularity of the solver in a parallel context).
2796 /// </summary>
2797 public enum ThreadSynchronizationType {
2801 /// The final solution is the best of all found solutions.
2802 /// Pros: - No need to wait for another solver to complete its task,
2803 /// - Adding a new solver always improves the final solution (In the
2804 /// current implementation it still depends on the machine load and
2805 /// the time limit).
2806 /// Cons: - No learning between solvers.
2807 /// </summary>
2808 [pbr::OriginalName("NO_SYNCHRONIZATION")] NoSynchronization = 0,
2820 [pbr::OriginalName("SYNCHRONIZE_ALL")] SynchronizeAll = 1,
2834 [pbr::OriginalName("SYNCHRONIZE_ON_RIGHT")] SynchronizeOnRight = 2,
2835 }
2836
2837 }
2838 #endregion
2839
2840 }
2841
2842 #endregion
2843
2844}
2845
2846#endregion Designer generated code
global::Google.Protobuf pb
Definition SetCover.pb.cs:8
global::Google.Protobuf.Reflection pbr
global::System.Collections.Generic scg
global::Google.Protobuf.Collections pbc
Definition SetCover.pb.cs:9
Container for nested types declared in the BopOptimizerMethod message type.
Method used to optimize a solution in Bop.
static pb::MessageParser< BopOptimizerMethod > Parser
bool HasType
Gets whether the "type" field is set.
const int TypeFieldNumber
Field number for the "type" field.
global::Google.OrTools.Bop.BopOptimizerMethod.Types.OptimizerType Type
override bool Equals(object other)
static pbr::MessageDescriptor Descriptor
Holder for reflection information generated from ortools/bop/bop_parameters.proto.
static pbr::FileDescriptor Descriptor
File descriptor for ortools/bop/bop_parameters.proto.
Container for nested types declared in the BopParameters message type.
ThreadSynchronizationType
Defines how the different solvers are synchronized during the search.
@ SynchronizeOnRight
Solver i synchronizes with solvers 0..i-1. This is a good tradeoff between NO_SYNCHRONIZATION and SYN...
@ NoSynchronization
No synchronization. The solvers run independently until the time limit is reached; Then learned infor...
@ SynchronizeAll
Synchronize all solvers. Each solver waits for all other solvers to complete the previous optimizer r...
Contains the definitions for all the bop algorithm parameters and their default values.
bool UseSatToChooseLnsNeighbourhood
Whether we use sat propagation to choose the lns neighbourhood.
bool HasUseLpLns
Gets whether the "use_lp_lns" field is set.
const int DecomposedProblemMinTimeInSecondsFieldNumber
Field number for the "decomposed_problem_min_time_in_seconds" field.
int DecomposerNumVariablesThreshold
Only try to decompose the problem when the number of variables is greater than the threshold.
const int UsePotentialOneFlipRepairsInLsFieldNumber
Field number for the "use_potential_one_flip_repairs_in_ls" field.
bool HasUseRandomLns
Gets whether the "use_random_lns" field is set.
int RandomSeed
The seed used to initialize the random generator.
bool HasMaxNumberOfBacktracksInLs
Gets whether the "max_number_of_backtracks_in_ls" field is set.
const int MaxNumberOfConflictsForQuickCheckFieldNumber
Field number for the "max_number_of_conflicts_for_quick_check" field.
bool HasRelativeGapLimit
Gets whether the "relative_gap_limit" field is set.
void WriteTo(pb::CodedOutputStream output)
double DecomposedProblemMinTimeInSeconds
HACK. To avoid spending too little time on small problems, spend at least this time solving each of t...
bool PruneSearchTree
Avoid exploring both branches (b, a, ...) and (a, b, ...).
const int MaxNumberOfConflictsInRandomSolutionGenerationFieldNumber
Field number for the "max_number_of_conflicts_in_random_solution_generation" field.
const int SynchronizationTypeFieldNumber
Field number for the "synchronization_type" field.
int MaxNumberOfConsecutiveFailingOptimizerCalls
Maximum number of consecutive optimizer calls without improving the current solution....
void ClearNumRelaxedVars()
Clears the value of the "num_relaxed_vars" field.
bool HasNumRelaxedVars
Gets whether the "num_relaxed_vars" field is set.
int NumberOfSolvers
The number of solvers used to run Bop. Note that one thread will be created per solver....
void ClearSynchronizationType()
Clears the value of the "synchronization_type" field.
const int ExploitSymmetryInSatFirstSolutionFieldNumber
Field number for the "exploit_symmetry_in_sat_first_solution" field.
const int NumRandomLnsTriesFieldNumber
Field number for the "num_random_lns_tries" field.
void ClearMaxNumberOfConflictsForQuickCheck()
Clears the value of the "max_number_of_conflicts_for_quick_check" field.
void ClearUseSymmetry()
Clears the value of the "use_symmetry" field.
void ClearGuidedSatConflictsChunk()
Clears the value of the "guided_sat_conflicts_chunk" field.
void ClearUsePotentialOneFlipRepairsInLs()
Clears the value of the "use_potential_one_flip_repairs_in_ls" field.
double MaxTimeInSeconds
Maximum time allowed in seconds to solve a problem. The counter will starts as soon as Solve() is cal...
bool HasSortConstraintsByNumTerms
Gets whether the "sort_constraints_by_num_terms" field is set.
bool HasNumberOfSolvers
Gets whether the "number_of_solvers" field is set.
bool HasDecomposerNumVariablesThreshold
Gets whether the "decomposer_num_variables_threshold" field is set.
double MaxDeterministicTime
Maximum time allowed in deterministic time to solve a problem. The deterministic time should be corre...
bool HasLpMaxDeterministicTime
Gets whether the "lp_max_deterministic_time" field is set.
const int SolverOptimizerSetsFieldNumber
Field number for the "solver_optimizer_sets" field.
void ClearNumRandomLnsTries()
Clears the value of the "num_random_lns_tries" field.
bool HasUseSatToChooseLnsNeighbourhood
Gets whether the "use_sat_to_choose_lns_neighbourhood" field is set.
void ClearDefaultSolverOptimizerSets()
Clears the value of the "default_solver_optimizer_sets" field.
const int UseSymmetryFieldNumber
Field number for the "use_symmetry" field.
bool UseSymmetry
If true, find and exploit the eventual symmetries of the problem.
bool SortConstraintsByNumTerms
Sort constraints by increasing total number of terms instead of number of contributing terms.
void ClearMaxNumberOfConflictsInRandomLns()
Clears the value of the "max_number_of_conflicts_in_random_lns" field.
long MaxNumberOfBacktracksInLs
Maximum number of backtracks times the number of variables in Local Search, ie. max num backtracks ==...
void ClearNumBopSolversUsedByDecomposition()
Clears the value of the "num_bop_solvers_used_by_decomposition" field.
bool HasNumRandomLnsTries
Gets whether the "num_random_lns_tries" field is set.
const int DefaultSolverOptimizerSetsFieldNumber
Field number for the "default_solver_optimizer_sets" field.
bool HasMaxNumDecisionsInLs
Gets whether the "max_num_decisions_in_ls" field is set.
bool HasComputeEstimatedImpact
Gets whether the "compute_estimated_impact" field is set.
pbc::RepeatedField< global::Google.OrTools.Bop.BopSolverOptimizerSet > SolverOptimizerSets
List of set of optimizers to be run by the solvers.
int MaxNumDecisionsInLs
Maximum number of cascading decisions the solver might use to repair the current solution in the LS.
const int UseLpLnsFieldNumber
Field number for the "use_lp_lns" field.
const int MaxNumberOfExploredAssignmentsPerTryInLsFieldNumber
Field number for the "max_number_of_explored_assignments_per_try_in_ls" field.
const int UseLpStrongBranchingFieldNumber
Field number for the "use_lp_strong_branching" field.
void ClearMaxNumberOfBacktracksInLs()
Clears the value of the "max_number_of_backtracks_in_ls" field.
const int DecomposerNumVariablesThresholdFieldNumber
Field number for the "decomposer_num_variables_threshold" field.
bool UseTranspositionTableInLs
Whether we use an hash set during the LS to avoid exploring more than once the "same" state....
bool HasExploitSymmetryInSatFirstSolution
Gets whether the "exploit_symmetry_in_sat_first_solution" field is set.
bool LogSearchProgress
Whether the solver should log the search progress to LOG(INFO).
global::Google.OrTools.Bop.BopParameters.Types.ThreadSynchronizationType SynchronizationType
int NumRandomLnsTries
Number of tries in the random lns.
void ClearUseTranspositionTableInLs()
Clears the value of the "use_transposition_table_in_ls" field.
const int NumRelaxedVarsFieldNumber
Field number for the "num_relaxed_vars" field.
bool HasMaxNumBrokenConstraintsInLs
Gets whether the "max_num_broken_constraints_in_ls" field is set.
bool ComputeEstimatedImpact
Compute estimated impact at each iteration when true; only once when false.
const int MaxNumberOfConflictsInRandomLnsFieldNumber
Field number for the "max_number_of_conflicts_in_random_lns" field.
void ClearUseLpLns()
Clears the value of the "use_lp_lns" field.
void ClearRandomSeed()
Clears the value of the "random_seed" field.
int MaxNumberOfConflictsInRandomLns
The number of conflicts the SAT solver has to solve a random LNS subproblem.
bool HasLogSearchProgress
Gets whether the "log_search_progress" field is set.
bool UseLpLns
Use Large Neighborhood Search based on the LP relaxation.
static pbr::MessageDescriptor Descriptor
int MaxLpSolveForFeasibilityProblems
The maximum number of time the LP solver will run to feasibility for pure feasibility problems (with ...
bool HasDefaultSolverOptimizerSets
Gets whether the "default_solver_optimizer_sets" field is set.
bool HasNumBopSolversUsedByDecomposition
Gets whether the "num_bop_solvers_used_by_decomposition" field is set.
bool HasMaxNumberOfConflictsForQuickCheck
Gets whether the "max_number_of_conflicts_for_quick_check" field is set.
bool HasMaxTimeInSeconds
Gets whether the "max_time_in_seconds" field is set.
bool HasMaxLpSolveForFeasibilityProblems
Gets whether the "max_lp_solve_for_feasibility_problems" field is set.
const int NumberOfSolversFieldNumber
Field number for the "number_of_solvers" field.
long MaxNumberOfExploredAssignmentsPerTryInLs
The maximum number of assignments the Local Search iterates on during one try. Note that if the Local...
bool HasUseSymmetry
Gets whether the "use_symmetry" field is set.
const int UseTranspositionTableInLsFieldNumber
Field number for the "use_transposition_table_in_ls" field.
bool HasDecomposedProblemMinTimeInSeconds
Gets whether the "decomposed_problem_min_time_in_seconds" field is set.
void ClearUseSatToChooseLnsNeighbourhood()
Clears the value of the "use_sat_to_choose_lns_neighbourhood" field.
override bool Equals(object other)
int MaxNumberOfConflictsForQuickCheck
The number of conflicts the SAT solver has to solve a random LNS subproblem for the quick check of in...
const int UseSatToChooseLnsNeighbourhoodFieldNumber
Field number for the "use_sat_to_choose_lns_neighbourhood" field.
bool HasMaxNumberOfConflictsInRandomLns
Gets whether the "max_number_of_conflicts_in_random_lns" field is set.
void ClearDecomposerNumVariablesThreshold()
Clears the value of the "decomposer_num_variables_threshold" field.
bool HasRandomSeed
Gets whether the "random_seed" field is set.
void ClearUseLpStrongBranching()
Clears the value of the "use_lp_strong_branching" field.
void ClearUseLearnedBinaryClausesInLp()
Clears the value of the "use_learned_binary_clauses_in_lp" field.
const int MaxNumberOfBacktracksInLsFieldNumber
Field number for the "max_number_of_backtracks_in_ls" field.
int MaxNumberOfConflictsInRandomSolutionGeneration
The number of conflicts the SAT solver has to generate a random solution.
double LpMaxDeterministicTime
The max deterministic time given to the LP solver each time it is called. If this is not enough to so...
int GuidedSatConflictsChunk
The first solutions based on guided SAT will work in chunk of that many conflicts at the time....
int NumRelaxedVars
Number of variables to relax in the exhaustive Large Neighborhood Search.
int NumBopSolversUsedByDecomposition
The number of BopSolver created (thread pool workers) used by the integral solver to solve a decompos...
void ClearExploitSymmetryInSatFirstSolution()
Clears the value of the "exploit_symmetry_in_sat_first_solution" field.
bool HasUsePotentialOneFlipRepairsInLs
Gets whether the "use_potential_one_flip_repairs_in_ls" field is set.
const int MaxLpSolveForFeasibilityProblemsFieldNumber
Field number for the "max_lp_solve_for_feasibility_problems" field.
void ClearMaxNumberOfExploredAssignmentsPerTryInLs()
Clears the value of the "max_number_of_explored_assignments_per_try_in_ls" field.
const int UseLearnedBinaryClausesInLpFieldNumber
Field number for the "use_learned_binary_clauses_in_lp" field.
void ClearNumberOfSolvers()
Clears the value of the "number_of_solvers" field.
bool HasMaxNumberOfConflictsInRandomSolutionGeneration
Gets whether the "max_number_of_conflicts_in_random_solution_generation" field is set.
void ClearMaxLpSolveForFeasibilityProblems()
Clears the value of the "max_lp_solve_for_feasibility_problems" field.
bool HasUseLpStrongBranching
Gets whether the "use_lp_strong_branching" field is set.
bool ExploitSymmetryInSatFirstSolution
If true, find and exploit symmetries in proving satisfiability in the first problem....
bool HasPruneSearchTree
Gets whether the "prune_search_tree" field is set.
void ClearDecomposedProblemMinTimeInSeconds()
Clears the value of the "decomposed_problem_min_time_in_seconds" field.
bool UseRandomLns
Use the random Large Neighborhood Search instead of the exhaustive one.
int MaxNumBrokenConstraintsInLs
Abort the LS search tree as soon as strictly more than this number of constraints are broken....
double RelativeGapLimit
Limit used to stop the optimization as soon as the relative gap is smaller than the given value....
const int GuidedSatConflictsChunkFieldNumber
Field number for the "guided_sat_conflicts_chunk" field.
bool HasMaxNumberOfExploredAssignmentsPerTryInLs
Gets whether the "max_number_of_explored_assignments_per_try_in_ls" field is set.
bool HasMaxNumberOfConsecutiveFailingOptimizerCalls
Gets whether the "max_number_of_consecutive_failing_optimizer_calls" field is set.
static pb::MessageParser< BopParameters > Parser
void ClearMaxNumberOfConflictsInRandomSolutionGeneration()
Clears the value of the "max_number_of_conflicts_in_random_solution_generation" field.
bool UseLpStrongBranching
Use strong branching in the linear relaxation optimizer. The strong branching is a what-if analysis o...
bool HasUseLearnedBinaryClausesInLp
Gets whether the "use_learned_binary_clauses_in_lp" field is set.
bool UsePotentialOneFlipRepairsInLs
Whether we keep a list of variable that can potentially repair in one flip all the current infeasible...
const int NumBopSolversUsedByDecompositionFieldNumber
Field number for the "num_bop_solvers_used_by_decomposition" field.
bool HasSynchronizationType
Gets whether the "synchronization_type" field is set.
bool HasUseTranspositionTableInLs
Gets whether the "use_transposition_table_in_ls" field is set.
bool HasGuidedSatConflictsChunk
Gets whether the "guided_sat_conflicts_chunk" field is set.
bool UseLearnedBinaryClausesInLp
Whether we use the learned binary clauses in the Linear Relaxation.
Set of optimizer methods to be run by an instance of the portfolio optimizer.
static pb::MessageParser< BopSolverOptimizerSet > Parser
static pbr::MessageDescriptor Descriptor
pbc::RepeatedField< global::Google.OrTools.Bop.BopOptimizerMethod > Methods