Google OR-Tools v9.12
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
RoutingIls.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/constraint_solver/routing_ils.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 RoutingIlsReflection {
16
17 #region Descriptor
19 public static pbr::FileDescriptor Descriptor {
20 get { return descriptor; }
21 }
22 private static pbr::FileDescriptor descriptor;
23
24 static RoutingIlsReflection() {
25 byte[] descriptorData = global::System.Convert.FromBase64String(
26 string.Concat(
27 "CitvcnRvb2xzL2NvbnN0cmFpbnRfc29sdmVyL3JvdXRpbmdfaWxzLnByb3Rv",
28 "EhNvcGVyYXRpb25zX3Jlc2VhcmNoGi1vcnRvb2xzL2NvbnN0cmFpbnRfc29s",
29 "dmVyL3JvdXRpbmdfZW51bXMucHJvdG8iWAogU3BhdGlhbGx5Q2xvc2VSb3V0",
30 "ZXNSdWluU3RyYXRlZ3kSHgoRbnVtX3J1aW5lZF9yb3V0ZXMYAyABKA1IAIgB",
31 "AUIUChJfbnVtX3J1aW5lZF9yb3V0ZXMiUAoWUmFuZG9tV2Fsa1J1aW5TdHJh",
32 "dGVneRIfChJudW1fcmVtb3ZlZF92aXNpdHMYByABKA1IAIgBAUIVChNfbnVt",
33 "X3JlbW92ZWRfdmlzaXRzIsYBChBTSVNSUnVpblN0cmF0ZWd5EiYKGW1heF9y",
34 "ZW1vdmVkX3NlcXVlbmNlX3NpemUYASABKA1IAIgBARIjChZhdmdfbnVtX3Jl",
35 "bW92ZWRfdmlzaXRzGAIgASgNSAGIAQESGgoNYnlwYXNzX2ZhY3RvchgDIAEo",
36 "AUgCiAEBQhwKGl9tYXhfcmVtb3ZlZF9zZXF1ZW5jZV9zaXplQhkKF19hdmdf",
37 "bnVtX3JlbW92ZWRfdmlzaXRzQhAKDl9ieXBhc3NfZmFjdG9yIu4BCgxSdWlu",
38 "U3RyYXRlZ3kSVwoWc3BhdGlhbGx5X2Nsb3NlX3JvdXRlcxgBIAEoCzI1Lm9w",
39 "ZXJhdGlvbnNfcmVzZWFyY2guU3BhdGlhbGx5Q2xvc2VSb3V0ZXNSdWluU3Ry",
40 "YXRlZ3lIABJCCgtyYW5kb21fd2FsaxgCIAEoCzIrLm9wZXJhdGlvbnNfcmVz",
41 "ZWFyY2guUmFuZG9tV2Fsa1J1aW5TdHJhdGVneUgAEjUKBHNpc3IYAyABKAsy",
42 "JS5vcGVyYXRpb25zX3Jlc2VhcmNoLlNJU1JSdWluU3RyYXRlZ3lIAEIKCghz",
43 "dHJhdGVneSJzChdSdWluQ29tcG9zaXRpb25TdHJhdGVneSJYCgVWYWx1ZRIJ",
44 "CgVVTlNFVBAAEhgKFFJVTl9BTExfU0VRVUVOVElBTExZEAESFAoQUlVOX0FM",
45 "TF9SQU5ET01MWRACEhQKEFJVTl9PTkVfUkFORE9NTFkQAyLmAwoWUnVpblJl",
46 "Y3JlYXRlUGFyYW1ldGVycxI6Cg9ydWluX3N0cmF0ZWdpZXMYASADKAsyIS5v",
47 "cGVyYXRpb25zX3Jlc2VhcmNoLlJ1aW5TdHJhdGVneRJVChlydWluX2NvbXBv",
48 "c2l0aW9uX3N0cmF0ZWd5GAIgASgOMjIub3BlcmF0aW9uc19yZXNlYXJjaC5S",
49 "dWluQ29tcG9zaXRpb25TdHJhdGVneS5WYWx1ZRJLChFyZWNyZWF0ZV9zdHJh",
50 "dGVneRgDIAEoDjIwLm9wZXJhdGlvbnNfcmVzZWFyY2guRmlyc3RTb2x1dGlv",
51 "blN0cmF0ZWd5LlZhbHVlEiwKH3JvdXRlX3NlbGVjdGlvbl9uZWlnaGJvcnNf",
52 "cmF0aW8YBCABKAFIAIgBARIqCh1yb3V0ZV9zZWxlY3Rpb25fbWluX25laWdo",
53 "Ym9ycxgFIAEoDUgBiAEBEioKHXJvdXRlX3NlbGVjdGlvbl9tYXhfbmVpZ2hi",
54 "b3JzGAYgASgNSAKIAQFCIgogX3JvdXRlX3NlbGVjdGlvbl9uZWlnaGJvcnNf",
55 "cmF0aW9CIAoeX3JvdXRlX3NlbGVjdGlvbl9taW5fbmVpZ2hib3JzQiAKHl9y",
56 "b3V0ZV9zZWxlY3Rpb25fbWF4X25laWdoYm9ycyJBChRQZXJ0dXJiYXRpb25T",
57 "dHJhdGVneSIpCgVWYWx1ZRIJCgVVTlNFVBAAEhUKEVJVSU5fQU5EX1JFQ1JF",
58 "QVRFEAEiSgoXQ29vbGluZ1NjaGVkdWxlU3RyYXRlZ3kiLwoFVmFsdWUSCQoF",
59 "VU5TRVQQABIPCgtFWFBPTkVOVElBTBABEgoKBkxJTkVBUhACIqUCChxTaW11",
60 "bGF0ZWRBbm5lYWxpbmdQYXJhbWV0ZXJzElUKGWNvb2xpbmdfc2NoZWR1bGVf",
61 "c3RyYXRlZ3kYASABKA4yMi5vcGVyYXRpb25zX3Jlc2VhcmNoLkNvb2xpbmdT",
62 "Y2hlZHVsZVN0cmF0ZWd5LlZhbHVlEiAKE2luaXRpYWxfdGVtcGVyYXR1cmUY",
63 "AiABKAFIAIgBARIeChFmaW5hbF90ZW1wZXJhdHVyZRgDIAEoAUgBiAEBEiMK",
64 "FmF1dG9tYXRpY190ZW1wZXJhdHVyZXMYBCABKAhIAogBAUIWChRfaW5pdGlh",
65 "bF90ZW1wZXJhdHVyZUIUChJfZmluYWxfdGVtcGVyYXR1cmVCGQoXX2F1dG9t",
66 "YXRpY190ZW1wZXJhdHVyZXMiVQoSQWNjZXB0YW5jZVN0cmF0ZWd5Ij8KBVZh",
67 "bHVlEgkKBVVOU0VUEAASEgoOR1JFRURZX0RFU0NFTlQQARIXChNTSU1VTEFU",
68 "RURfQU5ORUFMSU5HEAIirQMKHUl0ZXJhdGVkTG9jYWxTZWFyY2hQYXJhbWV0",
69 "ZXJzEk4KFXBlcnR1cmJhdGlvbl9zdHJhdGVneRgBIAEoDjIvLm9wZXJhdGlv",
70 "bnNfcmVzZWFyY2guUGVydHVyYmF0aW9uU3RyYXRlZ3kuVmFsdWUSTQoYcnVp",
71 "bl9yZWNyZWF0ZV9wYXJhbWV0ZXJzGAIgASgLMisub3BlcmF0aW9uc19yZXNl",
72 "YXJjaC5SdWluUmVjcmVhdGVQYXJhbWV0ZXJzEicKGmltcHJvdmVfcGVydHVy",
73 "YmVkX3NvbHV0aW9uGAMgASgISACIAQESSgoTYWNjZXB0YW5jZV9zdHJhdGVn",
74 "eRgEIAEoDjItLm9wZXJhdGlvbnNfcmVzZWFyY2guQWNjZXB0YW5jZVN0cmF0",
75 "ZWd5LlZhbHVlElkKHnNpbXVsYXRlZF9hbm5lYWxpbmdfcGFyYW1ldGVycxgF",
76 "IAEoCzIxLm9wZXJhdGlvbnNfcmVzZWFyY2guU2ltdWxhdGVkQW5uZWFsaW5n",
77 "UGFyYW1ldGVyc0IdChtfaW1wcm92ZV9wZXJ0dXJiZWRfc29sdXRpb25CSQoj",
78 "Y29tLmdvb2dsZS5vcnRvb2xzLmNvbnN0cmFpbnRzb2x2ZXJQAaoCH0dvb2ds",
79 "ZS5PclRvb2xzLkNvbnN0cmFpbnRTb2x2ZXJiBnByb3RvMw=="));
80 descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
81 new pbr::FileDescriptor[] { global::Google.OrTools.ConstraintSolver.RoutingEnumsReflection.Descriptor, },
82 new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
83 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.SpatiallyCloseRoutesRuinStrategy), global::Google.OrTools.ConstraintSolver.SpatiallyCloseRoutesRuinStrategy.Parser, new[]{ "NumRuinedRoutes" }, new[]{ "NumRuinedRoutes" }, null, null, null),
84 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.RandomWalkRuinStrategy), global::Google.OrTools.ConstraintSolver.RandomWalkRuinStrategy.Parser, new[]{ "NumRemovedVisits" }, new[]{ "NumRemovedVisits" }, null, null, null),
85 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.SISRRuinStrategy), global::Google.OrTools.ConstraintSolver.SISRRuinStrategy.Parser, new[]{ "MaxRemovedSequenceSize", "AvgNumRemovedVisits", "BypassFactor" }, new[]{ "MaxRemovedSequenceSize", "AvgNumRemovedVisits", "BypassFactor" }, null, null, null),
86 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.RuinStrategy), global::Google.OrTools.ConstraintSolver.RuinStrategy.Parser, new[]{ "SpatiallyCloseRoutes", "RandomWalk", "Sisr" }, new[]{ "Strategy" }, null, null, null),
87 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.RuinCompositionStrategy), global::Google.OrTools.ConstraintSolver.RuinCompositionStrategy.Parser, null, null, new[]{ typeof(global::Google.OrTools.ConstraintSolver.RuinCompositionStrategy.Types.Value) }, null, null),
88 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.RuinRecreateParameters), global::Google.OrTools.ConstraintSolver.RuinRecreateParameters.Parser, new[]{ "RuinStrategies", "RuinCompositionStrategy", "RecreateStrategy", "RouteSelectionNeighborsRatio", "RouteSelectionMinNeighbors", "RouteSelectionMaxNeighbors" }, new[]{ "RouteSelectionNeighborsRatio", "RouteSelectionMinNeighbors", "RouteSelectionMaxNeighbors" }, null, null, null),
89 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.PerturbationStrategy), global::Google.OrTools.ConstraintSolver.PerturbationStrategy.Parser, null, null, new[]{ typeof(global::Google.OrTools.ConstraintSolver.PerturbationStrategy.Types.Value) }, null, null),
90 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.CoolingScheduleStrategy), global::Google.OrTools.ConstraintSolver.CoolingScheduleStrategy.Parser, null, null, new[]{ typeof(global::Google.OrTools.ConstraintSolver.CoolingScheduleStrategy.Types.Value) }, null, null),
91 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.SimulatedAnnealingParameters), global::Google.OrTools.ConstraintSolver.SimulatedAnnealingParameters.Parser, new[]{ "CoolingScheduleStrategy", "InitialTemperature", "FinalTemperature", "AutomaticTemperatures" }, new[]{ "InitialTemperature", "FinalTemperature", "AutomaticTemperatures" }, null, null, null),
92 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.AcceptanceStrategy), global::Google.OrTools.ConstraintSolver.AcceptanceStrategy.Parser, null, null, new[]{ typeof(global::Google.OrTools.ConstraintSolver.AcceptanceStrategy.Types.Value) }, null, null),
93 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.IteratedLocalSearchParameters), global::Google.OrTools.ConstraintSolver.IteratedLocalSearchParameters.Parser, new[]{ "PerturbationStrategy", "RuinRecreateParameters", "ImprovePerturbedSolution", "AcceptanceStrategy", "SimulatedAnnealingParameters" }, new[]{ "ImprovePerturbedSolution" }, null, null, null)
94 }));
95 }
96 #endregion
97
98 }
99 #region Messages
103 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
104 public sealed partial class SpatiallyCloseRoutesRuinStrategy : pb::IMessage<SpatiallyCloseRoutesRuinStrategy>
105 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
106 , pb::IBufferMessage
107 #endif
108 {
109 private static readonly pb::MessageParser<SpatiallyCloseRoutesRuinStrategy> _parser = new pb::MessageParser<SpatiallyCloseRoutesRuinStrategy>(() => new SpatiallyCloseRoutesRuinStrategy());
110 private pb::UnknownFieldSet _unknownFields;
111 private int _hasBits0;
112 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
113 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
114 public static pb::MessageParser<SpatiallyCloseRoutesRuinStrategy> Parser { get { return _parser; } }
115
116 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
117 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
118 public static pbr::MessageDescriptor Descriptor {
119 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[0]; }
120 }
121
122 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
123 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
124 pbr::MessageDescriptor pb::IMessage.Descriptor {
125 get { return Descriptor; }
126 }
127
128 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
129 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
131 OnConstruction();
132 }
133
134 partial void OnConstruction();
135
136 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
137 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
139 _hasBits0 = other._hasBits0;
140 numRuinedRoutes_ = other.numRuinedRoutes_;
141 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
142 }
143
144 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
145 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
149
151 public const int NumRuinedRoutesFieldNumber = 3;
152 private readonly static uint NumRuinedRoutesDefaultValue = 0;
153
154 private uint numRuinedRoutes_;
158 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
159 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
160 public uint NumRuinedRoutes {
161 get { if ((_hasBits0 & 1) != 0) { return numRuinedRoutes_; } else { return NumRuinedRoutesDefaultValue; } }
162 set {
163 _hasBits0 |= 1;
164 numRuinedRoutes_ = value;
165 }
166 }
167
168 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
169 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
170 public bool HasNumRuinedRoutes {
171 get { return (_hasBits0 & 1) != 0; }
172 }
173
174 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
175 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
176 public void ClearNumRuinedRoutes() {
177 _hasBits0 &= ~1;
178 }
179
180 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
181 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
182 public override bool Equals(object other) {
184 }
185
186 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
187 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
189 if (ReferenceEquals(other, null)) {
190 return false;
191 }
192 if (ReferenceEquals(other, this)) {
193 return true;
194 }
195 if (NumRuinedRoutes != other.NumRuinedRoutes) return false;
196 return Equals(_unknownFields, other._unknownFields);
197 }
198
199 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
200 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
201 public override int GetHashCode() {
202 int hash = 1;
203 if (HasNumRuinedRoutes) hash ^= NumRuinedRoutes.GetHashCode();
204 if (_unknownFields != null) {
205 hash ^= _unknownFields.GetHashCode();
206 }
207 return hash;
208 }
209
210 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
211 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
212 public override string ToString() {
213 return pb::JsonFormatter.ToDiagnosticString(this);
214 }
215
216 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
217 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
218 public void WriteTo(pb::CodedOutputStream output) {
219 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
220 output.WriteRawMessage(this);
221 #else
222 if (HasNumRuinedRoutes) {
223 output.WriteRawTag(24);
224 output.WriteUInt32(NumRuinedRoutes);
225 }
226 if (_unknownFields != null) {
227 _unknownFields.WriteTo(output);
228 }
229 #endif
230 }
231
232 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
233 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
234 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
235 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
236 if (HasNumRuinedRoutes) {
237 output.WriteRawTag(24);
238 output.WriteUInt32(NumRuinedRoutes);
239 }
240 if (_unknownFields != null) {
241 _unknownFields.WriteTo(ref output);
242 }
243 }
244 #endif
245
246 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
247 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
248 public int CalculateSize() {
249 int size = 0;
250 if (HasNumRuinedRoutes) {
251 size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NumRuinedRoutes);
252 }
253 if (_unknownFields != null) {
254 size += _unknownFields.CalculateSize();
255 }
256 return size;
257 }
258
259 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
260 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
262 if (other == null) {
263 return;
264 }
265 if (other.HasNumRuinedRoutes) {
267 }
268 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
269 }
270
271 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
272 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
273 public void MergeFrom(pb::CodedInputStream input) {
274 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
275 input.ReadRawMessage(this);
276 #else
277 uint tag;
278 while ((tag = input.ReadTag()) != 0) {
279 if ((tag & 7) == 4) {
280 // Abort on any end group tag.
281 return;
282 }
283 switch(tag) {
284 default:
285 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
286 break;
287 case 24: {
288 NumRuinedRoutes = input.ReadUInt32();
289 break;
290 }
291 }
292 }
293 #endif
294 }
295
296 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
297 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
298 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
299 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
300 uint tag;
301 while ((tag = input.ReadTag()) != 0) {
302 if ((tag & 7) == 4) {
303 // Abort on any end group tag.
304 return;
305 }
306 switch(tag) {
307 default:
308 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
309 break;
310 case 24: {
311 NumRuinedRoutes = input.ReadUInt32();
312 break;
313 }
314 }
315 }
316 }
317 #endif
318
319 }
320
329 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
330 public sealed partial class RandomWalkRuinStrategy : pb::IMessage<RandomWalkRuinStrategy>
331 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
332 , pb::IBufferMessage
333 #endif
334 {
335 private static readonly pb::MessageParser<RandomWalkRuinStrategy> _parser = new pb::MessageParser<RandomWalkRuinStrategy>(() => new RandomWalkRuinStrategy());
336 private pb::UnknownFieldSet _unknownFields;
337 private int _hasBits0;
338 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
339 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
340 public static pb::MessageParser<RandomWalkRuinStrategy> Parser { get { return _parser; } }
341
342 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
343 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
344 public static pbr::MessageDescriptor Descriptor {
345 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[1]; }
346 }
347
348 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
349 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
350 pbr::MessageDescriptor pb::IMessage.Descriptor {
351 get { return Descriptor; }
352 }
353
354 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
355 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
357 OnConstruction();
358 }
359
360 partial void OnConstruction();
361
362 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
363 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
365 _hasBits0 = other._hasBits0;
366 numRemovedVisits_ = other.numRemovedVisits_;
367 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
368 }
369
370 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
371 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
373 return new RandomWalkRuinStrategy(this);
374 }
375
377 public const int NumRemovedVisitsFieldNumber = 7;
378 private readonly static uint NumRemovedVisitsDefaultValue = 0;
379
380 private uint numRemovedVisits_;
388 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
389 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
390 public uint NumRemovedVisits {
391 get { if ((_hasBits0 & 1) != 0) { return numRemovedVisits_; } else { return NumRemovedVisitsDefaultValue; } }
392 set {
393 _hasBits0 |= 1;
394 numRemovedVisits_ = value;
395 }
396 }
397
398 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
399 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
401 get { return (_hasBits0 & 1) != 0; }
402 }
403
404 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
405 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
406 public void ClearNumRemovedVisits() {
407 _hasBits0 &= ~1;
408 }
409
410 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
411 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
412 public override bool Equals(object other) {
413 return Equals(other as RandomWalkRuinStrategy);
414 }
415
416 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
417 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
418 public bool Equals(RandomWalkRuinStrategy other) {
419 if (ReferenceEquals(other, null)) {
420 return false;
421 }
422 if (ReferenceEquals(other, this)) {
423 return true;
424 }
425 if (NumRemovedVisits != other.NumRemovedVisits) return false;
426 return Equals(_unknownFields, other._unknownFields);
427 }
428
429 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
430 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
431 public override int GetHashCode() {
432 int hash = 1;
433 if (HasNumRemovedVisits) hash ^= NumRemovedVisits.GetHashCode();
434 if (_unknownFields != null) {
435 hash ^= _unknownFields.GetHashCode();
436 }
437 return hash;
438 }
439
440 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
441 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
442 public override string ToString() {
443 return pb::JsonFormatter.ToDiagnosticString(this);
444 }
445
446 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
447 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
448 public void WriteTo(pb::CodedOutputStream output) {
449 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
450 output.WriteRawMessage(this);
451 #else
453 output.WriteRawTag(56);
454 output.WriteUInt32(NumRemovedVisits);
455 }
456 if (_unknownFields != null) {
457 _unknownFields.WriteTo(output);
458 }
459 #endif
460 }
461
462 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
463 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
464 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
465 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
466 if (HasNumRemovedVisits) {
467 output.WriteRawTag(56);
468 output.WriteUInt32(NumRemovedVisits);
469 }
470 if (_unknownFields != null) {
471 _unknownFields.WriteTo(ref output);
472 }
473 }
474 #endif
475
476 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
477 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
478 public int CalculateSize() {
479 int size = 0;
481 size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NumRemovedVisits);
482 }
483 if (_unknownFields != null) {
484 size += _unknownFields.CalculateSize();
485 }
486 return size;
487 }
488
489 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
490 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
492 if (other == null) {
493 return;
494 }
495 if (other.HasNumRemovedVisits) {
497 }
498 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
499 }
500
501 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
502 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
503 public void MergeFrom(pb::CodedInputStream input) {
504 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
505 input.ReadRawMessage(this);
506 #else
507 uint tag;
508 while ((tag = input.ReadTag()) != 0) {
509 if ((tag & 7) == 4) {
510 // Abort on any end group tag.
511 return;
512 }
513 switch(tag) {
514 default:
515 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
516 break;
517 case 56: {
518 NumRemovedVisits = input.ReadUInt32();
519 break;
520 }
521 }
522 }
523 #endif
524 }
525
526 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
527 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
528 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
529 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
530 uint tag;
531 while ((tag = input.ReadTag()) != 0) {
532 if ((tag & 7) == 4) {
533 // Abort on any end group tag.
534 return;
535 }
536 switch(tag) {
537 default:
538 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
539 break;
540 case 56: {
541 NumRemovedVisits = input.ReadUInt32();
542 break;
543 }
544 }
545 }
546 }
547 #endif
548
549 }
550
625 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
626 public sealed partial class SISRRuinStrategy : pb::IMessage<SISRRuinStrategy>
627 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
628 , pb::IBufferMessage
629 #endif
630 {
631 private static readonly pb::MessageParser<SISRRuinStrategy> _parser = new pb::MessageParser<SISRRuinStrategy>(() => new SISRRuinStrategy());
632 private pb::UnknownFieldSet _unknownFields;
633 private int _hasBits0;
634 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
635 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
636 public static pb::MessageParser<SISRRuinStrategy> Parser { get { return _parser; } }
637
638 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
639 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
640 public static pbr::MessageDescriptor Descriptor {
641 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[2]; }
642 }
643
644 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
645 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
646 pbr::MessageDescriptor pb::IMessage.Descriptor {
647 get { return Descriptor; }
648 }
649
650 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
651 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
652 public SISRRuinStrategy() {
653 OnConstruction();
654 }
655
656 partial void OnConstruction();
657
658 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
659 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
660 public SISRRuinStrategy(SISRRuinStrategy other) : this() {
661 _hasBits0 = other._hasBits0;
662 maxRemovedSequenceSize_ = other.maxRemovedSequenceSize_;
663 avgNumRemovedVisits_ = other.avgNumRemovedVisits_;
664 bypassFactor_ = other.bypassFactor_;
665 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
666 }
667
668 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
669 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
671 return new SISRRuinStrategy(this);
672 }
673
675 public const int MaxRemovedSequenceSizeFieldNumber = 1;
676 private readonly static uint MaxRemovedSequenceSizeDefaultValue = 0;
677
678 private uint maxRemovedSequenceSize_;
680 /// Maximum number of removed visits per sequence. The parameter name in the
681 /// paper is L^{max} and the suggested value is 10.
682 /// </summary>
683 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
684 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
686 get { if ((_hasBits0 & 1) != 0) { return maxRemovedSequenceSize_; } else { return MaxRemovedSequenceSizeDefaultValue; } }
687 set {
688 _hasBits0 |= 1;
689 maxRemovedSequenceSize_ = value;
690 }
691 }
693 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
694 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
696 get { return (_hasBits0 & 1) != 0; }
697 }
699 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
700 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
701 public void ClearMaxRemovedSequenceSize() {
702 _hasBits0 &= ~1;
703 }
704
705 /// <summary>Field number for the "avg_num_removed_visits" field.</summary>
706 public const int AvgNumRemovedVisitsFieldNumber = 2;
707 private readonly static uint AvgNumRemovedVisitsDefaultValue = 0;
708
709 private uint avgNumRemovedVisits_;
711 /// Number of visits that are removed on average. The parameter name in the
712 /// paper is \bar{c} and the suggested value is 10.
713 /// </summary>
714 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
715 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
717 get { if ((_hasBits0 & 2) != 0) { return avgNumRemovedVisits_; } else { return AvgNumRemovedVisitsDefaultValue; } }
718 set {
719 _hasBits0 |= 2;
720 avgNumRemovedVisits_ = value;
721 }
722 }
724 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
725 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
727 get { return (_hasBits0 & 2) != 0; }
728 }
730 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
731 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
732 public void ClearAvgNumRemovedVisits() {
733 _hasBits0 &= ~2;
734 }
735
736 /// <summary>Field number for the "bypass_factor" field.</summary>
737 public const int BypassFactorFieldNumber = 3;
738 private readonly static double BypassFactorDefaultValue = 0D;
739
740 private double bypassFactor_;
742 /// Value in [0, 1] ruling the number of preserved customers in the split
743 /// sequence removal. The parameter name in the paper is \alpha and the
744 /// suggested value is 0.01.
745 /// </summary>
746 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
747 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
748 public double BypassFactor {
749 get { if ((_hasBits0 & 4) != 0) { return bypassFactor_; } else { return BypassFactorDefaultValue; } }
750 set {
751 _hasBits0 |= 4;
752 bypassFactor_ = value;
753 }
754 }
756 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
757 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
758 public bool HasBypassFactor {
759 get { return (_hasBits0 & 4) != 0; }
760 }
762 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
763 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
764 public void ClearBypassFactor() {
765 _hasBits0 &= ~4;
766 }
767
768 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
769 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
770 public override bool Equals(object other) {
771 return Equals(other as SISRRuinStrategy);
772 }
773
774 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
775 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
776 public bool Equals(SISRRuinStrategy other) {
777 if (ReferenceEquals(other, null)) {
778 return false;
779 }
780 if (ReferenceEquals(other, this)) {
781 return true;
782 }
783 if (MaxRemovedSequenceSize != other.MaxRemovedSequenceSize) return false;
784 if (AvgNumRemovedVisits != other.AvgNumRemovedVisits) return false;
785 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(BypassFactor, other.BypassFactor)) return false;
786 return Equals(_unknownFields, other._unknownFields);
787 }
788
789 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
790 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
791 public override int GetHashCode() {
792 int hash = 1;
793 if (HasMaxRemovedSequenceSize) hash ^= MaxRemovedSequenceSize.GetHashCode();
794 if (HasAvgNumRemovedVisits) hash ^= AvgNumRemovedVisits.GetHashCode();
795 if (HasBypassFactor) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(BypassFactor);
796 if (_unknownFields != null) {
797 hash ^= _unknownFields.GetHashCode();
798 }
799 return hash;
800 }
802 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
803 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
804 public override string ToString() {
805 return pb::JsonFormatter.ToDiagnosticString(this);
806 }
807
808 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
809 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
810 public void WriteTo(pb::CodedOutputStream output) {
811 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
812 output.WriteRawMessage(this);
813 #else
815 output.WriteRawTag(8);
816 output.WriteUInt32(MaxRemovedSequenceSize);
817 }
818 if (HasAvgNumRemovedVisits) {
819 output.WriteRawTag(16);
820 output.WriteUInt32(AvgNumRemovedVisits);
821 }
822 if (HasBypassFactor) {
823 output.WriteRawTag(25);
824 output.WriteDouble(BypassFactor);
825 }
826 if (_unknownFields != null) {
827 _unknownFields.WriteTo(output);
828 }
829 #endif
830 }
831
832 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
833 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
834 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
835 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
836 if (HasMaxRemovedSequenceSize) {
837 output.WriteRawTag(8);
838 output.WriteUInt32(MaxRemovedSequenceSize);
839 }
840 if (HasAvgNumRemovedVisits) {
841 output.WriteRawTag(16);
842 output.WriteUInt32(AvgNumRemovedVisits);
843 }
844 if (HasBypassFactor) {
845 output.WriteRawTag(25);
846 output.WriteDouble(BypassFactor);
847 }
848 if (_unknownFields != null) {
849 _unknownFields.WriteTo(ref output);
850 }
851 }
852 #endif
853
854 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
855 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
856 public int CalculateSize() {
857 int size = 0;
858 if (HasMaxRemovedSequenceSize) {
859 size += 1 + pb::CodedOutputStream.ComputeUInt32Size(MaxRemovedSequenceSize);
860 }
861 if (HasAvgNumRemovedVisits) {
862 size += 1 + pb::CodedOutputStream.ComputeUInt32Size(AvgNumRemovedVisits);
863 }
864 if (HasBypassFactor) {
865 size += 1 + 8;
867 if (_unknownFields != null) {
868 size += _unknownFields.CalculateSize();
869 }
870 return size;
871 }
872
873 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
874 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
875 public void MergeFrom(SISRRuinStrategy other) {
876 if (other == null) {
877 return;
878 }
879 if (other.HasMaxRemovedSequenceSize) {
880 MaxRemovedSequenceSize = other.MaxRemovedSequenceSize;
881 }
882 if (other.HasAvgNumRemovedVisits) {
883 AvgNumRemovedVisits = other.AvgNumRemovedVisits;
884 }
885 if (other.HasBypassFactor) {
886 BypassFactor = other.BypassFactor;
887 }
888 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
889 }
890
891 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
892 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
893 public void MergeFrom(pb::CodedInputStream input) {
894 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
895 input.ReadRawMessage(this);
896 #else
897 uint tag;
898 while ((tag = input.ReadTag()) != 0) {
899 if ((tag & 7) == 4) {
900 // Abort on any end group tag.
901 return;
902 }
903 switch(tag) {
904 default:
905 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
906 break;
907 case 8: {
908 MaxRemovedSequenceSize = input.ReadUInt32();
909 break;
910 }
911 case 16: {
912 AvgNumRemovedVisits = input.ReadUInt32();
913 break;
914 }
915 case 25: {
916 BypassFactor = input.ReadDouble();
917 break;
918 }
919 }
920 }
921 #endif
922 }
923
924 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
925 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
926 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
927 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
928 uint tag;
929 while ((tag = input.ReadTag()) != 0) {
930 if ((tag & 7) == 4) {
931 // Abort on any end group tag.
932 return;
933 }
934 switch(tag) {
935 default:
936 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
937 break;
938 case 8: {
939 MaxRemovedSequenceSize = input.ReadUInt32();
940 break;
941 }
942 case 16: {
943 AvgNumRemovedVisits = input.ReadUInt32();
944 break;
945 }
946 case 25: {
947 BypassFactor = input.ReadDouble();
948 break;
949 }
950 }
951 }
952 }
953 #endif
954
955 }
956
960 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
961 public sealed partial class RuinStrategy : pb::IMessage<RuinStrategy>
962 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
963 , pb::IBufferMessage
964 #endif
965 {
966 private static readonly pb::MessageParser<RuinStrategy> _parser = new pb::MessageParser<RuinStrategy>(() => new RuinStrategy());
967 private pb::UnknownFieldSet _unknownFields;
968 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
969 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
970 public static pb::MessageParser<RuinStrategy> Parser { get { return _parser; } }
972 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
973 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
974 public static pbr::MessageDescriptor Descriptor {
975 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[3]; }
976 }
977
978 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
979 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
980 pbr::MessageDescriptor pb::IMessage.Descriptor {
981 get { return Descriptor; }
982 }
983
984 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
985 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
986 public RuinStrategy() {
987 OnConstruction();
988 }
989
990 partial void OnConstruction();
991
992 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
993 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
994 public RuinStrategy(RuinStrategy other) : this() {
995 switch (other.StrategyCase) {
996 case StrategyOneofCase.SpatiallyCloseRoutes:
997 SpatiallyCloseRoutes = other.SpatiallyCloseRoutes.Clone();
998 break;
999 case StrategyOneofCase.RandomWalk:
1000 RandomWalk = other.RandomWalk.Clone();
1001 break;
1002 case StrategyOneofCase.Sisr:
1003 Sisr = other.Sisr.Clone();
1004 break;
1005 }
1006
1007 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1008 }
1009
1010 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1011 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1012 public RuinStrategy Clone() {
1013 return new RuinStrategy(this);
1014 }
1015
1017 public const int SpatiallyCloseRoutesFieldNumber = 1;
1018 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1019 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1020 public global::Google.OrTools.ConstraintSolver.SpatiallyCloseRoutesRuinStrategy SpatiallyCloseRoutes {
1021 get { return strategyCase_ == StrategyOneofCase.SpatiallyCloseRoutes ? (global::Google.OrTools.ConstraintSolver.SpatiallyCloseRoutesRuinStrategy) strategy_ : null; }
1022 set {
1023 strategy_ = value;
1024 strategyCase_ = value == null ? StrategyOneofCase.None : StrategyOneofCase.SpatiallyCloseRoutes;
1025 }
1026 }
1029 public const int RandomWalkFieldNumber = 2;
1030 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1031 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1033 get { return strategyCase_ == StrategyOneofCase.RandomWalk ? (global::Google.OrTools.ConstraintSolver.RandomWalkRuinStrategy) strategy_ : null; }
1034 set {
1035 strategy_ = value;
1036 strategyCase_ = value == null ? StrategyOneofCase.None : StrategyOneofCase.RandomWalk;
1037 }
1038 }
1041 public const int SisrFieldNumber = 3;
1042 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1043 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1044 public global::Google.OrTools.ConstraintSolver.SISRRuinStrategy Sisr {
1045 get { return strategyCase_ == StrategyOneofCase.Sisr ? (global::Google.OrTools.ConstraintSolver.SISRRuinStrategy) strategy_ : null; }
1046 set {
1047 strategy_ = value;
1048 strategyCase_ = value == null ? StrategyOneofCase.None : StrategyOneofCase.Sisr;
1049 }
1050 }
1052 private object strategy_;
1054 public enum StrategyOneofCase {
1055 None = 0,
1057 RandomWalk = 2,
1058 Sisr = 3,
1059 }
1060 private StrategyOneofCase strategyCase_ = StrategyOneofCase.None;
1061 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1062 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1063 public StrategyOneofCase StrategyCase {
1064 get { return strategyCase_; }
1067 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1068 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1069 public void ClearStrategy() {
1070 strategyCase_ = StrategyOneofCase.None;
1071 strategy_ = null;
1072 }
1074 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1075 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1076 public override bool Equals(object other) {
1077 return Equals(other as RuinStrategy);
1078 }
1080 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1081 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1082 public bool Equals(RuinStrategy other) {
1083 if (ReferenceEquals(other, null)) {
1084 return false;
1085 }
1086 if (ReferenceEquals(other, this)) {
1087 return true;
1088 }
1089 if (!object.Equals(SpatiallyCloseRoutes, other.SpatiallyCloseRoutes)) return false;
1090 if (!object.Equals(RandomWalk, other.RandomWalk)) return false;
1091 if (!object.Equals(Sisr, other.Sisr)) return false;
1092 if (StrategyCase != other.StrategyCase) return false;
1093 return Equals(_unknownFields, other._unknownFields);
1094 }
1095
1096 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1097 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1098 public override int GetHashCode() {
1099 int hash = 1;
1100 if (strategyCase_ == StrategyOneofCase.SpatiallyCloseRoutes) hash ^= SpatiallyCloseRoutes.GetHashCode();
1101 if (strategyCase_ == StrategyOneofCase.RandomWalk) hash ^= RandomWalk.GetHashCode();
1102 if (strategyCase_ == StrategyOneofCase.Sisr) hash ^= Sisr.GetHashCode();
1103 hash ^= (int) strategyCase_;
1104 if (_unknownFields != null) {
1105 hash ^= _unknownFields.GetHashCode();
1106 }
1107 return hash;
1109
1110 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1111 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1112 public override string ToString() {
1113 return pb::JsonFormatter.ToDiagnosticString(this);
1114 }
1115
1116 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1117 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1118 public void WriteTo(pb::CodedOutputStream output) {
1119 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1120 output.WriteRawMessage(this);
1121 #else
1122 if (strategyCase_ == StrategyOneofCase.SpatiallyCloseRoutes) {
1123 output.WriteRawTag(10);
1124 output.WriteMessage(SpatiallyCloseRoutes);
1125 }
1126 if (strategyCase_ == StrategyOneofCase.RandomWalk) {
1127 output.WriteRawTag(18);
1128 output.WriteMessage(RandomWalk);
1129 }
1130 if (strategyCase_ == StrategyOneofCase.Sisr) {
1131 output.WriteRawTag(26);
1132 output.WriteMessage(Sisr);
1133 }
1134 if (_unknownFields != null) {
1135 _unknownFields.WriteTo(output);
1136 }
1137 #endif
1138 }
1139
1140 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1141 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1142 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1143 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1144 if (strategyCase_ == StrategyOneofCase.SpatiallyCloseRoutes) {
1145 output.WriteRawTag(10);
1146 output.WriteMessage(SpatiallyCloseRoutes);
1147 }
1148 if (strategyCase_ == StrategyOneofCase.RandomWalk) {
1149 output.WriteRawTag(18);
1150 output.WriteMessage(RandomWalk);
1151 }
1152 if (strategyCase_ == StrategyOneofCase.Sisr) {
1153 output.WriteRawTag(26);
1154 output.WriteMessage(Sisr);
1155 }
1156 if (_unknownFields != null) {
1157 _unknownFields.WriteTo(ref output);
1158 }
1159 }
1160 #endif
1161
1162 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1163 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1164 public int CalculateSize() {
1165 int size = 0;
1166 if (strategyCase_ == StrategyOneofCase.SpatiallyCloseRoutes) {
1167 size += 1 + pb::CodedOutputStream.ComputeMessageSize(SpatiallyCloseRoutes);
1168 }
1169 if (strategyCase_ == StrategyOneofCase.RandomWalk) {
1170 size += 1 + pb::CodedOutputStream.ComputeMessageSize(RandomWalk);
1171 }
1172 if (strategyCase_ == StrategyOneofCase.Sisr) {
1173 size += 1 + pb::CodedOutputStream.ComputeMessageSize(Sisr);
1175 if (_unknownFields != null) {
1176 size += _unknownFields.CalculateSize();
1177 }
1178 return size;
1179 }
1180
1181 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1182 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1183 public void MergeFrom(RuinStrategy other) {
1184 if (other == null) {
1185 return;
1186 }
1187 switch (other.StrategyCase) {
1188 case StrategyOneofCase.SpatiallyCloseRoutes:
1189 if (SpatiallyCloseRoutes == null) {
1190 SpatiallyCloseRoutes = new global::Google.OrTools.ConstraintSolver.SpatiallyCloseRoutesRuinStrategy();
1191 }
1192 SpatiallyCloseRoutes.MergeFrom(other.SpatiallyCloseRoutes);
1193 break;
1194 case StrategyOneofCase.RandomWalk:
1195 if (RandomWalk == null) {
1196 RandomWalk = new global::Google.OrTools.ConstraintSolver.RandomWalkRuinStrategy();
1197 }
1198 RandomWalk.MergeFrom(other.RandomWalk);
1199 break;
1200 case StrategyOneofCase.Sisr:
1201 if (Sisr == null) {
1202 Sisr = new global::Google.OrTools.ConstraintSolver.SISRRuinStrategy();
1203 }
1204 Sisr.MergeFrom(other.Sisr);
1205 break;
1206 }
1207
1208 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1209 }
1210
1211 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1212 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1213 public void MergeFrom(pb::CodedInputStream input) {
1214 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1215 input.ReadRawMessage(this);
1216 #else
1217 uint tag;
1218 while ((tag = input.ReadTag()) != 0) {
1219 if ((tag & 7) == 4) {
1220 // Abort on any end group tag.
1221 return;
1222 }
1223 switch(tag) {
1224 default:
1225 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1226 break;
1227 case 10: {
1228 global::Google.OrTools.ConstraintSolver.SpatiallyCloseRoutesRuinStrategy subBuilder = new global::Google.OrTools.ConstraintSolver.SpatiallyCloseRoutesRuinStrategy();
1229 if (strategyCase_ == StrategyOneofCase.SpatiallyCloseRoutes) {
1230 subBuilder.MergeFrom(SpatiallyCloseRoutes);
1231 }
1232 input.ReadMessage(subBuilder);
1233 SpatiallyCloseRoutes = subBuilder;
1234 break;
1235 }
1236 case 18: {
1237 global::Google.OrTools.ConstraintSolver.RandomWalkRuinStrategy subBuilder = new global::Google.OrTools.ConstraintSolver.RandomWalkRuinStrategy();
1238 if (strategyCase_ == StrategyOneofCase.RandomWalk) {
1239 subBuilder.MergeFrom(RandomWalk);
1240 }
1241 input.ReadMessage(subBuilder);
1242 RandomWalk = subBuilder;
1243 break;
1244 }
1245 case 26: {
1246 global::Google.OrTools.ConstraintSolver.SISRRuinStrategy subBuilder = new global::Google.OrTools.ConstraintSolver.SISRRuinStrategy();
1247 if (strategyCase_ == StrategyOneofCase.Sisr) {
1248 subBuilder.MergeFrom(Sisr);
1249 }
1250 input.ReadMessage(subBuilder);
1251 Sisr = subBuilder;
1252 break;
1253 }
1254 }
1255 }
1256 #endif
1257 }
1258
1259 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1260 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1261 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1262 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1263 uint tag;
1264 while ((tag = input.ReadTag()) != 0) {
1265 if ((tag & 7) == 4) {
1266 // Abort on any end group tag.
1267 return;
1268 }
1269 switch(tag) {
1270 default:
1271 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1272 break;
1273 case 10: {
1274 global::Google.OrTools.ConstraintSolver.SpatiallyCloseRoutesRuinStrategy subBuilder = new global::Google.OrTools.ConstraintSolver.SpatiallyCloseRoutesRuinStrategy();
1275 if (strategyCase_ == StrategyOneofCase.SpatiallyCloseRoutes) {
1276 subBuilder.MergeFrom(SpatiallyCloseRoutes);
1277 }
1278 input.ReadMessage(subBuilder);
1279 SpatiallyCloseRoutes = subBuilder;
1280 break;
1281 }
1282 case 18: {
1283 global::Google.OrTools.ConstraintSolver.RandomWalkRuinStrategy subBuilder = new global::Google.OrTools.ConstraintSolver.RandomWalkRuinStrategy();
1284 if (strategyCase_ == StrategyOneofCase.RandomWalk) {
1285 subBuilder.MergeFrom(RandomWalk);
1286 }
1287 input.ReadMessage(subBuilder);
1288 RandomWalk = subBuilder;
1289 break;
1290 }
1291 case 26: {
1292 global::Google.OrTools.ConstraintSolver.SISRRuinStrategy subBuilder = new global::Google.OrTools.ConstraintSolver.SISRRuinStrategy();
1293 if (strategyCase_ == StrategyOneofCase.Sisr) {
1294 subBuilder.MergeFrom(Sisr);
1295 }
1296 input.ReadMessage(subBuilder);
1297 Sisr = subBuilder;
1298 break;
1299 }
1300 }
1301 }
1302 }
1303 #endif
1304
1305 }
1306
1311 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
1312 public sealed partial class RuinCompositionStrategy : pb::IMessage<RuinCompositionStrategy>
1313 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1314 , pb::IBufferMessage
1315 #endif
1316 {
1317 private static readonly pb::MessageParser<RuinCompositionStrategy> _parser = new pb::MessageParser<RuinCompositionStrategy>(() => new RuinCompositionStrategy());
1318 private pb::UnknownFieldSet _unknownFields;
1319 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1320 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1321 public static pb::MessageParser<RuinCompositionStrategy> Parser { get { return _parser; } }
1323 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1324 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1325 public static pbr::MessageDescriptor Descriptor {
1326 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[4]; }
1327 }
1328
1329 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1330 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1331 pbr::MessageDescriptor pb::IMessage.Descriptor {
1332 get { return Descriptor; }
1333 }
1334
1335 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1336 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1337 public RuinCompositionStrategy() {
1338 OnConstruction();
1339 }
1340
1341 partial void OnConstruction();
1342
1343 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1344 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1345 public RuinCompositionStrategy(RuinCompositionStrategy other) : this() {
1346 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1348
1349 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1350 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1351 public RuinCompositionStrategy Clone() {
1352 return new RuinCompositionStrategy(this);
1353 }
1354
1355 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1356 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1357 public override bool Equals(object other) {
1358 return Equals(other as RuinCompositionStrategy);
1359 }
1360
1361 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1362 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1363 public bool Equals(RuinCompositionStrategy other) {
1364 if (ReferenceEquals(other, null)) {
1365 return false;
1366 }
1367 if (ReferenceEquals(other, this)) {
1368 return true;
1369 }
1370 return Equals(_unknownFields, other._unknownFields);
1371 }
1372
1373 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1374 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1375 public override int GetHashCode() {
1376 int hash = 1;
1377 if (_unknownFields != null) {
1378 hash ^= _unknownFields.GetHashCode();
1379 }
1380 return hash;
1381 }
1382
1383 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1384 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1385 public override string ToString() {
1386 return pb::JsonFormatter.ToDiagnosticString(this);
1387 }
1388
1389 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1390 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1391 public void WriteTo(pb::CodedOutputStream output) {
1392 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1393 output.WriteRawMessage(this);
1394 #else
1395 if (_unknownFields != null) {
1396 _unknownFields.WriteTo(output);
1397 }
1398 #endif
1399 }
1400
1401 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1402 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1403 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1404 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1405 if (_unknownFields != null) {
1406 _unknownFields.WriteTo(ref output);
1407 }
1408 }
1409 #endif
1410
1411 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1412 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1413 public int CalculateSize() {
1414 int size = 0;
1415 if (_unknownFields != null) {
1416 size += _unknownFields.CalculateSize();
1417 }
1418 return size;
1419 }
1420
1421 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1422 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1424 if (other == null) {
1425 return;
1426 }
1427 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1428 }
1429
1430 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1431 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1432 public void MergeFrom(pb::CodedInputStream input) {
1433 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1434 input.ReadRawMessage(this);
1435 #else
1436 uint tag;
1437 while ((tag = input.ReadTag()) != 0) {
1438 if ((tag & 7) == 4) {
1439 // Abort on any end group tag.
1440 return;
1441 }
1442 switch(tag) {
1443 default:
1444 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1445 break;
1446 }
1447 }
1448 #endif
1449 }
1450
1451 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1452 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1453 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1454 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1455 uint tag;
1456 while ((tag = input.ReadTag()) != 0) {
1457 if ((tag & 7) == 4) {
1458 // Abort on any end group tag.
1459 return;
1460 }
1461 switch(tag) {
1462 default:
1463 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1464 break;
1465 }
1466 }
1467 }
1468 #endif
1469
1470 #region Nested types
1472 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1473 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1474 public static partial class Types {
1475 public enum Value {
1479 [pbr::OriginalName("UNSET")] Unset = 0,
1484 [pbr::OriginalName("RUN_ALL_SEQUENTIALLY")] RunAllSequentially = 1,
1485 /// <summary>
1486 /// Execute all ruin strategies in a random order.
1487 /// </summary>
1488 [pbr::OriginalName("RUN_ALL_RANDOMLY")] RunAllRandomly = 2,
1492 [pbr::OriginalName("RUN_ONE_RANDOMLY")] RunOneRandomly = 3,
1493 }
1495 }
1496 #endregion
1497
1499
1503 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
1504 public sealed partial class RuinRecreateParameters : pb::IMessage<RuinRecreateParameters>
1505 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1506 , pb::IBufferMessage
1507 #endif
1508 {
1509 private static readonly pb::MessageParser<RuinRecreateParameters> _parser = new pb::MessageParser<RuinRecreateParameters>(() => new RuinRecreateParameters());
1510 private pb::UnknownFieldSet _unknownFields;
1511 private int _hasBits0;
1512 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1513 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1514 public static pb::MessageParser<RuinRecreateParameters> Parser { get { return _parser; } }
1515
1516 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1517 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1518 public static pbr::MessageDescriptor Descriptor {
1519 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[5]; }
1520 }
1521
1522 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1523 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1524 pbr::MessageDescriptor pb::IMessage.Descriptor {
1525 get { return Descriptor; }
1526 }
1527
1528 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1529 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1530 public RuinRecreateParameters() {
1531 OnConstruction();
1532 }
1533
1534 partial void OnConstruction();
1535
1536 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1537 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1538 public RuinRecreateParameters(RuinRecreateParameters other) : this() {
1539 _hasBits0 = other._hasBits0;
1540 ruinStrategies_ = other.ruinStrategies_.Clone();
1541 ruinCompositionStrategy_ = other.ruinCompositionStrategy_;
1542 recreateStrategy_ = other.recreateStrategy_;
1543 routeSelectionNeighborsRatio_ = other.routeSelectionNeighborsRatio_;
1544 routeSelectionMinNeighbors_ = other.routeSelectionMinNeighbors_;
1545 routeSelectionMaxNeighbors_ = other.routeSelectionMaxNeighbors_;
1546 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1547 }
1549 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1550 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1551 public RuinRecreateParameters Clone() {
1552 return new RuinRecreateParameters(this);
1553 }
1554
1556 public const int RuinStrategiesFieldNumber = 1;
1557 private static readonly pb::FieldCodec<global::Google.OrTools.ConstraintSolver.RuinStrategy> _repeated_ruinStrategies_codec
1558 = pb::FieldCodec.ForMessage(10, global::Google.OrTools.ConstraintSolver.RuinStrategy.Parser);
1559 private readonly pbc::RepeatedField<global::Google.OrTools.ConstraintSolver.RuinStrategy> ruinStrategies_ = new pbc::RepeatedField<global::Google.OrTools.ConstraintSolver.RuinStrategy>();
1561 /// List of ruin strategies determining how a reference solution is ruined.
1562 /// </summary>
1563 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1564 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1565 public pbc::RepeatedField<global::Google.OrTools.ConstraintSolver.RuinStrategy> RuinStrategies {
1566 get { return ruinStrategies_; }
1567 }
1568
1570 public const int RuinCompositionStrategyFieldNumber = 2;
1571 private global::Google.OrTools.ConstraintSolver.RuinCompositionStrategy.Types.Value ruinCompositionStrategy_ = global::Google.OrTools.ConstraintSolver.RuinCompositionStrategy.Types.Value.Unset;
1575 /// </summary>
1576 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1577 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1579 get { return ruinCompositionStrategy_; }
1580 set {
1581 ruinCompositionStrategy_ = value;
1582 }
1583 }
1584
1586 public const int RecreateStrategyFieldNumber = 3;
1587 private global::Google.OrTools.ConstraintSolver.FirstSolutionStrategy.Types.Value recreateStrategy_ = global::Google.OrTools.ConstraintSolver.FirstSolutionStrategy.Types.Value.Unset;
1588 /// <summary>
1589 /// Strategy defining how a reference solution is recreated.
1590 /// </summary>
1591 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1592 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1594 get { return recreateStrategy_; }
1595 set {
1596 recreateStrategy_ = value;
1597 }
1598 }
1599
1601 public const int RouteSelectionNeighborsRatioFieldNumber = 4;
1602 private readonly static double RouteSelectionNeighborsRatioDefaultValue = 0D;
1604 private double routeSelectionNeighborsRatio_;
1609
1623 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1624 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1625 public double RouteSelectionNeighborsRatio {
1626 get { if ((_hasBits0 & 1) != 0) { return routeSelectionNeighborsRatio_; } else { return RouteSelectionNeighborsRatioDefaultValue; } }
1627 set {
1628 _hasBits0 |= 1;
1629 routeSelectionNeighborsRatio_ = value;
1630 }
1631 }
1633 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1634 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1635 public bool HasRouteSelectionNeighborsRatio {
1636 get { return (_hasBits0 & 1) != 0; }
1637 }
1638 /// <summary>Clears the value of the "route_selection_neighbors_ratio" field</summary>
1639 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1640 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1641 public void ClearRouteSelectionNeighborsRatio() {
1642 _hasBits0 &= ~1;
1643 }
1644
1645
1646 public const int RouteSelectionMinNeighborsFieldNumber = 5;
1647 private readonly static uint RouteSelectionMinNeighborsDefaultValue = 0;
1649 private uint routeSelectionMinNeighbors_;
1650 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1651 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1652 public uint RouteSelectionMinNeighbors {
1653 get { if ((_hasBits0 & 2) != 0) { return routeSelectionMinNeighbors_; } else { return RouteSelectionMinNeighborsDefaultValue; } }
1654 set {
1655 _hasBits0 |= 2;
1656 routeSelectionMinNeighbors_ = value;
1657 }
1658 }
1660 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1661 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1662 public bool HasRouteSelectionMinNeighbors {
1663 get { return (_hasBits0 & 2) != 0; }
1664 }
1665 /// <summary>Clears the value of the "route_selection_min_neighbors" field</summary>
1666 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1667 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1668 public void ClearRouteSelectionMinNeighbors() {
1669 _hasBits0 &= ~2;
1670 }
1671
1672
1673 public const int RouteSelectionMaxNeighborsFieldNumber = 6;
1674 private readonly static uint RouteSelectionMaxNeighborsDefaultValue = 0;
1676 private uint routeSelectionMaxNeighbors_;
1677 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1678 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1679 public uint RouteSelectionMaxNeighbors {
1680 get { if ((_hasBits0 & 4) != 0) { return routeSelectionMaxNeighbors_; } else { return RouteSelectionMaxNeighborsDefaultValue; } }
1681 set {
1682 _hasBits0 |= 4;
1683 routeSelectionMaxNeighbors_ = value;
1684 }
1685 }
1687 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1688 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1689 public bool HasRouteSelectionMaxNeighbors {
1690 get { return (_hasBits0 & 4) != 0; }
1691 }
1692 /// <summary>Clears the value of the "route_selection_max_neighbors" field</summary>
1693 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1694 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1695 public void ClearRouteSelectionMaxNeighbors() {
1696 _hasBits0 &= ~4;
1697 }
1698
1699 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1700 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1701 public override bool Equals(object other) {
1703 }
1704
1705 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1706 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1707 public bool Equals(RuinRecreateParameters other) {
1708 if (ReferenceEquals(other, null)) {
1709 return false;
1710 }
1711 if (ReferenceEquals(other, this)) {
1712 return true;
1713 }
1714 if(!ruinStrategies_.Equals(other.ruinStrategies_)) return false;
1715 if (RuinCompositionStrategy != other.RuinCompositionStrategy) return false;
1716 if (RecreateStrategy != other.RecreateStrategy) return false;
1717 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(RouteSelectionNeighborsRatio, other.RouteSelectionNeighborsRatio)) return false;
1718 if (RouteSelectionMinNeighbors != other.RouteSelectionMinNeighbors) return false;
1719 if (RouteSelectionMaxNeighbors != other.RouteSelectionMaxNeighbors) return false;
1720 return Equals(_unknownFields, other._unknownFields);
1721 }
1722
1723 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1724 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1725 public override int GetHashCode() {
1726 int hash = 1;
1727 hash ^= ruinStrategies_.GetHashCode();
1729 if (RecreateStrategy != global::Google.OrTools.ConstraintSolver.FirstSolutionStrategy.Types.Value.Unset) hash ^= RecreateStrategy.GetHashCode();
1730 if (HasRouteSelectionNeighborsRatio) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(RouteSelectionNeighborsRatio);
1731 if (HasRouteSelectionMinNeighbors) hash ^= RouteSelectionMinNeighbors.GetHashCode();
1732 if (HasRouteSelectionMaxNeighbors) hash ^= RouteSelectionMaxNeighbors.GetHashCode();
1733 if (_unknownFields != null) {
1734 hash ^= _unknownFields.GetHashCode();
1735 }
1736 return hash;
1737 }
1739 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1740 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1741 public override string ToString() {
1742 return pb::JsonFormatter.ToDiagnosticString(this);
1743 }
1744
1745 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1746 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1747 public void WriteTo(pb::CodedOutputStream output) {
1748 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1749 output.WriteRawMessage(this);
1750 #else
1751 ruinStrategies_.WriteTo(output, _repeated_ruinStrategies_codec);
1753 output.WriteRawTag(16);
1754 output.WriteEnum((int) RuinCompositionStrategy);
1755 }
1756 if (RecreateStrategy != global::Google.OrTools.ConstraintSolver.FirstSolutionStrategy.Types.Value.Unset) {
1757 output.WriteRawTag(24);
1758 output.WriteEnum((int) RecreateStrategy);
1759 }
1761 output.WriteRawTag(33);
1762 output.WriteDouble(RouteSelectionNeighborsRatio);
1763 }
1764 if (HasRouteSelectionMinNeighbors) {
1765 output.WriteRawTag(40);
1766 output.WriteUInt32(RouteSelectionMinNeighbors);
1767 }
1768 if (HasRouteSelectionMaxNeighbors) {
1769 output.WriteRawTag(48);
1770 output.WriteUInt32(RouteSelectionMaxNeighbors);
1771 }
1772 if (_unknownFields != null) {
1773 _unknownFields.WriteTo(output);
1774 }
1775 #endif
1776 }
1777
1778 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1779 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1780 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1781 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1782 ruinStrategies_.WriteTo(ref output, _repeated_ruinStrategies_codec);
1783 if (RuinCompositionStrategy != global::Google.OrTools.ConstraintSolver.RuinCompositionStrategy.Types.Value.Unset) {
1784 output.WriteRawTag(16);
1785 output.WriteEnum((int) RuinCompositionStrategy);
1786 }
1787 if (RecreateStrategy != global::Google.OrTools.ConstraintSolver.FirstSolutionStrategy.Types.Value.Unset) {
1788 output.WriteRawTag(24);
1789 output.WriteEnum((int) RecreateStrategy);
1790 }
1791 if (HasRouteSelectionNeighborsRatio) {
1792 output.WriteRawTag(33);
1793 output.WriteDouble(RouteSelectionNeighborsRatio);
1794 }
1795 if (HasRouteSelectionMinNeighbors) {
1796 output.WriteRawTag(40);
1797 output.WriteUInt32(RouteSelectionMinNeighbors);
1798 }
1799 if (HasRouteSelectionMaxNeighbors) {
1800 output.WriteRawTag(48);
1801 output.WriteUInt32(RouteSelectionMaxNeighbors);
1802 }
1803 if (_unknownFields != null) {
1804 _unknownFields.WriteTo(ref output);
1805 }
1806 }
1807 #endif
1808
1809 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1810 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1811 public int CalculateSize() {
1812 int size = 0;
1813 size += ruinStrategies_.CalculateSize(_repeated_ruinStrategies_codec);
1814 if (RuinCompositionStrategy != global::Google.OrTools.ConstraintSolver.RuinCompositionStrategy.Types.Value.Unset) {
1815 size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) RuinCompositionStrategy);
1816 }
1817 if (RecreateStrategy != global::Google.OrTools.ConstraintSolver.FirstSolutionStrategy.Types.Value.Unset) {
1818 size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) RecreateStrategy);
1819 }
1820 if (HasRouteSelectionNeighborsRatio) {
1821 size += 1 + 8;
1822 }
1823 if (HasRouteSelectionMinNeighbors) {
1824 size += 1 + pb::CodedOutputStream.ComputeUInt32Size(RouteSelectionMinNeighbors);
1825 }
1826 if (HasRouteSelectionMaxNeighbors) {
1827 size += 1 + pb::CodedOutputStream.ComputeUInt32Size(RouteSelectionMaxNeighbors);
1828 }
1829 if (_unknownFields != null) {
1830 size += _unknownFields.CalculateSize();
1831 }
1832 return size;
1833 }
1834
1835 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1836 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1837 public void MergeFrom(RuinRecreateParameters other) {
1838 if (other == null) {
1839 return;
1840 }
1841 ruinStrategies_.Add(other.ruinStrategies_);
1842 if (other.RuinCompositionStrategy != global::Google.OrTools.ConstraintSolver.RuinCompositionStrategy.Types.Value.Unset) {
1843 RuinCompositionStrategy = other.RuinCompositionStrategy;
1844 }
1845 if (other.RecreateStrategy != global::Google.OrTools.ConstraintSolver.FirstSolutionStrategy.Types.Value.Unset) {
1846 RecreateStrategy = other.RecreateStrategy;
1847 }
1848 if (other.HasRouteSelectionNeighborsRatio) {
1849 RouteSelectionNeighborsRatio = other.RouteSelectionNeighborsRatio;
1851 if (other.HasRouteSelectionMinNeighbors) {
1852 RouteSelectionMinNeighbors = other.RouteSelectionMinNeighbors;
1853 }
1854 if (other.HasRouteSelectionMaxNeighbors) {
1855 RouteSelectionMaxNeighbors = other.RouteSelectionMaxNeighbors;
1856 }
1857 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1858 }
1859
1860 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1861 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1862 public void MergeFrom(pb::CodedInputStream input) {
1863 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1864 input.ReadRawMessage(this);
1865 #else
1866 uint tag;
1867 while ((tag = input.ReadTag()) != 0) {
1868 if ((tag & 7) == 4) {
1869 // Abort on any end group tag.
1870 return;
1871 }
1872 switch(tag) {
1873 default:
1874 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1875 break;
1876 case 10: {
1877 ruinStrategies_.AddEntriesFrom(input, _repeated_ruinStrategies_codec);
1878 break;
1879 }
1880 case 16: {
1881 RuinCompositionStrategy = (global::Google.OrTools.ConstraintSolver.RuinCompositionStrategy.Types.Value) input.ReadEnum();
1882 break;
1883 }
1884 case 24: {
1885 RecreateStrategy = (global::Google.OrTools.ConstraintSolver.FirstSolutionStrategy.Types.Value) input.ReadEnum();
1886 break;
1887 }
1888 case 33: {
1889 RouteSelectionNeighborsRatio = input.ReadDouble();
1890 break;
1891 }
1892 case 40: {
1893 RouteSelectionMinNeighbors = input.ReadUInt32();
1894 break;
1895 }
1896 case 48: {
1897 RouteSelectionMaxNeighbors = input.ReadUInt32();
1898 break;
1899 }
1900 }
1901 }
1902 #endif
1903 }
1904
1905 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1906 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1907 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1908 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1909 uint tag;
1910 while ((tag = input.ReadTag()) != 0) {
1911 if ((tag & 7) == 4) {
1912 // Abort on any end group tag.
1913 return;
1914 }
1915 switch(tag) {
1916 default:
1917 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1918 break;
1919 case 10: {
1920 ruinStrategies_.AddEntriesFrom(ref input, _repeated_ruinStrategies_codec);
1921 break;
1922 }
1923 case 16: {
1924 RuinCompositionStrategy = (global::Google.OrTools.ConstraintSolver.RuinCompositionStrategy.Types.Value) input.ReadEnum();
1925 break;
1926 }
1927 case 24: {
1928 RecreateStrategy = (global::Google.OrTools.ConstraintSolver.FirstSolutionStrategy.Types.Value) input.ReadEnum();
1929 break;
1930 }
1931 case 33: {
1932 RouteSelectionNeighborsRatio = input.ReadDouble();
1933 break;
1934 }
1935 case 40: {
1936 RouteSelectionMinNeighbors = input.ReadUInt32();
1937 break;
1938 }
1939 case 48: {
1940 RouteSelectionMaxNeighbors = input.ReadUInt32();
1941 break;
1942 }
1943 }
1944 }
1945 }
1946 #endif
1947
1948 }
1949
1953 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
1954 public sealed partial class PerturbationStrategy : pb::IMessage<PerturbationStrategy>
1955 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1956 , pb::IBufferMessage
1957 #endif
1958 {
1959 private static readonly pb::MessageParser<PerturbationStrategy> _parser = new pb::MessageParser<PerturbationStrategy>(() => new PerturbationStrategy());
1960 private pb::UnknownFieldSet _unknownFields;
1961 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1962 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1963 public static pb::MessageParser<PerturbationStrategy> Parser { get { return _parser; } }
1964
1965 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1966 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1967 public static pbr::MessageDescriptor Descriptor {
1968 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[6]; }
1969 }
1970
1971 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1972 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1973 pbr::MessageDescriptor pb::IMessage.Descriptor {
1974 get { return Descriptor; }
1975 }
1977 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1978 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1979 public PerturbationStrategy() {
1980 OnConstruction();
1981 }
1982
1983 partial void OnConstruction();
1984
1985 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1986 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1987 public PerturbationStrategy(PerturbationStrategy other) : this() {
1988 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1989 }
1990
1991 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1992 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1993 public PerturbationStrategy Clone() {
1994 return new PerturbationStrategy(this);
1995 }
1996
1997 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1998 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1999 public override bool Equals(object other) {
2001 }
2002
2003 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2004 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2005 public bool Equals(PerturbationStrategy other) {
2006 if (ReferenceEquals(other, null)) {
2007 return false;
2008 }
2009 if (ReferenceEquals(other, this)) {
2010 return true;
2011 }
2012 return Equals(_unknownFields, other._unknownFields);
2013 }
2014
2015 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2016 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2017 public override int GetHashCode() {
2018 int hash = 1;
2019 if (_unknownFields != null) {
2020 hash ^= _unknownFields.GetHashCode();
2021 }
2022 return hash;
2023 }
2024
2025 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2026 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2027 public override string ToString() {
2028 return pb::JsonFormatter.ToDiagnosticString(this);
2029 }
2031 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2032 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2033 public void WriteTo(pb::CodedOutputStream output) {
2034 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2035 output.WriteRawMessage(this);
2036 #else
2037 if (_unknownFields != null) {
2038 _unknownFields.WriteTo(output);
2039 }
2040 #endif
2041 }
2042
2043 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2044 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2045 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2046 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2047 if (_unknownFields != null) {
2048 _unknownFields.WriteTo(ref output);
2049 }
2050 }
2051 #endif
2052
2053 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2054 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2055 public int CalculateSize() {
2056 int size = 0;
2057 if (_unknownFields != null) {
2058 size += _unknownFields.CalculateSize();
2059 }
2060 return size;
2061 }
2062
2063 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2064 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2065 public void MergeFrom(PerturbationStrategy other) {
2066 if (other == null) {
2067 return;
2069 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
2070 }
2071
2072 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2073 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2074 public void MergeFrom(pb::CodedInputStream input) {
2075 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2076 input.ReadRawMessage(this);
2077 #else
2078 uint tag;
2079 while ((tag = input.ReadTag()) != 0) {
2080 if ((tag & 7) == 4) {
2081 // Abort on any end group tag.
2082 return;
2083 }
2084 switch(tag) {
2085 default:
2086 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
2087 break;
2088 }
2089 }
2090 #endif
2091 }
2092
2093 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2094 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2095 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2096 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
2097 uint tag;
2098 while ((tag = input.ReadTag()) != 0) {
2099 if ((tag & 7) == 4) {
2100 // Abort on any end group tag.
2101 return;
2102 }
2103 switch(tag) {
2104 default:
2105 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
2106 break;
2107 }
2108 }
2109 }
2110 #endif
2111
2112 #region Nested types
2114 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2115 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2116 public static partial class Types {
2117 public enum Value {
2121 [pbr::OriginalName("UNSET")] Unset = 0,
2125 [pbr::OriginalName("RUIN_AND_RECREATE")] RuinAndRecreate = 1,
2126 }
2127
2128 }
2129 #endregion
2131 }
2132
2140
2142
2145
2156 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
2157 public sealed partial class CoolingScheduleStrategy : pb::IMessage<CoolingScheduleStrategy>
2158 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2159 , pb::IBufferMessage
2160 #endif
2161 {
2162 private static readonly pb::MessageParser<CoolingScheduleStrategy> _parser = new pb::MessageParser<CoolingScheduleStrategy>(() => new CoolingScheduleStrategy());
2163 private pb::UnknownFieldSet _unknownFields;
2164 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2165 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2166 public static pb::MessageParser<CoolingScheduleStrategy> Parser { get { return _parser; } }
2167
2168 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2169 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2170 public static pbr::MessageDescriptor Descriptor {
2171 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[7]; }
2172 }
2174 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2175 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2176 pbr::MessageDescriptor pb::IMessage.Descriptor {
2177 get { return Descriptor; }
2178 }
2179
2180 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2181 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2183 OnConstruction();
2184 }
2185
2186 partial void OnConstruction();
2187
2188 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2189 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2190 public CoolingScheduleStrategy(CoolingScheduleStrategy other) : this() {
2191 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
2192 }
2193
2194 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2195 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2196 public CoolingScheduleStrategy Clone() {
2197 return new CoolingScheduleStrategy(this);
2199
2200 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2201 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2202 public override bool Equals(object other) {
2203 return Equals(other as CoolingScheduleStrategy);
2204 }
2205
2206 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2207 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2208 public bool Equals(CoolingScheduleStrategy other) {
2209 if (ReferenceEquals(other, null)) {
2210 return false;
2211 }
2212 if (ReferenceEquals(other, this)) {
2213 return true;
2214 }
2215 return Equals(_unknownFields, other._unknownFields);
2216 }
2217
2218 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2219 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2220 public override int GetHashCode() {
2221 int hash = 1;
2222 if (_unknownFields != null) {
2223 hash ^= _unknownFields.GetHashCode();
2225 return hash;
2226 }
2227
2228 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2229 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2230 public override string ToString() {
2231 return pb::JsonFormatter.ToDiagnosticString(this);
2232 }
2233
2234 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2235 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2236 public void WriteTo(pb::CodedOutputStream output) {
2237 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2238 output.WriteRawMessage(this);
2239 #else
2240 if (_unknownFields != null) {
2241 _unknownFields.WriteTo(output);
2242 }
2243 #endif
2244 }
2245
2246 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2247 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2248 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2249 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2250 if (_unknownFields != null) {
2251 _unknownFields.WriteTo(ref output);
2253 }
2254 #endif
2255
2256 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2257 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2258 public int CalculateSize() {
2259 int size = 0;
2260 if (_unknownFields != null) {
2261 size += _unknownFields.CalculateSize();
2262 }
2263 return size;
2264 }
2265
2266 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2267 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2268 public void MergeFrom(CoolingScheduleStrategy other) {
2269 if (other == null) {
2270 return;
2271 }
2272 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
2273 }
2275 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2276 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2277 public void MergeFrom(pb::CodedInputStream input) {
2278 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2279 input.ReadRawMessage(this);
2280 #else
2281 uint tag;
2282 while ((tag = input.ReadTag()) != 0) {
2283 if ((tag & 7) == 4) {
2284 // Abort on any end group tag.
2285 return;
2286 }
2287 switch(tag) {
2288 default:
2289 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
2290 break;
2291 }
2292 }
2293 #endif
2294 }
2295
2296 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2297 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2298 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2299 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
2300 uint tag;
2301 while ((tag = input.ReadTag()) != 0) {
2302 if ((tag & 7) == 4) {
2303 // Abort on any end group tag.
2304 return;
2305 }
2306 switch(tag) {
2307 default:
2308 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
2309 break;
2310 }
2311 }
2312 }
2313 #endif
2314
2315 #region Nested types
2317 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2318 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2319 public static partial class Types {
2320 public enum Value {
2324 [pbr::OriginalName("UNSET")] Unset = 0,
2329 [pbr::OriginalName("EXPONENTIAL")] Exponential = 1,
2334 [pbr::OriginalName("LINEAR")] Linear = 2,
2337 }
2338 #endregion
2339
2341
2345 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
2346 public sealed partial class SimulatedAnnealingParameters : pb::IMessage<SimulatedAnnealingParameters>
2347 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2348 , pb::IBufferMessage
2349 #endif
2351 private static readonly pb::MessageParser<SimulatedAnnealingParameters> _parser = new pb::MessageParser<SimulatedAnnealingParameters>(() => new SimulatedAnnealingParameters());
2352 private pb::UnknownFieldSet _unknownFields;
2353 private int _hasBits0;
2354 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2355 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2356 public static pb::MessageParser<SimulatedAnnealingParameters> Parser { get { return _parser; } }
2357
2358 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2359 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2360 public static pbr::MessageDescriptor Descriptor {
2361 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[8]; }
2363
2364 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2365 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2366 pbr::MessageDescriptor pb::IMessage.Descriptor {
2367 get { return Descriptor; }
2368 }
2369
2370 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2371 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2373 OnConstruction();
2374 }
2375
2376 partial void OnConstruction();
2377
2378 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2379 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2381 _hasBits0 = other._hasBits0;
2382 coolingScheduleStrategy_ = other.coolingScheduleStrategy_;
2383 initialTemperature_ = other.initialTemperature_;
2384 finalTemperature_ = other.finalTemperature_;
2385 automaticTemperatures_ = other.automaticTemperatures_;
2386 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
2387 }
2389 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2390 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2392 return new SimulatedAnnealingParameters(this);
2393 }
2394
2397 private global::Google.OrTools.ConstraintSolver.CoolingScheduleStrategy.Types.Value coolingScheduleStrategy_ = global::Google.OrTools.ConstraintSolver.CoolingScheduleStrategy.Types.Value.Unset;
2402 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2403 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2405 get { return coolingScheduleStrategy_; }
2406 set {
2407 coolingScheduleStrategy_ = value;
2408 }
2409 }
2410
2412 public const int InitialTemperatureFieldNumber = 2;
2413 private readonly static double InitialTemperatureDefaultValue = 0D;
2414
2415 private double initialTemperature_;
2419 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2420 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2421 public double InitialTemperature {
2422 get { if ((_hasBits0 & 1) != 0) { return initialTemperature_; } else { return InitialTemperatureDefaultValue; } }
2423 set {
2424 _hasBits0 |= 1;
2425 initialTemperature_ = value;
2426 }
2427 }
2429 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2430 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2431 public bool HasInitialTemperature {
2432 get { return (_hasBits0 & 1) != 0; }
2433 }
2435 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2436 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2438 _hasBits0 &= ~1;
2439 }
2440
2442 public const int FinalTemperatureFieldNumber = 3;
2443 private readonly static double FinalTemperatureDefaultValue = 0D;
2444
2445 private double finalTemperature_;
2447 /// The final temperature. See CoolingScheduleStrategy for its usage.
2448 /// </summary>
2449 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2450 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2451 public double FinalTemperature {
2452 get { if ((_hasBits0 & 2) != 0) { return finalTemperature_; } else { return FinalTemperatureDefaultValue; } }
2453 set {
2454 _hasBits0 |= 2;
2455 finalTemperature_ = value;
2456 }
2457 }
2459 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2460 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2461 public bool HasFinalTemperature {
2462 get { return (_hasBits0 & 2) != 0; }
2463 }
2465 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2466 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2468 _hasBits0 &= ~2;
2469 }
2470
2472 public const int AutomaticTemperaturesFieldNumber = 4;
2473 private readonly static bool AutomaticTemperaturesDefaultValue = false;
2474
2475 private bool automaticTemperatures_;
2477 /// Automatically define the value for the temperatures as follows.
2478 /// First, a reference temperature t is defined as
2479 /// w1 * c1 + w2 * c2 + ... + wK * cK
2480 /// where 0 &lt; wJ &lt;= 1 is the fraction of vehicles of cost class J and cJ is the
2481 /// average arc cost for the cost class J.
2482 /// The value of cJ is identified by randomly sampling N arc costs for the cost
2483 /// class J, where N is equal to the number of instance nodes.
2484 /// The initial and final temperatures are then defined as
2485 /// - initial_temperature: 0.1 * t
2486 /// - final_temperature: 0.001 * t
2487 /// </summary>
2488 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2489 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2490 public bool AutomaticTemperatures {
2491 get { if ((_hasBits0 & 4) != 0) { return automaticTemperatures_; } else { return AutomaticTemperaturesDefaultValue; } }
2492 set {
2493 _hasBits0 |= 4;
2494 automaticTemperatures_ = value;
2495 }
2496 }
2498 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2499 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2500 public bool HasAutomaticTemperatures {
2501 get { return (_hasBits0 & 4) != 0; }
2502 }
2504 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2505 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2507 _hasBits0 &= ~4;
2508 }
2509
2510 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2511 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2512 public override bool Equals(object other) {
2513 return Equals(other as SimulatedAnnealingParameters);
2514 }
2515
2516 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2517 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2518 public bool Equals(SimulatedAnnealingParameters other) {
2519 if (ReferenceEquals(other, null)) {
2520 return false;
2521 }
2522 if (ReferenceEquals(other, this)) {
2523 return true;
2524 }
2525 if (CoolingScheduleStrategy != other.CoolingScheduleStrategy) return false;
2526 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(InitialTemperature, other.InitialTemperature)) return false;
2527 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(FinalTemperature, other.FinalTemperature)) return false;
2529 return Equals(_unknownFields, other._unknownFields);
2530 }
2531
2532 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2533 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2534 public override int GetHashCode() {
2535 int hash = 1;
2537 if (HasInitialTemperature) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(InitialTemperature);
2538 if (HasFinalTemperature) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(FinalTemperature);
2539 if (HasAutomaticTemperatures) hash ^= AutomaticTemperatures.GetHashCode();
2540 if (_unknownFields != null) {
2541 hash ^= _unknownFields.GetHashCode();
2542 }
2543 return hash;
2544 }
2545
2546 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2547 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2548 public override string ToString() {
2549 return pb::JsonFormatter.ToDiagnosticString(this);
2551
2552 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2553 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2554 public void WriteTo(pb::CodedOutputStream output) {
2555 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2556 output.WriteRawMessage(this);
2557 #else
2559 output.WriteRawTag(8);
2560 output.WriteEnum((int) CoolingScheduleStrategy);
2561 }
2562 if (HasInitialTemperature) {
2563 output.WriteRawTag(17);
2564 output.WriteDouble(InitialTemperature);
2565 }
2566 if (HasFinalTemperature) {
2567 output.WriteRawTag(25);
2568 output.WriteDouble(FinalTemperature);
2569 }
2571 output.WriteRawTag(32);
2572 output.WriteBool(AutomaticTemperatures);
2573 }
2574 if (_unknownFields != null) {
2575 _unknownFields.WriteTo(output);
2576 }
2577 #endif
2578 }
2579
2580 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2581 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2582 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2583 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2584 if (CoolingScheduleStrategy != global::Google.OrTools.ConstraintSolver.CoolingScheduleStrategy.Types.Value.Unset) {
2585 output.WriteRawTag(8);
2586 output.WriteEnum((int) CoolingScheduleStrategy);
2587 }
2588 if (HasInitialTemperature) {
2589 output.WriteRawTag(17);
2590 output.WriteDouble(InitialTemperature);
2591 }
2592 if (HasFinalTemperature) {
2593 output.WriteRawTag(25);
2594 output.WriteDouble(FinalTemperature);
2595 }
2596 if (HasAutomaticTemperatures) {
2597 output.WriteRawTag(32);
2598 output.WriteBool(AutomaticTemperatures);
2599 }
2600 if (_unknownFields != null) {
2601 _unknownFields.WriteTo(ref output);
2602 }
2603 }
2604 #endif
2605
2606 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2607 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2608 public int CalculateSize() {
2609 int size = 0;
2610 if (CoolingScheduleStrategy != global::Google.OrTools.ConstraintSolver.CoolingScheduleStrategy.Types.Value.Unset) {
2611 size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) CoolingScheduleStrategy);
2612 }
2613 if (HasInitialTemperature) {
2614 size += 1 + 8;
2615 }
2616 if (HasFinalTemperature) {
2617 size += 1 + 8;
2618 }
2619 if (HasAutomaticTemperatures) {
2620 size += 1 + 1;
2621 }
2622 if (_unknownFields != null) {
2623 size += _unknownFields.CalculateSize();
2625 return size;
2626 }
2627
2628 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2629 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2630 public void MergeFrom(SimulatedAnnealingParameters other) {
2631 if (other == null) {
2632 return;
2633 }
2634 if (other.CoolingScheduleStrategy != global::Google.OrTools.ConstraintSolver.CoolingScheduleStrategy.Types.Value.Unset) {
2635 CoolingScheduleStrategy = other.CoolingScheduleStrategy;
2636 }
2637 if (other.HasInitialTemperature) {
2638 InitialTemperature = other.InitialTemperature;
2639 }
2640 if (other.HasFinalTemperature) {
2641 FinalTemperature = other.FinalTemperature;
2642 }
2643 if (other.HasAutomaticTemperatures) {
2644 AutomaticTemperatures = other.AutomaticTemperatures;
2645 }
2646 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
2647 }
2648
2649 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2650 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2651 public void MergeFrom(pb::CodedInputStream input) {
2652 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2653 input.ReadRawMessage(this);
2654 #else
2655 uint tag;
2656 while ((tag = input.ReadTag()) != 0) {
2657 if ((tag & 7) == 4) {
2658 // Abort on any end group tag.
2659 return;
2660 }
2661 switch(tag) {
2662 default:
2663 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
2664 break;
2665 case 8: {
2666 CoolingScheduleStrategy = (global::Google.OrTools.ConstraintSolver.CoolingScheduleStrategy.Types.Value) input.ReadEnum();
2667 break;
2668 }
2669 case 17: {
2670 InitialTemperature = input.ReadDouble();
2671 break;
2672 }
2673 case 25: {
2674 FinalTemperature = input.ReadDouble();
2675 break;
2676 }
2677 case 32: {
2678 AutomaticTemperatures = input.ReadBool();
2679 break;
2680 }
2681 }
2682 }
2683 #endif
2684 }
2685
2686 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2687 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2688 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2689 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
2690 uint tag;
2691 while ((tag = input.ReadTag()) != 0) {
2692 if ((tag & 7) == 4) {
2693 // Abort on any end group tag.
2694 return;
2695 }
2696 switch(tag) {
2697 default:
2698 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
2699 break;
2700 case 8: {
2701 CoolingScheduleStrategy = (global::Google.OrTools.ConstraintSolver.CoolingScheduleStrategy.Types.Value) input.ReadEnum();
2702 break;
2703 }
2704 case 17: {
2705 InitialTemperature = input.ReadDouble();
2706 break;
2707 }
2708 case 25: {
2709 FinalTemperature = input.ReadDouble();
2710 break;
2711 }
2712 case 32: {
2713 AutomaticTemperatures = input.ReadBool();
2714 break;
2715 }
2716 }
2717 }
2718 }
2719 #endif
2720
2721 }
2722
2728 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
2729 public sealed partial class AcceptanceStrategy : pb::IMessage<AcceptanceStrategy>
2730 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2731 , pb::IBufferMessage
2732 #endif
2733 {
2734 private static readonly pb::MessageParser<AcceptanceStrategy> _parser = new pb::MessageParser<AcceptanceStrategy>(() => new AcceptanceStrategy());
2735 private pb::UnknownFieldSet _unknownFields;
2736 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2737 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2738 public static pb::MessageParser<AcceptanceStrategy> Parser { get { return _parser; } }
2739
2740 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2741 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2742 public static pbr::MessageDescriptor Descriptor {
2743 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[9]; }
2744 }
2746 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2747 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2748 pbr::MessageDescriptor pb::IMessage.Descriptor {
2749 get { return Descriptor; }
2750 }
2751
2752 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2753 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2755 OnConstruction();
2756 }
2757
2758 partial void OnConstruction();
2759
2760 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2761 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2762 public AcceptanceStrategy(AcceptanceStrategy other) : this() {
2763 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
2764 }
2765
2766 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2767 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2768 public AcceptanceStrategy Clone() {
2769 return new AcceptanceStrategy(this);
2771
2772 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2773 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2774 public override bool Equals(object other) {
2775 return Equals(other as AcceptanceStrategy);
2776 }
2777
2778 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2779 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2780 public bool Equals(AcceptanceStrategy other) {
2781 if (ReferenceEquals(other, null)) {
2782 return false;
2783 }
2784 if (ReferenceEquals(other, this)) {
2785 return true;
2786 }
2787 return Equals(_unknownFields, other._unknownFields);
2788 }
2789
2790 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2791 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2792 public override int GetHashCode() {
2793 int hash = 1;
2794 if (_unknownFields != null) {
2795 hash ^= _unknownFields.GetHashCode();
2797 return hash;
2798 }
2799
2800 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2801 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2802 public override string ToString() {
2803 return pb::JsonFormatter.ToDiagnosticString(this);
2804 }
2805
2806 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2807 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2808 public void WriteTo(pb::CodedOutputStream output) {
2809 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2810 output.WriteRawMessage(this);
2811 #else
2812 if (_unknownFields != null) {
2813 _unknownFields.WriteTo(output);
2814 }
2815 #endif
2816 }
2817
2818 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2819 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2820 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2821 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2822 if (_unknownFields != null) {
2823 _unknownFields.WriteTo(ref output);
2825 }
2826 #endif
2827
2828 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2829 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2830 public int CalculateSize() {
2831 int size = 0;
2832 if (_unknownFields != null) {
2833 size += _unknownFields.CalculateSize();
2834 }
2835 return size;
2836 }
2837
2838 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2839 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2840 public void MergeFrom(AcceptanceStrategy other) {
2841 if (other == null) {
2842 return;
2843 }
2844 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
2845 }
2847 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2848 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2849 public void MergeFrom(pb::CodedInputStream input) {
2850 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2851 input.ReadRawMessage(this);
2852 #else
2853 uint tag;
2854 while ((tag = input.ReadTag()) != 0) {
2855 if ((tag & 7) == 4) {
2856 // Abort on any end group tag.
2857 return;
2858 }
2859 switch(tag) {
2860 default:
2861 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
2862 break;
2863 }
2864 }
2865 #endif
2866 }
2867
2868 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2869 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2870 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2871 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
2872 uint tag;
2873 while ((tag = input.ReadTag()) != 0) {
2874 if ((tag & 7) == 4) {
2875 // Abort on any end group tag.
2876 return;
2877 }
2878 switch(tag) {
2879 default:
2880 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
2881 break;
2882 }
2883 }
2884 }
2885 #endif
2886
2887 #region Nested types
2889 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2890 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2891 public static partial class Types {
2892 public enum Value {
2896 [pbr::OriginalName("UNSET")] Unset = 0,
2901 [pbr::OriginalName("GREEDY_DESCENT")] GreedyDescent = 1,
2906 [pbr::OriginalName("SIMULATED_ANNEALING")] SimulatedAnnealing = 2,
2909 }
2910 #endregion
2911
2913
2917 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
2918 public sealed partial class IteratedLocalSearchParameters : pb::IMessage<IteratedLocalSearchParameters>
2919 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2920 , pb::IBufferMessage
2921 #endif
2923 private static readonly pb::MessageParser<IteratedLocalSearchParameters> _parser = new pb::MessageParser<IteratedLocalSearchParameters>(() => new IteratedLocalSearchParameters());
2924 private pb::UnknownFieldSet _unknownFields;
2925 private int _hasBits0;
2926 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2927 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2928 public static pb::MessageParser<IteratedLocalSearchParameters> Parser { get { return _parser; } }
2929
2930 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2931 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2932 public static pbr::MessageDescriptor Descriptor {
2933 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[10]; }
2935
2936 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2937 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2938 pbr::MessageDescriptor pb::IMessage.Descriptor {
2939 get { return Descriptor; }
2940 }
2941
2942 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2943 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2945 OnConstruction();
2946 }
2947
2948 partial void OnConstruction();
2949
2950 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2951 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2953 _hasBits0 = other._hasBits0;
2954 perturbationStrategy_ = other.perturbationStrategy_;
2955 ruinRecreateParameters_ = other.ruinRecreateParameters_ != null ? other.ruinRecreateParameters_.Clone() : null;
2956 improvePerturbedSolution_ = other.improvePerturbedSolution_;
2957 acceptanceStrategy_ = other.acceptanceStrategy_;
2958 simulatedAnnealingParameters_ = other.simulatedAnnealingParameters_ != null ? other.simulatedAnnealingParameters_.Clone() : null;
2959 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
2961
2962 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2963 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2964 public IteratedLocalSearchParameters Clone() {
2965 return new IteratedLocalSearchParameters(this);
2966 }
2967
2968 /// <summary>Field number for the "perturbation_strategy" field.</summary>
2969 public const int PerturbationStrategyFieldNumber = 1;
2970 private global::Google.OrTools.ConstraintSolver.PerturbationStrategy.Types.Value perturbationStrategy_ = global::Google.OrTools.ConstraintSolver.PerturbationStrategy.Types.Value.Unset;
2975 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2976 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2978 get { return perturbationStrategy_; }
2979 set {
2980 perturbationStrategy_ = value;
2981 }
2982 }
2983
2986 private global::Google.OrTools.ConstraintSolver.RuinRecreateParameters ruinRecreateParameters_;
2990 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2991 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2993 get { return ruinRecreateParameters_; }
2994 set {
2995 ruinRecreateParameters_ = value;
2996 }
2997 }
2998
2999
3000 public const int ImprovePerturbedSolutionFieldNumber = 3;
3001 private readonly static bool ImprovePerturbedSolutionDefaultValue = false;
3002
3003 private bool improvePerturbedSolution_;
3008 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3009 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3010 public bool ImprovePerturbedSolution {
3011 get { if ((_hasBits0 & 1) != 0) { return improvePerturbedSolution_; } else { return ImprovePerturbedSolutionDefaultValue; } }
3012 set {
3013 _hasBits0 |= 1;
3014 improvePerturbedSolution_ = value;
3015 }
3018 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3019 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3020 public bool HasImprovePerturbedSolution {
3021 get { return (_hasBits0 & 1) != 0; }
3022 }
3024 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3025 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3027 _hasBits0 &= ~1;
3028 }
3029
3031 public const int AcceptanceStrategyFieldNumber = 4;
3032 private global::Google.OrTools.ConstraintSolver.AcceptanceStrategy.Types.Value acceptanceStrategy_ = global::Google.OrTools.ConstraintSolver.AcceptanceStrategy.Types.Value.Unset;
3033
3036 /// </summary>
3037 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3038 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3040 get { return acceptanceStrategy_; }
3041 set {
3042 acceptanceStrategy_ = value;
3043 }
3044 }
3045
3048 private global::Google.OrTools.ConstraintSolver.SimulatedAnnealingParameters simulatedAnnealingParameters_;
3053 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3054 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3056 get { return simulatedAnnealingParameters_; }
3057 set {
3058 simulatedAnnealingParameters_ = value;
3059 }
3060 }
3061
3062 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3063 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3064 public override bool Equals(object other) {
3065 return Equals(other as IteratedLocalSearchParameters);
3066 }
3067
3068 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3069 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3070 public bool Equals(IteratedLocalSearchParameters other) {
3071 if (ReferenceEquals(other, null)) {
3072 return false;
3073 }
3074 if (ReferenceEquals(other, this)) {
3075 return true;
3076 }
3077 if (PerturbationStrategy != other.PerturbationStrategy) return false;
3078 if (!object.Equals(RuinRecreateParameters, other.RuinRecreateParameters)) return false;
3079 if (ImprovePerturbedSolution != other.ImprovePerturbedSolution) return false;
3080 if (AcceptanceStrategy != other.AcceptanceStrategy) return false;
3081 if (!object.Equals(SimulatedAnnealingParameters, other.SimulatedAnnealingParameters)) return false;
3082 return Equals(_unknownFields, other._unknownFields);
3083 }
3084
3085 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3086 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3087 public override int GetHashCode() {
3088 int hash = 1;
3089 if (PerturbationStrategy != global::Google.OrTools.ConstraintSolver.PerturbationStrategy.Types.Value.Unset) hash ^= PerturbationStrategy.GetHashCode();
3090 if (ruinRecreateParameters_ != null) hash ^= RuinRecreateParameters.GetHashCode();
3091 if (HasImprovePerturbedSolution) hash ^= ImprovePerturbedSolution.GetHashCode();
3092 if (AcceptanceStrategy != global::Google.OrTools.ConstraintSolver.AcceptanceStrategy.Types.Value.Unset) hash ^= AcceptanceStrategy.GetHashCode();
3093 if (simulatedAnnealingParameters_ != null) hash ^= SimulatedAnnealingParameters.GetHashCode();
3094 if (_unknownFields != null) {
3095 hash ^= _unknownFields.GetHashCode();
3096 }
3097 return hash;
3098 }
3099
3100 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3101 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3102 public override string ToString() {
3103 return pb::JsonFormatter.ToDiagnosticString(this);
3104 }
3105
3106 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3107 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3108 public void WriteTo(pb::CodedOutputStream output) {
3109 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3110 output.WriteRawMessage(this);
3111 #else
3113 output.WriteRawTag(8);
3114 output.WriteEnum((int) PerturbationStrategy);
3115 }
3116 if (ruinRecreateParameters_ != null) {
3117 output.WriteRawTag(18);
3118 output.WriteMessage(RuinRecreateParameters);
3119 }
3120 if (HasImprovePerturbedSolution) {
3121 output.WriteRawTag(24);
3122 output.WriteBool(ImprovePerturbedSolution);
3123 }
3125 output.WriteRawTag(32);
3126 output.WriteEnum((int) AcceptanceStrategy);
3127 }
3128 if (simulatedAnnealingParameters_ != null) {
3129 output.WriteRawTag(42);
3130 output.WriteMessage(SimulatedAnnealingParameters);
3131 }
3132 if (_unknownFields != null) {
3133 _unknownFields.WriteTo(output);
3134 }
3135 #endif
3136 }
3137
3138 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3139 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3140 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3141 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
3142 if (PerturbationStrategy != global::Google.OrTools.ConstraintSolver.PerturbationStrategy.Types.Value.Unset) {
3143 output.WriteRawTag(8);
3144 output.WriteEnum((int) PerturbationStrategy);
3145 }
3146 if (ruinRecreateParameters_ != null) {
3147 output.WriteRawTag(18);
3148 output.WriteMessage(RuinRecreateParameters);
3149 }
3150 if (HasImprovePerturbedSolution) {
3151 output.WriteRawTag(24);
3152 output.WriteBool(ImprovePerturbedSolution);
3153 }
3154 if (AcceptanceStrategy != global::Google.OrTools.ConstraintSolver.AcceptanceStrategy.Types.Value.Unset) {
3155 output.WriteRawTag(32);
3156 output.WriteEnum((int) AcceptanceStrategy);
3157 }
3158 if (simulatedAnnealingParameters_ != null) {
3159 output.WriteRawTag(42);
3160 output.WriteMessage(SimulatedAnnealingParameters);
3161 }
3162 if (_unknownFields != null) {
3163 _unknownFields.WriteTo(ref output);
3164 }
3165 }
3166 #endif
3167
3168 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3169 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3170 public int CalculateSize() {
3171 int size = 0;
3172 if (PerturbationStrategy != global::Google.OrTools.ConstraintSolver.PerturbationStrategy.Types.Value.Unset) {
3173 size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PerturbationStrategy);
3174 }
3175 if (ruinRecreateParameters_ != null) {
3176 size += 1 + pb::CodedOutputStream.ComputeMessageSize(RuinRecreateParameters);
3177 }
3178 if (HasImprovePerturbedSolution) {
3179 size += 1 + 1;
3180 }
3181 if (AcceptanceStrategy != global::Google.OrTools.ConstraintSolver.AcceptanceStrategy.Types.Value.Unset) {
3182 size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) AcceptanceStrategy);
3183 }
3184 if (simulatedAnnealingParameters_ != null) {
3185 size += 1 + pb::CodedOutputStream.ComputeMessageSize(SimulatedAnnealingParameters);
3187 if (_unknownFields != null) {
3188 size += _unknownFields.CalculateSize();
3189 }
3190 return size;
3191 }
3192
3193 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3194 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3195 public void MergeFrom(IteratedLocalSearchParameters other) {
3196 if (other == null) {
3197 return;
3198 }
3199 if (other.PerturbationStrategy != global::Google.OrTools.ConstraintSolver.PerturbationStrategy.Types.Value.Unset) {
3200 PerturbationStrategy = other.PerturbationStrategy;
3201 }
3202 if (other.ruinRecreateParameters_ != null) {
3203 if (ruinRecreateParameters_ == null) {
3204 RuinRecreateParameters = new global::Google.OrTools.ConstraintSolver.RuinRecreateParameters();
3205 }
3206 RuinRecreateParameters.MergeFrom(other.RuinRecreateParameters);
3207 }
3208 if (other.HasImprovePerturbedSolution) {
3209 ImprovePerturbedSolution = other.ImprovePerturbedSolution;
3210 }
3211 if (other.AcceptanceStrategy != global::Google.OrTools.ConstraintSolver.AcceptanceStrategy.Types.Value.Unset) {
3212 AcceptanceStrategy = other.AcceptanceStrategy;
3213 }
3214 if (other.simulatedAnnealingParameters_ != null) {
3215 if (simulatedAnnealingParameters_ == null) {
3216 SimulatedAnnealingParameters = new global::Google.OrTools.ConstraintSolver.SimulatedAnnealingParameters();
3217 }
3218 SimulatedAnnealingParameters.MergeFrom(other.SimulatedAnnealingParameters);
3219 }
3220 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
3221 }
3222
3223 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3224 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3225 public void MergeFrom(pb::CodedInputStream input) {
3226 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3227 input.ReadRawMessage(this);
3228 #else
3229 uint tag;
3230 while ((tag = input.ReadTag()) != 0) {
3231 if ((tag & 7) == 4) {
3232 // Abort on any end group tag.
3233 return;
3234 }
3235 switch(tag) {
3236 default:
3237 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
3238 break;
3239 case 8: {
3240 PerturbationStrategy = (global::Google.OrTools.ConstraintSolver.PerturbationStrategy.Types.Value) input.ReadEnum();
3241 break;
3242 }
3243 case 18: {
3244 if (ruinRecreateParameters_ == null) {
3245 RuinRecreateParameters = new global::Google.OrTools.ConstraintSolver.RuinRecreateParameters();
3246 }
3247 input.ReadMessage(RuinRecreateParameters);
3248 break;
3249 }
3250 case 24: {
3251 ImprovePerturbedSolution = input.ReadBool();
3252 break;
3253 }
3254 case 32: {
3255 AcceptanceStrategy = (global::Google.OrTools.ConstraintSolver.AcceptanceStrategy.Types.Value) input.ReadEnum();
3256 break;
3257 }
3258 case 42: {
3259 if (simulatedAnnealingParameters_ == null) {
3260 SimulatedAnnealingParameters = new global::Google.OrTools.ConstraintSolver.SimulatedAnnealingParameters();
3261 }
3262 input.ReadMessage(SimulatedAnnealingParameters);
3263 break;
3264 }
3265 }
3266 }
3267 #endif
3268 }
3269
3270 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3271 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3272 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3273 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
3274 uint tag;
3275 while ((tag = input.ReadTag()) != 0) {
3276 if ((tag & 7) == 4) {
3277 // Abort on any end group tag.
3278 return;
3279 }
3280 switch(tag) {
3281 default:
3282 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
3283 break;
3284 case 8: {
3285 PerturbationStrategy = (global::Google.OrTools.ConstraintSolver.PerturbationStrategy.Types.Value) input.ReadEnum();
3286 break;
3287 }
3288 case 18: {
3289 if (ruinRecreateParameters_ == null) {
3290 RuinRecreateParameters = new global::Google.OrTools.ConstraintSolver.RuinRecreateParameters();
3291 }
3292 input.ReadMessage(RuinRecreateParameters);
3293 break;
3294 }
3295 case 24: {
3296 ImprovePerturbedSolution = input.ReadBool();
3297 break;
3298 }
3299 case 32: {
3300 AcceptanceStrategy = (global::Google.OrTools.ConstraintSolver.AcceptanceStrategy.Types.Value) input.ReadEnum();
3301 break;
3302 }
3303 case 42: {
3304 if (simulatedAnnealingParameters_ == null) {
3305 SimulatedAnnealingParameters = new global::Google.OrTools.ConstraintSolver.SimulatedAnnealingParameters();
3306 }
3307 input.ReadMessage(SimulatedAnnealingParameters);
3308 break;
3309 }
3310 }
3311 }
3312 }
3313 #endif
3314
3315 }
3316
3317 #endregion
3318
3319}
3320
3321#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 AcceptanceStrategy message type.
Determines when a neighbor solution, obtained by the application of a perturbation and improvement st...
static pb::MessageParser< AcceptanceStrategy > Parser
void WriteTo(pb::CodedOutputStream output)
Container for nested types declared in the CoolingScheduleStrategy message type.
The cooling schedule strategy defines how to compute the current simulated annealing temperature t gi...
static pb::MessageParser< CoolingScheduleStrategy > Parser
Container for nested types declared in the FirstSolutionStrategy message type.
First solution strategies, used as starting point of local search.
Specifies the behavior of a search based on ILS.
global::Google.OrTools.ConstraintSolver.AcceptanceStrategy.Types.Value AcceptanceStrategy
Determines when the neighbor solution S', possibly improved if improve_perturbed_solution is true,...
const int PerturbationStrategyFieldNumber
Field number for the "perturbation_strategy" field.
bool ImprovePerturbedSolution
Determines whether solution S', obtained from the perturbation, should be optimized with a local sear...
global::Google.OrTools.ConstraintSolver.PerturbationStrategy.Types.Value PerturbationStrategy
Determines how a reference solution S is perturbed to obtain a neighbor solution S'.
global::Google.OrTools.ConstraintSolver.SimulatedAnnealingParameters SimulatedAnnealingParameters
Parameters to customize a simulated annealing acceptance strategy. These parameters are required iff ...
const int RuinRecreateParametersFieldNumber
Field number for the "ruin_recreate_parameters" field.
void ClearImprovePerturbedSolution()
Clears the value of the "improve_perturbed_solution" field.
global::Google.OrTools.ConstraintSolver.RuinRecreateParameters RuinRecreateParameters
Parameters to customize a ruin and recreate perturbation.
bool HasImprovePerturbedSolution
Gets whether the "improve_perturbed_solution" field is set.
const int SimulatedAnnealingParametersFieldNumber
Field number for the "simulated_annealing_parameters" field.
Container for nested types declared in the PerturbationStrategy message type.
Defines how a reference solution is perturbed.
static pb::MessageParser< PerturbationStrategy > Parser
Ruin strategy that removes a number of customers by performing a random walk on the underlying routin...
void ClearNumRemovedVisits()
Clears the value of the "num_removed_visits" field.
static pb::MessageParser< RandomWalkRuinStrategy > Parser
const int NumRemovedVisitsFieldNumber
Field number for the "num_removed_visits" field.
uint NumRemovedVisits
Number of visits removed during a ruin application defined on visits.
bool HasNumRemovedVisits
Gets whether the "num_removed_visits" field is set.
Holder for reflection information generated from ortools/constraint_solver/routing_ils....
static pbr::FileDescriptor Descriptor
File descriptor for ortools/constraint_solver/routing_ils.proto.
Container for nested types declared in the RuinCompositionStrategy message type.
@ RunAllRandomly
Execute all ruin strategies in a random order.
@ RunAllSequentially
Execute all ruin strategies sequentially in the same order provided in input.
The ruin composition strategies specifies how ruin are selected at every ILS iteration.
Parameters to configure a perturbation based on a ruin and recreate approach.
bool HasRouteSelectionNeighborsRatio
Gets whether the "route_selection_neighbors_ratio" field is set.
global::Google.OrTools.ConstraintSolver.FirstSolutionStrategy.Types.Value RecreateStrategy
Strategy defining how a reference solution is recreated.
double RouteSelectionNeighborsRatio
Ratio in [0, 1] of non start/end nodes to consider as neighbors for the identification of routes spat...
pbc::RepeatedField< global::Google.OrTools.ConstraintSolver.RuinStrategy > RuinStrategies
List of ruin strategies determining how a reference solution is ruined.
global::Google.OrTools.ConstraintSolver.RuinCompositionStrategy.Types.Value RuinCompositionStrategy
The composition strategy to use when combining the given 'ruin_strategies'. Has no effect when ruin_s...
void ClearRouteSelectionNeighborsRatio()
Clears the value of the "route_selection_neighbors_ratio" field.
void ClearRouteSelectionMaxNeighbors()
Clears the value of the "route_selection_max_neighbors" field.
void ClearRouteSelectionMinNeighbors()
Clears the value of the "route_selection_min_neighbors" field.
static pb::MessageParser< RuinRecreateParameters > Parser
bool HasRouteSelectionMaxNeighbors
Gets whether the "route_selection_max_neighbors" field is set.
bool HasRouteSelectionMinNeighbors
Gets whether the "route_selection_min_neighbors" field is set.
Ruin strategies, used in perturbation based on ruin and recreate approaches.
static pbr::MessageDescriptor Descriptor
global::Google.OrTools.ConstraintSolver.SpatiallyCloseRoutesRuinStrategy SpatiallyCloseRoutes
const int SisrFieldNumber
Field number for the "sisr" field.
global::Google.OrTools.ConstraintSolver.RandomWalkRuinStrategy RandomWalk
static pb::MessageParser< RuinStrategy > Parser
global::Google.OrTools.ConstraintSolver.SISRRuinStrategy Sisr
StrategyOneofCase
Enum of possible cases for the "strategy" oneof.
const int RandomWalkFieldNumber
Field number for the "random_walk" field.
Ruin strategy based on the "Slack Induction by String Removals for VehicleRouting Problems" by Jan Ch...
const int BypassFactorFieldNumber
Field number for the "bypass_factor" field.
const int AvgNumRemovedVisitsFieldNumber
Field number for the "avg_num_removed_visits" field.
bool HasMaxRemovedSequenceSize
Gets whether the "max_removed_sequence_size" field is set.
bool HasBypassFactor
Gets whether the "bypass_factor" field is set.
uint MaxRemovedSequenceSize
Maximum number of removed visits per sequence. The parameter name in the paper is L^{max}...
static pb::MessageParser< SISRRuinStrategy > Parser
bool HasAvgNumRemovedVisits
Gets whether the "avg_num_removed_visits" field is set.
uint AvgNumRemovedVisits
Number of visits that are removed on average. The parameter name in the paper is \bar{c}...
double BypassFactor
Value in [0, 1] ruling the number of preserved customers in the split sequence removal....
Specifies the behavior of a simulated annealing acceptance strategy.
const int CoolingScheduleStrategyFieldNumber
Field number for the "cooling_schedule_strategy" field.
bool AutomaticTemperatures
Automatically define the value for the temperatures as follows. First, a reference temperature t is d...
const int InitialTemperatureFieldNumber
Field number for the "initial_temperature" field.
double FinalTemperature
The final temperature. See CoolingScheduleStrategy for its usage.
double InitialTemperature
The initial temperature. See CoolingScheduleStrategy for its usage.
bool HasInitialTemperature
Gets whether the "initial_temperature" field is set.
bool HasFinalTemperature
Gets whether the "final_temperature" field is set.
bool HasAutomaticTemperatures
Gets whether the "automatic_temperatures" field is set.
void ClearAutomaticTemperatures()
Clears the value of the "automatic_temperatures" field.
void ClearInitialTemperature()
Clears the value of the "initial_temperature" field.
global::Google.OrTools.ConstraintSolver.CoolingScheduleStrategy.Types.Value CoolingScheduleStrategy
Determines the speed at which the temperature changes from initial to final.
void ClearFinalTemperature()
Clears the value of the "final_temperature" field.
Ruin strategy that removes a number of spatially close routes.
const int NumRuinedRoutesFieldNumber
Field number for the "num_ruined_routes" field.
static pb::MessageParser< SpatiallyCloseRoutesRuinStrategy > Parser
void MergeFrom(SpatiallyCloseRoutesRuinStrategy other)
bool HasNumRuinedRoutes
Gets whether the "num_ruined_routes" field is set.
SpatiallyCloseRoutesRuinStrategy(SpatiallyCloseRoutesRuinStrategy other)
bool Equals(SpatiallyCloseRoutesRuinStrategy other)
void ClearNumRuinedRoutes()
Clears the value of the "num_ruined_routes" field.
uint NumRuinedRoutes
Number of spatially close routes ruined at each ruin application.