Google OR-Tools v9.15
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 "dmVyL3JvdXRpbmdfZW51bXMucHJvdG8aPG9ydG9vbHMvY29uc3RyYWludF9z",
30 "b2x2ZXIvcm91dGluZ19oZXVyaXN0aWNfcGFyYW1ldGVycy5wcm90byJYCiBT",
31 "cGF0aWFsbHlDbG9zZVJvdXRlc1J1aW5TdHJhdGVneRIeChFudW1fcnVpbmVk",
32 "X3JvdXRlcxgDIAEoDUgAiAEBQhQKEl9udW1fcnVpbmVkX3JvdXRlcyJQChZS",
33 "YW5kb21XYWxrUnVpblN0cmF0ZWd5Eh8KEm51bV9yZW1vdmVkX3Zpc2l0cxgH",
34 "IAEoDUgAiAEBQhUKE19udW1fcmVtb3ZlZF92aXNpdHMixgEKEFNJU1JSdWlu",
35 "U3RyYXRlZ3kSJgoZbWF4X3JlbW92ZWRfc2VxdWVuY2Vfc2l6ZRgBIAEoDUgA",
36 "iAEBEiMKFmF2Z19udW1fcmVtb3ZlZF92aXNpdHMYAiABKA1IAYgBARIaCg1i",
37 "eXBhc3NfZmFjdG9yGAMgASgBSAKIAQFCHAoaX21heF9yZW1vdmVkX3NlcXVl",
38 "bmNlX3NpemVCGQoXX2F2Z19udW1fcmVtb3ZlZF92aXNpdHNCEAoOX2J5cGFz",
39 "c19mYWN0b3Ii7gEKDFJ1aW5TdHJhdGVneRJXChZzcGF0aWFsbHlfY2xvc2Vf",
40 "cm91dGVzGAEgASgLMjUub3BlcmF0aW9uc19yZXNlYXJjaC5TcGF0aWFsbHlD",
41 "bG9zZVJvdXRlc1J1aW5TdHJhdGVneUgAEkIKC3JhbmRvbV93YWxrGAIgASgL",
42 "Misub3BlcmF0aW9uc19yZXNlYXJjaC5SYW5kb21XYWxrUnVpblN0cmF0ZWd5",
43 "SAASNQoEc2lzchgDIAEoCzIlLm9wZXJhdGlvbnNfcmVzZWFyY2guU0lTUlJ1",
44 "aW5TdHJhdGVneUgAQgoKCHN0cmF0ZWd5IpUCChJSZWNyZWF0ZVBhcmFtZXRl",
45 "cnMSWQoYbG9jYWxfY2hlYXBlc3RfaW5zZXJ0aW9uGAEgASgLMjUub3BlcmF0",
46 "aW9uc19yZXNlYXJjaC5Mb2NhbENoZWFwZXN0SW5zZXJ0aW9uUGFyYW1ldGVy",
47 "c0gAEjkKB3NhdmluZ3MYAiABKAsyJi5vcGVyYXRpb25zX3Jlc2VhcmNoLlNh",
48 "dmluZ3NQYXJhbWV0ZXJzSAASWwoZZ2xvYmFsX2NoZWFwZXN0X2luc2VydGlv",
49 "bhgDIAEoCzI2Lm9wZXJhdGlvbnNfcmVzZWFyY2guR2xvYmFsQ2hlYXBlc3RJ",
50 "bnNlcnRpb25QYXJhbWV0ZXJzSABCDAoKcGFyYW1ldGVycyK7AQoQUmVjcmVh",
51 "dGVTdHJhdGVneRJICgloZXVyaXN0aWMYASABKA4yMC5vcGVyYXRpb25zX3Jl",
52 "c2VhcmNoLkZpcnN0U29sdXRpb25TdHJhdGVneS5WYWx1ZUgAiAEBEkAKCnBh",
53 "cmFtZXRlcnMYAiABKAsyJy5vcGVyYXRpb25zX3Jlc2VhcmNoLlJlY3JlYXRl",
54 "UGFyYW1ldGVyc0gBiAEBQgwKCl9oZXVyaXN0aWNCDQoLX3BhcmFtZXRlcnMi",
55 "cwoXUnVpbkNvbXBvc2l0aW9uU3RyYXRlZ3kiWAoFVmFsdWUSCQoFVU5TRVQQ",
56 "ABIYChRSVU5fQUxMX1NFUVVFTlRJQUxMWRABEhQKEFJVTl9BTExfUkFORE9N",
57 "TFkQAhIUChBSVU5fT05FX1JBTkRPTUxZEAMi2wMKFlJ1aW5SZWNyZWF0ZVBh",
58 "cmFtZXRlcnMSOgoPcnVpbl9zdHJhdGVnaWVzGAEgAygLMiEub3BlcmF0aW9u",
59 "c19yZXNlYXJjaC5SdWluU3RyYXRlZ3kSVQoZcnVpbl9jb21wb3NpdGlvbl9z",
60 "dHJhdGVneRgCIAEoDjIyLm9wZXJhdGlvbnNfcmVzZWFyY2guUnVpbkNvbXBv",
61 "c2l0aW9uU3RyYXRlZ3kuVmFsdWUSQAoRcmVjcmVhdGVfc3RyYXRlZ3kYAyAB",
62 "KAsyJS5vcGVyYXRpb25zX3Jlc2VhcmNoLlJlY3JlYXRlU3RyYXRlZ3kSLAof",
63 "cm91dGVfc2VsZWN0aW9uX25laWdoYm9yc19yYXRpbxgEIAEoAUgAiAEBEioK",
64 "HXJvdXRlX3NlbGVjdGlvbl9taW5fbmVpZ2hib3JzGAUgASgNSAGIAQESKgod",
65 "cm91dGVfc2VsZWN0aW9uX21heF9uZWlnaGJvcnMYBiABKA1IAogBAUIiCiBf",
66 "cm91dGVfc2VsZWN0aW9uX25laWdoYm9yc19yYXRpb0IgCh5fcm91dGVfc2Vs",
67 "ZWN0aW9uX21pbl9uZWlnaGJvcnNCIAoeX3JvdXRlX3NlbGVjdGlvbl9tYXhf",
68 "bmVpZ2hib3JzIkEKFFBlcnR1cmJhdGlvblN0cmF0ZWd5IikKBVZhbHVlEgkK",
69 "BVVOU0VUEAASFQoRUlVJTl9BTkRfUkVDUkVBVEUQASJKChdDb29saW5nU2No",
70 "ZWR1bGVTdHJhdGVneSIvCgVWYWx1ZRIJCgVVTlNFVBAAEg8KC0VYUE9ORU5U",
71 "SUFMEAESCgoGTElORUFSEAIiIQofR3JlZWR5RGVzY2VudEFjY2VwdGFuY2VT",
72 "dHJhdGVneSKtAgokU2ltdWxhdGVkQW5uZWFsaW5nQWNjZXB0YW5jZVN0cmF0",
73 "ZWd5ElUKGWNvb2xpbmdfc2NoZWR1bGVfc3RyYXRlZ3kYASABKA4yMi5vcGVy",
74 "YXRpb25zX3Jlc2VhcmNoLkNvb2xpbmdTY2hlZHVsZVN0cmF0ZWd5LlZhbHVl",
75 "EiAKE2luaXRpYWxfdGVtcGVyYXR1cmUYAiABKAFIAIgBARIeChFmaW5hbF90",
76 "ZW1wZXJhdHVyZRgDIAEoAUgBiAEBEiMKFmF1dG9tYXRpY190ZW1wZXJhdHVy",
77 "ZXMYBCABKAhIAogBAUIWChRfaW5pdGlhbF90ZW1wZXJhdHVyZUIUChJfZmlu",
78 "YWxfdGVtcGVyYXR1cmVCGQoXX2F1dG9tYXRpY190ZW1wZXJhdHVyZXMiJQoj",
79 "QWxsTm9kZXNQZXJmb3JtZWRBY2NlcHRhbmNlU3RyYXRlZ3kiJgokTW9yZU5v",
80 "ZGVzUGVyZm9ybWVkQWNjZXB0YW5jZVN0cmF0ZWd5IncKH0Fic2VuY2VzQmFz",
81 "ZWRBY2NlcHRhbmNlU3RyYXRlZ3kSLgohcmVtb3ZlX3JvdXRlX3dpdGhfbG93",
82 "ZXN0X2Fic2VuY2VzGAEgASgISACIAQFCJAoiX3JlbW92ZV9yb3V0ZV93aXRo",
83 "X2xvd2VzdF9hYnNlbmNlcyLOAwoSQWNjZXB0YW5jZVN0cmF0ZWd5Ek4KDmdy",
84 "ZWVkeV9kZXNjZW50GAEgASgLMjQub3BlcmF0aW9uc19yZXNlYXJjaC5HcmVl",
85 "ZHlEZXNjZW50QWNjZXB0YW5jZVN0cmF0ZWd5SAASWAoTc2ltdWxhdGVkX2Fu",
86 "bmVhbGluZxgCIAEoCzI5Lm9wZXJhdGlvbnNfcmVzZWFyY2guU2ltdWxhdGVk",
87 "QW5uZWFsaW5nQWNjZXB0YW5jZVN0cmF0ZWd5SAASVwoTYWxsX25vZGVzX3Bl",
88 "cmZvcm1lZBgDIAEoCzI4Lm9wZXJhdGlvbnNfcmVzZWFyY2guQWxsTm9kZXNQ",
89 "ZXJmb3JtZWRBY2NlcHRhbmNlU3RyYXRlZ3lIABJZChRtb3JlX25vZGVzX3Bl",
90 "cmZvcm1lZBgEIAEoCzI5Lm9wZXJhdGlvbnNfcmVzZWFyY2guTW9yZU5vZGVz",
91 "UGVyZm9ybWVkQWNjZXB0YW5jZVN0cmF0ZWd5SAASTgoOYWJzZW5jZXNfYmFz",
92 "ZWQYBSABKAsyNC5vcGVyYXRpb25zX3Jlc2VhcmNoLkFic2VuY2VzQmFzZWRB",
93 "Y2NlcHRhbmNlU3RyYXRlZ3lIAEIKCghzdHJhdGVneSKzAwodSXRlcmF0ZWRM",
94 "b2NhbFNlYXJjaFBhcmFtZXRlcnMSTgoVcGVydHVyYmF0aW9uX3N0cmF0ZWd5",
95 "GAEgASgOMi8ub3BlcmF0aW9uc19yZXNlYXJjaC5QZXJ0dXJiYXRpb25TdHJh",
96 "dGVneS5WYWx1ZRJNChhydWluX3JlY3JlYXRlX3BhcmFtZXRlcnMYAiABKAsy",
97 "Ky5vcGVyYXRpb25zX3Jlc2VhcmNoLlJ1aW5SZWNyZWF0ZVBhcmFtZXRlcnMS",
98 "JwoaaW1wcm92ZV9wZXJ0dXJiZWRfc29sdXRpb24YAyABKAhIAIgBARJXCiZy",
99 "ZWZlcmVuY2Vfc29sdXRpb25fYWNjZXB0YW5jZV9zdHJhdGVneRgEIAEoCzIn",
100 "Lm9wZXJhdGlvbnNfcmVzZWFyY2guQWNjZXB0YW5jZVN0cmF0ZWd5ElIKIWJl",
101 "c3Rfc29sdXRpb25fYWNjZXB0YW5jZV9zdHJhdGVneRgFIAEoCzInLm9wZXJh",
102 "dGlvbnNfcmVzZWFyY2guQWNjZXB0YW5jZVN0cmF0ZWd5Qh0KG19pbXByb3Zl",
103 "X3BlcnR1cmJlZF9zb2x1dGlvbkJJCiNjb20uZ29vZ2xlLm9ydG9vbHMuY29u",
104 "c3RyYWludHNvbHZlclABqgIfR29vZ2xlLk9yVG9vbHMuQ29uc3RyYWludFNv",
105 "bHZlcmIGcHJvdG8z"));
106 descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
107 new pbr::FileDescriptor[] { global::Google.OrTools.ConstraintSolver.RoutingEnumsReflection.Descriptor, global::Google.OrTools.ConstraintSolver.RoutingHeuristicParametersReflection.Descriptor, },
108 new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
109 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.SpatiallyCloseRoutesRuinStrategy), global::Google.OrTools.ConstraintSolver.SpatiallyCloseRoutesRuinStrategy.Parser, new[]{ "NumRuinedRoutes" }, new[]{ "NumRuinedRoutes" }, null, null, null),
110 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.RandomWalkRuinStrategy), global::Google.OrTools.ConstraintSolver.RandomWalkRuinStrategy.Parser, new[]{ "NumRemovedVisits" }, new[]{ "NumRemovedVisits" }, null, null, null),
111 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),
112 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.RuinStrategy), global::Google.OrTools.ConstraintSolver.RuinStrategy.Parser, new[]{ "SpatiallyCloseRoutes", "RandomWalk", "Sisr" }, new[]{ "Strategy" }, null, null, null),
113 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.RecreateParameters), global::Google.OrTools.ConstraintSolver.RecreateParameters.Parser, new[]{ "LocalCheapestInsertion", "Savings", "GlobalCheapestInsertion" }, new[]{ "Parameters" }, null, null, null),
114 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.RecreateStrategy), global::Google.OrTools.ConstraintSolver.RecreateStrategy.Parser, new[]{ "Heuristic", "Parameters" }, new[]{ "Heuristic", "Parameters" }, null, null, null),
115 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),
116 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),
117 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),
118 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),
119 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.GreedyDescentAcceptanceStrategy), global::Google.OrTools.ConstraintSolver.GreedyDescentAcceptanceStrategy.Parser, null, null, null, null, null),
120 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.SimulatedAnnealingAcceptanceStrategy), global::Google.OrTools.ConstraintSolver.SimulatedAnnealingAcceptanceStrategy.Parser, new[]{ "CoolingScheduleStrategy", "InitialTemperature", "FinalTemperature", "AutomaticTemperatures" }, new[]{ "InitialTemperature", "FinalTemperature", "AutomaticTemperatures" }, null, null, null),
121 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.AllNodesPerformedAcceptanceStrategy), global::Google.OrTools.ConstraintSolver.AllNodesPerformedAcceptanceStrategy.Parser, null, null, null, null, null),
122 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.MoreNodesPerformedAcceptanceStrategy), global::Google.OrTools.ConstraintSolver.MoreNodesPerformedAcceptanceStrategy.Parser, null, null, null, null, null),
123 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.AbsencesBasedAcceptanceStrategy), global::Google.OrTools.ConstraintSolver.AbsencesBasedAcceptanceStrategy.Parser, new[]{ "RemoveRouteWithLowestAbsences" }, new[]{ "RemoveRouteWithLowestAbsences" }, null, null, null),
124 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.AcceptanceStrategy), global::Google.OrTools.ConstraintSolver.AcceptanceStrategy.Parser, new[]{ "GreedyDescent", "SimulatedAnnealing", "AllNodesPerformed", "MoreNodesPerformed", "AbsencesBased" }, new[]{ "Strategy" }, null, null, null),
125 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.IteratedLocalSearchParameters), global::Google.OrTools.ConstraintSolver.IteratedLocalSearchParameters.Parser, new[]{ "PerturbationStrategy", "RuinRecreateParameters", "ImprovePerturbedSolution", "ReferenceSolutionAcceptanceStrategy", "BestSolutionAcceptanceStrategy" }, new[]{ "ImprovePerturbedSolution" }, null, null, null)
126 }));
127 }
128 #endregion
129
130 }
131 #region Messages
135 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
136 public sealed partial class SpatiallyCloseRoutesRuinStrategy : pb::IMessage<SpatiallyCloseRoutesRuinStrategy>
137 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
138 , pb::IBufferMessage
139 #endif
140 {
141 private static readonly pb::MessageParser<SpatiallyCloseRoutesRuinStrategy> _parser = new pb::MessageParser<SpatiallyCloseRoutesRuinStrategy>(() => new SpatiallyCloseRoutesRuinStrategy());
142 private pb::UnknownFieldSet _unknownFields;
143 private int _hasBits0;
144 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
145 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
146 public static pb::MessageParser<SpatiallyCloseRoutesRuinStrategy> Parser { get { return _parser; } }
147
148 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
149 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
150 public static pbr::MessageDescriptor Descriptor {
151 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[0]; }
152 }
153
154 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
155 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
156 pbr::MessageDescriptor pb::IMessage.Descriptor {
157 get { return Descriptor; }
158 }
159
160 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
161 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
163 OnConstruction();
164 }
165
166 partial void OnConstruction();
167
168 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
169 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
171 _hasBits0 = other._hasBits0;
172 numRuinedRoutes_ = other.numRuinedRoutes_;
173 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
174 }
175
176 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
177 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
181
183 public const int NumRuinedRoutesFieldNumber = 3;
184 private readonly static uint NumRuinedRoutesDefaultValue = 0;
185
186 private uint numRuinedRoutes_;
190 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
191 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
192 public uint NumRuinedRoutes {
193 get { if ((_hasBits0 & 1) != 0) { return numRuinedRoutes_; } else { return NumRuinedRoutesDefaultValue; } }
194 set {
195 _hasBits0 |= 1;
196 numRuinedRoutes_ = value;
197 }
198 }
199
200 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
201 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
202 public bool HasNumRuinedRoutes {
203 get { return (_hasBits0 & 1) != 0; }
204 }
205
206 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
207 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
208 public void ClearNumRuinedRoutes() {
209 _hasBits0 &= ~1;
210 }
211
212 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
213 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
214 public override bool Equals(object other) {
216 }
217
218 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
219 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
221 if (ReferenceEquals(other, null)) {
222 return false;
223 }
224 if (ReferenceEquals(other, this)) {
225 return true;
226 }
227 if (NumRuinedRoutes != other.NumRuinedRoutes) return false;
228 return Equals(_unknownFields, other._unknownFields);
229 }
230
231 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
232 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
233 public override int GetHashCode() {
234 int hash = 1;
235 if (HasNumRuinedRoutes) hash ^= NumRuinedRoutes.GetHashCode();
236 if (_unknownFields != null) {
237 hash ^= _unknownFields.GetHashCode();
238 }
239 return hash;
240 }
241
242 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
243 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
244 public override string ToString() {
245 return pb::JsonFormatter.ToDiagnosticString(this);
246 }
247
248 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
249 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
250 public void WriteTo(pb::CodedOutputStream output) {
251 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
252 output.WriteRawMessage(this);
253 #else
254 if (HasNumRuinedRoutes) {
255 output.WriteRawTag(24);
256 output.WriteUInt32(NumRuinedRoutes);
257 }
258 if (_unknownFields != null) {
259 _unknownFields.WriteTo(output);
260 }
261 #endif
262 }
263
264 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
265 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
266 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
267 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
268 if (HasNumRuinedRoutes) {
269 output.WriteRawTag(24);
270 output.WriteUInt32(NumRuinedRoutes);
271 }
272 if (_unknownFields != null) {
273 _unknownFields.WriteTo(ref output);
274 }
275 }
276 #endif
277
278 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
279 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
280 public int CalculateSize() {
281 int size = 0;
282 if (HasNumRuinedRoutes) {
283 size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NumRuinedRoutes);
284 }
285 if (_unknownFields != null) {
286 size += _unknownFields.CalculateSize();
287 }
288 return size;
289 }
290
291 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
292 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
294 if (other == null) {
295 return;
296 }
297 if (other.HasNumRuinedRoutes) {
299 }
300 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
301 }
302
303 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
304 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
305 public void MergeFrom(pb::CodedInputStream input) {
306 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
307 input.ReadRawMessage(this);
308 #else
309 uint tag;
310 while ((tag = input.ReadTag()) != 0) {
311 if ((tag & 7) == 4) {
312 // Abort on any end group tag.
313 return;
314 }
315 switch(tag) {
316 default:
317 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
318 break;
319 case 24: {
320 NumRuinedRoutes = input.ReadUInt32();
321 break;
322 }
323 }
324 }
325 #endif
326 }
327
328 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
329 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
330 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
331 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
332 uint tag;
333 while ((tag = input.ReadTag()) != 0) {
334 if ((tag & 7) == 4) {
335 // Abort on any end group tag.
336 return;
337 }
338 switch(tag) {
339 default:
340 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
341 break;
342 case 24: {
343 NumRuinedRoutes = input.ReadUInt32();
344 break;
345 }
346 }
347 }
348 }
349 #endif
350
351 }
352
361 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
362 public sealed partial class RandomWalkRuinStrategy : pb::IMessage<RandomWalkRuinStrategy>
363 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
364 , pb::IBufferMessage
365 #endif
366 {
367 private static readonly pb::MessageParser<RandomWalkRuinStrategy> _parser = new pb::MessageParser<RandomWalkRuinStrategy>(() => new RandomWalkRuinStrategy());
368 private pb::UnknownFieldSet _unknownFields;
369 private int _hasBits0;
370 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
371 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
372 public static pb::MessageParser<RandomWalkRuinStrategy> Parser { get { return _parser; } }
373
374 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
375 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
376 public static pbr::MessageDescriptor Descriptor {
377 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[1]; }
378 }
379
380 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
381 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
382 pbr::MessageDescriptor pb::IMessage.Descriptor {
383 get { return Descriptor; }
384 }
385
386 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
387 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
389 OnConstruction();
390 }
391
392 partial void OnConstruction();
393
394 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
395 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
397 _hasBits0 = other._hasBits0;
398 numRemovedVisits_ = other.numRemovedVisits_;
399 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
400 }
401
402 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
403 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
405 return new RandomWalkRuinStrategy(this);
406 }
407
409 public const int NumRemovedVisitsFieldNumber = 7;
410 private readonly static uint NumRemovedVisitsDefaultValue = 0;
411
412 private uint numRemovedVisits_;
420 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
421 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
422 public uint NumRemovedVisits {
423 get { if ((_hasBits0 & 1) != 0) { return numRemovedVisits_; } else { return NumRemovedVisitsDefaultValue; } }
424 set {
425 _hasBits0 |= 1;
426 numRemovedVisits_ = value;
427 }
428 }
429
430 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
431 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
433 get { return (_hasBits0 & 1) != 0; }
434 }
435
436 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
437 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
438 public void ClearNumRemovedVisits() {
439 _hasBits0 &= ~1;
440 }
441
442 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
443 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
444 public override bool Equals(object other) {
445 return Equals(other as RandomWalkRuinStrategy);
446 }
447
448 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
449 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
450 public bool Equals(RandomWalkRuinStrategy other) {
451 if (ReferenceEquals(other, null)) {
452 return false;
453 }
454 if (ReferenceEquals(other, this)) {
455 return true;
456 }
457 if (NumRemovedVisits != other.NumRemovedVisits) return false;
458 return Equals(_unknownFields, other._unknownFields);
459 }
460
461 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
462 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
463 public override int GetHashCode() {
464 int hash = 1;
465 if (HasNumRemovedVisits) hash ^= NumRemovedVisits.GetHashCode();
466 if (_unknownFields != null) {
467 hash ^= _unknownFields.GetHashCode();
468 }
469 return hash;
470 }
471
472 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
473 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
474 public override string ToString() {
475 return pb::JsonFormatter.ToDiagnosticString(this);
476 }
477
478 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
479 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
480 public void WriteTo(pb::CodedOutputStream output) {
481 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
482 output.WriteRawMessage(this);
483 #else
485 output.WriteRawTag(56);
486 output.WriteUInt32(NumRemovedVisits);
487 }
488 if (_unknownFields != null) {
489 _unknownFields.WriteTo(output);
490 }
491 #endif
492 }
493
494 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
495 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
496 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
497 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
498 if (HasNumRemovedVisits) {
499 output.WriteRawTag(56);
500 output.WriteUInt32(NumRemovedVisits);
501 }
502 if (_unknownFields != null) {
503 _unknownFields.WriteTo(ref output);
504 }
505 }
506 #endif
507
508 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
509 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
510 public int CalculateSize() {
511 int size = 0;
513 size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NumRemovedVisits);
514 }
515 if (_unknownFields != null) {
516 size += _unknownFields.CalculateSize();
517 }
518 return size;
519 }
520
521 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
522 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
524 if (other == null) {
525 return;
526 }
527 if (other.HasNumRemovedVisits) {
529 }
530 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
531 }
532
533 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
534 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
535 public void MergeFrom(pb::CodedInputStream input) {
536 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
537 input.ReadRawMessage(this);
538 #else
539 uint tag;
540 while ((tag = input.ReadTag()) != 0) {
541 if ((tag & 7) == 4) {
542 // Abort on any end group tag.
543 return;
544 }
545 switch(tag) {
546 default:
547 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
548 break;
549 case 56: {
550 NumRemovedVisits = input.ReadUInt32();
551 break;
552 }
553 }
554 }
555 #endif
556 }
557
558 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
559 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
560 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
561 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
562 uint tag;
563 while ((tag = input.ReadTag()) != 0) {
564 if ((tag & 7) == 4) {
565 // Abort on any end group tag.
566 return;
567 }
568 switch(tag) {
569 default:
570 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
571 break;
572 case 56: {
573 NumRemovedVisits = input.ReadUInt32();
574 break;
575 }
576 }
577 }
578 }
579 #endif
580
581 }
582
655 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
656 public sealed partial class SISRRuinStrategy : pb::IMessage<SISRRuinStrategy>
657 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
658 , pb::IBufferMessage
659 #endif
660 {
661 private static readonly pb::MessageParser<SISRRuinStrategy> _parser = new pb::MessageParser<SISRRuinStrategy>(() => new SISRRuinStrategy());
662 private pb::UnknownFieldSet _unknownFields;
663 private int _hasBits0;
664 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
665 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
666 public static pb::MessageParser<SISRRuinStrategy> Parser { get { return _parser; } }
667
668 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
669 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
670 public static pbr::MessageDescriptor Descriptor {
671 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[2]; }
672 }
673
674 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
675 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
676 pbr::MessageDescriptor pb::IMessage.Descriptor {
677 get { return Descriptor; }
678 }
679
680 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
681 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
682 public SISRRuinStrategy() {
683 OnConstruction();
684 }
685
686 partial void OnConstruction();
687
688 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
689 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
690 public SISRRuinStrategy(SISRRuinStrategy other) : this() {
691 _hasBits0 = other._hasBits0;
692 maxRemovedSequenceSize_ = other.maxRemovedSequenceSize_;
693 avgNumRemovedVisits_ = other.avgNumRemovedVisits_;
694 bypassFactor_ = other.bypassFactor_;
695 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
696 }
697
698 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
699 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
701 return new SISRRuinStrategy(this);
702 }
703
705 public const int MaxRemovedSequenceSizeFieldNumber = 1;
706 private readonly static uint MaxRemovedSequenceSizeDefaultValue = 0;
707
708 private uint maxRemovedSequenceSize_;
710 /// Maximum number of removed visits per sequence. The parameter name in the
711 /// paper is L^{max} and the suggested value is 10.
712 /// </summary>
713 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
714 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
716 get { if ((_hasBits0 & 1) != 0) { return maxRemovedSequenceSize_; } else { return MaxRemovedSequenceSizeDefaultValue; } }
717 set {
718 _hasBits0 |= 1;
719 maxRemovedSequenceSize_ = value;
720 }
721 }
723 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
724 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
726 get { return (_hasBits0 & 1) != 0; }
727 }
729 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
730 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
731 public void ClearMaxRemovedSequenceSize() {
732 _hasBits0 &= ~1;
733 }
734
735 /// <summary>Field number for the "avg_num_removed_visits" field.</summary>
736 public const int AvgNumRemovedVisitsFieldNumber = 2;
737 private readonly static uint AvgNumRemovedVisitsDefaultValue = 0;
738
739 private uint avgNumRemovedVisits_;
741 /// Number of visits that are removed on average. The parameter name in the
742 /// paper is \bar{c} and the suggested value is 10.
743 /// </summary>
744 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
745 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
747 get { if ((_hasBits0 & 2) != 0) { return avgNumRemovedVisits_; } else { return AvgNumRemovedVisitsDefaultValue; } }
748 set {
749 _hasBits0 |= 2;
750 avgNumRemovedVisits_ = value;
751 }
752 }
754 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
755 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
757 get { return (_hasBits0 & 2) != 0; }
758 }
760 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
761 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
762 public void ClearAvgNumRemovedVisits() {
763 _hasBits0 &= ~2;
764 }
765
766 /// <summary>Field number for the "bypass_factor" field.</summary>
767 public const int BypassFactorFieldNumber = 3;
768 private readonly static double BypassFactorDefaultValue = 0D;
769
770 private double bypassFactor_;
772 /// Value in [0, 1] ruling the number of preserved nodes in the split
773 /// sequence removal. The parameter name in the paper is \alpha and the
774 /// suggested value is 0.01.
775 /// </summary>
776 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
777 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
778 public double BypassFactor {
779 get { if ((_hasBits0 & 4) != 0) { return bypassFactor_; } else { return BypassFactorDefaultValue; } }
780 set {
781 _hasBits0 |= 4;
782 bypassFactor_ = value;
783 }
784 }
786 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
787 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
788 public bool HasBypassFactor {
789 get { return (_hasBits0 & 4) != 0; }
790 }
792 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
793 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
794 public void ClearBypassFactor() {
795 _hasBits0 &= ~4;
796 }
797
798 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
799 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
800 public override bool Equals(object other) {
801 return Equals(other as SISRRuinStrategy);
802 }
803
804 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
805 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
806 public bool Equals(SISRRuinStrategy other) {
807 if (ReferenceEquals(other, null)) {
808 return false;
809 }
810 if (ReferenceEquals(other, this)) {
811 return true;
812 }
813 if (MaxRemovedSequenceSize != other.MaxRemovedSequenceSize) return false;
814 if (AvgNumRemovedVisits != other.AvgNumRemovedVisits) return false;
815 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(BypassFactor, other.BypassFactor)) return false;
816 return Equals(_unknownFields, other._unknownFields);
817 }
818
819 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
820 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
821 public override int GetHashCode() {
822 int hash = 1;
823 if (HasMaxRemovedSequenceSize) hash ^= MaxRemovedSequenceSize.GetHashCode();
824 if (HasAvgNumRemovedVisits) hash ^= AvgNumRemovedVisits.GetHashCode();
825 if (HasBypassFactor) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(BypassFactor);
826 if (_unknownFields != null) {
827 hash ^= _unknownFields.GetHashCode();
828 }
829 return hash;
830 }
832 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
833 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
834 public override string ToString() {
835 return pb::JsonFormatter.ToDiagnosticString(this);
836 }
837
838 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
839 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
840 public void WriteTo(pb::CodedOutputStream output) {
841 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
842 output.WriteRawMessage(this);
843 #else
845 output.WriteRawTag(8);
846 output.WriteUInt32(MaxRemovedSequenceSize);
847 }
848 if (HasAvgNumRemovedVisits) {
849 output.WriteRawTag(16);
850 output.WriteUInt32(AvgNumRemovedVisits);
851 }
852 if (HasBypassFactor) {
853 output.WriteRawTag(25);
854 output.WriteDouble(BypassFactor);
855 }
856 if (_unknownFields != null) {
857 _unknownFields.WriteTo(output);
858 }
859 #endif
860 }
861
862 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
863 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
864 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
865 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
866 if (HasMaxRemovedSequenceSize) {
867 output.WriteRawTag(8);
868 output.WriteUInt32(MaxRemovedSequenceSize);
869 }
870 if (HasAvgNumRemovedVisits) {
871 output.WriteRawTag(16);
872 output.WriteUInt32(AvgNumRemovedVisits);
873 }
874 if (HasBypassFactor) {
875 output.WriteRawTag(25);
876 output.WriteDouble(BypassFactor);
877 }
878 if (_unknownFields != null) {
879 _unknownFields.WriteTo(ref output);
880 }
881 }
882 #endif
883
884 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
885 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
886 public int CalculateSize() {
887 int size = 0;
888 if (HasMaxRemovedSequenceSize) {
889 size += 1 + pb::CodedOutputStream.ComputeUInt32Size(MaxRemovedSequenceSize);
890 }
891 if (HasAvgNumRemovedVisits) {
892 size += 1 + pb::CodedOutputStream.ComputeUInt32Size(AvgNumRemovedVisits);
893 }
894 if (HasBypassFactor) {
895 size += 1 + 8;
897 if (_unknownFields != null) {
898 size += _unknownFields.CalculateSize();
899 }
900 return size;
901 }
902
903 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
904 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
905 public void MergeFrom(SISRRuinStrategy other) {
906 if (other == null) {
907 return;
908 }
909 if (other.HasMaxRemovedSequenceSize) {
910 MaxRemovedSequenceSize = other.MaxRemovedSequenceSize;
911 }
912 if (other.HasAvgNumRemovedVisits) {
913 AvgNumRemovedVisits = other.AvgNumRemovedVisits;
914 }
915 if (other.HasBypassFactor) {
916 BypassFactor = other.BypassFactor;
917 }
918 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
919 }
920
921 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
922 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
923 public void MergeFrom(pb::CodedInputStream input) {
924 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
925 input.ReadRawMessage(this);
926 #else
927 uint tag;
928 while ((tag = input.ReadTag()) != 0) {
929 if ((tag & 7) == 4) {
930 // Abort on any end group tag.
931 return;
932 }
933 switch(tag) {
934 default:
935 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
936 break;
937 case 8: {
938 MaxRemovedSequenceSize = input.ReadUInt32();
939 break;
940 }
941 case 16: {
942 AvgNumRemovedVisits = input.ReadUInt32();
943 break;
944 }
945 case 25: {
946 BypassFactor = input.ReadDouble();
947 break;
948 }
949 }
950 }
951 #endif
952 }
953
954 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
955 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
956 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
957 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
958 uint tag;
959 while ((tag = input.ReadTag()) != 0) {
960 if ((tag & 7) == 4) {
961 // Abort on any end group tag.
962 return;
963 }
964 switch(tag) {
965 default:
966 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
967 break;
968 case 8: {
969 MaxRemovedSequenceSize = input.ReadUInt32();
970 break;
971 }
972 case 16: {
973 AvgNumRemovedVisits = input.ReadUInt32();
974 break;
975 }
976 case 25: {
977 BypassFactor = input.ReadDouble();
978 break;
979 }
980 }
981 }
982 }
983 #endif
984
985 }
986
990 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
991 public sealed partial class RuinStrategy : pb::IMessage<RuinStrategy>
992 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
993 , pb::IBufferMessage
994 #endif
995 {
996 private static readonly pb::MessageParser<RuinStrategy> _parser = new pb::MessageParser<RuinStrategy>(() => new RuinStrategy());
997 private pb::UnknownFieldSet _unknownFields;
998 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
999 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1000 public static pb::MessageParser<RuinStrategy> Parser { get { return _parser; } }
1002 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1003 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1004 public static pbr::MessageDescriptor Descriptor {
1005 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[3]; }
1006 }
1007
1008 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1009 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1010 pbr::MessageDescriptor pb::IMessage.Descriptor {
1011 get { return Descriptor; }
1012 }
1013
1014 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1015 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1016 public RuinStrategy() {
1017 OnConstruction();
1018 }
1019
1020 partial void OnConstruction();
1021
1022 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1023 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1024 public RuinStrategy(RuinStrategy other) : this() {
1025 switch (other.StrategyCase) {
1026 case StrategyOneofCase.SpatiallyCloseRoutes:
1027 SpatiallyCloseRoutes = other.SpatiallyCloseRoutes.Clone();
1028 break;
1029 case StrategyOneofCase.RandomWalk:
1030 RandomWalk = other.RandomWalk.Clone();
1031 break;
1032 case StrategyOneofCase.Sisr:
1033 Sisr = other.Sisr.Clone();
1034 break;
1035 }
1036
1037 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1038 }
1039
1040 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1041 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1042 public RuinStrategy Clone() {
1043 return new RuinStrategy(this);
1044 }
1045
1047 public const int SpatiallyCloseRoutesFieldNumber = 1;
1048 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1049 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1050 public global::Google.OrTools.ConstraintSolver.SpatiallyCloseRoutesRuinStrategy SpatiallyCloseRoutes {
1051 get { return strategyCase_ == StrategyOneofCase.SpatiallyCloseRoutes ? (global::Google.OrTools.ConstraintSolver.SpatiallyCloseRoutesRuinStrategy) strategy_ : null; }
1052 set {
1053 strategy_ = value;
1054 strategyCase_ = value == null ? StrategyOneofCase.None : StrategyOneofCase.SpatiallyCloseRoutes;
1055 }
1056 }
1059 public const int RandomWalkFieldNumber = 2;
1060 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1061 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1063 get { return strategyCase_ == StrategyOneofCase.RandomWalk ? (global::Google.OrTools.ConstraintSolver.RandomWalkRuinStrategy) strategy_ : null; }
1064 set {
1065 strategy_ = value;
1066 strategyCase_ = value == null ? StrategyOneofCase.None : StrategyOneofCase.RandomWalk;
1067 }
1068 }
1071 public const int SisrFieldNumber = 3;
1072 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1073 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1074 public global::Google.OrTools.ConstraintSolver.SISRRuinStrategy Sisr {
1075 get { return strategyCase_ == StrategyOneofCase.Sisr ? (global::Google.OrTools.ConstraintSolver.SISRRuinStrategy) strategy_ : null; }
1076 set {
1077 strategy_ = value;
1078 strategyCase_ = value == null ? StrategyOneofCase.None : StrategyOneofCase.Sisr;
1079 }
1080 }
1082 private object strategy_;
1084 public enum StrategyOneofCase {
1085 None = 0,
1087 RandomWalk = 2,
1088 Sisr = 3,
1089 }
1090 private StrategyOneofCase strategyCase_ = StrategyOneofCase.None;
1091 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1092 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1093 public StrategyOneofCase StrategyCase {
1094 get { return strategyCase_; }
1097 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1098 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1099 public void ClearStrategy() {
1100 strategyCase_ = StrategyOneofCase.None;
1101 strategy_ = null;
1102 }
1104 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1105 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1106 public override bool Equals(object other) {
1107 return Equals(other as RuinStrategy);
1108 }
1110 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1111 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1112 public bool Equals(RuinStrategy other) {
1113 if (ReferenceEquals(other, null)) {
1114 return false;
1115 }
1116 if (ReferenceEquals(other, this)) {
1117 return true;
1118 }
1119 if (!object.Equals(SpatiallyCloseRoutes, other.SpatiallyCloseRoutes)) return false;
1120 if (!object.Equals(RandomWalk, other.RandomWalk)) return false;
1121 if (!object.Equals(Sisr, other.Sisr)) return false;
1122 if (StrategyCase != other.StrategyCase) return false;
1123 return Equals(_unknownFields, other._unknownFields);
1124 }
1125
1126 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1127 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1128 public override int GetHashCode() {
1129 int hash = 1;
1130 if (strategyCase_ == StrategyOneofCase.SpatiallyCloseRoutes) hash ^= SpatiallyCloseRoutes.GetHashCode();
1131 if (strategyCase_ == StrategyOneofCase.RandomWalk) hash ^= RandomWalk.GetHashCode();
1132 if (strategyCase_ == StrategyOneofCase.Sisr) hash ^= Sisr.GetHashCode();
1133 hash ^= (int) strategyCase_;
1134 if (_unknownFields != null) {
1135 hash ^= _unknownFields.GetHashCode();
1136 }
1137 return hash;
1139
1140 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1141 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1142 public override string ToString() {
1143 return pb::JsonFormatter.ToDiagnosticString(this);
1144 }
1145
1146 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1147 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1148 public void WriteTo(pb::CodedOutputStream output) {
1149 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1150 output.WriteRawMessage(this);
1151 #else
1152 if (strategyCase_ == StrategyOneofCase.SpatiallyCloseRoutes) {
1153 output.WriteRawTag(10);
1154 output.WriteMessage(SpatiallyCloseRoutes);
1155 }
1156 if (strategyCase_ == StrategyOneofCase.RandomWalk) {
1157 output.WriteRawTag(18);
1158 output.WriteMessage(RandomWalk);
1159 }
1160 if (strategyCase_ == StrategyOneofCase.Sisr) {
1161 output.WriteRawTag(26);
1162 output.WriteMessage(Sisr);
1163 }
1164 if (_unknownFields != null) {
1165 _unknownFields.WriteTo(output);
1166 }
1167 #endif
1168 }
1169
1170 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1171 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1172 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1173 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1174 if (strategyCase_ == StrategyOneofCase.SpatiallyCloseRoutes) {
1175 output.WriteRawTag(10);
1176 output.WriteMessage(SpatiallyCloseRoutes);
1177 }
1178 if (strategyCase_ == StrategyOneofCase.RandomWalk) {
1179 output.WriteRawTag(18);
1180 output.WriteMessage(RandomWalk);
1181 }
1182 if (strategyCase_ == StrategyOneofCase.Sisr) {
1183 output.WriteRawTag(26);
1184 output.WriteMessage(Sisr);
1185 }
1186 if (_unknownFields != null) {
1187 _unknownFields.WriteTo(ref output);
1188 }
1189 }
1190 #endif
1191
1192 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1193 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1194 public int CalculateSize() {
1195 int size = 0;
1196 if (strategyCase_ == StrategyOneofCase.SpatiallyCloseRoutes) {
1197 size += 1 + pb::CodedOutputStream.ComputeMessageSize(SpatiallyCloseRoutes);
1198 }
1199 if (strategyCase_ == StrategyOneofCase.RandomWalk) {
1200 size += 1 + pb::CodedOutputStream.ComputeMessageSize(RandomWalk);
1201 }
1202 if (strategyCase_ == StrategyOneofCase.Sisr) {
1203 size += 1 + pb::CodedOutputStream.ComputeMessageSize(Sisr);
1205 if (_unknownFields != null) {
1206 size += _unknownFields.CalculateSize();
1207 }
1208 return size;
1209 }
1210
1211 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1212 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1213 public void MergeFrom(RuinStrategy other) {
1214 if (other == null) {
1215 return;
1216 }
1217 switch (other.StrategyCase) {
1218 case StrategyOneofCase.SpatiallyCloseRoutes:
1219 if (SpatiallyCloseRoutes == null) {
1220 SpatiallyCloseRoutes = new global::Google.OrTools.ConstraintSolver.SpatiallyCloseRoutesRuinStrategy();
1221 }
1222 SpatiallyCloseRoutes.MergeFrom(other.SpatiallyCloseRoutes);
1223 break;
1224 case StrategyOneofCase.RandomWalk:
1225 if (RandomWalk == null) {
1226 RandomWalk = new global::Google.OrTools.ConstraintSolver.RandomWalkRuinStrategy();
1227 }
1228 RandomWalk.MergeFrom(other.RandomWalk);
1229 break;
1230 case StrategyOneofCase.Sisr:
1231 if (Sisr == null) {
1232 Sisr = new global::Google.OrTools.ConstraintSolver.SISRRuinStrategy();
1233 }
1234 Sisr.MergeFrom(other.Sisr);
1235 break;
1236 }
1237
1238 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1239 }
1240
1241 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1242 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1243 public void MergeFrom(pb::CodedInputStream input) {
1244 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1245 input.ReadRawMessage(this);
1246 #else
1247 uint tag;
1248 while ((tag = input.ReadTag()) != 0) {
1249 if ((tag & 7) == 4) {
1250 // Abort on any end group tag.
1251 return;
1252 }
1253 switch(tag) {
1254 default:
1255 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1256 break;
1257 case 10: {
1258 global::Google.OrTools.ConstraintSolver.SpatiallyCloseRoutesRuinStrategy subBuilder = new global::Google.OrTools.ConstraintSolver.SpatiallyCloseRoutesRuinStrategy();
1259 if (strategyCase_ == StrategyOneofCase.SpatiallyCloseRoutes) {
1260 subBuilder.MergeFrom(SpatiallyCloseRoutes);
1261 }
1262 input.ReadMessage(subBuilder);
1263 SpatiallyCloseRoutes = subBuilder;
1264 break;
1265 }
1266 case 18: {
1267 global::Google.OrTools.ConstraintSolver.RandomWalkRuinStrategy subBuilder = new global::Google.OrTools.ConstraintSolver.RandomWalkRuinStrategy();
1268 if (strategyCase_ == StrategyOneofCase.RandomWalk) {
1269 subBuilder.MergeFrom(RandomWalk);
1270 }
1271 input.ReadMessage(subBuilder);
1272 RandomWalk = subBuilder;
1273 break;
1274 }
1275 case 26: {
1276 global::Google.OrTools.ConstraintSolver.SISRRuinStrategy subBuilder = new global::Google.OrTools.ConstraintSolver.SISRRuinStrategy();
1277 if (strategyCase_ == StrategyOneofCase.Sisr) {
1278 subBuilder.MergeFrom(Sisr);
1279 }
1280 input.ReadMessage(subBuilder);
1281 Sisr = subBuilder;
1282 break;
1283 }
1284 }
1285 }
1286 #endif
1287 }
1288
1289 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1290 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1291 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1292 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1293 uint tag;
1294 while ((tag = input.ReadTag()) != 0) {
1295 if ((tag & 7) == 4) {
1296 // Abort on any end group tag.
1297 return;
1298 }
1299 switch(tag) {
1300 default:
1301 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1302 break;
1303 case 10: {
1304 global::Google.OrTools.ConstraintSolver.SpatiallyCloseRoutesRuinStrategy subBuilder = new global::Google.OrTools.ConstraintSolver.SpatiallyCloseRoutesRuinStrategy();
1305 if (strategyCase_ == StrategyOneofCase.SpatiallyCloseRoutes) {
1306 subBuilder.MergeFrom(SpatiallyCloseRoutes);
1307 }
1308 input.ReadMessage(subBuilder);
1309 SpatiallyCloseRoutes = subBuilder;
1310 break;
1311 }
1312 case 18: {
1313 global::Google.OrTools.ConstraintSolver.RandomWalkRuinStrategy subBuilder = new global::Google.OrTools.ConstraintSolver.RandomWalkRuinStrategy();
1314 if (strategyCase_ == StrategyOneofCase.RandomWalk) {
1315 subBuilder.MergeFrom(RandomWalk);
1316 }
1317 input.ReadMessage(subBuilder);
1318 RandomWalk = subBuilder;
1319 break;
1320 }
1321 case 26: {
1322 global::Google.OrTools.ConstraintSolver.SISRRuinStrategy subBuilder = new global::Google.OrTools.ConstraintSolver.SISRRuinStrategy();
1323 if (strategyCase_ == StrategyOneofCase.Sisr) {
1324 subBuilder.MergeFrom(Sisr);
1325 }
1326 input.ReadMessage(subBuilder);
1327 Sisr = subBuilder;
1328 break;
1329 }
1330 }
1331 }
1332 }
1333 #endif
1334
1335 }
1336
1340 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
1341 public sealed partial class RecreateParameters : pb::IMessage<RecreateParameters>
1342 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1343 , pb::IBufferMessage
1344 #endif
1345 {
1346 private static readonly pb::MessageParser<RecreateParameters> _parser = new pb::MessageParser<RecreateParameters>(() => new RecreateParameters());
1347 private pb::UnknownFieldSet _unknownFields;
1348 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1349 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1350 public static pb::MessageParser<RecreateParameters> Parser { get { return _parser; } }
1352 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1353 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1354 public static pbr::MessageDescriptor Descriptor {
1355 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[4]; }
1356 }
1357
1358 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1359 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1360 pbr::MessageDescriptor pb::IMessage.Descriptor {
1361 get { return Descriptor; }
1362 }
1363
1364 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1365 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1366 public RecreateParameters() {
1367 OnConstruction();
1368 }
1369
1370 partial void OnConstruction();
1371
1372 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1373 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1374 public RecreateParameters(RecreateParameters other) : this() {
1375 switch (other.ParametersCase) {
1376 case ParametersOneofCase.LocalCheapestInsertion:
1377 LocalCheapestInsertion = other.LocalCheapestInsertion.Clone();
1378 break;
1379 case ParametersOneofCase.Savings:
1380 Savings = other.Savings.Clone();
1381 break;
1382 case ParametersOneofCase.GlobalCheapestInsertion:
1383 GlobalCheapestInsertion = other.GlobalCheapestInsertion.Clone();
1384 break;
1385 }
1386
1387 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1388 }
1389
1390 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1391 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1392 public RecreateParameters Clone() {
1393 return new RecreateParameters(this);
1394 }
1395
1397 public const int LocalCheapestInsertionFieldNumber = 1;
1398 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1399 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1400 public global::Google.OrTools.ConstraintSolver.LocalCheapestInsertionParameters LocalCheapestInsertion {
1401 get { return parametersCase_ == ParametersOneofCase.LocalCheapestInsertion ? (global::Google.OrTools.ConstraintSolver.LocalCheapestInsertionParameters) parameters_ : null; }
1402 set {
1403 parameters_ = value;
1404 parametersCase_ = value == null ? ParametersOneofCase.None : ParametersOneofCase.LocalCheapestInsertion;
1405 }
1406 }
1409 public const int SavingsFieldNumber = 2;
1410 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1411 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1412 public global::Google.OrTools.ConstraintSolver.SavingsParameters Savings {
1413 get { return parametersCase_ == ParametersOneofCase.Savings ? (global::Google.OrTools.ConstraintSolver.SavingsParameters) parameters_ : null; }
1414 set {
1415 parameters_ = value;
1416 parametersCase_ = value == null ? ParametersOneofCase.None : ParametersOneofCase.Savings;
1417 }
1418 }
1421 public const int GlobalCheapestInsertionFieldNumber = 3;
1422 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1423 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1425 get { return parametersCase_ == ParametersOneofCase.GlobalCheapestInsertion ? (global::Google.OrTools.ConstraintSolver.GlobalCheapestInsertionParameters) parameters_ : null; }
1426 set {
1427 parameters_ = value;
1428 parametersCase_ = value == null ? ParametersOneofCase.None : ParametersOneofCase.GlobalCheapestInsertion;
1429 }
1430 }
1432 private object parameters_;
1435 None = 0,
1437 Savings = 2,
1439 }
1440 private ParametersOneofCase parametersCase_ = ParametersOneofCase.None;
1441 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1442 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1443 public ParametersOneofCase ParametersCase {
1444 get { return parametersCase_; }
1447 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1448 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1449 public void ClearParameters() {
1450 parametersCase_ = ParametersOneofCase.None;
1451 parameters_ = null;
1452 }
1454 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1455 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1456 public override bool Equals(object other) {
1457 return Equals(other as RecreateParameters);
1458 }
1460 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1461 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1462 public bool Equals(RecreateParameters other) {
1463 if (ReferenceEquals(other, null)) {
1464 return false;
1465 }
1466 if (ReferenceEquals(other, this)) {
1467 return true;
1468 }
1469 if (!object.Equals(LocalCheapestInsertion, other.LocalCheapestInsertion)) return false;
1470 if (!object.Equals(Savings, other.Savings)) return false;
1471 if (!object.Equals(GlobalCheapestInsertion, other.GlobalCheapestInsertion)) return false;
1472 if (ParametersCase != other.ParametersCase) return false;
1473 return Equals(_unknownFields, other._unknownFields);
1474 }
1475
1476 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1477 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1478 public override int GetHashCode() {
1479 int hash = 1;
1480 if (parametersCase_ == ParametersOneofCase.LocalCheapestInsertion) hash ^= LocalCheapestInsertion.GetHashCode();
1481 if (parametersCase_ == ParametersOneofCase.Savings) hash ^= Savings.GetHashCode();
1482 if (parametersCase_ == ParametersOneofCase.GlobalCheapestInsertion) hash ^= GlobalCheapestInsertion.GetHashCode();
1483 hash ^= (int) parametersCase_;
1484 if (_unknownFields != null) {
1485 hash ^= _unknownFields.GetHashCode();
1486 }
1487 return hash;
1489
1490 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1491 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1492 public override string ToString() {
1493 return pb::JsonFormatter.ToDiagnosticString(this);
1494 }
1495
1496 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1497 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1498 public void WriteTo(pb::CodedOutputStream output) {
1499 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1500 output.WriteRawMessage(this);
1501 #else
1502 if (parametersCase_ == ParametersOneofCase.LocalCheapestInsertion) {
1503 output.WriteRawTag(10);
1504 output.WriteMessage(LocalCheapestInsertion);
1505 }
1506 if (parametersCase_ == ParametersOneofCase.Savings) {
1507 output.WriteRawTag(18);
1508 output.WriteMessage(Savings);
1509 }
1510 if (parametersCase_ == ParametersOneofCase.GlobalCheapestInsertion) {
1511 output.WriteRawTag(26);
1512 output.WriteMessage(GlobalCheapestInsertion);
1513 }
1514 if (_unknownFields != null) {
1515 _unknownFields.WriteTo(output);
1516 }
1517 #endif
1518 }
1519
1520 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1521 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1522 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1523 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1524 if (parametersCase_ == ParametersOneofCase.LocalCheapestInsertion) {
1525 output.WriteRawTag(10);
1526 output.WriteMessage(LocalCheapestInsertion);
1527 }
1528 if (parametersCase_ == ParametersOneofCase.Savings) {
1529 output.WriteRawTag(18);
1530 output.WriteMessage(Savings);
1531 }
1532 if (parametersCase_ == ParametersOneofCase.GlobalCheapestInsertion) {
1533 output.WriteRawTag(26);
1534 output.WriteMessage(GlobalCheapestInsertion);
1535 }
1536 if (_unknownFields != null) {
1537 _unknownFields.WriteTo(ref output);
1538 }
1539 }
1540 #endif
1541
1542 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1543 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1544 public int CalculateSize() {
1545 int size = 0;
1546 if (parametersCase_ == ParametersOneofCase.LocalCheapestInsertion) {
1547 size += 1 + pb::CodedOutputStream.ComputeMessageSize(LocalCheapestInsertion);
1548 }
1549 if (parametersCase_ == ParametersOneofCase.Savings) {
1550 size += 1 + pb::CodedOutputStream.ComputeMessageSize(Savings);
1551 }
1552 if (parametersCase_ == ParametersOneofCase.GlobalCheapestInsertion) {
1553 size += 1 + pb::CodedOutputStream.ComputeMessageSize(GlobalCheapestInsertion);
1555 if (_unknownFields != null) {
1556 size += _unknownFields.CalculateSize();
1557 }
1558 return size;
1559 }
1560
1561 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1562 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1563 public void MergeFrom(RecreateParameters other) {
1564 if (other == null) {
1565 return;
1566 }
1567 switch (other.ParametersCase) {
1568 case ParametersOneofCase.LocalCheapestInsertion:
1569 if (LocalCheapestInsertion == null) {
1570 LocalCheapestInsertion = new global::Google.OrTools.ConstraintSolver.LocalCheapestInsertionParameters();
1571 }
1572 LocalCheapestInsertion.MergeFrom(other.LocalCheapestInsertion);
1573 break;
1574 case ParametersOneofCase.Savings:
1575 if (Savings == null) {
1576 Savings = new global::Google.OrTools.ConstraintSolver.SavingsParameters();
1577 }
1578 Savings.MergeFrom(other.Savings);
1579 break;
1580 case ParametersOneofCase.GlobalCheapestInsertion:
1581 if (GlobalCheapestInsertion == null) {
1582 GlobalCheapestInsertion = new global::Google.OrTools.ConstraintSolver.GlobalCheapestInsertionParameters();
1583 }
1584 GlobalCheapestInsertion.MergeFrom(other.GlobalCheapestInsertion);
1585 break;
1586 }
1587
1588 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1589 }
1590
1591 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1592 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1593 public void MergeFrom(pb::CodedInputStream input) {
1594 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1595 input.ReadRawMessage(this);
1596 #else
1597 uint tag;
1598 while ((tag = input.ReadTag()) != 0) {
1599 if ((tag & 7) == 4) {
1600 // Abort on any end group tag.
1601 return;
1602 }
1603 switch(tag) {
1604 default:
1605 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1606 break;
1607 case 10: {
1608 global::Google.OrTools.ConstraintSolver.LocalCheapestInsertionParameters subBuilder = new global::Google.OrTools.ConstraintSolver.LocalCheapestInsertionParameters();
1609 if (parametersCase_ == ParametersOneofCase.LocalCheapestInsertion) {
1610 subBuilder.MergeFrom(LocalCheapestInsertion);
1611 }
1612 input.ReadMessage(subBuilder);
1613 LocalCheapestInsertion = subBuilder;
1614 break;
1615 }
1616 case 18: {
1617 global::Google.OrTools.ConstraintSolver.SavingsParameters subBuilder = new global::Google.OrTools.ConstraintSolver.SavingsParameters();
1618 if (parametersCase_ == ParametersOneofCase.Savings) {
1619 subBuilder.MergeFrom(Savings);
1620 }
1621 input.ReadMessage(subBuilder);
1622 Savings = subBuilder;
1623 break;
1624 }
1625 case 26: {
1626 global::Google.OrTools.ConstraintSolver.GlobalCheapestInsertionParameters subBuilder = new global::Google.OrTools.ConstraintSolver.GlobalCheapestInsertionParameters();
1627 if (parametersCase_ == ParametersOneofCase.GlobalCheapestInsertion) {
1628 subBuilder.MergeFrom(GlobalCheapestInsertion);
1629 }
1630 input.ReadMessage(subBuilder);
1631 GlobalCheapestInsertion = subBuilder;
1632 break;
1633 }
1634 }
1635 }
1636 #endif
1637 }
1638
1639 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1640 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1641 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1642 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1643 uint tag;
1644 while ((tag = input.ReadTag()) != 0) {
1645 if ((tag & 7) == 4) {
1646 // Abort on any end group tag.
1647 return;
1648 }
1649 switch(tag) {
1650 default:
1651 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1652 break;
1653 case 10: {
1654 global::Google.OrTools.ConstraintSolver.LocalCheapestInsertionParameters subBuilder = new global::Google.OrTools.ConstraintSolver.LocalCheapestInsertionParameters();
1655 if (parametersCase_ == ParametersOneofCase.LocalCheapestInsertion) {
1656 subBuilder.MergeFrom(LocalCheapestInsertion);
1657 }
1658 input.ReadMessage(subBuilder);
1659 LocalCheapestInsertion = subBuilder;
1660 break;
1661 }
1662 case 18: {
1663 global::Google.OrTools.ConstraintSolver.SavingsParameters subBuilder = new global::Google.OrTools.ConstraintSolver.SavingsParameters();
1664 if (parametersCase_ == ParametersOneofCase.Savings) {
1665 subBuilder.MergeFrom(Savings);
1666 }
1667 input.ReadMessage(subBuilder);
1668 Savings = subBuilder;
1669 break;
1670 }
1671 case 26: {
1672 global::Google.OrTools.ConstraintSolver.GlobalCheapestInsertionParameters subBuilder = new global::Google.OrTools.ConstraintSolver.GlobalCheapestInsertionParameters();
1673 if (parametersCase_ == ParametersOneofCase.GlobalCheapestInsertion) {
1674 subBuilder.MergeFrom(GlobalCheapestInsertion);
1675 }
1676 input.ReadMessage(subBuilder);
1677 GlobalCheapestInsertion = subBuilder;
1678 break;
1679 }
1680 }
1681 }
1682 }
1683 #endif
1684
1685 }
1686
1690 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
1691 public sealed partial class RecreateStrategy : pb::IMessage<RecreateStrategy>
1692 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1693 , pb::IBufferMessage
1694 #endif
1695 {
1696 private static readonly pb::MessageParser<RecreateStrategy> _parser = new pb::MessageParser<RecreateStrategy>(() => new RecreateStrategy());
1697 private pb::UnknownFieldSet _unknownFields;
1698 private int _hasBits0;
1699 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1700 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1701 public static pb::MessageParser<RecreateStrategy> Parser { get { return _parser; } }
1702
1703 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1704 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1705 public static pbr::MessageDescriptor Descriptor {
1706 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[5]; }
1707 }
1708
1709 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1710 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1711 pbr::MessageDescriptor pb::IMessage.Descriptor {
1712 get { return Descriptor; }
1713 }
1714
1715 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1716 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1717 public RecreateStrategy() {
1718 OnConstruction();
1719 }
1720
1721 partial void OnConstruction();
1722
1723 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1724 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1725 public RecreateStrategy(RecreateStrategy other) : this() {
1726 _hasBits0 = other._hasBits0;
1727 heuristic_ = other.heuristic_;
1728 parameters_ = other.parameters_ != null ? other.parameters_.Clone() : null;
1729 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1730 }
1731
1732 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1733 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1734 public RecreateStrategy Clone() {
1735 return new RecreateStrategy(this);
1736 }
1737
1739 public const int HeuristicFieldNumber = 1;
1740 private readonly static global::Google.OrTools.ConstraintSolver.FirstSolutionStrategy.Types.Value HeuristicDefaultValue = global::Google.OrTools.ConstraintSolver.FirstSolutionStrategy.Types.Value.Unset;
1741
1742 private global::Google.OrTools.ConstraintSolver.FirstSolutionStrategy.Types.Value heuristic_;
1743 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1744 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1746 get { if ((_hasBits0 & 1) != 0) { return heuristic_; } else { return HeuristicDefaultValue; } }
1747 set {
1748 _hasBits0 |= 1;
1749 heuristic_ = value;
1750 }
1751 }
1753 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1754 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1755 public bool HasHeuristic {
1756 get { return (_hasBits0 & 1) != 0; }
1757 }
1759 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1760 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1761 public void ClearHeuristic() {
1762 _hasBits0 &= ~1;
1763 }
1764
1765 /// <summary>Field number for the "parameters" field.</summary>
1766 public const int ParametersFieldNumber = 2;
1767 private global::Google.OrTools.ConstraintSolver.RecreateParameters parameters_;
1768
1771 /// </summary>
1772 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1773 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1775 get { return parameters_; }
1776 set {
1777 parameters_ = value;
1778 }
1779 }
1780
1781 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1782 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1783 public override bool Equals(object other) {
1784 return Equals(other as RecreateStrategy);
1785 }
1786
1787 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1788 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1789 public bool Equals(RecreateStrategy other) {
1790 if (ReferenceEquals(other, null)) {
1791 return false;
1792 }
1793 if (ReferenceEquals(other, this)) {
1794 return true;
1795 }
1796 if (Heuristic != other.Heuristic) return false;
1797 if (!object.Equals(Parameters, other.Parameters)) return false;
1798 return Equals(_unknownFields, other._unknownFields);
1800
1801 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1802 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1803 public override int GetHashCode() {
1804 int hash = 1;
1805 if (HasHeuristic) hash ^= Heuristic.GetHashCode();
1806 if (parameters_ != null) hash ^= Parameters.GetHashCode();
1807 if (_unknownFields != null) {
1808 hash ^= _unknownFields.GetHashCode();
1809 }
1810 return hash;
1811 }
1812
1813 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1814 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1815 public override string ToString() {
1816 return pb::JsonFormatter.ToDiagnosticString(this);
1817 }
1818
1819 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1820 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1821 public void WriteTo(pb::CodedOutputStream output) {
1822 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1823 output.WriteRawMessage(this);
1824 #else
1826 output.WriteRawTag(8);
1827 output.WriteEnum((int) Heuristic);
1828 }
1829 if (parameters_ != null) {
1830 output.WriteRawTag(18);
1831 output.WriteMessage(Parameters);
1832 }
1833 if (_unknownFields != null) {
1834 _unknownFields.WriteTo(output);
1835 }
1836 #endif
1837 }
1838
1839 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1840 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1841 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1842 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1843 if (HasHeuristic) {
1844 output.WriteRawTag(8);
1845 output.WriteEnum((int) Heuristic);
1846 }
1847 if (parameters_ != null) {
1848 output.WriteRawTag(18);
1849 output.WriteMessage(Parameters);
1850 }
1851 if (_unknownFields != null) {
1852 _unknownFields.WriteTo(ref output);
1853 }
1854 }
1855 #endif
1856
1857 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1858 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1859 public int CalculateSize() {
1860 int size = 0;
1861 if (HasHeuristic) {
1862 size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Heuristic);
1863 }
1864 if (parameters_ != null) {
1865 size += 1 + pb::CodedOutputStream.ComputeMessageSize(Parameters);
1866 }
1867 if (_unknownFields != null) {
1868 size += _unknownFields.CalculateSize();
1870 return size;
1871 }
1872
1873 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1874 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1875 public void MergeFrom(RecreateStrategy other) {
1876 if (other == null) {
1877 return;
1878 }
1879 if (other.HasHeuristic) {
1880 Heuristic = other.Heuristic;
1881 }
1882 if (other.parameters_ != null) {
1883 if (parameters_ == null) {
1884 Parameters = new global::Google.OrTools.ConstraintSolver.RecreateParameters();
1886 Parameters.MergeFrom(other.Parameters);
1887 }
1888 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1889 }
1890
1891 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1892 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1893 public void MergeFrom(pb::CodedInputStream input) {
1894 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1895 input.ReadRawMessage(this);
1896 #else
1897 uint tag;
1898 while ((tag = input.ReadTag()) != 0) {
1899 if ((tag & 7) == 4) {
1900 // Abort on any end group tag.
1901 return;
1902 }
1903 switch(tag) {
1904 default:
1905 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1906 break;
1907 case 8: {
1908 Heuristic = (global::Google.OrTools.ConstraintSolver.FirstSolutionStrategy.Types.Value) input.ReadEnum();
1909 break;
1910 }
1911 case 18: {
1912 if (parameters_ == null) {
1913 Parameters = new global::Google.OrTools.ConstraintSolver.RecreateParameters();
1914 }
1915 input.ReadMessage(Parameters);
1916 break;
1917 }
1918 }
1919 }
1920 #endif
1921 }
1922
1923 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1924 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1925 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1926 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1927 uint tag;
1928 while ((tag = input.ReadTag()) != 0) {
1929 if ((tag & 7) == 4) {
1930 // Abort on any end group tag.
1931 return;
1932 }
1933 switch(tag) {
1934 default:
1935 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1936 break;
1937 case 8: {
1938 Heuristic = (global::Google.OrTools.ConstraintSolver.FirstSolutionStrategy.Types.Value) input.ReadEnum();
1939 break;
1940 }
1941 case 18: {
1942 if (parameters_ == null) {
1943 Parameters = new global::Google.OrTools.ConstraintSolver.RecreateParameters();
1944 }
1945 input.ReadMessage(Parameters);
1946 break;
1947 }
1948 }
1949 }
1950 }
1951 #endif
1952
1953 }
1954
1959 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
1960 public sealed partial class RuinCompositionStrategy : pb::IMessage<RuinCompositionStrategy>
1961 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1962 , pb::IBufferMessage
1963 #endif
1964 {
1965 private static readonly pb::MessageParser<RuinCompositionStrategy> _parser = new pb::MessageParser<RuinCompositionStrategy>(() => new RuinCompositionStrategy());
1966 private pb::UnknownFieldSet _unknownFields;
1967 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1968 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1969 public static pb::MessageParser<RuinCompositionStrategy> Parser { get { return _parser; } }
1971 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1972 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1973 public static pbr::MessageDescriptor Descriptor {
1974 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[6]; }
1975 }
1976
1977 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1978 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1979 pbr::MessageDescriptor pb::IMessage.Descriptor {
1980 get { return Descriptor; }
1981 }
1982
1983 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1984 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1985 public RuinCompositionStrategy() {
1986 OnConstruction();
1987 }
1988
1989 partial void OnConstruction();
1990
1991 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1992 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1993 public RuinCompositionStrategy(RuinCompositionStrategy other) : this() {
1994 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1996
1997 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1998 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1999 public RuinCompositionStrategy Clone() {
2000 return new RuinCompositionStrategy(this);
2001 }
2002
2003 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2004 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2005 public override bool Equals(object other) {
2006 return Equals(other as RuinCompositionStrategy);
2007 }
2008
2009 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2010 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2011 public bool Equals(RuinCompositionStrategy other) {
2012 if (ReferenceEquals(other, null)) {
2013 return false;
2014 }
2015 if (ReferenceEquals(other, this)) {
2016 return true;
2017 }
2018 return Equals(_unknownFields, other._unknownFields);
2019 }
2020
2021 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2022 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2023 public override int GetHashCode() {
2024 int hash = 1;
2025 if (_unknownFields != null) {
2026 hash ^= _unknownFields.GetHashCode();
2027 }
2028 return hash;
2029 }
2030
2031 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2032 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2033 public override string ToString() {
2034 return pb::JsonFormatter.ToDiagnosticString(this);
2035 }
2036
2037 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2038 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2039 public void WriteTo(pb::CodedOutputStream output) {
2040 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2041 output.WriteRawMessage(this);
2042 #else
2043 if (_unknownFields != null) {
2044 _unknownFields.WriteTo(output);
2045 }
2046 #endif
2047 }
2048
2049 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2050 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2051 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2052 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2053 if (_unknownFields != null) {
2054 _unknownFields.WriteTo(ref output);
2055 }
2056 }
2057 #endif
2058
2059 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2060 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2061 public int CalculateSize() {
2062 int size = 0;
2063 if (_unknownFields != null) {
2064 size += _unknownFields.CalculateSize();
2065 }
2066 return size;
2067 }
2068
2069 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2070 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2072 if (other == null) {
2073 return;
2074 }
2075 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
2076 }
2077
2078 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2079 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2080 public void MergeFrom(pb::CodedInputStream input) {
2081 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2082 input.ReadRawMessage(this);
2083 #else
2084 uint tag;
2085 while ((tag = input.ReadTag()) != 0) {
2086 if ((tag & 7) == 4) {
2087 // Abort on any end group tag.
2088 return;
2089 }
2090 switch(tag) {
2091 default:
2092 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
2093 break;
2094 }
2095 }
2096 #endif
2097 }
2098
2099 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2100 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2101 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2102 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
2103 uint tag;
2104 while ((tag = input.ReadTag()) != 0) {
2105 if ((tag & 7) == 4) {
2106 // Abort on any end group tag.
2107 return;
2108 }
2109 switch(tag) {
2110 default:
2111 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
2112 break;
2113 }
2114 }
2115 }
2116 #endif
2117
2118 #region Nested types
2120 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2121 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2122 public static partial class Types {
2123 public enum Value {
2127 [pbr::OriginalName("UNSET")] Unset = 0,
2132 [pbr::OriginalName("RUN_ALL_SEQUENTIALLY")] RunAllSequentially = 1,
2133 /// <summary>
2134 /// Execute all ruin strategies in a random order.
2135 /// </summary>
2136 [pbr::OriginalName("RUN_ALL_RANDOMLY")] RunAllRandomly = 2,
2140 [pbr::OriginalName("RUN_ONE_RANDOMLY")] RunOneRandomly = 3,
2141 }
2143 }
2144 #endregion
2145
2147
2151 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
2152 public sealed partial class RuinRecreateParameters : pb::IMessage<RuinRecreateParameters>
2153 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2154 , pb::IBufferMessage
2155 #endif
2156 {
2157 private static readonly pb::MessageParser<RuinRecreateParameters> _parser = new pb::MessageParser<RuinRecreateParameters>(() => new RuinRecreateParameters());
2158 private pb::UnknownFieldSet _unknownFields;
2159 private int _hasBits0;
2160 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2161 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2162 public static pb::MessageParser<RuinRecreateParameters> Parser { get { return _parser; } }
2163
2164 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2165 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2166 public static pbr::MessageDescriptor Descriptor {
2167 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[7]; }
2168 }
2169
2170 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2171 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2172 pbr::MessageDescriptor pb::IMessage.Descriptor {
2173 get { return Descriptor; }
2174 }
2175
2176 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2177 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2178 public RuinRecreateParameters() {
2179 OnConstruction();
2180 }
2181
2182 partial void OnConstruction();
2183
2184 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2185 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2186 public RuinRecreateParameters(RuinRecreateParameters other) : this() {
2187 _hasBits0 = other._hasBits0;
2188 ruinStrategies_ = other.ruinStrategies_.Clone();
2189 ruinCompositionStrategy_ = other.ruinCompositionStrategy_;
2190 recreateStrategy_ = other.recreateStrategy_ != null ? other.recreateStrategy_.Clone() : null;
2191 routeSelectionNeighborsRatio_ = other.routeSelectionNeighborsRatio_;
2192 routeSelectionMinNeighbors_ = other.routeSelectionMinNeighbors_;
2193 routeSelectionMaxNeighbors_ = other.routeSelectionMaxNeighbors_;
2194 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
2195 }
2197 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2198 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2199 public RuinRecreateParameters Clone() {
2200 return new RuinRecreateParameters(this);
2201 }
2202
2204 public const int RuinStrategiesFieldNumber = 1;
2205 private static readonly pb::FieldCodec<global::Google.OrTools.ConstraintSolver.RuinStrategy> _repeated_ruinStrategies_codec
2206 = pb::FieldCodec.ForMessage(10, global::Google.OrTools.ConstraintSolver.RuinStrategy.Parser);
2207 private readonly pbc::RepeatedField<global::Google.OrTools.ConstraintSolver.RuinStrategy> ruinStrategies_ = new pbc::RepeatedField<global::Google.OrTools.ConstraintSolver.RuinStrategy>();
2209 /// List of ruin strategies determining how a reference solution is ruined.
2210 /// </summary>
2211 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2212 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2213 public pbc::RepeatedField<global::Google.OrTools.ConstraintSolver.RuinStrategy> RuinStrategies {
2214 get { return ruinStrategies_; }
2215 }
2216
2218 public const int RuinCompositionStrategyFieldNumber = 2;
2219 private global::Google.OrTools.ConstraintSolver.RuinCompositionStrategy.Types.Value ruinCompositionStrategy_ = global::Google.OrTools.ConstraintSolver.RuinCompositionStrategy.Types.Value.Unset;
2223 /// </summary>
2224 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2225 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2227 get { return ruinCompositionStrategy_; }
2228 set {
2229 ruinCompositionStrategy_ = value;
2230 }
2231 }
2232
2234 public const int RecreateStrategyFieldNumber = 3;
2235 private global::Google.OrTools.ConstraintSolver.RecreateStrategy recreateStrategy_;
2236 /// <summary>
2237 /// Strategy defining how a reference solution is recreated.
2238 /// </summary>
2239 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2240 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2242 get { return recreateStrategy_; }
2243 set {
2244 recreateStrategy_ = value;
2245 }
2246 }
2247
2249 public const int RouteSelectionNeighborsRatioFieldNumber = 4;
2250 private readonly static double RouteSelectionNeighborsRatioDefaultValue = 0D;
2252 private double routeSelectionNeighborsRatio_;
2257
2271 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2272 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2273 public double RouteSelectionNeighborsRatio {
2274 get { if ((_hasBits0 & 1) != 0) { return routeSelectionNeighborsRatio_; } else { return RouteSelectionNeighborsRatioDefaultValue; } }
2275 set {
2276 _hasBits0 |= 1;
2277 routeSelectionNeighborsRatio_ = value;
2278 }
2279 }
2281 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2282 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2283 public bool HasRouteSelectionNeighborsRatio {
2284 get { return (_hasBits0 & 1) != 0; }
2285 }
2286 /// <summary>Clears the value of the "route_selection_neighbors_ratio" field</summary>
2287 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2288 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2289 public void ClearRouteSelectionNeighborsRatio() {
2290 _hasBits0 &= ~1;
2291 }
2292
2293
2294 public const int RouteSelectionMinNeighborsFieldNumber = 5;
2295 private readonly static uint RouteSelectionMinNeighborsDefaultValue = 0;
2297 private uint routeSelectionMinNeighbors_;
2298 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2299 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2300 public uint RouteSelectionMinNeighbors {
2301 get { if ((_hasBits0 & 2) != 0) { return routeSelectionMinNeighbors_; } else { return RouteSelectionMinNeighborsDefaultValue; } }
2302 set {
2303 _hasBits0 |= 2;
2304 routeSelectionMinNeighbors_ = value;
2305 }
2306 }
2308 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2309 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2310 public bool HasRouteSelectionMinNeighbors {
2311 get { return (_hasBits0 & 2) != 0; }
2312 }
2313 /// <summary>Clears the value of the "route_selection_min_neighbors" field</summary>
2314 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2315 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2316 public void ClearRouteSelectionMinNeighbors() {
2317 _hasBits0 &= ~2;
2318 }
2319
2320
2321 public const int RouteSelectionMaxNeighborsFieldNumber = 6;
2322 private readonly static uint RouteSelectionMaxNeighborsDefaultValue = 0;
2324 private uint routeSelectionMaxNeighbors_;
2325 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2326 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2327 public uint RouteSelectionMaxNeighbors {
2328 get { if ((_hasBits0 & 4) != 0) { return routeSelectionMaxNeighbors_; } else { return RouteSelectionMaxNeighborsDefaultValue; } }
2329 set {
2330 _hasBits0 |= 4;
2331 routeSelectionMaxNeighbors_ = value;
2332 }
2333 }
2335 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2336 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2337 public bool HasRouteSelectionMaxNeighbors {
2338 get { return (_hasBits0 & 4) != 0; }
2339 }
2340 /// <summary>Clears the value of the "route_selection_max_neighbors" field</summary>
2341 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2342 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2343 public void ClearRouteSelectionMaxNeighbors() {
2344 _hasBits0 &= ~4;
2345 }
2346
2347 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2348 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2349 public override bool Equals(object other) {
2351 }
2352
2353 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2354 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2355 public bool Equals(RuinRecreateParameters other) {
2356 if (ReferenceEquals(other, null)) {
2357 return false;
2358 }
2359 if (ReferenceEquals(other, this)) {
2360 return true;
2361 }
2362 if(!ruinStrategies_.Equals(other.ruinStrategies_)) return false;
2363 if (RuinCompositionStrategy != other.RuinCompositionStrategy) return false;
2364 if (!object.Equals(RecreateStrategy, other.RecreateStrategy)) return false;
2365 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(RouteSelectionNeighborsRatio, other.RouteSelectionNeighborsRatio)) return false;
2366 if (RouteSelectionMinNeighbors != other.RouteSelectionMinNeighbors) return false;
2367 if (RouteSelectionMaxNeighbors != other.RouteSelectionMaxNeighbors) return false;
2368 return Equals(_unknownFields, other._unknownFields);
2369 }
2370
2371 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2372 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2373 public override int GetHashCode() {
2374 int hash = 1;
2375 hash ^= ruinStrategies_.GetHashCode();
2377 if (recreateStrategy_ != null) hash ^= RecreateStrategy.GetHashCode();
2378 if (HasRouteSelectionNeighborsRatio) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(RouteSelectionNeighborsRatio);
2379 if (HasRouteSelectionMinNeighbors) hash ^= RouteSelectionMinNeighbors.GetHashCode();
2380 if (HasRouteSelectionMaxNeighbors) hash ^= RouteSelectionMaxNeighbors.GetHashCode();
2381 if (_unknownFields != null) {
2382 hash ^= _unknownFields.GetHashCode();
2383 }
2384 return hash;
2385 }
2387 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2388 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2389 public override string ToString() {
2390 return pb::JsonFormatter.ToDiagnosticString(this);
2391 }
2392
2393 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2394 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2395 public void WriteTo(pb::CodedOutputStream output) {
2396 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2397 output.WriteRawMessage(this);
2398 #else
2399 ruinStrategies_.WriteTo(output, _repeated_ruinStrategies_codec);
2401 output.WriteRawTag(16);
2402 output.WriteEnum((int) RuinCompositionStrategy);
2403 }
2404 if (recreateStrategy_ != null) {
2405 output.WriteRawTag(26);
2406 output.WriteMessage(RecreateStrategy);
2407 }
2409 output.WriteRawTag(33);
2410 output.WriteDouble(RouteSelectionNeighborsRatio);
2411 }
2412 if (HasRouteSelectionMinNeighbors) {
2413 output.WriteRawTag(40);
2414 output.WriteUInt32(RouteSelectionMinNeighbors);
2415 }
2416 if (HasRouteSelectionMaxNeighbors) {
2417 output.WriteRawTag(48);
2418 output.WriteUInt32(RouteSelectionMaxNeighbors);
2419 }
2420 if (_unknownFields != null) {
2421 _unknownFields.WriteTo(output);
2422 }
2423 #endif
2424 }
2425
2426 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2427 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2428 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2429 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2430 ruinStrategies_.WriteTo(ref output, _repeated_ruinStrategies_codec);
2431 if (RuinCompositionStrategy != global::Google.OrTools.ConstraintSolver.RuinCompositionStrategy.Types.Value.Unset) {
2432 output.WriteRawTag(16);
2433 output.WriteEnum((int) RuinCompositionStrategy);
2434 }
2435 if (recreateStrategy_ != null) {
2436 output.WriteRawTag(26);
2437 output.WriteMessage(RecreateStrategy);
2438 }
2439 if (HasRouteSelectionNeighborsRatio) {
2440 output.WriteRawTag(33);
2441 output.WriteDouble(RouteSelectionNeighborsRatio);
2442 }
2443 if (HasRouteSelectionMinNeighbors) {
2444 output.WriteRawTag(40);
2445 output.WriteUInt32(RouteSelectionMinNeighbors);
2446 }
2447 if (HasRouteSelectionMaxNeighbors) {
2448 output.WriteRawTag(48);
2449 output.WriteUInt32(RouteSelectionMaxNeighbors);
2450 }
2451 if (_unknownFields != null) {
2452 _unknownFields.WriteTo(ref output);
2453 }
2454 }
2455 #endif
2456
2457 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2458 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2459 public int CalculateSize() {
2460 int size = 0;
2461 size += ruinStrategies_.CalculateSize(_repeated_ruinStrategies_codec);
2462 if (RuinCompositionStrategy != global::Google.OrTools.ConstraintSolver.RuinCompositionStrategy.Types.Value.Unset) {
2463 size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) RuinCompositionStrategy);
2464 }
2465 if (recreateStrategy_ != null) {
2466 size += 1 + pb::CodedOutputStream.ComputeMessageSize(RecreateStrategy);
2467 }
2468 if (HasRouteSelectionNeighborsRatio) {
2469 size += 1 + 8;
2470 }
2471 if (HasRouteSelectionMinNeighbors) {
2472 size += 1 + pb::CodedOutputStream.ComputeUInt32Size(RouteSelectionMinNeighbors);
2473 }
2474 if (HasRouteSelectionMaxNeighbors) {
2475 size += 1 + pb::CodedOutputStream.ComputeUInt32Size(RouteSelectionMaxNeighbors);
2476 }
2477 if (_unknownFields != null) {
2478 size += _unknownFields.CalculateSize();
2479 }
2480 return size;
2481 }
2482
2483 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2484 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2485 public void MergeFrom(RuinRecreateParameters other) {
2486 if (other == null) {
2487 return;
2488 }
2489 ruinStrategies_.Add(other.ruinStrategies_);
2490 if (other.RuinCompositionStrategy != global::Google.OrTools.ConstraintSolver.RuinCompositionStrategy.Types.Value.Unset) {
2491 RuinCompositionStrategy = other.RuinCompositionStrategy;
2492 }
2493 if (other.recreateStrategy_ != null) {
2494 if (recreateStrategy_ == null) {
2495 RecreateStrategy = new global::Google.OrTools.ConstraintSolver.RecreateStrategy();
2496 }
2497 RecreateStrategy.MergeFrom(other.RecreateStrategy);
2499 if (other.HasRouteSelectionNeighborsRatio) {
2500 RouteSelectionNeighborsRatio = other.RouteSelectionNeighborsRatio;
2501 }
2502 if (other.HasRouteSelectionMinNeighbors) {
2503 RouteSelectionMinNeighbors = other.RouteSelectionMinNeighbors;
2504 }
2505 if (other.HasRouteSelectionMaxNeighbors) {
2506 RouteSelectionMaxNeighbors = other.RouteSelectionMaxNeighbors;
2507 }
2508 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
2509 }
2510
2511 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2512 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2513 public void MergeFrom(pb::CodedInputStream input) {
2514 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2515 input.ReadRawMessage(this);
2516 #else
2517 uint tag;
2518 while ((tag = input.ReadTag()) != 0) {
2519 if ((tag & 7) == 4) {
2520 // Abort on any end group tag.
2521 return;
2522 }
2523 switch(tag) {
2524 default:
2525 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
2526 break;
2527 case 10: {
2528 ruinStrategies_.AddEntriesFrom(input, _repeated_ruinStrategies_codec);
2529 break;
2530 }
2531 case 16: {
2532 RuinCompositionStrategy = (global::Google.OrTools.ConstraintSolver.RuinCompositionStrategy.Types.Value) input.ReadEnum();
2533 break;
2534 }
2535 case 26: {
2536 if (recreateStrategy_ == null) {
2537 RecreateStrategy = new global::Google.OrTools.ConstraintSolver.RecreateStrategy();
2538 }
2539 input.ReadMessage(RecreateStrategy);
2540 break;
2541 }
2542 case 33: {
2543 RouteSelectionNeighborsRatio = input.ReadDouble();
2544 break;
2545 }
2546 case 40: {
2547 RouteSelectionMinNeighbors = input.ReadUInt32();
2548 break;
2549 }
2550 case 48: {
2551 RouteSelectionMaxNeighbors = input.ReadUInt32();
2552 break;
2553 }
2554 }
2555 }
2556 #endif
2557 }
2558
2559 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2560 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2561 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2562 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
2563 uint tag;
2564 while ((tag = input.ReadTag()) != 0) {
2565 if ((tag & 7) == 4) {
2566 // Abort on any end group tag.
2567 return;
2568 }
2569 switch(tag) {
2570 default:
2571 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
2572 break;
2573 case 10: {
2574 ruinStrategies_.AddEntriesFrom(ref input, _repeated_ruinStrategies_codec);
2575 break;
2576 }
2577 case 16: {
2578 RuinCompositionStrategy = (global::Google.OrTools.ConstraintSolver.RuinCompositionStrategy.Types.Value) input.ReadEnum();
2579 break;
2580 }
2581 case 26: {
2582 if (recreateStrategy_ == null) {
2583 RecreateStrategy = new global::Google.OrTools.ConstraintSolver.RecreateStrategy();
2584 }
2585 input.ReadMessage(RecreateStrategy);
2586 break;
2587 }
2588 case 33: {
2589 RouteSelectionNeighborsRatio = input.ReadDouble();
2590 break;
2591 }
2592 case 40: {
2593 RouteSelectionMinNeighbors = input.ReadUInt32();
2594 break;
2595 }
2596 case 48: {
2597 RouteSelectionMaxNeighbors = input.ReadUInt32();
2598 break;
2599 }
2600 }
2601 }
2602 }
2603 #endif
2604
2605 }
2606
2610 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
2611 public sealed partial class PerturbationStrategy : pb::IMessage<PerturbationStrategy>
2612 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2613 , pb::IBufferMessage
2614 #endif
2615 {
2616 private static readonly pb::MessageParser<PerturbationStrategy> _parser = new pb::MessageParser<PerturbationStrategy>(() => new PerturbationStrategy());
2617 private pb::UnknownFieldSet _unknownFields;
2618 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2619 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2620 public static pb::MessageParser<PerturbationStrategy> Parser { get { return _parser; } }
2621
2622 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2623 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2624 public static pbr::MessageDescriptor Descriptor {
2625 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[8]; }
2626 }
2627
2628 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2629 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2630 pbr::MessageDescriptor pb::IMessage.Descriptor {
2631 get { return Descriptor; }
2632 }
2634 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2635 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2636 public PerturbationStrategy() {
2637 OnConstruction();
2638 }
2639
2640 partial void OnConstruction();
2641
2642 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2643 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2644 public PerturbationStrategy(PerturbationStrategy other) : this() {
2645 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
2646 }
2647
2648 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2649 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2650 public PerturbationStrategy Clone() {
2651 return new PerturbationStrategy(this);
2652 }
2653
2654 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2655 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2656 public override bool Equals(object other) {
2658 }
2659
2660 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2661 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2662 public bool Equals(PerturbationStrategy other) {
2663 if (ReferenceEquals(other, null)) {
2664 return false;
2665 }
2666 if (ReferenceEquals(other, this)) {
2667 return true;
2668 }
2669 return Equals(_unknownFields, other._unknownFields);
2670 }
2671
2672 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2673 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2674 public override int GetHashCode() {
2675 int hash = 1;
2676 if (_unknownFields != null) {
2677 hash ^= _unknownFields.GetHashCode();
2678 }
2679 return hash;
2680 }
2681
2682 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2683 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2684 public override string ToString() {
2685 return pb::JsonFormatter.ToDiagnosticString(this);
2686 }
2688 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2689 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2690 public void WriteTo(pb::CodedOutputStream output) {
2691 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2692 output.WriteRawMessage(this);
2693 #else
2694 if (_unknownFields != null) {
2695 _unknownFields.WriteTo(output);
2696 }
2697 #endif
2698 }
2699
2700 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2701 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2702 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2703 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2704 if (_unknownFields != null) {
2705 _unknownFields.WriteTo(ref output);
2706 }
2707 }
2708 #endif
2709
2710 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2711 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2712 public int CalculateSize() {
2713 int size = 0;
2714 if (_unknownFields != null) {
2715 size += _unknownFields.CalculateSize();
2716 }
2717 return size;
2718 }
2719
2720 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2721 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2722 public void MergeFrom(PerturbationStrategy other) {
2723 if (other == null) {
2724 return;
2726 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
2727 }
2728
2729 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2730 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2731 public void MergeFrom(pb::CodedInputStream input) {
2732 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2733 input.ReadRawMessage(this);
2734 #else
2735 uint tag;
2736 while ((tag = input.ReadTag()) != 0) {
2737 if ((tag & 7) == 4) {
2738 // Abort on any end group tag.
2739 return;
2740 }
2741 switch(tag) {
2742 default:
2743 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
2744 break;
2745 }
2746 }
2747 #endif
2748 }
2749
2750 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2751 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2752 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2753 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
2754 uint tag;
2755 while ((tag = input.ReadTag()) != 0) {
2756 if ((tag & 7) == 4) {
2757 // Abort on any end group tag.
2758 return;
2759 }
2760 switch(tag) {
2761 default:
2762 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
2763 break;
2764 }
2765 }
2766 }
2767 #endif
2768
2769 #region Nested types
2771 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2772 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2773 public static partial class Types {
2774 public enum Value {
2778 [pbr::OriginalName("UNSET")] Unset = 0,
2782 [pbr::OriginalName("RUIN_AND_RECREATE")] RuinAndRecreate = 1,
2783 }
2784
2785 }
2786 #endregion
2788 }
2789
2797
2799
2802
2813 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
2814 public sealed partial class CoolingScheduleStrategy : pb::IMessage<CoolingScheduleStrategy>
2815 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2816 , pb::IBufferMessage
2817 #endif
2818 {
2819 private static readonly pb::MessageParser<CoolingScheduleStrategy> _parser = new pb::MessageParser<CoolingScheduleStrategy>(() => new CoolingScheduleStrategy());
2820 private pb::UnknownFieldSet _unknownFields;
2821 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2822 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2823 public static pb::MessageParser<CoolingScheduleStrategy> Parser { get { return _parser; } }
2824
2825 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2826 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2827 public static pbr::MessageDescriptor Descriptor {
2828 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[9]; }
2829 }
2831 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2832 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2833 pbr::MessageDescriptor pb::IMessage.Descriptor {
2834 get { return Descriptor; }
2835 }
2836
2837 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2838 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2840 OnConstruction();
2841 }
2842
2843 partial void OnConstruction();
2844
2845 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2846 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2847 public CoolingScheduleStrategy(CoolingScheduleStrategy other) : this() {
2848 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
2849 }
2850
2851 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2852 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2853 public CoolingScheduleStrategy Clone() {
2854 return new CoolingScheduleStrategy(this);
2856
2857 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2858 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2859 public override bool Equals(object other) {
2860 return Equals(other as CoolingScheduleStrategy);
2861 }
2862
2863 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2864 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2865 public bool Equals(CoolingScheduleStrategy other) {
2866 if (ReferenceEquals(other, null)) {
2867 return false;
2868 }
2869 if (ReferenceEquals(other, this)) {
2870 return true;
2871 }
2872 return Equals(_unknownFields, other._unknownFields);
2873 }
2874
2875 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2876 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2877 public override int GetHashCode() {
2878 int hash = 1;
2879 if (_unknownFields != null) {
2880 hash ^= _unknownFields.GetHashCode();
2882 return hash;
2883 }
2884
2885 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2886 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2887 public override string ToString() {
2888 return pb::JsonFormatter.ToDiagnosticString(this);
2889 }
2890
2891 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2892 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2893 public void WriteTo(pb::CodedOutputStream output) {
2894 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2895 output.WriteRawMessage(this);
2896 #else
2897 if (_unknownFields != null) {
2898 _unknownFields.WriteTo(output);
2899 }
2900 #endif
2901 }
2902
2903 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2904 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2905 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2906 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2907 if (_unknownFields != null) {
2908 _unknownFields.WriteTo(ref output);
2910 }
2911 #endif
2912
2913 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2914 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2915 public int CalculateSize() {
2916 int size = 0;
2917 if (_unknownFields != null) {
2918 size += _unknownFields.CalculateSize();
2919 }
2920 return size;
2921 }
2922
2923 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2924 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2925 public void MergeFrom(CoolingScheduleStrategy other) {
2926 if (other == null) {
2927 return;
2928 }
2929 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
2930 }
2932 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2933 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2934 public void MergeFrom(pb::CodedInputStream input) {
2935 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2936 input.ReadRawMessage(this);
2937 #else
2938 uint tag;
2939 while ((tag = input.ReadTag()) != 0) {
2940 if ((tag & 7) == 4) {
2941 // Abort on any end group tag.
2942 return;
2943 }
2944 switch(tag) {
2945 default:
2946 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
2947 break;
2948 }
2949 }
2950 #endif
2951 }
2952
2953 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2954 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2955 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2956 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
2957 uint tag;
2958 while ((tag = input.ReadTag()) != 0) {
2959 if ((tag & 7) == 4) {
2960 // Abort on any end group tag.
2961 return;
2962 }
2963 switch(tag) {
2964 default:
2965 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
2966 break;
2967 }
2968 }
2969 }
2970 #endif
2971
2972 #region Nested types
2974 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2975 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2976 public static partial class Types {
2977 public enum Value {
2981 [pbr::OriginalName("UNSET")] Unset = 0,
2986 [pbr::OriginalName("EXPONENTIAL")] Exponential = 1,
2991 [pbr::OriginalName("LINEAR")] Linear = 2,
2994 }
2995 #endregion
2996
2998
3002 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
3003 public sealed partial class GreedyDescentAcceptanceStrategy : pb::IMessage<GreedyDescentAcceptanceStrategy>
3004 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3005 , pb::IBufferMessage
3006 #endif
3008 private static readonly pb::MessageParser<GreedyDescentAcceptanceStrategy> _parser = new pb::MessageParser<GreedyDescentAcceptanceStrategy>(() => new GreedyDescentAcceptanceStrategy());
3009 private pb::UnknownFieldSet _unknownFields;
3010 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3011 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3012 public static pb::MessageParser<GreedyDescentAcceptanceStrategy> Parser { get { return _parser; } }
3013
3014 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3015 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3016 public static pbr::MessageDescriptor Descriptor {
3017 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[10]; }
3018 }
3020 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3021 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3022 pbr::MessageDescriptor pb::IMessage.Descriptor {
3023 get { return Descriptor; }
3024 }
3025
3026 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3027 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3029 OnConstruction();
3030 }
3031
3032 partial void OnConstruction();
3033
3034 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3035 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3037 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
3038 }
3039
3040 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3041 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3042 public GreedyDescentAcceptanceStrategy Clone() {
3043 return new GreedyDescentAcceptanceStrategy(this);
3045
3046 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3047 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3048 public override bool Equals(object other) {
3049 return Equals(other as GreedyDescentAcceptanceStrategy);
3050 }
3051
3052 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3053 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3054 public bool Equals(GreedyDescentAcceptanceStrategy other) {
3055 if (ReferenceEquals(other, null)) {
3056 return false;
3057 }
3058 if (ReferenceEquals(other, this)) {
3059 return true;
3060 }
3061 return Equals(_unknownFields, other._unknownFields);
3062 }
3063
3064 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3065 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3066 public override int GetHashCode() {
3067 int hash = 1;
3068 if (_unknownFields != null) {
3069 hash ^= _unknownFields.GetHashCode();
3071 return hash;
3072 }
3073
3074 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3075 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3076 public override string ToString() {
3077 return pb::JsonFormatter.ToDiagnosticString(this);
3078 }
3079
3080 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3081 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3082 public void WriteTo(pb::CodedOutputStream output) {
3083 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3084 output.WriteRawMessage(this);
3085 #else
3086 if (_unknownFields != null) {
3087 _unknownFields.WriteTo(output);
3088 }
3089 #endif
3090 }
3091
3092 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3093 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3094 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3095 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
3096 if (_unknownFields != null) {
3097 _unknownFields.WriteTo(ref output);
3099 }
3100 #endif
3101
3102 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3103 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3104 public int CalculateSize() {
3105 int size = 0;
3106 if (_unknownFields != null) {
3107 size += _unknownFields.CalculateSize();
3108 }
3109 return size;
3110 }
3111
3112 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3113 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3114 public void MergeFrom(GreedyDescentAcceptanceStrategy other) {
3115 if (other == null) {
3116 return;
3117 }
3118 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
3119 }
3121 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3122 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3123 public void MergeFrom(pb::CodedInputStream input) {
3124 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3125 input.ReadRawMessage(this);
3126 #else
3127 uint tag;
3128 while ((tag = input.ReadTag()) != 0) {
3129 if ((tag & 7) == 4) {
3130 // Abort on any end group tag.
3131 return;
3132 }
3133 switch(tag) {
3134 default:
3135 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
3136 break;
3137 }
3138 }
3139 #endif
3140 }
3141
3142 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3143 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3144 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3145 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
3146 uint tag;
3147 while ((tag = input.ReadTag()) != 0) {
3148 if ((tag & 7) == 4) {
3149 // Abort on any end group tag.
3150 return;
3151 }
3152 switch(tag) {
3153 default:
3154 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
3155 break;
3156 }
3157 }
3158 }
3159 #endif
3160
3161 }
3162
3167 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
3168 public sealed partial class SimulatedAnnealingAcceptanceStrategy : pb::IMessage<SimulatedAnnealingAcceptanceStrategy>
3169 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3170 , pb::IBufferMessage
3171 #endif
3172 {
3173 private static readonly pb::MessageParser<SimulatedAnnealingAcceptanceStrategy> _parser = new pb::MessageParser<SimulatedAnnealingAcceptanceStrategy>(() => new SimulatedAnnealingAcceptanceStrategy());
3174 private pb::UnknownFieldSet _unknownFields;
3175 private int _hasBits0;
3176 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3177 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3178 public static pb::MessageParser<SimulatedAnnealingAcceptanceStrategy> Parser { get { return _parser; } }
3179
3180 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3181 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3182 public static pbr::MessageDescriptor Descriptor {
3183 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[11]; }
3185
3186 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3187 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3188 pbr::MessageDescriptor pb::IMessage.Descriptor {
3189 get { return Descriptor; }
3190 }
3191
3192 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3193 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3195 OnConstruction();
3196 }
3197
3198 partial void OnConstruction();
3199
3200 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3201 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3203 _hasBits0 = other._hasBits0;
3204 coolingScheduleStrategy_ = other.coolingScheduleStrategy_;
3205 initialTemperature_ = other.initialTemperature_;
3206 finalTemperature_ = other.finalTemperature_;
3207 automaticTemperatures_ = other.automaticTemperatures_;
3208 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
3209 }
3211 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3212 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3214 return new SimulatedAnnealingAcceptanceStrategy(this);
3215 }
3216
3219 private global::Google.OrTools.ConstraintSolver.CoolingScheduleStrategy.Types.Value coolingScheduleStrategy_ = global::Google.OrTools.ConstraintSolver.CoolingScheduleStrategy.Types.Value.Unset;
3224 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3225 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3227 get { return coolingScheduleStrategy_; }
3228 set {
3229 coolingScheduleStrategy_ = value;
3230 }
3231 }
3232
3234 public const int InitialTemperatureFieldNumber = 2;
3235 private readonly static double InitialTemperatureDefaultValue = 0D;
3236
3237 private double initialTemperature_;
3241 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3242 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3243 public double InitialTemperature {
3244 get { if ((_hasBits0 & 1) != 0) { return initialTemperature_; } else { return InitialTemperatureDefaultValue; } }
3245 set {
3246 _hasBits0 |= 1;
3247 initialTemperature_ = value;
3248 }
3249 }
3251 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3252 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3253 public bool HasInitialTemperature {
3254 get { return (_hasBits0 & 1) != 0; }
3255 }
3257 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3258 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3260 _hasBits0 &= ~1;
3261 }
3262
3264 public const int FinalTemperatureFieldNumber = 3;
3265 private readonly static double FinalTemperatureDefaultValue = 0D;
3266
3267 private double finalTemperature_;
3269 /// The final temperature. See CoolingScheduleStrategy for its usage.
3270 /// </summary>
3271 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3272 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3273 public double FinalTemperature {
3274 get { if ((_hasBits0 & 2) != 0) { return finalTemperature_; } else { return FinalTemperatureDefaultValue; } }
3275 set {
3276 _hasBits0 |= 2;
3277 finalTemperature_ = value;
3278 }
3279 }
3281 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3282 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3283 public bool HasFinalTemperature {
3284 get { return (_hasBits0 & 2) != 0; }
3285 }
3287 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3288 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3290 _hasBits0 &= ~2;
3291 }
3292
3294 public const int AutomaticTemperaturesFieldNumber = 4;
3295 private readonly static bool AutomaticTemperaturesDefaultValue = false;
3296
3297 private bool automaticTemperatures_;
3299 /// Automatically define the value for the temperatures as follows.
3300 /// First, a reference temperature t is defined as
3301 /// w1 * c1 + w2 * c2 + ... + wK * cK
3302 /// where 0 &lt; wJ &lt;= 1 is the fraction of vehicles of cost class J and cJ is the
3303 /// average arc cost for the cost class J.
3304 /// The value of cJ is identified by randomly sampling N arc costs for the cost
3305 /// class J, where N is equal to the number of instance nodes.
3306 /// The initial and final temperatures are then defined as
3307 /// - initial_temperature: 0.1 * t
3308 /// - final_temperature: 0.001 * t
3309 /// </summary>
3310 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3311 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3312 public bool AutomaticTemperatures {
3313 get { if ((_hasBits0 & 4) != 0) { return automaticTemperatures_; } else { return AutomaticTemperaturesDefaultValue; } }
3314 set {
3315 _hasBits0 |= 4;
3316 automaticTemperatures_ = value;
3317 }
3318 }
3320 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3321 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3322 public bool HasAutomaticTemperatures {
3323 get { return (_hasBits0 & 4) != 0; }
3324 }
3326 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3327 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3329 _hasBits0 &= ~4;
3330 }
3331
3332 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3333 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3334 public override bool Equals(object other) {
3335 return Equals(other as SimulatedAnnealingAcceptanceStrategy);
3336 }
3337
3338 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3339 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3340 public bool Equals(SimulatedAnnealingAcceptanceStrategy other) {
3341 if (ReferenceEquals(other, null)) {
3342 return false;
3343 }
3344 if (ReferenceEquals(other, this)) {
3345 return true;
3346 }
3347 if (CoolingScheduleStrategy != other.CoolingScheduleStrategy) return false;
3348 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(InitialTemperature, other.InitialTemperature)) return false;
3349 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(FinalTemperature, other.FinalTemperature)) return false;
3351 return Equals(_unknownFields, other._unknownFields);
3352 }
3353
3354 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3355 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3356 public override int GetHashCode() {
3357 int hash = 1;
3359 if (HasInitialTemperature) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(InitialTemperature);
3360 if (HasFinalTemperature) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(FinalTemperature);
3361 if (HasAutomaticTemperatures) hash ^= AutomaticTemperatures.GetHashCode();
3362 if (_unknownFields != null) {
3363 hash ^= _unknownFields.GetHashCode();
3364 }
3365 return hash;
3366 }
3367
3368 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3369 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3370 public override string ToString() {
3371 return pb::JsonFormatter.ToDiagnosticString(this);
3373
3374 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3375 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3376 public void WriteTo(pb::CodedOutputStream output) {
3377 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3378 output.WriteRawMessage(this);
3379 #else
3381 output.WriteRawTag(8);
3382 output.WriteEnum((int) CoolingScheduleStrategy);
3383 }
3384 if (HasInitialTemperature) {
3385 output.WriteRawTag(17);
3386 output.WriteDouble(InitialTemperature);
3387 }
3388 if (HasFinalTemperature) {
3389 output.WriteRawTag(25);
3390 output.WriteDouble(FinalTemperature);
3391 }
3393 output.WriteRawTag(32);
3394 output.WriteBool(AutomaticTemperatures);
3395 }
3396 if (_unknownFields != null) {
3397 _unknownFields.WriteTo(output);
3398 }
3399 #endif
3400 }
3401
3402 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3403 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3404 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3405 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
3406 if (CoolingScheduleStrategy != global::Google.OrTools.ConstraintSolver.CoolingScheduleStrategy.Types.Value.Unset) {
3407 output.WriteRawTag(8);
3408 output.WriteEnum((int) CoolingScheduleStrategy);
3409 }
3410 if (HasInitialTemperature) {
3411 output.WriteRawTag(17);
3412 output.WriteDouble(InitialTemperature);
3413 }
3414 if (HasFinalTemperature) {
3415 output.WriteRawTag(25);
3416 output.WriteDouble(FinalTemperature);
3417 }
3418 if (HasAutomaticTemperatures) {
3419 output.WriteRawTag(32);
3420 output.WriteBool(AutomaticTemperatures);
3421 }
3422 if (_unknownFields != null) {
3423 _unknownFields.WriteTo(ref output);
3424 }
3425 }
3426 #endif
3427
3428 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3429 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3430 public int CalculateSize() {
3431 int size = 0;
3432 if (CoolingScheduleStrategy != global::Google.OrTools.ConstraintSolver.CoolingScheduleStrategy.Types.Value.Unset) {
3433 size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) CoolingScheduleStrategy);
3434 }
3435 if (HasInitialTemperature) {
3436 size += 1 + 8;
3437 }
3438 if (HasFinalTemperature) {
3439 size += 1 + 8;
3440 }
3441 if (HasAutomaticTemperatures) {
3442 size += 1 + 1;
3443 }
3444 if (_unknownFields != null) {
3445 size += _unknownFields.CalculateSize();
3447 return size;
3448 }
3449
3450 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3451 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3452 public void MergeFrom(SimulatedAnnealingAcceptanceStrategy other) {
3453 if (other == null) {
3454 return;
3455 }
3456 if (other.CoolingScheduleStrategy != global::Google.OrTools.ConstraintSolver.CoolingScheduleStrategy.Types.Value.Unset) {
3457 CoolingScheduleStrategy = other.CoolingScheduleStrategy;
3458 }
3459 if (other.HasInitialTemperature) {
3460 InitialTemperature = other.InitialTemperature;
3461 }
3462 if (other.HasFinalTemperature) {
3463 FinalTemperature = other.FinalTemperature;
3464 }
3465 if (other.HasAutomaticTemperatures) {
3466 AutomaticTemperatures = other.AutomaticTemperatures;
3467 }
3468 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
3469 }
3470
3471 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3472 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3473 public void MergeFrom(pb::CodedInputStream input) {
3474 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3475 input.ReadRawMessage(this);
3476 #else
3477 uint tag;
3478 while ((tag = input.ReadTag()) != 0) {
3479 if ((tag & 7) == 4) {
3480 // Abort on any end group tag.
3481 return;
3482 }
3483 switch(tag) {
3484 default:
3485 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
3486 break;
3487 case 8: {
3488 CoolingScheduleStrategy = (global::Google.OrTools.ConstraintSolver.CoolingScheduleStrategy.Types.Value) input.ReadEnum();
3489 break;
3490 }
3491 case 17: {
3492 InitialTemperature = input.ReadDouble();
3493 break;
3494 }
3495 case 25: {
3496 FinalTemperature = input.ReadDouble();
3497 break;
3498 }
3499 case 32: {
3500 AutomaticTemperatures = input.ReadBool();
3501 break;
3502 }
3503 }
3504 }
3505 #endif
3506 }
3507
3508 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3509 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3510 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3511 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
3512 uint tag;
3513 while ((tag = input.ReadTag()) != 0) {
3514 if ((tag & 7) == 4) {
3515 // Abort on any end group tag.
3516 return;
3517 }
3518 switch(tag) {
3519 default:
3520 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
3521 break;
3522 case 8: {
3523 CoolingScheduleStrategy = (global::Google.OrTools.ConstraintSolver.CoolingScheduleStrategy.Types.Value) input.ReadEnum();
3524 break;
3525 }
3526 case 17: {
3527 InitialTemperature = input.ReadDouble();
3528 break;
3529 }
3530 case 25: {
3531 FinalTemperature = input.ReadDouble();
3532 break;
3533 }
3534 case 32: {
3535 AutomaticTemperatures = input.ReadBool();
3536 break;
3537 }
3538 }
3539 }
3540 }
3541 #endif
3542
3543 }
3544
3550 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
3551 public sealed partial class AllNodesPerformedAcceptanceStrategy : pb::IMessage<AllNodesPerformedAcceptanceStrategy>
3552 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3553 , pb::IBufferMessage
3554 #endif
3555 {
3556 private static readonly pb::MessageParser<AllNodesPerformedAcceptanceStrategy> _parser = new pb::MessageParser<AllNodesPerformedAcceptanceStrategy>(() => new AllNodesPerformedAcceptanceStrategy());
3557 private pb::UnknownFieldSet _unknownFields;
3558 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3559 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3560 public static pb::MessageParser<AllNodesPerformedAcceptanceStrategy> Parser { get { return _parser; } }
3561
3562 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3563 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3564 public static pbr::MessageDescriptor Descriptor {
3565 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[12]; }
3566 }
3568 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3569 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3570 pbr::MessageDescriptor pb::IMessage.Descriptor {
3571 get { return Descriptor; }
3572 }
3573
3574 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3575 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3577 OnConstruction();
3578 }
3579
3580 partial void OnConstruction();
3581
3582 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3583 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3585 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
3586 }
3587
3588 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3589 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3591 return new AllNodesPerformedAcceptanceStrategy(this);
3593
3594 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3595 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3596 public override bool Equals(object other) {
3597 return Equals(other as AllNodesPerformedAcceptanceStrategy);
3598 }
3599
3600 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3601 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3602 public bool Equals(AllNodesPerformedAcceptanceStrategy other) {
3603 if (ReferenceEquals(other, null)) {
3604 return false;
3605 }
3606 if (ReferenceEquals(other, this)) {
3607 return true;
3608 }
3609 return Equals(_unknownFields, other._unknownFields);
3610 }
3611
3612 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3613 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3614 public override int GetHashCode() {
3615 int hash = 1;
3616 if (_unknownFields != null) {
3617 hash ^= _unknownFields.GetHashCode();
3619 return hash;
3620 }
3621
3622 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3623 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3624 public override string ToString() {
3625 return pb::JsonFormatter.ToDiagnosticString(this);
3626 }
3627
3628 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3629 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3630 public void WriteTo(pb::CodedOutputStream output) {
3631 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3632 output.WriteRawMessage(this);
3633 #else
3634 if (_unknownFields != null) {
3635 _unknownFields.WriteTo(output);
3636 }
3637 #endif
3638 }
3639
3640 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3641 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3642 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3643 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
3644 if (_unknownFields != null) {
3645 _unknownFields.WriteTo(ref output);
3647 }
3648 #endif
3649
3650 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3651 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3652 public int CalculateSize() {
3653 int size = 0;
3654 if (_unknownFields != null) {
3655 size += _unknownFields.CalculateSize();
3656 }
3657 return size;
3658 }
3659
3660 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3661 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3662 public void MergeFrom(AllNodesPerformedAcceptanceStrategy other) {
3663 if (other == null) {
3664 return;
3665 }
3666 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
3667 }
3669 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3670 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3671 public void MergeFrom(pb::CodedInputStream input) {
3672 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3673 input.ReadRawMessage(this);
3674 #else
3675 uint tag;
3676 while ((tag = input.ReadTag()) != 0) {
3677 if ((tag & 7) == 4) {
3678 // Abort on any end group tag.
3679 return;
3680 }
3681 switch(tag) {
3682 default:
3683 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
3684 break;
3685 }
3686 }
3687 #endif
3688 }
3689
3690 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3691 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3692 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3693 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
3694 uint tag;
3695 while ((tag = input.ReadTag()) != 0) {
3696 if ((tag & 7) == 4) {
3697 // Abort on any end group tag.
3698 return;
3699 }
3700 switch(tag) {
3701 default:
3702 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
3703 break;
3704 }
3705 }
3706 }
3707 #endif
3708
3709 }
3710
3715 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
3716 public sealed partial class MoreNodesPerformedAcceptanceStrategy : pb::IMessage<MoreNodesPerformedAcceptanceStrategy>
3717 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3718 , pb::IBufferMessage
3719 #endif
3720 {
3721 private static readonly pb::MessageParser<MoreNodesPerformedAcceptanceStrategy> _parser = new pb::MessageParser<MoreNodesPerformedAcceptanceStrategy>(() => new MoreNodesPerformedAcceptanceStrategy());
3722 private pb::UnknownFieldSet _unknownFields;
3723 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3724 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3725 public static pb::MessageParser<MoreNodesPerformedAcceptanceStrategy> Parser { get { return _parser; } }
3726
3727 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3728 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3729 public static pbr::MessageDescriptor Descriptor {
3730 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[13]; }
3731 }
3733 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3734 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3735 pbr::MessageDescriptor pb::IMessage.Descriptor {
3736 get { return Descriptor; }
3737 }
3738
3739 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3740 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3742 OnConstruction();
3743 }
3744
3745 partial void OnConstruction();
3746
3747 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3748 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3750 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
3751 }
3752
3753 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3754 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3756 return new MoreNodesPerformedAcceptanceStrategy(this);
3758
3759 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3760 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3761 public override bool Equals(object other) {
3762 return Equals(other as MoreNodesPerformedAcceptanceStrategy);
3763 }
3764
3765 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3766 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3767 public bool Equals(MoreNodesPerformedAcceptanceStrategy other) {
3768 if (ReferenceEquals(other, null)) {
3769 return false;
3770 }
3771 if (ReferenceEquals(other, this)) {
3772 return true;
3773 }
3774 return Equals(_unknownFields, other._unknownFields);
3775 }
3776
3777 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3778 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3779 public override int GetHashCode() {
3780 int hash = 1;
3781 if (_unknownFields != null) {
3782 hash ^= _unknownFields.GetHashCode();
3784 return hash;
3785 }
3786
3787 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3788 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3789 public override string ToString() {
3790 return pb::JsonFormatter.ToDiagnosticString(this);
3791 }
3792
3793 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3794 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3795 public void WriteTo(pb::CodedOutputStream output) {
3796 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3797 output.WriteRawMessage(this);
3798 #else
3799 if (_unknownFields != null) {
3800 _unknownFields.WriteTo(output);
3801 }
3802 #endif
3803 }
3804
3805 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3806 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3807 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3808 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
3809 if (_unknownFields != null) {
3810 _unknownFields.WriteTo(ref output);
3812 }
3813 #endif
3814
3815 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3816 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3817 public int CalculateSize() {
3818 int size = 0;
3819 if (_unknownFields != null) {
3820 size += _unknownFields.CalculateSize();
3821 }
3822 return size;
3823 }
3824
3825 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3826 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3827 public void MergeFrom(MoreNodesPerformedAcceptanceStrategy other) {
3828 if (other == null) {
3829 return;
3830 }
3831 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
3832 }
3834 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3835 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3836 public void MergeFrom(pb::CodedInputStream input) {
3837 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3838 input.ReadRawMessage(this);
3839 #else
3840 uint tag;
3841 while ((tag = input.ReadTag()) != 0) {
3842 if ((tag & 7) == 4) {
3843 // Abort on any end group tag.
3844 return;
3845 }
3846 switch(tag) {
3847 default:
3848 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
3849 break;
3850 }
3851 }
3852 #endif
3853 }
3854
3855 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3856 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3857 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3858 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
3859 uint tag;
3860 while ((tag = input.ReadTag()) != 0) {
3861 if ((tag & 7) == 4) {
3862 // Abort on any end group tag.
3863 return;
3864 }
3865 switch(tag) {
3866 default:
3867 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
3868 break;
3869 }
3870 }
3871 }
3872 #endif
3873
3874 }
3875
3891
3896 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
3897 public sealed partial class AbsencesBasedAcceptanceStrategy : pb::IMessage<AbsencesBasedAcceptanceStrategy>
3898 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3899 , pb::IBufferMessage
3900 #endif
3901 {
3902 private static readonly pb::MessageParser<AbsencesBasedAcceptanceStrategy> _parser = new pb::MessageParser<AbsencesBasedAcceptanceStrategy>(() => new AbsencesBasedAcceptanceStrategy());
3903 private pb::UnknownFieldSet _unknownFields;
3904 private int _hasBits0;
3905 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3906 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3907 public static pb::MessageParser<AbsencesBasedAcceptanceStrategy> Parser { get { return _parser; } }
3908
3909 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3910 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3911 public static pbr::MessageDescriptor Descriptor {
3912 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[14]; }
3913 }
3914
3915 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3916 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3917 pbr::MessageDescriptor pb::IMessage.Descriptor {
3918 get { return Descriptor; }
3919 }
3920
3921 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3922 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3924 OnConstruction();
3926
3927 partial void OnConstruction();
3928
3929 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3930 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3932 _hasBits0 = other._hasBits0;
3933 removeRouteWithLowestAbsences_ = other.removeRouteWithLowestAbsences_;
3934 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
3935 }
3936
3937 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3938 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3939 public AbsencesBasedAcceptanceStrategy Clone() {
3940 return new AbsencesBasedAcceptanceStrategy(this);
3942
3944 public const int RemoveRouteWithLowestAbsencesFieldNumber = 1;
3945 private readonly static bool RemoveRouteWithLowestAbsencesDefaultValue = false;
3946
3947 private bool removeRouteWithLowestAbsences_;
3949 /// If true, when a new best solution is found, the route with the lowest sum
3950 /// of absences is removed from the reference solution.
3951 /// </summary>
3952 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3953 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3954 public bool RemoveRouteWithLowestAbsences {
3955 get { if ((_hasBits0 & 1) != 0) { return removeRouteWithLowestAbsences_; } else { return RemoveRouteWithLowestAbsencesDefaultValue; } }
3956 set {
3957 _hasBits0 |= 1;
3958 removeRouteWithLowestAbsences_ = value;
3959 }
3960 }
3962 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3963 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3965 get { return (_hasBits0 & 1) != 0; }
3966 }
3968 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3969 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3970 public void ClearRemoveRouteWithLowestAbsences() {
3971 _hasBits0 &= ~1;
3973
3974 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3975 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3976 public override bool Equals(object other) {
3977 return Equals(other as AbsencesBasedAcceptanceStrategy);
3978 }
3979
3980 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3981 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3983 if (ReferenceEquals(other, null)) {
3984 return false;
3985 }
3986 if (ReferenceEquals(other, this)) {
3987 return true;
3989 if (RemoveRouteWithLowestAbsences != other.RemoveRouteWithLowestAbsences) return false;
3990 return Equals(_unknownFields, other._unknownFields);
3991 }
3992
3993 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3994 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3995 public override int GetHashCode() {
3996 int hash = 1;
3998 if (_unknownFields != null) {
3999 hash ^= _unknownFields.GetHashCode();
4001 return hash;
4002 }
4003
4004 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4005 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4006 public override string ToString() {
4007 return pb::JsonFormatter.ToDiagnosticString(this);
4008 }
4009
4010 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4011 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4012 public void WriteTo(pb::CodedOutputStream output) {
4013 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4014 output.WriteRawMessage(this);
4015 #else
4017 output.WriteRawTag(8);
4018 output.WriteBool(RemoveRouteWithLowestAbsences);
4019 }
4020 if (_unknownFields != null) {
4021 _unknownFields.WriteTo(output);
4022 }
4023 #endif
4025
4026 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4027 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4028 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4029 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
4031 output.WriteRawTag(8);
4032 output.WriteBool(RemoveRouteWithLowestAbsences);
4033 }
4034 if (_unknownFields != null) {
4035 _unknownFields.WriteTo(ref output);
4036 }
4037 }
4038 #endif
4039
4040 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4041 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4042 public int CalculateSize() {
4043 int size = 0;
4044 if (HasRemoveRouteWithLowestAbsences) {
4045 size += 1 + 1;
4046 }
4047 if (_unknownFields != null) {
4048 size += _unknownFields.CalculateSize();
4049 }
4050 return size;
4051 }
4052
4053 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4054 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4055 public void MergeFrom(AbsencesBasedAcceptanceStrategy other) {
4056 if (other == null) {
4057 return;
4058 }
4059 if (other.HasRemoveRouteWithLowestAbsences) {
4060 RemoveRouteWithLowestAbsences = other.RemoveRouteWithLowestAbsences;
4061 }
4062 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
4063 }
4064
4065 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4066 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4067 public void MergeFrom(pb::CodedInputStream input) {
4068 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4069 input.ReadRawMessage(this);
4070 #else
4071 uint tag;
4072 while ((tag = input.ReadTag()) != 0) {
4073 if ((tag & 7) == 4) {
4074 // Abort on any end group tag.
4075 return;
4076 }
4077 switch(tag) {
4078 default:
4079 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
4080 break;
4081 case 8: {
4082 RemoveRouteWithLowestAbsences = input.ReadBool();
4083 break;
4084 }
4086 }
4087 #endif
4088 }
4089
4090 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4091 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4092 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4093 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
4094 uint tag;
4095 while ((tag = input.ReadTag()) != 0) {
4096 if ((tag & 7) == 4) {
4097 // Abort on any end group tag.
4098 return;
4099 }
4100 switch(tag) {
4101 default:
4102 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
4103 break;
4104 case 8: {
4105 RemoveRouteWithLowestAbsences = input.ReadBool();
4106 break;
4107 }
4108 }
4109 }
4110 }
4111 #endif
4112
4113 }
4114
4118 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
4119 public sealed partial class AcceptanceStrategy : pb::IMessage<AcceptanceStrategy>
4120 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4121 , pb::IBufferMessage
4122 #endif
4123 {
4124 private static readonly pb::MessageParser<AcceptanceStrategy> _parser = new pb::MessageParser<AcceptanceStrategy>(() => new AcceptanceStrategy());
4125 private pb::UnknownFieldSet _unknownFields;
4126 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4127 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4128 public static pb::MessageParser<AcceptanceStrategy> Parser { get { return _parser; } }
4129
4130 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4131 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4132 public static pbr::MessageDescriptor Descriptor {
4133 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[15]; }
4134 }
4135
4136 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4137 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4138 pbr::MessageDescriptor pb::IMessage.Descriptor {
4139 get { return Descriptor; }
4140 }
4141
4142 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4143 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4144 public AcceptanceStrategy() {
4145 OnConstruction();
4147
4148 partial void OnConstruction();
4149
4150 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4151 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4152 public AcceptanceStrategy(AcceptanceStrategy other) : this() {
4153 switch (other.StrategyCase) {
4154 case StrategyOneofCase.GreedyDescent:
4155 GreedyDescent = other.GreedyDescent.Clone();
4156 break;
4157 case StrategyOneofCase.SimulatedAnnealing:
4158 SimulatedAnnealing = other.SimulatedAnnealing.Clone();
4159 break;
4160 case StrategyOneofCase.AllNodesPerformed:
4161 AllNodesPerformed = other.AllNodesPerformed.Clone();
4162 break;
4163 case StrategyOneofCase.MoreNodesPerformed:
4164 MoreNodesPerformed = other.MoreNodesPerformed.Clone();
4165 break;
4166 case StrategyOneofCase.AbsencesBased:
4167 AbsencesBased = other.AbsencesBased.Clone();
4168 break;
4169 }
4171 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
4172 }
4173
4174 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4175 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4176 public AcceptanceStrategy Clone() {
4177 return new AcceptanceStrategy(this);
4178 }
4179
4181 public const int GreedyDescentFieldNumber = 1;
4182 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4183 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4184 public global::Google.OrTools.ConstraintSolver.GreedyDescentAcceptanceStrategy GreedyDescent {
4185 get { return strategyCase_ == StrategyOneofCase.GreedyDescent ? (global::Google.OrTools.ConstraintSolver.GreedyDescentAcceptanceStrategy) strategy_ : null; }
4186 set {
4187 strategy_ = value;
4188 strategyCase_ = value == null ? StrategyOneofCase.None : StrategyOneofCase.GreedyDescent;
4189 }
4190 }
4191
4193 public const int SimulatedAnnealingFieldNumber = 2;
4194 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4195 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4197 get { return strategyCase_ == StrategyOneofCase.SimulatedAnnealing ? (global::Google.OrTools.ConstraintSolver.SimulatedAnnealingAcceptanceStrategy) strategy_ : null; }
4198 set {
4199 strategy_ = value;
4200 strategyCase_ = value == null ? StrategyOneofCase.None : StrategyOneofCase.SimulatedAnnealing;
4201 }
4203
4205 public const int AllNodesPerformedFieldNumber = 3;
4206 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4207 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4208 public global::Google.OrTools.ConstraintSolver.AllNodesPerformedAcceptanceStrategy AllNodesPerformed {
4209 get { return strategyCase_ == StrategyOneofCase.AllNodesPerformed ? (global::Google.OrTools.ConstraintSolver.AllNodesPerformedAcceptanceStrategy) strategy_ : null; }
4210 set {
4211 strategy_ = value;
4212 strategyCase_ = value == null ? StrategyOneofCase.None : StrategyOneofCase.AllNodesPerformed;
4213 }
4215
4217 public const int MoreNodesPerformedFieldNumber = 4;
4218 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4219 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4220 public global::Google.OrTools.ConstraintSolver.MoreNodesPerformedAcceptanceStrategy MoreNodesPerformed {
4221 get { return strategyCase_ == StrategyOneofCase.MoreNodesPerformed ? (global::Google.OrTools.ConstraintSolver.MoreNodesPerformedAcceptanceStrategy) strategy_ : null; }
4222 set {
4223 strategy_ = value;
4224 strategyCase_ = value == null ? StrategyOneofCase.None : StrategyOneofCase.MoreNodesPerformed;
4225 }
4227
4229 public const int AbsencesBasedFieldNumber = 5;
4230 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4231 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4232 public global::Google.OrTools.ConstraintSolver.AbsencesBasedAcceptanceStrategy AbsencesBased {
4233 get { return strategyCase_ == StrategyOneofCase.AbsencesBased ? (global::Google.OrTools.ConstraintSolver.AbsencesBasedAcceptanceStrategy) strategy_ : null; }
4234 set {
4235 strategy_ = value;
4236 strategyCase_ = value == null ? StrategyOneofCase.None : StrategyOneofCase.AbsencesBased;
4237 }
4239
4240 private object strategy_;
4242 public enum StrategyOneofCase {
4243 None = 0,
4244 GreedyDescent = 1,
4245 SimulatedAnnealing = 2,
4246 AllNodesPerformed = 3,
4248 AbsencesBased = 5,
4249 }
4250 private StrategyOneofCase strategyCase_ = StrategyOneofCase.None;
4251 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4252 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4254 get { return strategyCase_; }
4255 }
4256
4257 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4258 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4259 public void ClearStrategy() {
4260 strategyCase_ = StrategyOneofCase.None;
4261 strategy_ = null;
4264 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4265 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4266 public override bool Equals(object other) {
4267 return Equals(other as AcceptanceStrategy);
4268 }
4269
4270 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4271 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4272 public bool Equals(AcceptanceStrategy other) {
4273 if (ReferenceEquals(other, null)) {
4274 return false;
4275 }
4276 if (ReferenceEquals(other, this)) {
4277 return true;
4278 }
4279 if (!object.Equals(GreedyDescent, other.GreedyDescent)) return false;
4280 if (!object.Equals(SimulatedAnnealing, other.SimulatedAnnealing)) return false;
4281 if (!object.Equals(AllNodesPerformed, other.AllNodesPerformed)) return false;
4282 if (!object.Equals(MoreNodesPerformed, other.MoreNodesPerformed)) return false;
4283 if (!object.Equals(AbsencesBased, other.AbsencesBased)) return false;
4284 if (StrategyCase != other.StrategyCase) return false;
4285 return Equals(_unknownFields, other._unknownFields);
4286 }
4287
4288 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4289 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4290 public override int GetHashCode() {
4291 int hash = 1;
4292 if (strategyCase_ == StrategyOneofCase.GreedyDescent) hash ^= GreedyDescent.GetHashCode();
4293 if (strategyCase_ == StrategyOneofCase.SimulatedAnnealing) hash ^= SimulatedAnnealing.GetHashCode();
4294 if (strategyCase_ == StrategyOneofCase.AllNodesPerformed) hash ^= AllNodesPerformed.GetHashCode();
4295 if (strategyCase_ == StrategyOneofCase.MoreNodesPerformed) hash ^= MoreNodesPerformed.GetHashCode();
4296 if (strategyCase_ == StrategyOneofCase.AbsencesBased) hash ^= AbsencesBased.GetHashCode();
4297 hash ^= (int) strategyCase_;
4298 if (_unknownFields != null) {
4299 hash ^= _unknownFields.GetHashCode();
4300 }
4301 return hash;
4302 }
4303
4304 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4305 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4306 public override string ToString() {
4307 return pb::JsonFormatter.ToDiagnosticString(this);
4309
4310 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4311 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4312 public void WriteTo(pb::CodedOutputStream output) {
4313 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4314 output.WriteRawMessage(this);
4315 #else
4316 if (strategyCase_ == StrategyOneofCase.GreedyDescent) {
4317 output.WriteRawTag(10);
4318 output.WriteMessage(GreedyDescent);
4319 }
4320 if (strategyCase_ == StrategyOneofCase.SimulatedAnnealing) {
4321 output.WriteRawTag(18);
4322 output.WriteMessage(SimulatedAnnealing);
4323 }
4324 if (strategyCase_ == StrategyOneofCase.AllNodesPerformed) {
4325 output.WriteRawTag(26);
4326 output.WriteMessage(AllNodesPerformed);
4327 }
4328 if (strategyCase_ == StrategyOneofCase.MoreNodesPerformed) {
4329 output.WriteRawTag(34);
4330 output.WriteMessage(MoreNodesPerformed);
4331 }
4332 if (strategyCase_ == StrategyOneofCase.AbsencesBased) {
4333 output.WriteRawTag(42);
4334 output.WriteMessage(AbsencesBased);
4335 }
4336 if (_unknownFields != null) {
4337 _unknownFields.WriteTo(output);
4338 }
4339 #endif
4340 }
4341
4342 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4343 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4344 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4345 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
4346 if (strategyCase_ == StrategyOneofCase.GreedyDescent) {
4347 output.WriteRawTag(10);
4348 output.WriteMessage(GreedyDescent);
4349 }
4350 if (strategyCase_ == StrategyOneofCase.SimulatedAnnealing) {
4351 output.WriteRawTag(18);
4352 output.WriteMessage(SimulatedAnnealing);
4353 }
4354 if (strategyCase_ == StrategyOneofCase.AllNodesPerformed) {
4355 output.WriteRawTag(26);
4356 output.WriteMessage(AllNodesPerformed);
4357 }
4358 if (strategyCase_ == StrategyOneofCase.MoreNodesPerformed) {
4359 output.WriteRawTag(34);
4360 output.WriteMessage(MoreNodesPerformed);
4361 }
4362 if (strategyCase_ == StrategyOneofCase.AbsencesBased) {
4363 output.WriteRawTag(42);
4364 output.WriteMessage(AbsencesBased);
4365 }
4366 if (_unknownFields != null) {
4367 _unknownFields.WriteTo(ref output);
4368 }
4369 }
4370 #endif
4371
4372 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4373 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4374 public int CalculateSize() {
4375 int size = 0;
4376 if (strategyCase_ == StrategyOneofCase.GreedyDescent) {
4377 size += 1 + pb::CodedOutputStream.ComputeMessageSize(GreedyDescent);
4378 }
4379 if (strategyCase_ == StrategyOneofCase.SimulatedAnnealing) {
4380 size += 1 + pb::CodedOutputStream.ComputeMessageSize(SimulatedAnnealing);
4381 }
4382 if (strategyCase_ == StrategyOneofCase.AllNodesPerformed) {
4383 size += 1 + pb::CodedOutputStream.ComputeMessageSize(AllNodesPerformed);
4384 }
4385 if (strategyCase_ == StrategyOneofCase.MoreNodesPerformed) {
4386 size += 1 + pb::CodedOutputStream.ComputeMessageSize(MoreNodesPerformed);
4387 }
4388 if (strategyCase_ == StrategyOneofCase.AbsencesBased) {
4389 size += 1 + pb::CodedOutputStream.ComputeMessageSize(AbsencesBased);
4390 }
4391 if (_unknownFields != null) {
4392 size += _unknownFields.CalculateSize();
4393 }
4394 return size;
4395 }
4396
4397 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4398 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4399 public void MergeFrom(AcceptanceStrategy other) {
4400 if (other == null) {
4401 return;
4402 }
4403 switch (other.StrategyCase) {
4404 case StrategyOneofCase.GreedyDescent:
4405 if (GreedyDescent == null) {
4406 GreedyDescent = new global::Google.OrTools.ConstraintSolver.GreedyDescentAcceptanceStrategy();
4407 }
4408 GreedyDescent.MergeFrom(other.GreedyDescent);
4409 break;
4410 case StrategyOneofCase.SimulatedAnnealing:
4411 if (SimulatedAnnealing == null) {
4412 SimulatedAnnealing = new global::Google.OrTools.ConstraintSolver.SimulatedAnnealingAcceptanceStrategy();
4413 }
4414 SimulatedAnnealing.MergeFrom(other.SimulatedAnnealing);
4415 break;
4416 case StrategyOneofCase.AllNodesPerformed:
4417 if (AllNodesPerformed == null) {
4418 AllNodesPerformed = new global::Google.OrTools.ConstraintSolver.AllNodesPerformedAcceptanceStrategy();
4419 }
4420 AllNodesPerformed.MergeFrom(other.AllNodesPerformed);
4421 break;
4422 case StrategyOneofCase.MoreNodesPerformed:
4423 if (MoreNodesPerformed == null) {
4424 MoreNodesPerformed = new global::Google.OrTools.ConstraintSolver.MoreNodesPerformedAcceptanceStrategy();
4425 }
4426 MoreNodesPerformed.MergeFrom(other.MoreNodesPerformed);
4427 break;
4428 case StrategyOneofCase.AbsencesBased:
4429 if (AbsencesBased == null) {
4430 AbsencesBased = new global::Google.OrTools.ConstraintSolver.AbsencesBasedAcceptanceStrategy();
4431 }
4432 AbsencesBased.MergeFrom(other.AbsencesBased);
4433 break;
4434 }
4435
4436 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
4437 }
4438
4439 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4440 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4441 public void MergeFrom(pb::CodedInputStream input) {
4442 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4443 input.ReadRawMessage(this);
4444 #else
4445 uint tag;
4446 while ((tag = input.ReadTag()) != 0) {
4447 if ((tag & 7) == 4) {
4448 // Abort on any end group tag.
4449 return;
4450 }
4451 switch(tag) {
4452 default:
4453 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
4454 break;
4455 case 10: {
4456 global::Google.OrTools.ConstraintSolver.GreedyDescentAcceptanceStrategy subBuilder = new global::Google.OrTools.ConstraintSolver.GreedyDescentAcceptanceStrategy();
4457 if (strategyCase_ == StrategyOneofCase.GreedyDescent) {
4458 subBuilder.MergeFrom(GreedyDescent);
4460 input.ReadMessage(subBuilder);
4461 GreedyDescent = subBuilder;
4462 break;
4463 }
4464 case 18: {
4465 global::Google.OrTools.ConstraintSolver.SimulatedAnnealingAcceptanceStrategy subBuilder = new global::Google.OrTools.ConstraintSolver.SimulatedAnnealingAcceptanceStrategy();
4466 if (strategyCase_ == StrategyOneofCase.SimulatedAnnealing) {
4467 subBuilder.MergeFrom(SimulatedAnnealing);
4468 }
4469 input.ReadMessage(subBuilder);
4470 SimulatedAnnealing = subBuilder;
4471 break;
4472 }
4473 case 26: {
4474 global::Google.OrTools.ConstraintSolver.AllNodesPerformedAcceptanceStrategy subBuilder = new global::Google.OrTools.ConstraintSolver.AllNodesPerformedAcceptanceStrategy();
4475 if (strategyCase_ == StrategyOneofCase.AllNodesPerformed) {
4476 subBuilder.MergeFrom(AllNodesPerformed);
4477 }
4478 input.ReadMessage(subBuilder);
4479 AllNodesPerformed = subBuilder;
4480 break;
4481 }
4482 case 34: {
4483 global::Google.OrTools.ConstraintSolver.MoreNodesPerformedAcceptanceStrategy subBuilder = new global::Google.OrTools.ConstraintSolver.MoreNodesPerformedAcceptanceStrategy();
4484 if (strategyCase_ == StrategyOneofCase.MoreNodesPerformed) {
4485 subBuilder.MergeFrom(MoreNodesPerformed);
4486 }
4487 input.ReadMessage(subBuilder);
4488 MoreNodesPerformed = subBuilder;
4489 break;
4490 }
4491 case 42: {
4492 global::Google.OrTools.ConstraintSolver.AbsencesBasedAcceptanceStrategy subBuilder = new global::Google.OrTools.ConstraintSolver.AbsencesBasedAcceptanceStrategy();
4493 if (strategyCase_ == StrategyOneofCase.AbsencesBased) {
4494 subBuilder.MergeFrom(AbsencesBased);
4495 }
4496 input.ReadMessage(subBuilder);
4497 AbsencesBased = subBuilder;
4498 break;
4499 }
4500 }
4501 }
4502 #endif
4503 }
4504
4505 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4506 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4507 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4508 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
4509 uint tag;
4510 while ((tag = input.ReadTag()) != 0) {
4511 if ((tag & 7) == 4) {
4512 // Abort on any end group tag.
4513 return;
4514 }
4515 switch(tag) {
4516 default:
4517 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
4518 break;
4519 case 10: {
4520 global::Google.OrTools.ConstraintSolver.GreedyDescentAcceptanceStrategy subBuilder = new global::Google.OrTools.ConstraintSolver.GreedyDescentAcceptanceStrategy();
4521 if (strategyCase_ == StrategyOneofCase.GreedyDescent) {
4522 subBuilder.MergeFrom(GreedyDescent);
4523 }
4524 input.ReadMessage(subBuilder);
4525 GreedyDescent = subBuilder;
4526 break;
4527 }
4528 case 18: {
4529 global::Google.OrTools.ConstraintSolver.SimulatedAnnealingAcceptanceStrategy subBuilder = new global::Google.OrTools.ConstraintSolver.SimulatedAnnealingAcceptanceStrategy();
4530 if (strategyCase_ == StrategyOneofCase.SimulatedAnnealing) {
4531 subBuilder.MergeFrom(SimulatedAnnealing);
4532 }
4533 input.ReadMessage(subBuilder);
4534 SimulatedAnnealing = subBuilder;
4535 break;
4536 }
4537 case 26: {
4538 global::Google.OrTools.ConstraintSolver.AllNodesPerformedAcceptanceStrategy subBuilder = new global::Google.OrTools.ConstraintSolver.AllNodesPerformedAcceptanceStrategy();
4539 if (strategyCase_ == StrategyOneofCase.AllNodesPerformed) {
4540 subBuilder.MergeFrom(AllNodesPerformed);
4541 }
4542 input.ReadMessage(subBuilder);
4543 AllNodesPerformed = subBuilder;
4544 break;
4545 }
4546 case 34: {
4547 global::Google.OrTools.ConstraintSolver.MoreNodesPerformedAcceptanceStrategy subBuilder = new global::Google.OrTools.ConstraintSolver.MoreNodesPerformedAcceptanceStrategy();
4548 if (strategyCase_ == StrategyOneofCase.MoreNodesPerformed) {
4549 subBuilder.MergeFrom(MoreNodesPerformed);
4550 }
4551 input.ReadMessage(subBuilder);
4552 MoreNodesPerformed = subBuilder;
4553 break;
4554 }
4555 case 42: {
4556 global::Google.OrTools.ConstraintSolver.AbsencesBasedAcceptanceStrategy subBuilder = new global::Google.OrTools.ConstraintSolver.AbsencesBasedAcceptanceStrategy();
4557 if (strategyCase_ == StrategyOneofCase.AbsencesBased) {
4558 subBuilder.MergeFrom(AbsencesBased);
4559 }
4560 input.ReadMessage(subBuilder);
4561 AbsencesBased = subBuilder;
4562 break;
4563 }
4564 }
4565 }
4566 }
4567 #endif
4568
4569 }
4570
4574 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
4575 public sealed partial class IteratedLocalSearchParameters : pb::IMessage<IteratedLocalSearchParameters>
4576 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4577 , pb::IBufferMessage
4578 #endif
4579 {
4580 private static readonly pb::MessageParser<IteratedLocalSearchParameters> _parser = new pb::MessageParser<IteratedLocalSearchParameters>(() => new IteratedLocalSearchParameters());
4581 private pb::UnknownFieldSet _unknownFields;
4582 private int _hasBits0;
4583 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4584 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4585 public static pb::MessageParser<IteratedLocalSearchParameters> Parser { get { return _parser; } }
4586
4587 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4588 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4589 public static pbr::MessageDescriptor Descriptor {
4590 get { return global::Google.OrTools.ConstraintSolver.RoutingIlsReflection.Descriptor.MessageTypes[16]; }
4591 }
4592
4593 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4594 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4595 pbr::MessageDescriptor pb::IMessage.Descriptor {
4596 get { return Descriptor; }
4597 }
4598
4599 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4600 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4602 OnConstruction();
4604
4605 partial void OnConstruction();
4606
4607 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4608 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4610 _hasBits0 = other._hasBits0;
4611 perturbationStrategy_ = other.perturbationStrategy_;
4612 ruinRecreateParameters_ = other.ruinRecreateParameters_ != null ? other.ruinRecreateParameters_.Clone() : null;
4613 improvePerturbedSolution_ = other.improvePerturbedSolution_;
4614 referenceSolutionAcceptanceStrategy_ = other.referenceSolutionAcceptanceStrategy_ != null ? other.referenceSolutionAcceptanceStrategy_.Clone() : null;
4615 bestSolutionAcceptanceStrategy_ = other.bestSolutionAcceptanceStrategy_ != null ? other.bestSolutionAcceptanceStrategy_.Clone() : null;
4616 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
4617 }
4618
4619 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4620 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4622 return new IteratedLocalSearchParameters(this);
4623 }
4624
4626 public const int PerturbationStrategyFieldNumber = 1;
4627 private global::Google.OrTools.ConstraintSolver.PerturbationStrategy.Types.Value perturbationStrategy_ = global::Google.OrTools.ConstraintSolver.PerturbationStrategy.Types.Value.Unset;
4632 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4633 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4635 get { return perturbationStrategy_; }
4636 set {
4637 perturbationStrategy_ = value;
4638 }
4640
4642 public const int RuinRecreateParametersFieldNumber = 2;
4643 private global::Google.OrTools.ConstraintSolver.RuinRecreateParameters ruinRecreateParameters_;
4647 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4648 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4650 get { return ruinRecreateParameters_; }
4651 set {
4652 ruinRecreateParameters_ = value;
4653 }
4654 }
4655
4657 public const int ImprovePerturbedSolutionFieldNumber = 3;
4658 private readonly static bool ImprovePerturbedSolutionDefaultValue = false;
4659
4660 private bool improvePerturbedSolution_;
4665 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4666 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4668 get { if ((_hasBits0 & 1) != 0) { return improvePerturbedSolution_; } else { return ImprovePerturbedSolutionDefaultValue; } }
4669 set {
4670 _hasBits0 |= 1;
4671 improvePerturbedSolution_ = value;
4672 }
4673 }
4675 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4676 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4677 public bool HasImprovePerturbedSolution {
4678 get { return (_hasBits0 & 1) != 0; }
4679 }
4681 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4682 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4683 public void ClearImprovePerturbedSolution() {
4684 _hasBits0 &= ~1;
4686
4688 public const int ReferenceSolutionAcceptanceStrategyFieldNumber = 4;
4689 private global::Google.OrTools.ConstraintSolver.AcceptanceStrategy referenceSolutionAcceptanceStrategy_;
4692
4694 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4695 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4697 get { return referenceSolutionAcceptanceStrategy_; }
4698 set {
4699 referenceSolutionAcceptanceStrategy_ = value;
4700 }
4702
4704 public const int BestSolutionAcceptanceStrategyFieldNumber = 5;
4705 private global::Google.OrTools.ConstraintSolver.AcceptanceStrategy bestSolutionAcceptanceStrategy_;
4710 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4711 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4713 get { return bestSolutionAcceptanceStrategy_; }
4714 set {
4715 bestSolutionAcceptanceStrategy_ = value;
4716 }
4717 }
4718
4719 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4720 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4721 public override bool Equals(object other) {
4723 }
4724
4725 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4726 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4727 public bool Equals(IteratedLocalSearchParameters other) {
4728 if (ReferenceEquals(other, null)) {
4729 return false;
4731 if (ReferenceEquals(other, this)) {
4732 return true;
4733 }
4734 if (PerturbationStrategy != other.PerturbationStrategy) return false;
4735 if (!object.Equals(RuinRecreateParameters, other.RuinRecreateParameters)) return false;
4736 if (ImprovePerturbedSolution != other.ImprovePerturbedSolution) return false;
4737 if (!object.Equals(ReferenceSolutionAcceptanceStrategy, other.ReferenceSolutionAcceptanceStrategy)) return false;
4738 if (!object.Equals(BestSolutionAcceptanceStrategy, other.BestSolutionAcceptanceStrategy)) return false;
4739 return Equals(_unknownFields, other._unknownFields);
4740 }
4741
4742 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4743 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4744 public override int GetHashCode() {
4745 int hash = 1;
4746 if (PerturbationStrategy != global::Google.OrTools.ConstraintSolver.PerturbationStrategy.Types.Value.Unset) hash ^= PerturbationStrategy.GetHashCode();
4747 if (ruinRecreateParameters_ != null) hash ^= RuinRecreateParameters.GetHashCode();
4748 if (HasImprovePerturbedSolution) hash ^= ImprovePerturbedSolution.GetHashCode();
4749 if (referenceSolutionAcceptanceStrategy_ != null) hash ^= ReferenceSolutionAcceptanceStrategy.GetHashCode();
4750 if (bestSolutionAcceptanceStrategy_ != null) hash ^= BestSolutionAcceptanceStrategy.GetHashCode();
4751 if (_unknownFields != null) {
4752 hash ^= _unknownFields.GetHashCode();
4753 }
4754 return hash;
4755 }
4756
4757 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4758 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4759 public override string ToString() {
4760 return pb::JsonFormatter.ToDiagnosticString(this);
4761 }
4763 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4764 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4765 public void WriteTo(pb::CodedOutputStream output) {
4766 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4767 output.WriteRawMessage(this);
4768 #else
4770 output.WriteRawTag(8);
4771 output.WriteEnum((int) PerturbationStrategy);
4772 }
4773 if (ruinRecreateParameters_ != null) {
4774 output.WriteRawTag(18);
4775 output.WriteMessage(RuinRecreateParameters);
4776 }
4778 output.WriteRawTag(24);
4779 output.WriteBool(ImprovePerturbedSolution);
4780 }
4781 if (referenceSolutionAcceptanceStrategy_ != null) {
4782 output.WriteRawTag(34);
4784 }
4785 if (bestSolutionAcceptanceStrategy_ != null) {
4786 output.WriteRawTag(42);
4787 output.WriteMessage(BestSolutionAcceptanceStrategy);
4788 }
4789 if (_unknownFields != null) {
4790 _unknownFields.WriteTo(output);
4791 }
4792 #endif
4793 }
4794
4795 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4796 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4797 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4798 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
4799 if (PerturbationStrategy != global::Google.OrTools.ConstraintSolver.PerturbationStrategy.Types.Value.Unset) {
4800 output.WriteRawTag(8);
4801 output.WriteEnum((int) PerturbationStrategy);
4802 }
4803 if (ruinRecreateParameters_ != null) {
4804 output.WriteRawTag(18);
4805 output.WriteMessage(RuinRecreateParameters);
4806 }
4807 if (HasImprovePerturbedSolution) {
4808 output.WriteRawTag(24);
4809 output.WriteBool(ImprovePerturbedSolution);
4810 }
4811 if (referenceSolutionAcceptanceStrategy_ != null) {
4812 output.WriteRawTag(34);
4813 output.WriteMessage(ReferenceSolutionAcceptanceStrategy);
4814 }
4815 if (bestSolutionAcceptanceStrategy_ != null) {
4816 output.WriteRawTag(42);
4817 output.WriteMessage(BestSolutionAcceptanceStrategy);
4818 }
4819 if (_unknownFields != null) {
4820 _unknownFields.WriteTo(ref output);
4821 }
4822 }
4823 #endif
4824
4825 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4826 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4827 public int CalculateSize() {
4828 int size = 0;
4829 if (PerturbationStrategy != global::Google.OrTools.ConstraintSolver.PerturbationStrategy.Types.Value.Unset) {
4830 size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PerturbationStrategy);
4831 }
4832 if (ruinRecreateParameters_ != null) {
4833 size += 1 + pb::CodedOutputStream.ComputeMessageSize(RuinRecreateParameters);
4834 }
4835 if (HasImprovePerturbedSolution) {
4836 size += 1 + 1;
4837 }
4838 if (referenceSolutionAcceptanceStrategy_ != null) {
4839 size += 1 + pb::CodedOutputStream.ComputeMessageSize(ReferenceSolutionAcceptanceStrategy);
4840 }
4841 if (bestSolutionAcceptanceStrategy_ != null) {
4842 size += 1 + pb::CodedOutputStream.ComputeMessageSize(BestSolutionAcceptanceStrategy);
4843 }
4844 if (_unknownFields != null) {
4845 size += _unknownFields.CalculateSize();
4846 }
4847 return size;
4848 }
4849
4850 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4851 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4852 public void MergeFrom(IteratedLocalSearchParameters other) {
4853 if (other == null) {
4854 return;
4855 }
4856 if (other.PerturbationStrategy != global::Google.OrTools.ConstraintSolver.PerturbationStrategy.Types.Value.Unset) {
4857 PerturbationStrategy = other.PerturbationStrategy;
4858 }
4859 if (other.ruinRecreateParameters_ != null) {
4860 if (ruinRecreateParameters_ == null) {
4861 RuinRecreateParameters = new global::Google.OrTools.ConstraintSolver.RuinRecreateParameters();
4862 }
4863 RuinRecreateParameters.MergeFrom(other.RuinRecreateParameters);
4864 }
4865 if (other.HasImprovePerturbedSolution) {
4866 ImprovePerturbedSolution = other.ImprovePerturbedSolution;
4867 }
4868 if (other.referenceSolutionAcceptanceStrategy_ != null) {
4869 if (referenceSolutionAcceptanceStrategy_ == null) {
4870 ReferenceSolutionAcceptanceStrategy = new global::Google.OrTools.ConstraintSolver.AcceptanceStrategy();
4871 }
4872 ReferenceSolutionAcceptanceStrategy.MergeFrom(other.ReferenceSolutionAcceptanceStrategy);
4873 }
4874 if (other.bestSolutionAcceptanceStrategy_ != null) {
4875 if (bestSolutionAcceptanceStrategy_ == null) {
4876 BestSolutionAcceptanceStrategy = new global::Google.OrTools.ConstraintSolver.AcceptanceStrategy();
4877 }
4878 BestSolutionAcceptanceStrategy.MergeFrom(other.BestSolutionAcceptanceStrategy);
4879 }
4880 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
4881 }
4882
4883 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4884 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4885 public void MergeFrom(pb::CodedInputStream input) {
4886 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4887 input.ReadRawMessage(this);
4888 #else
4889 uint tag;
4890 while ((tag = input.ReadTag()) != 0) {
4891 if ((tag & 7) == 4) {
4892 // Abort on any end group tag.
4893 return;
4894 }
4895 switch(tag) {
4896 default:
4897 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
4898 break;
4899 case 8: {
4900 PerturbationStrategy = (global::Google.OrTools.ConstraintSolver.PerturbationStrategy.Types.Value) input.ReadEnum();
4901 break;
4902 }
4903 case 18: {
4904 if (ruinRecreateParameters_ == null) {
4905 RuinRecreateParameters = new global::Google.OrTools.ConstraintSolver.RuinRecreateParameters();
4906 }
4907 input.ReadMessage(RuinRecreateParameters);
4908 break;
4909 }
4910 case 24: {
4911 ImprovePerturbedSolution = input.ReadBool();
4912 break;
4913 }
4914 case 34: {
4915 if (referenceSolutionAcceptanceStrategy_ == null) {
4916 ReferenceSolutionAcceptanceStrategy = new global::Google.OrTools.ConstraintSolver.AcceptanceStrategy();
4917 }
4918 input.ReadMessage(ReferenceSolutionAcceptanceStrategy);
4919 break;
4920 }
4921 case 42: {
4922 if (bestSolutionAcceptanceStrategy_ == null) {
4923 BestSolutionAcceptanceStrategy = new global::Google.OrTools.ConstraintSolver.AcceptanceStrategy();
4924 }
4925 input.ReadMessage(BestSolutionAcceptanceStrategy);
4926 break;
4927 }
4928 }
4929 }
4930 #endif
4931 }
4932
4933 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4934 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4935 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4936 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
4937 uint tag;
4938 while ((tag = input.ReadTag()) != 0) {
4939 if ((tag & 7) == 4) {
4940 // Abort on any end group tag.
4941 return;
4942 }
4943 switch(tag) {
4944 default:
4945 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
4946 break;
4947 case 8: {
4948 PerturbationStrategy = (global::Google.OrTools.ConstraintSolver.PerturbationStrategy.Types.Value) input.ReadEnum();
4949 break;
4950 }
4951 case 18: {
4952 if (ruinRecreateParameters_ == null) {
4953 RuinRecreateParameters = new global::Google.OrTools.ConstraintSolver.RuinRecreateParameters();
4954 }
4955 input.ReadMessage(RuinRecreateParameters);
4956 break;
4957 }
4958 case 24: {
4959 ImprovePerturbedSolution = input.ReadBool();
4960 break;
4961 }
4962 case 34: {
4963 if (referenceSolutionAcceptanceStrategy_ == null) {
4964 ReferenceSolutionAcceptanceStrategy = new global::Google.OrTools.ConstraintSolver.AcceptanceStrategy();
4965 }
4966 input.ReadMessage(ReferenceSolutionAcceptanceStrategy);
4967 break;
4968 }
4969 case 42: {
4970 if (bestSolutionAcceptanceStrategy_ == null) {
4971 BestSolutionAcceptanceStrategy = new global::Google.OrTools.ConstraintSolver.AcceptanceStrategy();
4972 }
4973 input.ReadMessage(BestSolutionAcceptanceStrategy);
4974 break;
4975 }
4976 }
4977 }
4978 }
4979 #endif
4980
4981 }
4982
4983 #endregion
4984
4985}
4986
4987#endregion Designer generated code
global::Google.Protobuf pb
global::Google.Protobuf.Reflection pbr
global::System.Collections.Generic scg
global::Google.Protobuf.Collections pbc
Acceptance strategy in which a solution is accepted only if it has less absences than the reference s...
bool HasRemoveRouteWithLowestAbsences
Gets whether the "remove_route_with_lowest_absences" field is set.
bool RemoveRouteWithLowestAbsences
If true, when a new best solution is found, the route with the lowest sum of absences is removed from...
Determines when a candidate solution replaces another one.
global::Google.OrTools.ConstraintSolver.AbsencesBasedAcceptanceStrategy AbsencesBased
global::Google.OrTools.ConstraintSolver.MoreNodesPerformedAcceptanceStrategy MoreNodesPerformed
global::Google.OrTools.ConstraintSolver.GreedyDescentAcceptanceStrategy GreedyDescent
global::Google.OrTools.ConstraintSolver.AllNodesPerformedAcceptanceStrategy AllNodesPerformed
StrategyOneofCase
Enum of possible cases for the "strategy" oneof.
global::Google.OrTools.ConstraintSolver.SimulatedAnnealingAcceptanceStrategy SimulatedAnnealing
Acceptance strategy in which a solution is accepted only if all nodes are performed....
void MergeFrom(AllNodesPerformedAcceptanceStrategy other)
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.
Parameters used to configure global cheapest insertion heuristics.
Acceptance strategy in which only improving solutions are accepted.
void MergeFrom(GreedyDescentAcceptanceStrategy other)
Specifies the behavior of a search based on ILS.
global::Google.OrTools.ConstraintSolver.AcceptanceStrategy BestSolutionAcceptanceStrategy
Determines when the neighbor solution S' replaces the best solution found so far.
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.AcceptanceStrategy ReferenceSolutionAcceptanceStrategy
Determines when the neighbor solution S', possibly improved if improve_perturbed_solution is true,...
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.
Parameters used to configure local cheapest insertion heuristics.
Acceptance strategy in which a solution is accepted only if it performs at least one more node than t...
void MergeFrom(MoreNodesPerformedAcceptanceStrategy other)
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 nodes by performing a random walk on the underlying routing so...
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.
Parameters to customize a recreate strategy.
const int SavingsFieldNumber
Field number for the "savings" field.
global::Google.OrTools.ConstraintSolver.SavingsParameters Savings
global::Google.OrTools.ConstraintSolver.LocalCheapestInsertionParameters LocalCheapestInsertion
ParametersOneofCase
Enum of possible cases for the "parameters" oneof.
global::Google.OrTools.ConstraintSolver.GlobalCheapestInsertionParameters GlobalCheapestInsertion
const int GlobalCheapestInsertionFieldNumber
Field number for the "global_cheapest_insertion" field.
Strategy defining how a solution is recreated.
static pb::MessageParser< RecreateStrategy > Parser
global::Google.OrTools.ConstraintSolver.FirstSolutionStrategy.Types.Value Heuristic
const int ParametersFieldNumber
Field number for the "parameters" field.
bool HasHeuristic
Gets whether the "heuristic" field is set.
global::Google.OrTools.ConstraintSolver.RecreateParameters Parameters
The selected parameters should match the chosen recreate heuristic. If not set, the default parameter...
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.
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.RecreateStrategy 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 nodes in the split sequence removal....
Parameters used to configure savings heuristics.
Acceptance strategy in which solutions are accepted with a probability that depends on its quality an...
void ClearFinalTemperature()
Clears the value of the "final_temperature" field.
const int InitialTemperatureFieldNumber
Field number for the "initial_temperature" field.
void ClearAutomaticTemperatures()
Clears the value of the "automatic_temperatures" field.
bool HasAutomaticTemperatures
Gets whether the "automatic_temperatures" field is set.
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.
double FinalTemperature
The final temperature. See CoolingScheduleStrategy for its usage.
bool HasFinalTemperature
Gets whether the "final_temperature" field is set.
bool AutomaticTemperatures
Automatically define the value for the temperatures as follows. First, a reference temperature t is d...
double InitialTemperature
The initial temperature. See CoolingScheduleStrategy for its usage.
const int CoolingScheduleStrategyFieldNumber
Field number for the "cooling_schedule_strategy" field.
bool HasInitialTemperature
Gets whether the "initial_temperature" field is set.
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.