5 #pragma warning disable 1591, 0612, 3021
6 #region Designer generated code
8 using pb = global::Google.Protobuf;
9 using pbc = global::Google.Protobuf.Collections;
10 using pbr = global::Google.Protobuf.Reflection;
20 get {
return descriptor; }
22 private static pbr::FileDescriptor descriptor;
27 "CjJvcnRvb2xzL2NvbnN0cmFpbnRfc29sdmVyL3JvdXRpbmdfcGFyYW1ldGVy",
28 "cy5wcm90bxITb3BlcmF0aW9uc19yZXNlYXJjaBoeZ29vZ2xlL3Byb3RvYnVm",
29 "L2R1cmF0aW9uLnByb3RvGi1vcnRvb2xzL2NvbnN0cmFpbnRfc29sdmVyL3Jv",
30 "dXRpbmdfZW51bXMucHJvdG8aMW9ydG9vbHMvY29uc3RyYWludF9zb2x2ZXIv",
31 "c29sdmVyX3BhcmFtZXRlcnMucHJvdG8aI29ydG9vbHMvdXRpbC9vcHRpb25h",
32 "bF9ib29sZWFuLnByb3RvIrMjChdSb3V0aW5nU2VhcmNoUGFyYW1ldGVycxJR",
33 "ChdmaXJzdF9zb2x1dGlvbl9zdHJhdGVneRgBIAEoDjIwLm9wZXJhdGlvbnNf",
34 "cmVzZWFyY2guRmlyc3RTb2x1dGlvblN0cmF0ZWd5LlZhbHVlEi4KJnVzZV91",
35 "bmZpbHRlcmVkX2ZpcnN0X3NvbHV0aW9uX3N0cmF0ZWd5GAIgASgIEh8KF3Nh",
36 "dmluZ3NfbmVpZ2hib3JzX3JhdGlvGA4gASgBEiYKHnNhdmluZ3NfbWF4X21l",
37 "bW9yeV91c2FnZV9ieXRlcxgXIAEoARIgChhzYXZpbmdzX2FkZF9yZXZlcnNl",
38 "X2FyY3MYDyABKAgSHwoXc2F2aW5nc19hcmNfY29lZmZpY2llbnQYEiABKAES",
39 "HwoXc2F2aW5nc19wYXJhbGxlbF9yb3V0ZXMYEyABKAgSLwonY2hlYXBlc3Rf",
40 "aW5zZXJ0aW9uX2ZhcnRoZXN0X3NlZWRzX3JhdGlvGBAgASgBEjkKMWNoZWFw",
41 "ZXN0X2luc2VydGlvbl9maXJzdF9zb2x1dGlvbl9uZWlnaGJvcnNfcmF0aW8Y",
42 "FSABKAESNgouY2hlYXBlc3RfaW5zZXJ0aW9uX2xzX29wZXJhdG9yX25laWdo",
43 "Ym9yc19yYXRpbxgfIAEoARIyCipjaGVhcGVzdF9pbnNlcnRpb25fYWRkX3Vu",
44 "cGVyZm9ybWVkX2VudHJpZXMYKCABKAgSKQohY2hyaXN0b2ZpZGVzX3VzZV9t",
45 "aW5pbXVtX21hdGNoaW5nGB4gASgIEm0KFmxvY2FsX3NlYXJjaF9vcGVyYXRv",
46 "cnMYAyABKAsyTS5vcGVyYXRpb25zX3Jlc2VhcmNoLlJvdXRpbmdTZWFyY2hQ",
47 "YXJhbWV0ZXJzLkxvY2FsU2VhcmNoTmVpZ2hib3Job29kT3BlcmF0b3JzEjQK",
48 "LHVzZV9tdWx0aV9hcm1lZF9iYW5kaXRfY29uY2F0ZW5hdGVfb3BlcmF0b3Jz",
49 "GCkgASgIEj8KN211bHRpX2FybWVkX2JhbmRpdF9jb21wb3VuZF9vcGVyYXRv",
50 "cl9tZW1vcnlfY29lZmZpY2llbnQYKiABKAESRAo8bXVsdGlfYXJtZWRfYmFu",
51 "ZGl0X2NvbXBvdW5kX29wZXJhdG9yX2V4cGxvcmF0aW9uX2NvZWZmaWNpZW50",
52 "GCsgASgBEjUKLXJlbG9jYXRlX2V4cGVuc2l2ZV9jaGFpbl9udW1fYXJjc190",
53 "b19jb25zaWRlchgUIAEoBRI6CjJoZXVyaXN0aWNfZXhwZW5zaXZlX2NoYWlu",
54 "X2xuc19udW1fYXJjc190b19jb25zaWRlchggIAEoBRIrCiNoZXVyaXN0aWNf",
55 "Y2xvc2Vfbm9kZXNfbG5zX251bV9ub2RlcxgjIAEoBRJXChpsb2NhbF9zZWFy",
56 "Y2hfbWV0YWhldXJpc3RpYxgEIAEoDjIzLm9wZXJhdGlvbnNfcmVzZWFyY2gu",
57 "TG9jYWxTZWFyY2hNZXRhaGV1cmlzdGljLlZhbHVlEi4KJmd1aWRlZF9sb2Nh",
58 "bF9zZWFyY2hfbGFtYmRhX2NvZWZmaWNpZW50GAUgASgBEh4KFnVzZV9kZXB0",
59 "aF9maXJzdF9zZWFyY2gYBiABKAgSNAoGdXNlX2NwGBwgASgOMiQub3BlcmF0",
60 "aW9uc19yZXNlYXJjaC5PcHRpb25hbEJvb2xlYW4SOAoKdXNlX2NwX3NhdBgb",
61 "IAEoDjIkLm9wZXJhdGlvbnNfcmVzZWFyY2guT3B0aW9uYWxCb29sZWFuEmMK",
62 "HGNvbnRpbnVvdXNfc2NoZWR1bGluZ19zb2x2ZXIYISABKA4yPS5vcGVyYXRp",
63 "b25zX3Jlc2VhcmNoLlJvdXRpbmdTZWFyY2hQYXJhbWV0ZXJzLlNjaGVkdWxp",
64 "bmdTb2x2ZXISZgofbWl4ZWRfaW50ZWdlcl9zY2hlZHVsaW5nX3NvbHZlchgi",
65 "IAEoDjI9Lm9wZXJhdGlvbnNfcmVzZWFyY2guUm91dGluZ1NlYXJjaFBhcmFt",
66 "ZXRlcnMuU2NoZWR1bGluZ1NvbHZlchIZChFvcHRpbWl6YXRpb25fc3RlcBgH",
67 "IAEoARImCh5udW1iZXJfb2Zfc29sdXRpb25zX3RvX2NvbGxlY3QYESABKAUS",
68 "FgoOc29sdXRpb25fbGltaXQYCCABKAMSLQoKdGltZV9saW1pdBgJIAEoCzIZ",
69 "Lmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIxCg5sbnNfdGltZV9saW1pdBgK",
70 "IAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhJzChxpbXByb3ZlbWVu",
71 "dF9saW1pdF9wYXJhbWV0ZXJzGCUgASgLMk0ub3BlcmF0aW9uc19yZXNlYXJj",
72 "aC5Sb3V0aW5nU2VhcmNoUGFyYW1ldGVycy5JbXByb3ZlbWVudFNlYXJjaExp",
73 "bWl0UGFyYW1ldGVycxIcChR1c2VfZnVsbF9wcm9wYWdhdGlvbhgLIAEoCBIS",
74 "Cgpsb2dfc2VhcmNoGA0gASgIEh8KF2xvZ19jb3N0X3NjYWxpbmdfZmFjdG9y",
75 "GBYgASgBEhcKD2xvZ19jb3N0X29mZnNldBgdIAEoARIPCgdsb2dfdGFnGCQg",
76 "ASgJGtcSCiBMb2NhbFNlYXJjaE5laWdoYm9yaG9vZE9wZXJhdG9ycxI6Cgx1",
77 "c2VfcmVsb2NhdGUYASABKA4yJC5vcGVyYXRpb25zX3Jlc2VhcmNoLk9wdGlv",
78 "bmFsQm9vbGVhbhI/ChF1c2VfcmVsb2NhdGVfcGFpchgCIAEoDjIkLm9wZXJh",
79 "dGlvbnNfcmVzZWFyY2guT3B0aW9uYWxCb29sZWFuEkUKF3VzZV9saWdodF9y",
80 "ZWxvY2F0ZV9wYWlyGBggASgOMiQub3BlcmF0aW9uc19yZXNlYXJjaC5PcHRp",
81 "b25hbEJvb2xlYW4SRAoWdXNlX3JlbG9jYXRlX25laWdoYm9ycxgDIAEoDjIk",
82 "Lm9wZXJhdGlvbnNfcmVzZWFyY2guT3B0aW9uYWxCb29sZWFuEkIKFHVzZV9y",
83 "ZWxvY2F0ZV9zdWJ0cmlwGBkgASgOMiQub3BlcmF0aW9uc19yZXNlYXJjaC5P",
84 "cHRpb25hbEJvb2xlYW4SOgoMdXNlX2V4Y2hhbmdlGAQgASgOMiQub3BlcmF0",
85 "aW9uc19yZXNlYXJjaC5PcHRpb25hbEJvb2xlYW4SPwoRdXNlX2V4Y2hhbmdl",
86 "X3BhaXIYFiABKA4yJC5vcGVyYXRpb25zX3Jlc2VhcmNoLk9wdGlvbmFsQm9v",
87 "bGVhbhJCChR1c2VfZXhjaGFuZ2Vfc3VidHJpcBgaIAEoDjIkLm9wZXJhdGlv",
88 "bnNfcmVzZWFyY2guT3B0aW9uYWxCb29sZWFuEjcKCXVzZV9jcm9zcxgFIAEo",
89 "DjIkLm9wZXJhdGlvbnNfcmVzZWFyY2guT3B0aW9uYWxCb29sZWFuEkAKEnVz",
90 "ZV9jcm9zc19leGNoYW5nZRgGIAEoDjIkLm9wZXJhdGlvbnNfcmVzZWFyY2gu",
91 "T3B0aW9uYWxCb29sZWFuEkoKHHVzZV9yZWxvY2F0ZV9leHBlbnNpdmVfY2hh",
92 "aW4YFyABKA4yJC5vcGVyYXRpb25zX3Jlc2VhcmNoLk9wdGlvbmFsQm9vbGVh",
93 "bhI5Cgt1c2VfdHdvX29wdBgHIAEoDjIkLm9wZXJhdGlvbnNfcmVzZWFyY2gu",
94 "T3B0aW9uYWxCb29sZWFuEjgKCnVzZV9vcl9vcHQYCCABKA4yJC5vcGVyYXRp",
95 "b25zX3Jlc2VhcmNoLk9wdGlvbmFsQm9vbGVhbhI/ChF1c2VfbGluX2tlcm5p",
96 "Z2hhbhgJIAEoDjIkLm9wZXJhdGlvbnNfcmVzZWFyY2guT3B0aW9uYWxCb29s",
97 "ZWFuEjkKC3VzZV90c3Bfb3B0GAogASgOMiQub3BlcmF0aW9uc19yZXNlYXJj",
98 "aC5PcHRpb25hbEJvb2xlYW4SPQoPdXNlX21ha2VfYWN0aXZlGAsgASgOMiQu",
99 "b3BlcmF0aW9uc19yZXNlYXJjaC5PcHRpb25hbEJvb2xlYW4SSgocdXNlX3Jl",
100 "bG9jYXRlX2FuZF9tYWtlX2FjdGl2ZRgVIAEoDjIkLm9wZXJhdGlvbnNfcmVz",
101 "ZWFyY2guT3B0aW9uYWxCb29sZWFuEj8KEXVzZV9tYWtlX2luYWN0aXZlGAwg",
102 "ASgOMiQub3BlcmF0aW9uc19yZXNlYXJjaC5PcHRpb25hbEJvb2xlYW4SRQoX",
103 "dXNlX21ha2VfY2hhaW5faW5hY3RpdmUYDSABKA4yJC5vcGVyYXRpb25zX3Jl",
104 "c2VhcmNoLk9wdGlvbmFsQm9vbGVhbhI9Cg91c2Vfc3dhcF9hY3RpdmUYDiAB",
105 "KA4yJC5vcGVyYXRpb25zX3Jlc2VhcmNoLk9wdGlvbmFsQm9vbGVhbhJGChh1",
106 "c2VfZXh0ZW5kZWRfc3dhcF9hY3RpdmUYDyABKA4yJC5vcGVyYXRpb25zX3Jl",
107 "c2VhcmNoLk9wdGlvbmFsQm9vbGVhbhJHChl1c2Vfbm9kZV9wYWlyX3N3YXBf",
108 "YWN0aXZlGBQgASgOMiQub3BlcmF0aW9uc19yZXNlYXJjaC5PcHRpb25hbEJv",
109 "b2xlYW4SOgoMdXNlX3BhdGhfbG5zGBAgASgOMiQub3BlcmF0aW9uc19yZXNl",
110 "YXJjaC5PcHRpb25hbEJvb2xlYW4SPwoRdXNlX2Z1bGxfcGF0aF9sbnMYESAB",
111 "KA4yJC5vcGVyYXRpb25zX3Jlc2VhcmNoLk9wdGlvbmFsQm9vbGVhbhI5Cgt1",
112 "c2VfdHNwX2xucxgSIAEoDjIkLm9wZXJhdGlvbnNfcmVzZWFyY2guT3B0aW9u",
113 "YWxCb29sZWFuEj4KEHVzZV9pbmFjdGl2ZV9sbnMYEyABKA4yJC5vcGVyYXRp",
114 "b25zX3Jlc2VhcmNoLk9wdGlvbmFsQm9vbGVhbhJUCiZ1c2VfZ2xvYmFsX2No",
115 "ZWFwZXN0X2luc2VydGlvbl9wYXRoX2xucxgbIAEoDjIkLm9wZXJhdGlvbnNf",
116 "cmVzZWFyY2guT3B0aW9uYWxCb29sZWFuElMKJXVzZV9sb2NhbF9jaGVhcGVz",
117 "dF9pbnNlcnRpb25fcGF0aF9sbnMYHCABKA4yJC5vcGVyYXRpb25zX3Jlc2Vh",
118 "cmNoLk9wdGlvbmFsQm9vbGVhbhJsCj51c2VfcmVsb2NhdGVfcGF0aF9nbG9i",
119 "YWxfY2hlYXBlc3RfaW5zZXJ0aW9uX2luc2VydF91bnBlcmZvcm1lZBghIAEo",
120 "DjIkLm9wZXJhdGlvbnNfcmVzZWFyY2guT3B0aW9uYWxCb29sZWFuEl8KMXVz",
121 "ZV9nbG9iYWxfY2hlYXBlc3RfaW5zZXJ0aW9uX2V4cGVuc2l2ZV9jaGFpbl9s",
122 "bnMYHSABKA4yJC5vcGVyYXRpb25zX3Jlc2VhcmNoLk9wdGlvbmFsQm9vbGVh",
123 "bhJeCjB1c2VfbG9jYWxfY2hlYXBlc3RfaW5zZXJ0aW9uX2V4cGVuc2l2ZV9j",
124 "aGFpbl9sbnMYHiABKA4yJC5vcGVyYXRpb25zX3Jlc2VhcmNoLk9wdGlvbmFs",
125 "Qm9vbGVhbhJbCi11c2VfZ2xvYmFsX2NoZWFwZXN0X2luc2VydGlvbl9jbG9z",
126 "ZV9ub2Rlc19sbnMYHyABKA4yJC5vcGVyYXRpb25zX3Jlc2VhcmNoLk9wdGlv",
127 "bmFsQm9vbGVhbhJaCix1c2VfbG9jYWxfY2hlYXBlc3RfaW5zZXJ0aW9uX2Ns",
128 "b3NlX25vZGVzX2xucxggIAEoDjIkLm9wZXJhdGlvbnNfcmVzZWFyY2guT3B0",
129 "aW9uYWxCb29sZWFuGnUKIEltcHJvdmVtZW50U2VhcmNoTGltaXRQYXJhbWV0",
130 "ZXJzEiQKHGltcHJvdmVtZW50X3JhdGVfY29lZmZpY2llbnQYJiABKAESKwoj",
131 "aW1wcm92ZW1lbnRfcmF0ZV9zb2x1dGlvbnNfZGlzdGFuY2UYJyABKAUiMwoQ",
132 "U2NoZWR1bGluZ1NvbHZlchIJCgVVTlNFVBAAEggKBEdMT1AQARIKCgZDUF9T",
133 "QVQQAiKoAQoWUm91dGluZ01vZGVsUGFyYW1ldGVycxJKChFzb2x2ZXJfcGFy",
134 "YW1ldGVycxgBIAEoCzIvLm9wZXJhdGlvbnNfcmVzZWFyY2guQ29uc3RyYWlu",
135 "dFNvbHZlclBhcmFtZXRlcnMSIQoZcmVkdWNlX3ZlaGljbGVfY29zdF9tb2Rl",
136 "bBgCIAEoCBIfChdtYXhfY2FsbGJhY2tfY2FjaGVfc2l6ZRgDIAEoBUJJCiNj",
137 "b20uZ29vZ2xlLm9ydG9vbHMuY29uc3RyYWludHNvbHZlclABqgIfR29vZ2xl",
138 "Lk9yVG9vbHMuQ29uc3RyYWludFNvbHZlcmIGcHJvdG8z"));
139 descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
140 new pbr::FileDescriptor[] { global::Google.Protobuf.WellKnownTypes.DurationReflection.Descriptor, global::Google.OrTools.ConstraintSolver.RoutingEnumsReflection.Descriptor, global::Google.OrTools.ConstraintSolver.SolverParametersReflection.Descriptor, global::Google.OrTools.Util.OptionalBooleanReflection.Descriptor, },
141 new pbr::GeneratedClrTypeInfo(
null,
null,
new pbr::GeneratedClrTypeInfo[] {
142 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.RoutingSearchParameters), global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Parser,
new[]{
"FirstSolutionStrategy",
"UseUnfilteredFirstSolutionStrategy",
"SavingsNeighborsRatio",
"SavingsMaxMemoryUsageBytes",
"SavingsAddReverseArcs",
"SavingsArcCoefficient",
"SavingsParallelRoutes",
"CheapestInsertionFarthestSeedsRatio",
"CheapestInsertionFirstSolutionNeighborsRatio",
"CheapestInsertionLsOperatorNeighborsRatio",
"CheapestInsertionAddUnperformedEntries",
"ChristofidesUseMinimumMatching",
"LocalSearchOperators",
"UseMultiArmedBanditConcatenateOperators",
"MultiArmedBanditCompoundOperatorMemoryCoefficient",
"MultiArmedBanditCompoundOperatorExplorationCoefficient",
"RelocateExpensiveChainNumArcsToConsider",
"HeuristicExpensiveChainLnsNumArcsToConsider",
"HeuristicCloseNodesLnsNumNodes",
"LocalSearchMetaheuristic",
"GuidedLocalSearchLambdaCoefficient",
"UseDepthFirstSearch",
"UseCp",
"UseCpSat",
"ContinuousSchedulingSolver",
"MixedIntegerSchedulingSolver",
"OptimizationStep",
"NumberOfSolutionsToCollect",
"SolutionLimit",
"TimeLimit",
"LnsTimeLimit",
"ImprovementLimitParameters",
"UseFullPropagation",
"LogSearch",
"LogCostScalingFactor",
"LogCostOffset",
"LogTag" },
null,
new[]{ typeof(global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.SchedulingSolver) },
null,
new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.LocalSearchNeighborhoodOperators), global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.LocalSearchNeighborhoodOperators.Parser, new[]{
"UseRelocate",
"UseRelocatePair",
"UseLightRelocatePair",
"UseRelocateNeighbors",
"UseRelocateSubtrip",
"UseExchange",
"UseExchangePair",
"UseExchangeSubtrip",
"UseCross",
"UseCrossExchange",
"UseRelocateExpensiveChain",
"UseTwoOpt",
"UseOrOpt",
"UseLinKernighan",
"UseTspOpt",
"UseMakeActive",
"UseRelocateAndMakeActive",
"UseMakeInactive",
"UseMakeChainInactive",
"UseSwapActive",
"UseExtendedSwapActive",
"UseNodePairSwapActive",
"UsePathLns",
"UseFullPathLns",
"UseTspLns",
"UseInactiveLns",
"UseGlobalCheapestInsertionPathLns",
"UseLocalCheapestInsertionPathLns",
"UseRelocatePathGlobalCheapestInsertionInsertUnperformed",
"UseGlobalCheapestInsertionExpensiveChainLns",
"UseLocalCheapestInsertionExpensiveChainLns",
"UseGlobalCheapestInsertionCloseNodesLns",
"UseLocalCheapestInsertionCloseNodesLns" },
null,
null,
null,
null),
143 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.ImprovementSearchLimitParameters), global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.ImprovementSearchLimitParameters.Parser,
new[]{
"ImprovementRateCoefficient",
"ImprovementRateSolutionsDistance" },
null,
null,
null,
null)}),
144 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.ConstraintSolver.RoutingModelParameters), global::Google.OrTools.ConstraintSolver.RoutingModelParameters.Parser,
new[]{
"SolverParameters",
"ReduceVehicleCostModel",
"MaxCallbackCacheSize" },
null,
null,
null,
null)
151 public sealed
partial class RoutingSearchParameters : pb::IMessage<RoutingSearchParameters>
161 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
165 private static readonly pb::MessageParser<RoutingSearchParameters> _parser =
new pb::MessageParser<RoutingSearchParameters>(() =>
new RoutingSearchParameters());
166 private pb::UnknownFieldSet _unknownFields;
168 public static pb::MessageParser<RoutingSearchParameters> Parser {
get {
return _parser; } }
171 public static pbr::MessageDescriptor Descriptor {
172 get {
return global::Google.OrTools.ConstraintSolver.RoutingParametersReflection.Descriptor.MessageTypes[0]; }
176 pbr::MessageDescriptor pb::IMessage.Descriptor {
177 get {
return Descriptor; }
185 partial
void OnConstruction();
189 firstSolutionStrategy_ = other.firstSolutionStrategy_;
190 useUnfilteredFirstSolutionStrategy_ = other.useUnfilteredFirstSolutionStrategy_;
191 savingsNeighborsRatio_ = other.savingsNeighborsRatio_;
192 savingsMaxMemoryUsageBytes_ = other.savingsMaxMemoryUsageBytes_;
193 savingsAddReverseArcs_ = other.savingsAddReverseArcs_;
194 savingsArcCoefficient_ = other.savingsArcCoefficient_;
195 savingsParallelRoutes_ = other.savingsParallelRoutes_;
196 cheapestInsertionFarthestSeedsRatio_ = other.cheapestInsertionFarthestSeedsRatio_;
197 cheapestInsertionFirstSolutionNeighborsRatio_ = other.cheapestInsertionFirstSolutionNeighborsRatio_;
198 cheapestInsertionLsOperatorNeighborsRatio_ = other.cheapestInsertionLsOperatorNeighborsRatio_;
199 cheapestInsertionAddUnperformedEntries_ = other.cheapestInsertionAddUnperformedEntries_;
200 christofidesUseMinimumMatching_ = other.christofidesUseMinimumMatching_;
201 localSearchOperators_ = other.localSearchOperators_ !=
null ? other.localSearchOperators_.Clone() :
null;
202 useMultiArmedBanditConcatenateOperators_ = other.useMultiArmedBanditConcatenateOperators_;
203 multiArmedBanditCompoundOperatorMemoryCoefficient_ = other.multiArmedBanditCompoundOperatorMemoryCoefficient_;
204 multiArmedBanditCompoundOperatorExplorationCoefficient_ = other.multiArmedBanditCompoundOperatorExplorationCoefficient_;
205 relocateExpensiveChainNumArcsToConsider_ = other.relocateExpensiveChainNumArcsToConsider_;
206 heuristicExpensiveChainLnsNumArcsToConsider_ = other.heuristicExpensiveChainLnsNumArcsToConsider_;
207 heuristicCloseNodesLnsNumNodes_ = other.heuristicCloseNodesLnsNumNodes_;
208 localSearchMetaheuristic_ = other.localSearchMetaheuristic_;
209 guidedLocalSearchLambdaCoefficient_ = other.guidedLocalSearchLambdaCoefficient_;
210 useDepthFirstSearch_ = other.useDepthFirstSearch_;
211 useCp_ = other.useCp_;
212 useCpSat_ = other.useCpSat_;
213 continuousSchedulingSolver_ = other.continuousSchedulingSolver_;
214 mixedIntegerSchedulingSolver_ = other.mixedIntegerSchedulingSolver_;
215 optimizationStep_ = other.optimizationStep_;
216 numberOfSolutionsToCollect_ = other.numberOfSolutionsToCollect_;
217 solutionLimit_ = other.solutionLimit_;
218 timeLimit_ = other.timeLimit_ !=
null ? other.timeLimit_.Clone() :
null;
219 lnsTimeLimit_ = other.lnsTimeLimit_ !=
null ? other.lnsTimeLimit_.Clone() :
null;
220 improvementLimitParameters_ = other.improvementLimitParameters_ !=
null ? other.improvementLimitParameters_.Clone() :
null;
221 useFullPropagation_ = other.useFullPropagation_;
222 logSearch_ = other.logSearch_;
223 logCostScalingFactor_ = other.logCostScalingFactor_;
224 logCostOffset_ = other.logCostOffset_;
225 logTag_ = other.logTag_;
226 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
235 public const int FirstSolutionStrategyFieldNumber = 1;
236 private global::Google.OrTools.ConstraintSolver.FirstSolutionStrategy.Types.Value firstSolutionStrategy_ = global::Google.OrTools.ConstraintSolver.FirstSolutionStrategy.Types.Value.Unset;
242 get {
return firstSolutionStrategy_; }
244 firstSolutionStrategy_ = value;
249 public const int UseUnfilteredFirstSolutionStrategyFieldNumber = 2;
250 private bool useUnfilteredFirstSolutionStrategy_;
258 public bool UseUnfilteredFirstSolutionStrategy {
259 get {
return useUnfilteredFirstSolutionStrategy_; }
261 useUnfilteredFirstSolutionStrategy_ = value;
266 public const int SavingsNeighborsRatioFieldNumber = 14;
267 private double savingsNeighborsRatio_;
274 public double SavingsNeighborsRatio {
275 get {
return savingsNeighborsRatio_; }
277 savingsNeighborsRatio_ = value;
282 public const int SavingsMaxMemoryUsageBytesFieldNumber = 23;
283 private double savingsMaxMemoryUsageBytes_;
293 public double SavingsMaxMemoryUsageBytes {
294 get {
return savingsMaxMemoryUsageBytes_; }
296 savingsMaxMemoryUsageBytes_ = value;
301 public const int SavingsAddReverseArcsFieldNumber = 15;
302 private bool savingsAddReverseArcs_;
308 public bool SavingsAddReverseArcs {
309 get {
return savingsAddReverseArcs_; }
311 savingsAddReverseArcs_ = value;
316 public const int SavingsArcCoefficientFieldNumber = 18;
317 private double savingsArcCoefficient_;
326 public double SavingsArcCoefficient {
327 get {
return savingsArcCoefficient_; }
329 savingsArcCoefficient_ = value;
334 public const int SavingsParallelRoutesFieldNumber = 19;
335 private bool savingsParallelRoutes_;
340 public bool SavingsParallelRoutes {
341 get {
return savingsParallelRoutes_; }
343 savingsParallelRoutes_ = value;
348 public const int CheapestInsertionFarthestSeedsRatioFieldNumber = 16;
349 private double cheapestInsertionFarthestSeedsRatio_;
356 public double CheapestInsertionFarthestSeedsRatio {
357 get {
return cheapestInsertionFarthestSeedsRatio_; }
359 cheapestInsertionFarthestSeedsRatio_ = value;
364 public const int CheapestInsertionFirstSolutionNeighborsRatioFieldNumber = 21;
365 private double cheapestInsertionFirstSolutionNeighborsRatio_;
376 public double CheapestInsertionFirstSolutionNeighborsRatio {
377 get {
return cheapestInsertionFirstSolutionNeighborsRatio_; }
379 cheapestInsertionFirstSolutionNeighborsRatio_ = value;
384 public const int CheapestInsertionLsOperatorNeighborsRatioFieldNumber = 31;
385 private double cheapestInsertionLsOperatorNeighborsRatio_;
392 public double CheapestInsertionLsOperatorNeighborsRatio {
393 get {
return cheapestInsertionLsOperatorNeighborsRatio_; }
395 cheapestInsertionLsOperatorNeighborsRatio_ = value;
400 public const int CheapestInsertionAddUnperformedEntriesFieldNumber = 40;
401 private bool cheapestInsertionAddUnperformedEntries_;
407 public bool CheapestInsertionAddUnperformedEntries {
408 get {
return cheapestInsertionAddUnperformedEntries_; }
410 cheapestInsertionAddUnperformedEntries_ = value;
415 public const int ChristofidesUseMinimumMatchingFieldNumber = 30;
416 private bool christofidesUseMinimumMatching_;
422 public bool ChristofidesUseMinimumMatching {
423 get {
return christofidesUseMinimumMatching_; }
425 christofidesUseMinimumMatching_ = value;
430 public const int LocalSearchOperatorsFieldNumber = 3;
431 private global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.
Types.LocalSearchNeighborhoodOperators localSearchOperators_;
433 public global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.LocalSearchNeighborhoodOperators LocalSearchOperators {
434 get {
return localSearchOperators_; }
436 localSearchOperators_ = value;
441 public const int UseMultiArmedBanditConcatenateOperatorsFieldNumber = 41;
442 private bool useMultiArmedBanditConcatenateOperators_;
449 public bool UseMultiArmedBanditConcatenateOperators {
450 get {
return useMultiArmedBanditConcatenateOperators_; }
452 useMultiArmedBanditConcatenateOperators_ = value;
457 public const int MultiArmedBanditCompoundOperatorMemoryCoefficientFieldNumber = 42;
458 private double multiArmedBanditCompoundOperatorMemoryCoefficient_;
466 public double MultiArmedBanditCompoundOperatorMemoryCoefficient {
467 get {
return multiArmedBanditCompoundOperatorMemoryCoefficient_; }
469 multiArmedBanditCompoundOperatorMemoryCoefficient_ = value;
474 public const int MultiArmedBanditCompoundOperatorExplorationCoefficientFieldNumber = 43;
475 private double multiArmedBanditCompoundOperatorExplorationCoefficient_;
482 public double MultiArmedBanditCompoundOperatorExplorationCoefficient {
483 get {
return multiArmedBanditCompoundOperatorExplorationCoefficient_; }
485 multiArmedBanditCompoundOperatorExplorationCoefficient_ = value;
490 public const int RelocateExpensiveChainNumArcsToConsiderFieldNumber = 20;
491 private int relocateExpensiveChainNumArcsToConsider_;
502 public int RelocateExpensiveChainNumArcsToConsider {
503 get {
return relocateExpensiveChainNumArcsToConsider_; }
505 relocateExpensiveChainNumArcsToConsider_ = value;
510 public const int HeuristicExpensiveChainLnsNumArcsToConsiderFieldNumber = 32;
511 private int heuristicExpensiveChainLnsNumArcsToConsider_;
517 public int HeuristicExpensiveChainLnsNumArcsToConsider {
518 get {
return heuristicExpensiveChainLnsNumArcsToConsider_; }
520 heuristicExpensiveChainLnsNumArcsToConsider_ = value;
525 public const int HeuristicCloseNodesLnsNumNodesFieldNumber = 35;
526 private int heuristicCloseNodesLnsNumNodes_;
532 public int HeuristicCloseNodesLnsNumNodes {
533 get {
return heuristicCloseNodesLnsNumNodes_; }
535 heuristicCloseNodesLnsNumNodes_ = value;
540 public const int LocalSearchMetaheuristicFieldNumber = 4;
541 private global::Google.OrTools.ConstraintSolver.LocalSearchMetaheuristic.Types.
Value localSearchMetaheuristic_ = global::Google.OrTools.ConstraintSolver.LocalSearchMetaheuristic.Types.Value.Unset;
547 get {
return localSearchMetaheuristic_; }
549 localSearchMetaheuristic_ = value;
554 public const int GuidedLocalSearchLambdaCoefficientFieldNumber = 5;
555 private double guidedLocalSearchLambdaCoefficient_;
563 public double GuidedLocalSearchLambdaCoefficient {
564 get {
return guidedLocalSearchLambdaCoefficient_; }
566 guidedLocalSearchLambdaCoefficient_ = value;
571 public const int UseDepthFirstSearchFieldNumber = 6;
572 private bool useDepthFirstSearch_;
580 public bool UseDepthFirstSearch {
581 get {
return useDepthFirstSearch_; }
583 useDepthFirstSearch_ = value;
588 public const int UseCpFieldNumber = 28;
589 private global::Google.OrTools.Util.OptionalBoolean useCp_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
596 public global::Google.OrTools.Util.OptionalBoolean UseCp {
597 get {
return useCp_; }
604 public const int UseCpSatFieldNumber = 27;
605 private global::Google.OrTools.Util.OptionalBoolean useCpSat_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
613 public global::Google.OrTools.Util.OptionalBoolean UseCpSat {
614 get {
return useCpSat_; }
621 public const int ContinuousSchedulingSolverFieldNumber = 33;
622 private global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.
Types.SchedulingSolver continuousSchedulingSolver_ = global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.SchedulingSolver.Unset;
624 public global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.SchedulingSolver ContinuousSchedulingSolver {
625 get {
return continuousSchedulingSolver_; }
627 continuousSchedulingSolver_ = value;
632 public const int MixedIntegerSchedulingSolverFieldNumber = 34;
633 private global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.SchedulingSolver mixedIntegerSchedulingSolver_ = global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.SchedulingSolver.Unset;
635 public global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.SchedulingSolver MixedIntegerSchedulingSolver {
636 get {
return mixedIntegerSchedulingSolver_; }
638 mixedIntegerSchedulingSolver_ = value;
643 public const int OptimizationStepFieldNumber = 7;
644 private double optimizationStep_;
651 public double OptimizationStep {
652 get {
return optimizationStep_; }
654 optimizationStep_ = value;
659 public const int NumberOfSolutionsToCollectFieldNumber = 17;
660 private int numberOfSolutionsToCollect_;
666 public int NumberOfSolutionsToCollect {
667 get {
return numberOfSolutionsToCollect_; }
669 numberOfSolutionsToCollect_ = value;
674 public const int SolutionLimitFieldNumber = 8;
675 private long solutionLimit_;
682 public long SolutionLimit {
683 get {
return solutionLimit_; }
685 solutionLimit_ = value;
690 public const int TimeLimitFieldNumber = 9;
691 private global::Google.Protobuf.WellKnownTypes.Duration timeLimit_;
696 public global::Google.Protobuf.WellKnownTypes.Duration TimeLimit {
697 get {
return timeLimit_; }
704 public const int LnsTimeLimitFieldNumber = 10;
705 private global::Google.Protobuf.WellKnownTypes.Duration lnsTimeLimit_;
711 public global::Google.Protobuf.WellKnownTypes.Duration LnsTimeLimit {
712 get {
return lnsTimeLimit_; }
714 lnsTimeLimit_ = value;
719 public const int ImprovementLimitParametersFieldNumber = 37;
720 private global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.ImprovementSearchLimitParameters improvementLimitParameters_;
726 public global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.ImprovementSearchLimitParameters ImprovementLimitParameters {
727 get {
return improvementLimitParameters_; }
729 improvementLimitParameters_ = value;
734 public const int UseFullPropagationFieldNumber = 11;
735 private bool useFullPropagation_;
749 public bool UseFullPropagation {
750 get {
return useFullPropagation_; }
752 useFullPropagation_ = value;
757 public const int LogSearchFieldNumber = 13;
758 private bool logSearch_;
775 public bool LogSearch {
776 get {
return logSearch_; }
783 public const int LogCostScalingFactorFieldNumber = 22;
784 private double logCostScalingFactor_;
790 public double LogCostScalingFactor {
791 get {
return logCostScalingFactor_; }
793 logCostScalingFactor_ = value;
798 public const int LogCostOffsetFieldNumber = 29;
799 private double logCostOffset_;
801 public double LogCostOffset {
802 get {
return logCostOffset_; }
804 logCostOffset_ = value;
809 public const int LogTagFieldNumber = 36;
810 private string logTag_ =
"";
816 public string LogTag {
817 get {
return logTag_; }
819 logTag_ = pb::ProtoPreconditions.CheckNotNull(value,
"value");
824 public override bool Equals(
object other) {
830 if (ReferenceEquals(other,
null)) {
833 if (ReferenceEquals(other,
this)) {
837 if (UseUnfilteredFirstSolutionStrategy != other.UseUnfilteredFirstSolutionStrategy)
return false;
838 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(SavingsNeighborsRatio, other.SavingsNeighborsRatio))
return false;
839 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(SavingsMaxMemoryUsageBytes, other.SavingsMaxMemoryUsageBytes))
return false;
840 if (SavingsAddReverseArcs != other.SavingsAddReverseArcs)
return false;
841 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(SavingsArcCoefficient, other.SavingsArcCoefficient))
return false;
842 if (SavingsParallelRoutes != other.SavingsParallelRoutes)
return false;
843 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(CheapestInsertionFarthestSeedsRatio, other.CheapestInsertionFarthestSeedsRatio))
return false;
844 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(CheapestInsertionFirstSolutionNeighborsRatio, other.CheapestInsertionFirstSolutionNeighborsRatio))
return false;
845 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(CheapestInsertionLsOperatorNeighborsRatio, other.CheapestInsertionLsOperatorNeighborsRatio))
return false;
846 if (CheapestInsertionAddUnperformedEntries != other.CheapestInsertionAddUnperformedEntries)
return false;
847 if (ChristofidesUseMinimumMatching != other.ChristofidesUseMinimumMatching)
return false;
848 if (!
object.Equals(LocalSearchOperators, other.LocalSearchOperators))
return false;
849 if (UseMultiArmedBanditConcatenateOperators != other.UseMultiArmedBanditConcatenateOperators)
return false;
850 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(MultiArmedBanditCompoundOperatorMemoryCoefficient, other.MultiArmedBanditCompoundOperatorMemoryCoefficient))
return false;
851 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(MultiArmedBanditCompoundOperatorExplorationCoefficient, other.MultiArmedBanditCompoundOperatorExplorationCoefficient))
return false;
852 if (RelocateExpensiveChainNumArcsToConsider != other.RelocateExpensiveChainNumArcsToConsider)
return false;
853 if (HeuristicExpensiveChainLnsNumArcsToConsider != other.HeuristicExpensiveChainLnsNumArcsToConsider)
return false;
854 if (HeuristicCloseNodesLnsNumNodes != other.HeuristicCloseNodesLnsNumNodes)
return false;
856 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(GuidedLocalSearchLambdaCoefficient, other.GuidedLocalSearchLambdaCoefficient))
return false;
857 if (UseDepthFirstSearch != other.UseDepthFirstSearch)
return false;
858 if (UseCp != other.UseCp)
return false;
859 if (UseCpSat != other.UseCpSat)
return false;
860 if (ContinuousSchedulingSolver != other.ContinuousSchedulingSolver)
return false;
861 if (MixedIntegerSchedulingSolver != other.MixedIntegerSchedulingSolver)
return false;
862 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(OptimizationStep, other.OptimizationStep))
return false;
863 if (NumberOfSolutionsToCollect != other.NumberOfSolutionsToCollect)
return false;
864 if (SolutionLimit != other.SolutionLimit)
return false;
865 if (!
object.Equals(TimeLimit, other.TimeLimit))
return false;
866 if (!
object.Equals(LnsTimeLimit, other.LnsTimeLimit))
return false;
867 if (!
object.Equals(ImprovementLimitParameters, other.ImprovementLimitParameters))
return false;
868 if (UseFullPropagation != other.UseFullPropagation)
return false;
869 if (LogSearch != other.LogSearch)
return false;
870 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(LogCostScalingFactor, other.LogCostScalingFactor))
return false;
871 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(LogCostOffset, other.LogCostOffset))
return false;
872 if (LogTag != other.LogTag)
return false;
873 return Equals(_unknownFields, other._unknownFields);
880 if (UseUnfilteredFirstSolutionStrategy !=
false) hash ^= UseUnfilteredFirstSolutionStrategy.GetHashCode();
881 if (SavingsNeighborsRatio != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(SavingsNeighborsRatio);
882 if (SavingsMaxMemoryUsageBytes != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(SavingsMaxMemoryUsageBytes);
883 if (SavingsAddReverseArcs !=
false) hash ^= SavingsAddReverseArcs.GetHashCode();
884 if (SavingsArcCoefficient != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(SavingsArcCoefficient);
885 if (SavingsParallelRoutes !=
false) hash ^= SavingsParallelRoutes.GetHashCode();
886 if (CheapestInsertionFarthestSeedsRatio != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(CheapestInsertionFarthestSeedsRatio);
887 if (CheapestInsertionFirstSolutionNeighborsRatio != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(CheapestInsertionFirstSolutionNeighborsRatio);
888 if (CheapestInsertionLsOperatorNeighborsRatio != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(CheapestInsertionLsOperatorNeighborsRatio);
889 if (CheapestInsertionAddUnperformedEntries !=
false) hash ^= CheapestInsertionAddUnperformedEntries.GetHashCode();
890 if (ChristofidesUseMinimumMatching !=
false) hash ^= ChristofidesUseMinimumMatching.GetHashCode();
891 if (localSearchOperators_ !=
null) hash ^= LocalSearchOperators.GetHashCode();
892 if (UseMultiArmedBanditConcatenateOperators !=
false) hash ^= UseMultiArmedBanditConcatenateOperators.GetHashCode();
893 if (MultiArmedBanditCompoundOperatorMemoryCoefficient != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(MultiArmedBanditCompoundOperatorMemoryCoefficient);
894 if (MultiArmedBanditCompoundOperatorExplorationCoefficient != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(MultiArmedBanditCompoundOperatorExplorationCoefficient);
895 if (RelocateExpensiveChainNumArcsToConsider != 0) hash ^= RelocateExpensiveChainNumArcsToConsider.GetHashCode();
896 if (HeuristicExpensiveChainLnsNumArcsToConsider != 0) hash ^= HeuristicExpensiveChainLnsNumArcsToConsider.GetHashCode();
897 if (HeuristicCloseNodesLnsNumNodes != 0) hash ^= HeuristicCloseNodesLnsNumNodes.GetHashCode();
899 if (GuidedLocalSearchLambdaCoefficient != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(GuidedLocalSearchLambdaCoefficient);
900 if (UseDepthFirstSearch !=
false) hash ^= UseDepthFirstSearch.GetHashCode();
901 if (UseCp != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseCp.GetHashCode();
902 if (UseCpSat != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseCpSat.GetHashCode();
903 if (ContinuousSchedulingSolver != global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.SchedulingSolver.Unset) hash ^= ContinuousSchedulingSolver.GetHashCode();
904 if (MixedIntegerSchedulingSolver != global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.SchedulingSolver.Unset) hash ^= MixedIntegerSchedulingSolver.GetHashCode();
905 if (OptimizationStep != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(OptimizationStep);
906 if (NumberOfSolutionsToCollect != 0) hash ^= NumberOfSolutionsToCollect.GetHashCode();
907 if (SolutionLimit != 0L) hash ^= SolutionLimit.GetHashCode();
908 if (timeLimit_ !=
null) hash ^= TimeLimit.GetHashCode();
909 if (lnsTimeLimit_ !=
null) hash ^= LnsTimeLimit.GetHashCode();
910 if (improvementLimitParameters_ !=
null) hash ^= ImprovementLimitParameters.GetHashCode();
911 if (UseFullPropagation !=
false) hash ^= UseFullPropagation.GetHashCode();
912 if (LogSearch !=
false) hash ^= LogSearch.GetHashCode();
913 if (LogCostScalingFactor != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(LogCostScalingFactor);
914 if (LogCostOffset != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(LogCostOffset);
915 if (LogTag.Length != 0) hash ^= LogTag.GetHashCode();
916 if (_unknownFields !=
null) {
917 hash ^= _unknownFields.GetHashCode();
924 return pb::JsonFormatter.ToDiagnosticString(
this);
928 public void WriteTo(pb::CodedOutputStream output) {
929 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
930 output.WriteRawMessage(
this);
933 output.WriteRawTag(8);
936 if (UseUnfilteredFirstSolutionStrategy !=
false) {
937 output.WriteRawTag(16);
938 output.WriteBool(UseUnfilteredFirstSolutionStrategy);
940 if (localSearchOperators_ !=
null) {
941 output.WriteRawTag(26);
942 output.WriteMessage(LocalSearchOperators);
945 output.WriteRawTag(32);
948 if (GuidedLocalSearchLambdaCoefficient != 0D) {
949 output.WriteRawTag(41);
950 output.WriteDouble(GuidedLocalSearchLambdaCoefficient);
952 if (UseDepthFirstSearch !=
false) {
953 output.WriteRawTag(48);
954 output.WriteBool(UseDepthFirstSearch);
956 if (OptimizationStep != 0D) {
957 output.WriteRawTag(57);
958 output.WriteDouble(OptimizationStep);
960 if (SolutionLimit != 0L) {
961 output.WriteRawTag(64);
962 output.WriteInt64(SolutionLimit);
964 if (timeLimit_ !=
null) {
965 output.WriteRawTag(74);
966 output.WriteMessage(TimeLimit);
968 if (lnsTimeLimit_ !=
null) {
969 output.WriteRawTag(82);
970 output.WriteMessage(LnsTimeLimit);
972 if (UseFullPropagation !=
false) {
973 output.WriteRawTag(88);
974 output.WriteBool(UseFullPropagation);
976 if (LogSearch !=
false) {
977 output.WriteRawTag(104);
978 output.WriteBool(LogSearch);
980 if (SavingsNeighborsRatio != 0D) {
981 output.WriteRawTag(113);
982 output.WriteDouble(SavingsNeighborsRatio);
984 if (SavingsAddReverseArcs !=
false) {
985 output.WriteRawTag(120);
986 output.WriteBool(SavingsAddReverseArcs);
988 if (CheapestInsertionFarthestSeedsRatio != 0D) {
989 output.WriteRawTag(129, 1);
990 output.WriteDouble(CheapestInsertionFarthestSeedsRatio);
992 if (NumberOfSolutionsToCollect != 0) {
993 output.WriteRawTag(136, 1);
994 output.WriteInt32(NumberOfSolutionsToCollect);
996 if (SavingsArcCoefficient != 0D) {
997 output.WriteRawTag(145, 1);
998 output.WriteDouble(SavingsArcCoefficient);
1000 if (SavingsParallelRoutes !=
false) {
1001 output.WriteRawTag(152, 1);
1002 output.WriteBool(SavingsParallelRoutes);
1004 if (RelocateExpensiveChainNumArcsToConsider != 0) {
1005 output.WriteRawTag(160, 1);
1006 output.WriteInt32(RelocateExpensiveChainNumArcsToConsider);
1008 if (CheapestInsertionFirstSolutionNeighborsRatio != 0D) {
1009 output.WriteRawTag(169, 1);
1010 output.WriteDouble(CheapestInsertionFirstSolutionNeighborsRatio);
1012 if (LogCostScalingFactor != 0D) {
1013 output.WriteRawTag(177, 1);
1014 output.WriteDouble(LogCostScalingFactor);
1016 if (SavingsMaxMemoryUsageBytes != 0D) {
1017 output.WriteRawTag(185, 1);
1018 output.WriteDouble(SavingsMaxMemoryUsageBytes);
1020 if (UseCpSat != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
1021 output.WriteRawTag(216, 1);
1022 output.WriteEnum((
int) UseCpSat);
1024 if (UseCp != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
1025 output.WriteRawTag(224, 1);
1026 output.WriteEnum((
int) UseCp);
1028 if (LogCostOffset != 0D) {
1029 output.WriteRawTag(233, 1);
1030 output.WriteDouble(LogCostOffset);
1032 if (ChristofidesUseMinimumMatching !=
false) {
1033 output.WriteRawTag(240, 1);
1034 output.WriteBool(ChristofidesUseMinimumMatching);
1036 if (CheapestInsertionLsOperatorNeighborsRatio != 0D) {
1037 output.WriteRawTag(249, 1);
1038 output.WriteDouble(CheapestInsertionLsOperatorNeighborsRatio);
1040 if (HeuristicExpensiveChainLnsNumArcsToConsider != 0) {
1041 output.WriteRawTag(128, 2);
1042 output.WriteInt32(HeuristicExpensiveChainLnsNumArcsToConsider);
1044 if (ContinuousSchedulingSolver != global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.SchedulingSolver.Unset) {
1045 output.WriteRawTag(136, 2);
1046 output.WriteEnum((
int) ContinuousSchedulingSolver);
1048 if (MixedIntegerSchedulingSolver != global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.SchedulingSolver.Unset) {
1049 output.WriteRawTag(144, 2);
1050 output.WriteEnum((
int) MixedIntegerSchedulingSolver);
1052 if (HeuristicCloseNodesLnsNumNodes != 0) {
1053 output.WriteRawTag(152, 2);
1054 output.WriteInt32(HeuristicCloseNodesLnsNumNodes);
1056 if (LogTag.Length != 0) {
1057 output.WriteRawTag(162, 2);
1058 output.WriteString(LogTag);
1060 if (improvementLimitParameters_ !=
null) {
1061 output.WriteRawTag(170, 2);
1062 output.WriteMessage(ImprovementLimitParameters);
1064 if (CheapestInsertionAddUnperformedEntries !=
false) {
1065 output.WriteRawTag(192, 2);
1066 output.WriteBool(CheapestInsertionAddUnperformedEntries);
1068 if (UseMultiArmedBanditConcatenateOperators !=
false) {
1069 output.WriteRawTag(200, 2);
1070 output.WriteBool(UseMultiArmedBanditConcatenateOperators);
1072 if (MultiArmedBanditCompoundOperatorMemoryCoefficient != 0D) {
1073 output.WriteRawTag(209, 2);
1074 output.WriteDouble(MultiArmedBanditCompoundOperatorMemoryCoefficient);
1076 if (MultiArmedBanditCompoundOperatorExplorationCoefficient != 0D) {
1077 output.WriteRawTag(217, 2);
1078 output.WriteDouble(MultiArmedBanditCompoundOperatorExplorationCoefficient);
1080 if (_unknownFields !=
null) {
1081 _unknownFields.WriteTo(output);
1086 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1088 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1090 output.WriteRawTag(8);
1093 if (UseUnfilteredFirstSolutionStrategy !=
false) {
1094 output.WriteRawTag(16);
1095 output.WriteBool(UseUnfilteredFirstSolutionStrategy);
1097 if (localSearchOperators_ !=
null) {
1098 output.WriteRawTag(26);
1099 output.WriteMessage(LocalSearchOperators);
1101 if (LocalSearchMetaheuristic != global::Google.OrTools.ConstraintSolver.LocalSearchMetaheuristic.Types.Value.Unset) {
1102 output.WriteRawTag(32);
1103 output.WriteEnum((
int) LocalSearchMetaheuristic);
1105 if (GuidedLocalSearchLambdaCoefficient != 0D) {
1106 output.WriteRawTag(41);
1107 output.WriteDouble(GuidedLocalSearchLambdaCoefficient);
1109 if (UseDepthFirstSearch !=
false) {
1110 output.WriteRawTag(48);
1111 output.WriteBool(UseDepthFirstSearch);
1113 if (OptimizationStep != 0D) {
1114 output.WriteRawTag(57);
1115 output.WriteDouble(OptimizationStep);
1117 if (SolutionLimit != 0L) {
1118 output.WriteRawTag(64);
1119 output.WriteInt64(SolutionLimit);
1121 if (timeLimit_ !=
null) {
1122 output.WriteRawTag(74);
1123 output.WriteMessage(TimeLimit);
1125 if (lnsTimeLimit_ !=
null) {
1126 output.WriteRawTag(82);
1127 output.WriteMessage(LnsTimeLimit);
1129 if (UseFullPropagation !=
false) {
1130 output.WriteRawTag(88);
1131 output.WriteBool(UseFullPropagation);
1133 if (LogSearch !=
false) {
1134 output.WriteRawTag(104);
1135 output.WriteBool(LogSearch);
1137 if (SavingsNeighborsRatio != 0D) {
1138 output.WriteRawTag(113);
1139 output.WriteDouble(SavingsNeighborsRatio);
1141 if (SavingsAddReverseArcs !=
false) {
1142 output.WriteRawTag(120);
1143 output.WriteBool(SavingsAddReverseArcs);
1145 if (CheapestInsertionFarthestSeedsRatio != 0D) {
1146 output.WriteRawTag(129, 1);
1147 output.WriteDouble(CheapestInsertionFarthestSeedsRatio);
1149 if (NumberOfSolutionsToCollect != 0) {
1150 output.WriteRawTag(136, 1);
1151 output.WriteInt32(NumberOfSolutionsToCollect);
1153 if (SavingsArcCoefficient != 0D) {
1154 output.WriteRawTag(145, 1);
1155 output.WriteDouble(SavingsArcCoefficient);
1157 if (SavingsParallelRoutes !=
false) {
1158 output.WriteRawTag(152, 1);
1159 output.WriteBool(SavingsParallelRoutes);
1161 if (RelocateExpensiveChainNumArcsToConsider != 0) {
1162 output.WriteRawTag(160, 1);
1163 output.WriteInt32(RelocateExpensiveChainNumArcsToConsider);
1165 if (CheapestInsertionFirstSolutionNeighborsRatio != 0D) {
1166 output.WriteRawTag(169, 1);
1167 output.WriteDouble(CheapestInsertionFirstSolutionNeighborsRatio);
1169 if (LogCostScalingFactor != 0D) {
1170 output.WriteRawTag(177, 1);
1171 output.WriteDouble(LogCostScalingFactor);
1173 if (SavingsMaxMemoryUsageBytes != 0D) {
1174 output.WriteRawTag(185, 1);
1175 output.WriteDouble(SavingsMaxMemoryUsageBytes);
1177 if (UseCpSat != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
1178 output.WriteRawTag(216, 1);
1179 output.WriteEnum((
int) UseCpSat);
1181 if (UseCp != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
1182 output.WriteRawTag(224, 1);
1183 output.WriteEnum((
int) UseCp);
1185 if (LogCostOffset != 0D) {
1186 output.WriteRawTag(233, 1);
1187 output.WriteDouble(LogCostOffset);
1189 if (ChristofidesUseMinimumMatching !=
false) {
1190 output.WriteRawTag(240, 1);
1191 output.WriteBool(ChristofidesUseMinimumMatching);
1193 if (CheapestInsertionLsOperatorNeighborsRatio != 0D) {
1194 output.WriteRawTag(249, 1);
1195 output.WriteDouble(CheapestInsertionLsOperatorNeighborsRatio);
1197 if (HeuristicExpensiveChainLnsNumArcsToConsider != 0) {
1198 output.WriteRawTag(128, 2);
1199 output.WriteInt32(HeuristicExpensiveChainLnsNumArcsToConsider);
1201 if (ContinuousSchedulingSolver != global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.SchedulingSolver.Unset) {
1202 output.WriteRawTag(136, 2);
1203 output.WriteEnum((
int) ContinuousSchedulingSolver);
1205 if (MixedIntegerSchedulingSolver != global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.SchedulingSolver.Unset) {
1206 output.WriteRawTag(144, 2);
1207 output.WriteEnum((
int) MixedIntegerSchedulingSolver);
1209 if (HeuristicCloseNodesLnsNumNodes != 0) {
1210 output.WriteRawTag(152, 2);
1211 output.WriteInt32(HeuristicCloseNodesLnsNumNodes);
1213 if (LogTag.Length != 0) {
1214 output.WriteRawTag(162, 2);
1215 output.WriteString(LogTag);
1217 if (improvementLimitParameters_ !=
null) {
1218 output.WriteRawTag(170, 2);
1219 output.WriteMessage(ImprovementLimitParameters);
1221 if (CheapestInsertionAddUnperformedEntries !=
false) {
1222 output.WriteRawTag(192, 2);
1223 output.WriteBool(CheapestInsertionAddUnperformedEntries);
1225 if (UseMultiArmedBanditConcatenateOperators !=
false) {
1226 output.WriteRawTag(200, 2);
1227 output.WriteBool(UseMultiArmedBanditConcatenateOperators);
1229 if (MultiArmedBanditCompoundOperatorMemoryCoefficient != 0D) {
1230 output.WriteRawTag(209, 2);
1231 output.WriteDouble(MultiArmedBanditCompoundOperatorMemoryCoefficient);
1233 if (MultiArmedBanditCompoundOperatorExplorationCoefficient != 0D) {
1234 output.WriteRawTag(217, 2);
1235 output.WriteDouble(MultiArmedBanditCompoundOperatorExplorationCoefficient);
1237 if (_unknownFields !=
null) {
1238 _unknownFields.WriteTo(ref output);
1249 if (UseUnfilteredFirstSolutionStrategy !=
false) {
1252 if (SavingsNeighborsRatio != 0D) {
1255 if (SavingsMaxMemoryUsageBytes != 0D) {
1258 if (SavingsAddReverseArcs !=
false) {
1261 if (SavingsArcCoefficient != 0D) {
1264 if (SavingsParallelRoutes !=
false) {
1267 if (CheapestInsertionFarthestSeedsRatio != 0D) {
1270 if (CheapestInsertionFirstSolutionNeighborsRatio != 0D) {
1273 if (CheapestInsertionLsOperatorNeighborsRatio != 0D) {
1276 if (CheapestInsertionAddUnperformedEntries !=
false) {
1279 if (ChristofidesUseMinimumMatching !=
false) {
1282 if (localSearchOperators_ !=
null) {
1283 size += 1 + pb::CodedOutputStream.ComputeMessageSize(LocalSearchOperators);
1285 if (UseMultiArmedBanditConcatenateOperators !=
false) {
1288 if (MultiArmedBanditCompoundOperatorMemoryCoefficient != 0D) {
1291 if (MultiArmedBanditCompoundOperatorExplorationCoefficient != 0D) {
1294 if (RelocateExpensiveChainNumArcsToConsider != 0) {
1295 size += 2 + pb::CodedOutputStream.ComputeInt32Size(RelocateExpensiveChainNumArcsToConsider);
1297 if (HeuristicExpensiveChainLnsNumArcsToConsider != 0) {
1298 size += 2 + pb::CodedOutputStream.ComputeInt32Size(HeuristicExpensiveChainLnsNumArcsToConsider);
1300 if (HeuristicCloseNodesLnsNumNodes != 0) {
1301 size += 2 + pb::CodedOutputStream.ComputeInt32Size(HeuristicCloseNodesLnsNumNodes);
1306 if (GuidedLocalSearchLambdaCoefficient != 0D) {
1309 if (UseDepthFirstSearch !=
false) {
1312 if (UseCp != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
1313 size += 2 + pb::CodedOutputStream.ComputeEnumSize((
int) UseCp);
1315 if (UseCpSat != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
1316 size += 2 + pb::CodedOutputStream.ComputeEnumSize((
int) UseCpSat);
1318 if (ContinuousSchedulingSolver != global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.SchedulingSolver.Unset) {
1319 size += 2 + pb::CodedOutputStream.ComputeEnumSize((
int) ContinuousSchedulingSolver);
1321 if (MixedIntegerSchedulingSolver != global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.SchedulingSolver.Unset) {
1322 size += 2 + pb::CodedOutputStream.ComputeEnumSize((
int) MixedIntegerSchedulingSolver);
1324 if (OptimizationStep != 0D) {
1327 if (NumberOfSolutionsToCollect != 0) {
1328 size += 2 + pb::CodedOutputStream.ComputeInt32Size(NumberOfSolutionsToCollect);
1330 if (SolutionLimit != 0L) {
1331 size += 1 + pb::CodedOutputStream.ComputeInt64Size(SolutionLimit);
1333 if (timeLimit_ !=
null) {
1334 size += 1 + pb::CodedOutputStream.ComputeMessageSize(TimeLimit);
1336 if (lnsTimeLimit_ !=
null) {
1337 size += 1 + pb::CodedOutputStream.ComputeMessageSize(LnsTimeLimit);
1339 if (improvementLimitParameters_ !=
null) {
1340 size += 2 + pb::CodedOutputStream.ComputeMessageSize(ImprovementLimitParameters);
1342 if (UseFullPropagation !=
false) {
1345 if (LogSearch !=
false) {
1348 if (LogCostScalingFactor != 0D) {
1351 if (LogCostOffset != 0D) {
1354 if (LogTag.Length != 0) {
1355 size += 2 + pb::CodedOutputStream.ComputeStringSize(LogTag);
1357 if (_unknownFields !=
null) {
1358 size += _unknownFields.CalculateSize();
1365 if (other ==
null) {
1368 if (other.FirstSolutionStrategy != global::Google.OrTools.ConstraintSolver.FirstSolutionStrategy.Types.Value.Unset) {
1371 if (other.UseUnfilteredFirstSolutionStrategy !=
false) {
1372 UseUnfilteredFirstSolutionStrategy = other.UseUnfilteredFirstSolutionStrategy;
1374 if (other.SavingsNeighborsRatio != 0D) {
1375 SavingsNeighborsRatio = other.SavingsNeighborsRatio;
1377 if (other.SavingsMaxMemoryUsageBytes != 0D) {
1378 SavingsMaxMemoryUsageBytes = other.SavingsMaxMemoryUsageBytes;
1380 if (other.SavingsAddReverseArcs !=
false) {
1381 SavingsAddReverseArcs = other.SavingsAddReverseArcs;
1383 if (other.SavingsArcCoefficient != 0D) {
1384 SavingsArcCoefficient = other.SavingsArcCoefficient;
1386 if (other.SavingsParallelRoutes !=
false) {
1387 SavingsParallelRoutes = other.SavingsParallelRoutes;
1389 if (other.CheapestInsertionFarthestSeedsRatio != 0D) {
1390 CheapestInsertionFarthestSeedsRatio = other.CheapestInsertionFarthestSeedsRatio;
1392 if (other.CheapestInsertionFirstSolutionNeighborsRatio != 0D) {
1393 CheapestInsertionFirstSolutionNeighborsRatio = other.CheapestInsertionFirstSolutionNeighborsRatio;
1395 if (other.CheapestInsertionLsOperatorNeighborsRatio != 0D) {
1396 CheapestInsertionLsOperatorNeighborsRatio = other.CheapestInsertionLsOperatorNeighborsRatio;
1398 if (other.CheapestInsertionAddUnperformedEntries !=
false) {
1399 CheapestInsertionAddUnperformedEntries = other.CheapestInsertionAddUnperformedEntries;
1401 if (other.ChristofidesUseMinimumMatching !=
false) {
1402 ChristofidesUseMinimumMatching = other.ChristofidesUseMinimumMatching;
1404 if (other.localSearchOperators_ !=
null) {
1405 if (localSearchOperators_ ==
null) {
1406 LocalSearchOperators =
new global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.LocalSearchNeighborhoodOperators();
1408 LocalSearchOperators.MergeFrom(other.LocalSearchOperators);
1410 if (other.UseMultiArmedBanditConcatenateOperators !=
false) {
1411 UseMultiArmedBanditConcatenateOperators = other.UseMultiArmedBanditConcatenateOperators;
1413 if (other.MultiArmedBanditCompoundOperatorMemoryCoefficient != 0D) {
1414 MultiArmedBanditCompoundOperatorMemoryCoefficient = other.MultiArmedBanditCompoundOperatorMemoryCoefficient;
1416 if (other.MultiArmedBanditCompoundOperatorExplorationCoefficient != 0D) {
1417 MultiArmedBanditCompoundOperatorExplorationCoefficient = other.MultiArmedBanditCompoundOperatorExplorationCoefficient;
1419 if (other.RelocateExpensiveChainNumArcsToConsider != 0) {
1420 RelocateExpensiveChainNumArcsToConsider = other.RelocateExpensiveChainNumArcsToConsider;
1422 if (other.HeuristicExpensiveChainLnsNumArcsToConsider != 0) {
1423 HeuristicExpensiveChainLnsNumArcsToConsider = other.HeuristicExpensiveChainLnsNumArcsToConsider;
1425 if (other.HeuristicCloseNodesLnsNumNodes != 0) {
1426 HeuristicCloseNodesLnsNumNodes = other.HeuristicCloseNodesLnsNumNodes;
1428 if (other.LocalSearchMetaheuristic != global::Google.OrTools.ConstraintSolver.LocalSearchMetaheuristic.Types.Value.Unset) {
1431 if (other.GuidedLocalSearchLambdaCoefficient != 0D) {
1432 GuidedLocalSearchLambdaCoefficient = other.GuidedLocalSearchLambdaCoefficient;
1434 if (other.UseDepthFirstSearch !=
false) {
1435 UseDepthFirstSearch = other.UseDepthFirstSearch;
1437 if (other.UseCp != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
1438 UseCp = other.UseCp;
1440 if (other.UseCpSat != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
1441 UseCpSat = other.UseCpSat;
1443 if (other.ContinuousSchedulingSolver != global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.SchedulingSolver.Unset) {
1444 ContinuousSchedulingSolver = other.ContinuousSchedulingSolver;
1446 if (other.MixedIntegerSchedulingSolver != global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.SchedulingSolver.Unset) {
1447 MixedIntegerSchedulingSolver = other.MixedIntegerSchedulingSolver;
1449 if (other.OptimizationStep != 0D) {
1450 OptimizationStep = other.OptimizationStep;
1452 if (other.NumberOfSolutionsToCollect != 0) {
1453 NumberOfSolutionsToCollect = other.NumberOfSolutionsToCollect;
1455 if (other.SolutionLimit != 0L) {
1456 SolutionLimit = other.SolutionLimit;
1458 if (other.timeLimit_ !=
null) {
1459 if (timeLimit_ ==
null) {
1460 TimeLimit =
new global::Google.Protobuf.WellKnownTypes.Duration();
1462 TimeLimit.MergeFrom(other.TimeLimit);
1464 if (other.lnsTimeLimit_ !=
null) {
1465 if (lnsTimeLimit_ ==
null) {
1466 LnsTimeLimit =
new global::Google.Protobuf.WellKnownTypes.Duration();
1468 LnsTimeLimit.MergeFrom(other.LnsTimeLimit);
1470 if (other.improvementLimitParameters_ !=
null) {
1471 if (improvementLimitParameters_ ==
null) {
1472 ImprovementLimitParameters =
new global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.ImprovementSearchLimitParameters();
1474 ImprovementLimitParameters.MergeFrom(other.ImprovementLimitParameters);
1476 if (other.UseFullPropagation !=
false) {
1477 UseFullPropagation = other.UseFullPropagation;
1479 if (other.LogSearch !=
false) {
1480 LogSearch = other.LogSearch;
1482 if (other.LogCostScalingFactor != 0D) {
1483 LogCostScalingFactor = other.LogCostScalingFactor;
1485 if (other.LogCostOffset != 0D) {
1486 LogCostOffset = other.LogCostOffset;
1488 if (other.LogTag.Length != 0) {
1489 LogTag = other.LogTag;
1491 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1496 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1497 input.ReadRawMessage(
this);
1500 while ((tag = input.ReadTag()) != 0) {
1503 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1506 FirstSolutionStrategy = (global::Google.OrTools.ConstraintSolver.FirstSolutionStrategy.Types.Value) input.ReadEnum();
1510 UseUnfilteredFirstSolutionStrategy = input.ReadBool();
1514 if (localSearchOperators_ ==
null) {
1515 LocalSearchOperators =
new global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.
Types.LocalSearchNeighborhoodOperators();
1517 input.ReadMessage(LocalSearchOperators);
1521 LocalSearchMetaheuristic = (global::Google.OrTools.ConstraintSolver.LocalSearchMetaheuristic.Types.Value) input.ReadEnum();
1525 GuidedLocalSearchLambdaCoefficient = input.ReadDouble();
1529 UseDepthFirstSearch = input.ReadBool();
1533 OptimizationStep = input.ReadDouble();
1537 SolutionLimit = input.ReadInt64();
1541 if (timeLimit_ ==
null) {
1542 TimeLimit =
new global::Google.Protobuf.WellKnownTypes.Duration();
1544 input.ReadMessage(TimeLimit);
1548 if (lnsTimeLimit_ ==
null) {
1549 LnsTimeLimit =
new global::Google.Protobuf.WellKnownTypes.Duration();
1551 input.ReadMessage(LnsTimeLimit);
1555 UseFullPropagation = input.ReadBool();
1559 LogSearch = input.ReadBool();
1563 SavingsNeighborsRatio = input.ReadDouble();
1567 SavingsAddReverseArcs = input.ReadBool();
1571 CheapestInsertionFarthestSeedsRatio = input.ReadDouble();
1575 NumberOfSolutionsToCollect = input.ReadInt32();
1579 SavingsArcCoefficient = input.ReadDouble();
1583 SavingsParallelRoutes = input.ReadBool();
1587 RelocateExpensiveChainNumArcsToConsider = input.ReadInt32();
1591 CheapestInsertionFirstSolutionNeighborsRatio = input.ReadDouble();
1595 LogCostScalingFactor = input.ReadDouble();
1599 SavingsMaxMemoryUsageBytes = input.ReadDouble();
1603 UseCpSat = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
1607 UseCp = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
1611 LogCostOffset = input.ReadDouble();
1615 ChristofidesUseMinimumMatching = input.ReadBool();
1619 CheapestInsertionLsOperatorNeighborsRatio = input.ReadDouble();
1623 HeuristicExpensiveChainLnsNumArcsToConsider = input.ReadInt32();
1627 ContinuousSchedulingSolver = (global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.SchedulingSolver) input.ReadEnum();
1631 MixedIntegerSchedulingSolver = (global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.SchedulingSolver) input.ReadEnum();
1635 HeuristicCloseNodesLnsNumNodes = input.ReadInt32();
1639 LogTag = input.ReadString();
1643 if (improvementLimitParameters_ ==
null) {
1644 ImprovementLimitParameters =
new global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.
Types.ImprovementSearchLimitParameters();
1646 input.ReadMessage(ImprovementLimitParameters);
1650 CheapestInsertionAddUnperformedEntries = input.ReadBool();
1654 UseMultiArmedBanditConcatenateOperators = input.ReadBool();
1658 MultiArmedBanditCompoundOperatorMemoryCoefficient = input.ReadDouble();
1662 MultiArmedBanditCompoundOperatorExplorationCoefficient = input.ReadDouble();
1670 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1672 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1674 while ((tag = input.ReadTag()) != 0) {
1677 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1680 FirstSolutionStrategy = (global::Google.OrTools.ConstraintSolver.FirstSolutionStrategy.Types.Value) input.ReadEnum();
1684 UseUnfilteredFirstSolutionStrategy = input.ReadBool();
1688 if (localSearchOperators_ ==
null) {
1689 LocalSearchOperators =
new global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.
Types.LocalSearchNeighborhoodOperators();
1691 input.ReadMessage(LocalSearchOperators);
1695 LocalSearchMetaheuristic = (global::Google.OrTools.ConstraintSolver.LocalSearchMetaheuristic.Types.Value) input.ReadEnum();
1699 GuidedLocalSearchLambdaCoefficient = input.ReadDouble();
1703 UseDepthFirstSearch = input.ReadBool();
1707 OptimizationStep = input.ReadDouble();
1711 SolutionLimit = input.ReadInt64();
1715 if (timeLimit_ ==
null) {
1716 TimeLimit =
new global::Google.Protobuf.WellKnownTypes.Duration();
1718 input.ReadMessage(TimeLimit);
1722 if (lnsTimeLimit_ ==
null) {
1723 LnsTimeLimit =
new global::Google.Protobuf.WellKnownTypes.Duration();
1725 input.ReadMessage(LnsTimeLimit);
1729 UseFullPropagation = input.ReadBool();
1733 LogSearch = input.ReadBool();
1737 SavingsNeighborsRatio = input.ReadDouble();
1741 SavingsAddReverseArcs = input.ReadBool();
1745 CheapestInsertionFarthestSeedsRatio = input.ReadDouble();
1749 NumberOfSolutionsToCollect = input.ReadInt32();
1753 SavingsArcCoefficient = input.ReadDouble();
1757 SavingsParallelRoutes = input.ReadBool();
1761 RelocateExpensiveChainNumArcsToConsider = input.ReadInt32();
1765 CheapestInsertionFirstSolutionNeighborsRatio = input.ReadDouble();
1769 LogCostScalingFactor = input.ReadDouble();
1773 SavingsMaxMemoryUsageBytes = input.ReadDouble();
1777 UseCpSat = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
1781 UseCp = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
1785 LogCostOffset = input.ReadDouble();
1789 ChristofidesUseMinimumMatching = input.ReadBool();
1793 CheapestInsertionLsOperatorNeighborsRatio = input.ReadDouble();
1797 HeuristicExpensiveChainLnsNumArcsToConsider = input.ReadInt32();
1801 ContinuousSchedulingSolver = (global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.SchedulingSolver) input.ReadEnum();
1805 MixedIntegerSchedulingSolver = (global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.SchedulingSolver) input.ReadEnum();
1809 HeuristicCloseNodesLnsNumNodes = input.ReadInt32();
1813 LogTag = input.ReadString();
1817 if (improvementLimitParameters_ ==
null) {
1818 ImprovementLimitParameters =
new global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Types.ImprovementSearchLimitParameters();
1820 input.ReadMessage(ImprovementLimitParameters);
1824 CheapestInsertionAddUnperformedEntries = input.ReadBool();
1828 UseMultiArmedBanditConcatenateOperators = input.ReadBool();
1832 MultiArmedBanditCompoundOperatorMemoryCoefficient = input.ReadDouble();
1836 MultiArmedBanditCompoundOperatorExplorationCoefficient = input.ReadDouble();
1844 #region Nested types
1853 [pbr::OriginalName(
"UNSET")] Unset = 0,
1854 [pbr::OriginalName(
"GLOP")] Glop = 1,
1855 [pbr::OriginalName(
"CP_SAT")] CpSat = 2,
1863 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1864 , pb::IBufferMessage
1867 private static readonly pb::MessageParser<LocalSearchNeighborhoodOperators> _parser =
new pb::MessageParser<LocalSearchNeighborhoodOperators>(() =>
new LocalSearchNeighborhoodOperators());
1868 private pb::UnknownFieldSet _unknownFields;
1870 public static pb::MessageParser<LocalSearchNeighborhoodOperators> Parser {
get {
return _parser; } }
1873 public static pbr::MessageDescriptor Descriptor {
1874 get {
return global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Descriptor.NestedTypes[0]; }
1878 pbr::MessageDescriptor pb::IMessage.Descriptor {
1879 get {
return Descriptor; }
1887 partial
void OnConstruction();
1891 useRelocate_ = other.useRelocate_;
1892 useRelocatePair_ = other.useRelocatePair_;
1893 useLightRelocatePair_ = other.useLightRelocatePair_;
1894 useRelocateNeighbors_ = other.useRelocateNeighbors_;
1895 useRelocateSubtrip_ = other.useRelocateSubtrip_;
1896 useExchange_ = other.useExchange_;
1897 useExchangePair_ = other.useExchangePair_;
1898 useExchangeSubtrip_ = other.useExchangeSubtrip_;
1899 useCross_ = other.useCross_;
1900 useCrossExchange_ = other.useCrossExchange_;
1901 useRelocateExpensiveChain_ = other.useRelocateExpensiveChain_;
1902 useTwoOpt_ = other.useTwoOpt_;
1903 useOrOpt_ = other.useOrOpt_;
1904 useLinKernighan_ = other.useLinKernighan_;
1905 useTspOpt_ = other.useTspOpt_;
1906 useMakeActive_ = other.useMakeActive_;
1907 useRelocateAndMakeActive_ = other.useRelocateAndMakeActive_;
1908 useMakeInactive_ = other.useMakeInactive_;
1909 useMakeChainInactive_ = other.useMakeChainInactive_;
1910 useSwapActive_ = other.useSwapActive_;
1911 useExtendedSwapActive_ = other.useExtendedSwapActive_;
1912 useNodePairSwapActive_ = other.useNodePairSwapActive_;
1913 usePathLns_ = other.usePathLns_;
1914 useFullPathLns_ = other.useFullPathLns_;
1915 useTspLns_ = other.useTspLns_;
1916 useInactiveLns_ = other.useInactiveLns_;
1917 useGlobalCheapestInsertionPathLns_ = other.useGlobalCheapestInsertionPathLns_;
1918 useLocalCheapestInsertionPathLns_ = other.useLocalCheapestInsertionPathLns_;
1919 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = other.useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
1920 useGlobalCheapestInsertionExpensiveChainLns_ = other.useGlobalCheapestInsertionExpensiveChainLns_;
1921 useLocalCheapestInsertionExpensiveChainLns_ = other.useLocalCheapestInsertionExpensiveChainLns_;
1922 useGlobalCheapestInsertionCloseNodesLns_ = other.useGlobalCheapestInsertionCloseNodesLns_;
1923 useLocalCheapestInsertionCloseNodesLns_ = other.useLocalCheapestInsertionCloseNodesLns_;
1924 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1933 public const int UseRelocateFieldNumber = 1;
1934 private global::Google.OrTools.Util.OptionalBoolean useRelocate_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
1947 public global::Google.OrTools.Util.OptionalBoolean UseRelocate {
1948 get {
return useRelocate_; }
1950 useRelocate_ = value;
1955 public const int UseRelocatePairFieldNumber = 2;
1956 private global::Google.OrTools.Util.OptionalBoolean useRelocatePair_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
1969 public global::Google.OrTools.Util.OptionalBoolean UseRelocatePair {
1970 get {
return useRelocatePair_; }
1972 useRelocatePair_ = value;
1977 public const int UseLightRelocatePairFieldNumber = 24;
1978 private global::Google.OrTools.Util.OptionalBoolean useLightRelocatePair_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
1989 public global::Google.OrTools.Util.OptionalBoolean UseLightRelocatePair {
1990 get {
return useLightRelocatePair_; }
1992 useLightRelocatePair_ = value;
1997 public const int UseRelocateNeighborsFieldNumber = 3;
1998 private global::Google.OrTools.Util.OptionalBoolean useRelocateNeighbors_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2024 public global::Google.OrTools.Util.OptionalBoolean UseRelocateNeighbors {
2025 get {
return useRelocateNeighbors_; }
2027 useRelocateNeighbors_ = value;
2032 public const int UseRelocateSubtripFieldNumber = 25;
2033 private global::Google.OrTools.Util.OptionalBoolean useRelocateSubtrip_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2051 public global::Google.OrTools.Util.OptionalBoolean UseRelocateSubtrip {
2052 get {
return useRelocateSubtrip_; }
2054 useRelocateSubtrip_ = value;
2059 public const int UseExchangeFieldNumber = 4;
2060 private global::Google.OrTools.Util.OptionalBoolean useExchange_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2071 public global::Google.OrTools.Util.OptionalBoolean UseExchange {
2072 get {
return useExchange_; }
2074 useExchange_ = value;
2079 public const int UseExchangePairFieldNumber = 22;
2080 private global::Google.OrTools.Util.OptionalBoolean useExchangePair_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2091 public global::Google.OrTools.Util.OptionalBoolean UseExchangePair {
2092 get {
return useExchangePair_; }
2094 useExchangePair_ = value;
2099 public const int UseExchangeSubtripFieldNumber = 26;
2100 private global::Google.OrTools.Util.OptionalBoolean useExchangeSubtrip_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2106 public global::Google.OrTools.Util.OptionalBoolean UseExchangeSubtrip {
2107 get {
return useExchangeSubtrip_; }
2109 useExchangeSubtrip_ = value;
2114 public const int UseCrossFieldNumber = 5;
2115 private global::Google.OrTools.Util.OptionalBoolean useCross_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2128 public global::Google.OrTools.Util.OptionalBoolean UseCross {
2129 get {
return useCross_; }
2136 public const int UseCrossExchangeFieldNumber = 6;
2137 private global::Google.OrTools.Util.OptionalBoolean useCrossExchange_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2142 public global::Google.OrTools.Util.OptionalBoolean UseCrossExchange {
2143 get {
return useCrossExchange_; }
2145 useCrossExchange_ = value;
2150 public const int UseRelocateExpensiveChainFieldNumber = 23;
2151 private global::Google.OrTools.Util.OptionalBoolean useRelocateExpensiveChain_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2165 public global::Google.OrTools.Util.OptionalBoolean UseRelocateExpensiveChain {
2166 get {
return useRelocateExpensiveChain_; }
2168 useRelocateExpensiveChain_ = value;
2173 public const int UseTwoOptFieldNumber = 7;
2174 private global::Google.OrTools.Util.OptionalBoolean useTwoOpt_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2188 public global::Google.OrTools.Util.OptionalBoolean UseTwoOpt {
2189 get {
return useTwoOpt_; }
2196 public const int UseOrOptFieldNumber = 8;
2197 private global::Google.OrTools.Util.OptionalBoolean useOrOpt_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2212 public global::Google.OrTools.Util.OptionalBoolean UseOrOpt {
2213 get {
return useOrOpt_; }
2220 public const int UseLinKernighanFieldNumber = 9;
2221 private global::Google.OrTools.Util.OptionalBoolean useLinKernighan_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2229 public global::Google.OrTools.Util.OptionalBoolean UseLinKernighan {
2230 get {
return useLinKernighan_; }
2232 useLinKernighan_ = value;
2237 public const int UseTspOptFieldNumber = 10;
2238 private global::Google.OrTools.Util.OptionalBoolean useTspOpt_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2248 public global::Google.OrTools.Util.OptionalBoolean UseTspOpt {
2249 get {
return useTspOpt_; }
2256 public const int UseMakeActiveFieldNumber = 11;
2257 private global::Google.OrTools.Util.OptionalBoolean useMakeActive_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2268 public global::Google.OrTools.Util.OptionalBoolean UseMakeActive {
2269 get {
return useMakeActive_; }
2271 useMakeActive_ = value;
2276 public const int UseRelocateAndMakeActiveFieldNumber = 21;
2277 private global::Google.OrTools.Util.OptionalBoolean useRelocateAndMakeActive_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2291 public global::Google.OrTools.Util.OptionalBoolean UseRelocateAndMakeActive {
2292 get {
return useRelocateAndMakeActive_; }
2294 useRelocateAndMakeActive_ = value;
2299 public const int UseMakeInactiveFieldNumber = 12;
2300 private global::Google.OrTools.Util.OptionalBoolean useMakeInactive_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2309 public global::Google.OrTools.Util.OptionalBoolean UseMakeInactive {
2310 get {
return useMakeInactive_; }
2312 useMakeInactive_ = value;
2317 public const int UseMakeChainInactiveFieldNumber = 13;
2318 private global::Google.OrTools.Util.OptionalBoolean useMakeChainInactive_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2328 public global::Google.OrTools.Util.OptionalBoolean UseMakeChainInactive {
2329 get {
return useMakeChainInactive_; }
2331 useMakeChainInactive_ = value;
2336 public const int UseSwapActiveFieldNumber = 14;
2337 private global::Google.OrTools.Util.OptionalBoolean useSwapActive_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2346 public global::Google.OrTools.Util.OptionalBoolean UseSwapActive {
2347 get {
return useSwapActive_; }
2349 useSwapActive_ = value;
2354 public const int UseExtendedSwapActiveFieldNumber = 15;
2355 private global::Google.OrTools.Util.OptionalBoolean useExtendedSwapActive_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2369 public global::Google.OrTools.Util.OptionalBoolean UseExtendedSwapActive {
2370 get {
return useExtendedSwapActive_; }
2372 useExtendedSwapActive_ = value;
2377 public const int UseNodePairSwapActiveFieldNumber = 20;
2378 private global::Google.OrTools.Util.OptionalBoolean useNodePairSwapActive_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2393 public global::Google.OrTools.Util.OptionalBoolean UseNodePairSwapActive {
2394 get {
return useNodePairSwapActive_; }
2396 useNodePairSwapActive_ = value;
2401 public const int UsePathLnsFieldNumber = 16;
2402 private global::Google.OrTools.Util.OptionalBoolean usePathLns_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2414 public global::Google.OrTools.Util.OptionalBoolean UsePathLns {
2415 get {
return usePathLns_; }
2417 usePathLns_ = value;
2422 public const int UseFullPathLnsFieldNumber = 17;
2423 private global::Google.OrTools.Util.OptionalBoolean useFullPathLns_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2428 public global::Google.OrTools.Util.OptionalBoolean UseFullPathLns {
2429 get {
return useFullPathLns_; }
2431 useFullPathLns_ = value;
2436 public const int UseTspLnsFieldNumber = 18;
2437 private global::Google.OrTools.Util.OptionalBoolean useTspLns_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2447 public global::Google.OrTools.Util.OptionalBoolean UseTspLns {
2448 get {
return useTspLns_; }
2455 public const int UseInactiveLnsFieldNumber = 19;
2456 private global::Google.OrTools.Util.OptionalBoolean useInactiveLns_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2463 public global::Google.OrTools.Util.OptionalBoolean UseInactiveLns {
2464 get {
return useInactiveLns_; }
2466 useInactiveLns_ = value;
2471 public const int UseGlobalCheapestInsertionPathLnsFieldNumber = 27;
2472 private global::Google.OrTools.Util.OptionalBoolean useGlobalCheapestInsertionPathLns_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2479 public global::Google.OrTools.Util.OptionalBoolean UseGlobalCheapestInsertionPathLns {
2480 get {
return useGlobalCheapestInsertionPathLns_; }
2482 useGlobalCheapestInsertionPathLns_ = value;
2487 public const int UseLocalCheapestInsertionPathLnsFieldNumber = 28;
2488 private global::Google.OrTools.Util.OptionalBoolean useLocalCheapestInsertionPathLns_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2493 public global::Google.OrTools.Util.OptionalBoolean UseLocalCheapestInsertionPathLns {
2494 get {
return useLocalCheapestInsertionPathLns_; }
2496 useLocalCheapestInsertionPathLns_ = value;
2501 public const int UseRelocatePathGlobalCheapestInsertionInsertUnperformedFieldNumber = 33;
2502 private global::Google.OrTools.Util.OptionalBoolean useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2509 public global::Google.OrTools.Util.OptionalBoolean UseRelocatePathGlobalCheapestInsertionInsertUnperformed {
2510 get {
return useRelocatePathGlobalCheapestInsertionInsertUnperformed_; }
2512 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = value;
2517 public const int UseGlobalCheapestInsertionExpensiveChainLnsFieldNumber = 29;
2518 private global::Google.OrTools.Util.OptionalBoolean useGlobalCheapestInsertionExpensiveChainLns_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2526 public global::Google.OrTools.Util.OptionalBoolean UseGlobalCheapestInsertionExpensiveChainLns {
2527 get {
return useGlobalCheapestInsertionExpensiveChainLns_; }
2529 useGlobalCheapestInsertionExpensiveChainLns_ = value;
2534 public const int UseLocalCheapestInsertionExpensiveChainLnsFieldNumber = 30;
2535 private global::Google.OrTools.Util.OptionalBoolean useLocalCheapestInsertionExpensiveChainLns_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2541 public global::Google.OrTools.Util.OptionalBoolean UseLocalCheapestInsertionExpensiveChainLns {
2542 get {
return useLocalCheapestInsertionExpensiveChainLns_; }
2544 useLocalCheapestInsertionExpensiveChainLns_ = value;
2549 public const int UseGlobalCheapestInsertionCloseNodesLnsFieldNumber = 31;
2550 private global::Google.OrTools.Util.OptionalBoolean useGlobalCheapestInsertionCloseNodesLns_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2558 public global::Google.OrTools.Util.OptionalBoolean UseGlobalCheapestInsertionCloseNodesLns {
2559 get {
return useGlobalCheapestInsertionCloseNodesLns_; }
2561 useGlobalCheapestInsertionCloseNodesLns_ = value;
2566 public const int UseLocalCheapestInsertionCloseNodesLnsFieldNumber = 32;
2567 private global::Google.OrTools.Util.OptionalBoolean useLocalCheapestInsertionCloseNodesLns_ = global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified;
2573 public global::Google.OrTools.Util.OptionalBoolean UseLocalCheapestInsertionCloseNodesLns {
2574 get {
return useLocalCheapestInsertionCloseNodesLns_; }
2576 useLocalCheapestInsertionCloseNodesLns_ = value;
2587 if (ReferenceEquals(other,
null)) {
2590 if (ReferenceEquals(other,
this)) {
2593 if (UseRelocate != other.
UseRelocate)
return false;
2598 if (UseExchange != other.
UseExchange)
return false;
2601 if (UseCross != other.
UseCross)
return false;
2604 if (UseTwoOpt != other.
UseTwoOpt)
return false;
2605 if (UseOrOpt != other.
UseOrOpt)
return false;
2607 if (UseTspOpt != other.
UseTspOpt)
return false;
2615 if (UsePathLns != other.
UsePathLns)
return false;
2617 if (UseTspLns != other.
UseTspLns)
return false;
2626 return Equals(_unknownFields, other._unknownFields);
2632 if (UseRelocate != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseRelocate.GetHashCode();
2633 if (UseRelocatePair != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseRelocatePair.GetHashCode();
2634 if (UseLightRelocatePair != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseLightRelocatePair.GetHashCode();
2635 if (UseRelocateNeighbors != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseRelocateNeighbors.GetHashCode();
2636 if (UseRelocateSubtrip != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseRelocateSubtrip.GetHashCode();
2637 if (UseExchange != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseExchange.GetHashCode();
2638 if (UseExchangePair != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseExchangePair.GetHashCode();
2639 if (UseExchangeSubtrip != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseExchangeSubtrip.GetHashCode();
2640 if (UseCross != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseCross.GetHashCode();
2641 if (UseCrossExchange != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseCrossExchange.GetHashCode();
2642 if (UseRelocateExpensiveChain != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseRelocateExpensiveChain.GetHashCode();
2643 if (UseTwoOpt != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseTwoOpt.GetHashCode();
2644 if (UseOrOpt != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseOrOpt.GetHashCode();
2645 if (UseLinKernighan != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseLinKernighan.GetHashCode();
2646 if (UseTspOpt != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseTspOpt.GetHashCode();
2647 if (UseMakeActive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseMakeActive.GetHashCode();
2648 if (UseRelocateAndMakeActive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseRelocateAndMakeActive.GetHashCode();
2649 if (UseMakeInactive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseMakeInactive.GetHashCode();
2650 if (UseMakeChainInactive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseMakeChainInactive.GetHashCode();
2651 if (UseSwapActive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseSwapActive.GetHashCode();
2652 if (UseExtendedSwapActive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseExtendedSwapActive.GetHashCode();
2653 if (UseNodePairSwapActive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseNodePairSwapActive.GetHashCode();
2654 if (UsePathLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UsePathLns.GetHashCode();
2655 if (UseFullPathLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseFullPathLns.GetHashCode();
2656 if (UseTspLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseTspLns.GetHashCode();
2657 if (UseInactiveLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseInactiveLns.GetHashCode();
2658 if (UseGlobalCheapestInsertionPathLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseGlobalCheapestInsertionPathLns.GetHashCode();
2659 if (UseLocalCheapestInsertionPathLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseLocalCheapestInsertionPathLns.GetHashCode();
2660 if (UseRelocatePathGlobalCheapestInsertionInsertUnperformed != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseRelocatePathGlobalCheapestInsertionInsertUnperformed.GetHashCode();
2661 if (UseGlobalCheapestInsertionExpensiveChainLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseGlobalCheapestInsertionExpensiveChainLns.GetHashCode();
2662 if (UseLocalCheapestInsertionExpensiveChainLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseLocalCheapestInsertionExpensiveChainLns.GetHashCode();
2663 if (UseGlobalCheapestInsertionCloseNodesLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseGlobalCheapestInsertionCloseNodesLns.GetHashCode();
2664 if (UseLocalCheapestInsertionCloseNodesLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) hash ^= UseLocalCheapestInsertionCloseNodesLns.GetHashCode();
2665 if (_unknownFields !=
null) {
2666 hash ^= _unknownFields.GetHashCode();
2673 return pb::JsonFormatter.ToDiagnosticString(
this);
2677 public void WriteTo(pb::CodedOutputStream output) {
2678 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2679 output.WriteRawMessage(
this);
2681 if (UseRelocate != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2682 output.WriteRawTag(8);
2683 output.WriteEnum((
int) UseRelocate);
2685 if (UseRelocatePair != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2686 output.WriteRawTag(16);
2687 output.WriteEnum((
int) UseRelocatePair);
2689 if (UseRelocateNeighbors != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2690 output.WriteRawTag(24);
2691 output.WriteEnum((
int) UseRelocateNeighbors);
2693 if (UseExchange != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2694 output.WriteRawTag(32);
2695 output.WriteEnum((
int) UseExchange);
2697 if (UseCross != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2698 output.WriteRawTag(40);
2699 output.WriteEnum((
int) UseCross);
2701 if (UseCrossExchange != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2702 output.WriteRawTag(48);
2703 output.WriteEnum((
int) UseCrossExchange);
2705 if (UseTwoOpt != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2706 output.WriteRawTag(56);
2707 output.WriteEnum((
int) UseTwoOpt);
2709 if (UseOrOpt != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2710 output.WriteRawTag(64);
2711 output.WriteEnum((
int) UseOrOpt);
2713 if (UseLinKernighan != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2714 output.WriteRawTag(72);
2715 output.WriteEnum((
int) UseLinKernighan);
2717 if (UseTspOpt != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2718 output.WriteRawTag(80);
2719 output.WriteEnum((
int) UseTspOpt);
2721 if (UseMakeActive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2722 output.WriteRawTag(88);
2723 output.WriteEnum((
int) UseMakeActive);
2725 if (UseMakeInactive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2726 output.WriteRawTag(96);
2727 output.WriteEnum((
int) UseMakeInactive);
2729 if (UseMakeChainInactive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2730 output.WriteRawTag(104);
2731 output.WriteEnum((
int) UseMakeChainInactive);
2733 if (UseSwapActive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2734 output.WriteRawTag(112);
2735 output.WriteEnum((
int) UseSwapActive);
2737 if (UseExtendedSwapActive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2738 output.WriteRawTag(120);
2739 output.WriteEnum((
int) UseExtendedSwapActive);
2741 if (UsePathLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2742 output.WriteRawTag(128, 1);
2743 output.WriteEnum((
int) UsePathLns);
2745 if (UseFullPathLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2746 output.WriteRawTag(136, 1);
2747 output.WriteEnum((
int) UseFullPathLns);
2749 if (UseTspLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2750 output.WriteRawTag(144, 1);
2751 output.WriteEnum((
int) UseTspLns);
2753 if (UseInactiveLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2754 output.WriteRawTag(152, 1);
2755 output.WriteEnum((
int) UseInactiveLns);
2757 if (UseNodePairSwapActive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2758 output.WriteRawTag(160, 1);
2759 output.WriteEnum((
int) UseNodePairSwapActive);
2761 if (UseRelocateAndMakeActive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2762 output.WriteRawTag(168, 1);
2763 output.WriteEnum((
int) UseRelocateAndMakeActive);
2765 if (UseExchangePair != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2766 output.WriteRawTag(176, 1);
2767 output.WriteEnum((
int) UseExchangePair);
2769 if (UseRelocateExpensiveChain != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2770 output.WriteRawTag(184, 1);
2771 output.WriteEnum((
int) UseRelocateExpensiveChain);
2773 if (UseLightRelocatePair != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2774 output.WriteRawTag(192, 1);
2775 output.WriteEnum((
int) UseLightRelocatePair);
2777 if (UseRelocateSubtrip != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2778 output.WriteRawTag(200, 1);
2779 output.WriteEnum((
int) UseRelocateSubtrip);
2781 if (UseExchangeSubtrip != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2782 output.WriteRawTag(208, 1);
2783 output.WriteEnum((
int) UseExchangeSubtrip);
2785 if (UseGlobalCheapestInsertionPathLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2786 output.WriteRawTag(216, 1);
2787 output.WriteEnum((
int) UseGlobalCheapestInsertionPathLns);
2789 if (UseLocalCheapestInsertionPathLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2790 output.WriteRawTag(224, 1);
2791 output.WriteEnum((
int) UseLocalCheapestInsertionPathLns);
2793 if (UseGlobalCheapestInsertionExpensiveChainLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2794 output.WriteRawTag(232, 1);
2795 output.WriteEnum((
int) UseGlobalCheapestInsertionExpensiveChainLns);
2797 if (UseLocalCheapestInsertionExpensiveChainLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2798 output.WriteRawTag(240, 1);
2799 output.WriteEnum((
int) UseLocalCheapestInsertionExpensiveChainLns);
2801 if (UseGlobalCheapestInsertionCloseNodesLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2802 output.WriteRawTag(248, 1);
2803 output.WriteEnum((
int) UseGlobalCheapestInsertionCloseNodesLns);
2805 if (UseLocalCheapestInsertionCloseNodesLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2806 output.WriteRawTag(128, 2);
2807 output.WriteEnum((
int) UseLocalCheapestInsertionCloseNodesLns);
2809 if (UseRelocatePathGlobalCheapestInsertionInsertUnperformed != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2810 output.WriteRawTag(136, 2);
2811 output.WriteEnum((
int) UseRelocatePathGlobalCheapestInsertionInsertUnperformed);
2813 if (_unknownFields !=
null) {
2814 _unknownFields.WriteTo(output);
2819 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2821 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2822 if (UseRelocate != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2823 output.WriteRawTag(8);
2824 output.WriteEnum((
int) UseRelocate);
2826 if (UseRelocatePair != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2827 output.WriteRawTag(16);
2828 output.WriteEnum((
int) UseRelocatePair);
2830 if (UseRelocateNeighbors != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2831 output.WriteRawTag(24);
2832 output.WriteEnum((
int) UseRelocateNeighbors);
2834 if (UseExchange != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2835 output.WriteRawTag(32);
2836 output.WriteEnum((
int) UseExchange);
2838 if (UseCross != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2839 output.WriteRawTag(40);
2840 output.WriteEnum((
int) UseCross);
2842 if (UseCrossExchange != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2843 output.WriteRawTag(48);
2844 output.WriteEnum((
int) UseCrossExchange);
2846 if (UseTwoOpt != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2847 output.WriteRawTag(56);
2848 output.WriteEnum((
int) UseTwoOpt);
2850 if (UseOrOpt != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2851 output.WriteRawTag(64);
2852 output.WriteEnum((
int) UseOrOpt);
2854 if (UseLinKernighan != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2855 output.WriteRawTag(72);
2856 output.WriteEnum((
int) UseLinKernighan);
2858 if (UseTspOpt != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2859 output.WriteRawTag(80);
2860 output.WriteEnum((
int) UseTspOpt);
2862 if (UseMakeActive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2863 output.WriteRawTag(88);
2864 output.WriteEnum((
int) UseMakeActive);
2866 if (UseMakeInactive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2867 output.WriteRawTag(96);
2868 output.WriteEnum((
int) UseMakeInactive);
2870 if (UseMakeChainInactive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2871 output.WriteRawTag(104);
2872 output.WriteEnum((
int) UseMakeChainInactive);
2874 if (UseSwapActive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2875 output.WriteRawTag(112);
2876 output.WriteEnum((
int) UseSwapActive);
2878 if (UseExtendedSwapActive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2879 output.WriteRawTag(120);
2880 output.WriteEnum((
int) UseExtendedSwapActive);
2882 if (UsePathLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2883 output.WriteRawTag(128, 1);
2884 output.WriteEnum((
int) UsePathLns);
2886 if (UseFullPathLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2887 output.WriteRawTag(136, 1);
2888 output.WriteEnum((
int) UseFullPathLns);
2890 if (UseTspLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2891 output.WriteRawTag(144, 1);
2892 output.WriteEnum((
int) UseTspLns);
2894 if (UseInactiveLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2895 output.WriteRawTag(152, 1);
2896 output.WriteEnum((
int) UseInactiveLns);
2898 if (UseNodePairSwapActive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2899 output.WriteRawTag(160, 1);
2900 output.WriteEnum((
int) UseNodePairSwapActive);
2902 if (UseRelocateAndMakeActive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2903 output.WriteRawTag(168, 1);
2904 output.WriteEnum((
int) UseRelocateAndMakeActive);
2906 if (UseExchangePair != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2907 output.WriteRawTag(176, 1);
2908 output.WriteEnum((
int) UseExchangePair);
2910 if (UseRelocateExpensiveChain != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2911 output.WriteRawTag(184, 1);
2912 output.WriteEnum((
int) UseRelocateExpensiveChain);
2914 if (UseLightRelocatePair != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2915 output.WriteRawTag(192, 1);
2916 output.WriteEnum((
int) UseLightRelocatePair);
2918 if (UseRelocateSubtrip != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2919 output.WriteRawTag(200, 1);
2920 output.WriteEnum((
int) UseRelocateSubtrip);
2922 if (UseExchangeSubtrip != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2923 output.WriteRawTag(208, 1);
2924 output.WriteEnum((
int) UseExchangeSubtrip);
2926 if (UseGlobalCheapestInsertionPathLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2927 output.WriteRawTag(216, 1);
2928 output.WriteEnum((
int) UseGlobalCheapestInsertionPathLns);
2930 if (UseLocalCheapestInsertionPathLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2931 output.WriteRawTag(224, 1);
2932 output.WriteEnum((
int) UseLocalCheapestInsertionPathLns);
2934 if (UseGlobalCheapestInsertionExpensiveChainLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2935 output.WriteRawTag(232, 1);
2936 output.WriteEnum((
int) UseGlobalCheapestInsertionExpensiveChainLns);
2938 if (UseLocalCheapestInsertionExpensiveChainLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2939 output.WriteRawTag(240, 1);
2940 output.WriteEnum((
int) UseLocalCheapestInsertionExpensiveChainLns);
2942 if (UseGlobalCheapestInsertionCloseNodesLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2943 output.WriteRawTag(248, 1);
2944 output.WriteEnum((
int) UseGlobalCheapestInsertionCloseNodesLns);
2946 if (UseLocalCheapestInsertionCloseNodesLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2947 output.WriteRawTag(128, 2);
2948 output.WriteEnum((
int) UseLocalCheapestInsertionCloseNodesLns);
2950 if (UseRelocatePathGlobalCheapestInsertionInsertUnperformed != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2951 output.WriteRawTag(136, 2);
2952 output.WriteEnum((
int) UseRelocatePathGlobalCheapestInsertionInsertUnperformed);
2954 if (_unknownFields !=
null) {
2955 _unknownFields.WriteTo(ref output);
2963 if (UseRelocate != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2964 size += 1 + pb::CodedOutputStream.ComputeEnumSize((
int) UseRelocate);
2966 if (UseRelocatePair != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2967 size += 1 + pb::CodedOutputStream.ComputeEnumSize((
int) UseRelocatePair);
2969 if (UseLightRelocatePair != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2970 size += 2 + pb::CodedOutputStream.ComputeEnumSize((
int) UseLightRelocatePair);
2972 if (UseRelocateNeighbors != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2973 size += 1 + pb::CodedOutputStream.ComputeEnumSize((
int) UseRelocateNeighbors);
2975 if (UseRelocateSubtrip != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2976 size += 2 + pb::CodedOutputStream.ComputeEnumSize((
int) UseRelocateSubtrip);
2978 if (UseExchange != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2979 size += 1 + pb::CodedOutputStream.ComputeEnumSize((
int) UseExchange);
2981 if (UseExchangePair != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2982 size += 2 + pb::CodedOutputStream.ComputeEnumSize((
int) UseExchangePair);
2984 if (UseExchangeSubtrip != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2985 size += 2 + pb::CodedOutputStream.ComputeEnumSize((
int) UseExchangeSubtrip);
2987 if (UseCross != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2988 size += 1 + pb::CodedOutputStream.ComputeEnumSize((
int) UseCross);
2990 if (UseCrossExchange != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2991 size += 1 + pb::CodedOutputStream.ComputeEnumSize((
int) UseCrossExchange);
2993 if (UseRelocateExpensiveChain != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2994 size += 2 + pb::CodedOutputStream.ComputeEnumSize((
int) UseRelocateExpensiveChain);
2996 if (UseTwoOpt != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
2997 size += 1 + pb::CodedOutputStream.ComputeEnumSize((
int) UseTwoOpt);
2999 if (UseOrOpt != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3000 size += 1 + pb::CodedOutputStream.ComputeEnumSize((
int) UseOrOpt);
3002 if (UseLinKernighan != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3003 size += 1 + pb::CodedOutputStream.ComputeEnumSize((
int) UseLinKernighan);
3005 if (UseTspOpt != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3006 size += 1 + pb::CodedOutputStream.ComputeEnumSize((
int) UseTspOpt);
3008 if (UseMakeActive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3009 size += 1 + pb::CodedOutputStream.ComputeEnumSize((
int) UseMakeActive);
3011 if (UseRelocateAndMakeActive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3012 size += 2 + pb::CodedOutputStream.ComputeEnumSize((
int) UseRelocateAndMakeActive);
3014 if (UseMakeInactive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3015 size += 1 + pb::CodedOutputStream.ComputeEnumSize((
int) UseMakeInactive);
3017 if (UseMakeChainInactive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3018 size += 1 + pb::CodedOutputStream.ComputeEnumSize((
int) UseMakeChainInactive);
3020 if (UseSwapActive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3021 size += 1 + pb::CodedOutputStream.ComputeEnumSize((
int) UseSwapActive);
3023 if (UseExtendedSwapActive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3024 size += 1 + pb::CodedOutputStream.ComputeEnumSize((
int) UseExtendedSwapActive);
3026 if (UseNodePairSwapActive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3027 size += 2 + pb::CodedOutputStream.ComputeEnumSize((
int) UseNodePairSwapActive);
3029 if (UsePathLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3030 size += 2 + pb::CodedOutputStream.ComputeEnumSize((
int) UsePathLns);
3032 if (UseFullPathLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3033 size += 2 + pb::CodedOutputStream.ComputeEnumSize((
int) UseFullPathLns);
3035 if (UseTspLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3036 size += 2 + pb::CodedOutputStream.ComputeEnumSize((
int) UseTspLns);
3038 if (UseInactiveLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3039 size += 2 + pb::CodedOutputStream.ComputeEnumSize((
int) UseInactiveLns);
3041 if (UseGlobalCheapestInsertionPathLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3042 size += 2 + pb::CodedOutputStream.ComputeEnumSize((
int) UseGlobalCheapestInsertionPathLns);
3044 if (UseLocalCheapestInsertionPathLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3045 size += 2 + pb::CodedOutputStream.ComputeEnumSize((
int) UseLocalCheapestInsertionPathLns);
3047 if (UseRelocatePathGlobalCheapestInsertionInsertUnperformed != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3048 size += 2 + pb::CodedOutputStream.ComputeEnumSize((
int) UseRelocatePathGlobalCheapestInsertionInsertUnperformed);
3050 if (UseGlobalCheapestInsertionExpensiveChainLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3051 size += 2 + pb::CodedOutputStream.ComputeEnumSize((
int) UseGlobalCheapestInsertionExpensiveChainLns);
3053 if (UseLocalCheapestInsertionExpensiveChainLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3054 size += 2 + pb::CodedOutputStream.ComputeEnumSize((
int) UseLocalCheapestInsertionExpensiveChainLns);
3056 if (UseGlobalCheapestInsertionCloseNodesLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3057 size += 2 + pb::CodedOutputStream.ComputeEnumSize((
int) UseGlobalCheapestInsertionCloseNodesLns);
3059 if (UseLocalCheapestInsertionCloseNodesLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3060 size += 2 + pb::CodedOutputStream.ComputeEnumSize((
int) UseLocalCheapestInsertionCloseNodesLns);
3062 if (_unknownFields !=
null) {
3063 size += _unknownFields.CalculateSize();
3070 if (other ==
null) {
3073 if (other.
UseRelocate != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3076 if (other.
UseRelocatePair != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3079 if (other.
UseLightRelocatePair != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3082 if (other.
UseRelocateNeighbors != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3085 if (other.
UseRelocateSubtrip != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3088 if (other.
UseExchange != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3091 if (other.
UseExchangePair != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3094 if (other.
UseExchangeSubtrip != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3097 if (other.
UseCross != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3100 if (other.
UseCrossExchange != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3106 if (other.
UseTwoOpt != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3109 if (other.
UseOrOpt != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3112 if (other.
UseLinKernighan != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3115 if (other.
UseTspOpt != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3118 if (other.
UseMakeActive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3124 if (other.
UseMakeInactive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3127 if (other.
UseMakeChainInactive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3130 if (other.
UseSwapActive != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3139 if (other.
UsePathLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3142 if (other.
UseFullPathLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3145 if (other.
UseTspLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3148 if (other.
UseInactiveLns != global::Google.OrTools.Util.OptionalBoolean.BoolUnspecified) {
3172 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
3177 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3178 input.ReadRawMessage(
this);
3181 while ((tag = input.ReadTag()) != 0) {
3184 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
3187 UseRelocate = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3191 UseRelocatePair = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3195 UseRelocateNeighbors = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3199 UseExchange = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3203 UseCross = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3207 UseCrossExchange = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3211 UseTwoOpt = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3215 UseOrOpt = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3219 UseLinKernighan = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3223 UseTspOpt = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3227 UseMakeActive = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3231 UseMakeInactive = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3235 UseMakeChainInactive = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3239 UseSwapActive = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3243 UseExtendedSwapActive = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3247 UsePathLns = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3251 UseFullPathLns = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3255 UseTspLns = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3259 UseInactiveLns = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3263 UseNodePairSwapActive = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3267 UseRelocateAndMakeActive = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3271 UseExchangePair = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3275 UseRelocateExpensiveChain = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3279 UseLightRelocatePair = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3283 UseRelocateSubtrip = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3287 UseExchangeSubtrip = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3291 UseGlobalCheapestInsertionPathLns = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3295 UseLocalCheapestInsertionPathLns = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3299 UseGlobalCheapestInsertionExpensiveChainLns = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3303 UseLocalCheapestInsertionExpensiveChainLns = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3307 UseGlobalCheapestInsertionCloseNodesLns = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3311 UseLocalCheapestInsertionCloseNodesLns = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3315 UseRelocatePathGlobalCheapestInsertionInsertUnperformed = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3323 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3325 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
3327 while ((tag = input.ReadTag()) != 0) {
3330 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
3333 UseRelocate = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3337 UseRelocatePair = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3341 UseRelocateNeighbors = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3345 UseExchange = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3349 UseCross = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3353 UseCrossExchange = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3357 UseTwoOpt = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3361 UseOrOpt = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3365 UseLinKernighan = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3369 UseTspOpt = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3373 UseMakeActive = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3377 UseMakeInactive = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3381 UseMakeChainInactive = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3385 UseSwapActive = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3389 UseExtendedSwapActive = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3393 UsePathLns = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3397 UseFullPathLns = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3401 UseTspLns = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3405 UseInactiveLns = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3409 UseNodePairSwapActive = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3413 UseRelocateAndMakeActive = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3417 UseExchangePair = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3421 UseRelocateExpensiveChain = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3425 UseLightRelocatePair = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3429 UseRelocateSubtrip = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3433 UseExchangeSubtrip = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3437 UseGlobalCheapestInsertionPathLns = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3441 UseLocalCheapestInsertionPathLns = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3445 UseGlobalCheapestInsertionExpensiveChainLns = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3449 UseLocalCheapestInsertionExpensiveChainLns = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3453 UseGlobalCheapestInsertionCloseNodesLns = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3457 UseLocalCheapestInsertionCloseNodesLns = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3461 UseRelocatePathGlobalCheapestInsertionInsertUnperformed = (global::Google.OrTools.Util.OptionalBoolean) input.ReadEnum();
3475 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3476 , pb::IBufferMessage
3479 private static readonly pb::MessageParser<ImprovementSearchLimitParameters> _parser =
new pb::MessageParser<ImprovementSearchLimitParameters>(() =>
new ImprovementSearchLimitParameters());
3480 private pb::UnknownFieldSet _unknownFields;
3482 public static pb::MessageParser<ImprovementSearchLimitParameters> Parser {
get {
return _parser; } }
3485 public static pbr::MessageDescriptor Descriptor {
3486 get {
return global::Google.OrTools.ConstraintSolver.RoutingSearchParameters.Descriptor.NestedTypes[1]; }
3490 pbr::MessageDescriptor pb::IMessage.Descriptor {
3491 get {
return Descriptor; }
3499 partial
void OnConstruction();
3503 improvementRateCoefficient_ = other.improvementRateCoefficient_;
3504 improvementRateSolutionsDistance_ = other.improvementRateSolutionsDistance_;
3505 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
3514 public const int ImprovementRateCoefficientFieldNumber = 38;
3515 private double improvementRateCoefficient_;
3522 public double ImprovementRateCoefficient {
3523 get {
return improvementRateCoefficient_; }
3525 improvementRateCoefficient_ = value;
3530 public const int ImprovementRateSolutionsDistanceFieldNumber = 39;
3531 private int improvementRateSolutionsDistance_;
3540 public int ImprovementRateSolutionsDistance {
3541 get {
return improvementRateSolutionsDistance_; }
3543 improvementRateSolutionsDistance_ = value;
3554 if (ReferenceEquals(other,
null)) {
3557 if (ReferenceEquals(other,
this)) {
3560 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(ImprovementRateCoefficient, other.
ImprovementRateCoefficient))
return false;
3562 return Equals(_unknownFields, other._unknownFields);
3568 if (ImprovementRateCoefficient != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(ImprovementRateCoefficient);
3569 if (ImprovementRateSolutionsDistance != 0) hash ^= ImprovementRateSolutionsDistance.GetHashCode();
3570 if (_unknownFields !=
null) {
3571 hash ^= _unknownFields.GetHashCode();
3578 return pb::JsonFormatter.ToDiagnosticString(
this);
3582 public void WriteTo(pb::CodedOutputStream output) {
3583 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3584 output.WriteRawMessage(
this);
3586 if (ImprovementRateCoefficient != 0D) {
3587 output.WriteRawTag(177, 2);
3588 output.WriteDouble(ImprovementRateCoefficient);
3590 if (ImprovementRateSolutionsDistance != 0) {
3591 output.WriteRawTag(184, 2);
3592 output.WriteInt32(ImprovementRateSolutionsDistance);
3594 if (_unknownFields !=
null) {
3595 _unknownFields.WriteTo(output);
3600 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3602 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
3603 if (ImprovementRateCoefficient != 0D) {
3604 output.WriteRawTag(177, 2);
3605 output.WriteDouble(ImprovementRateCoefficient);
3607 if (ImprovementRateSolutionsDistance != 0) {
3608 output.WriteRawTag(184, 2);
3609 output.WriteInt32(ImprovementRateSolutionsDistance);
3611 if (_unknownFields !=
null) {
3612 _unknownFields.WriteTo(ref output);
3620 if (ImprovementRateCoefficient != 0D) {
3623 if (ImprovementRateSolutionsDistance != 0) {
3624 size += 2 + pb::CodedOutputStream.ComputeInt32Size(ImprovementRateSolutionsDistance);
3626 if (_unknownFields !=
null) {
3627 size += _unknownFields.CalculateSize();
3634 if (other ==
null) {
3643 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
3648 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3649 input.ReadRawMessage(
this);
3652 while ((tag = input.ReadTag()) != 0) {
3655 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
3658 ImprovementRateCoefficient = input.ReadDouble();
3662 ImprovementRateSolutionsDistance = input.ReadInt32();
3670 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3672 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
3674 while ((tag = input.ReadTag()) != 0) {
3677 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
3680 ImprovementRateCoefficient = input.ReadDouble();
3684 ImprovementRateSolutionsDistance = input.ReadInt32();
3703 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3704 , pb::IBufferMessage
3707 private static readonly pb::MessageParser<RoutingModelParameters> _parser =
new pb::MessageParser<RoutingModelParameters>(() =>
new RoutingModelParameters());
3708 private pb::UnknownFieldSet _unknownFields;
3710 public static pb::MessageParser<RoutingModelParameters> Parser {
get {
return _parser; } }
3713 public static pbr::MessageDescriptor Descriptor {
3714 get {
return global::Google.OrTools.ConstraintSolver.RoutingParametersReflection.Descriptor.MessageTypes[1]; }
3718 pbr::MessageDescriptor pb::IMessage.Descriptor {
3719 get {
return Descriptor; }
3727 partial
void OnConstruction();
3731 solverParameters_ = other.solverParameters_ !=
null ? other.solverParameters_.
Clone() :
null;
3732 reduceVehicleCostModel_ = other.reduceVehicleCostModel_;
3733 maxCallbackCacheSize_ = other.maxCallbackCacheSize_;
3734 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
3743 public const int SolverParametersFieldNumber = 1;
3744 private global::Google.OrTools.ConstraintSolver.ConstraintSolverParameters solverParameters_;
3749 public global::Google.OrTools.ConstraintSolver.ConstraintSolverParameters SolverParameters {
3750 get {
return solverParameters_; }
3752 solverParameters_ = value;
3757 public const int ReduceVehicleCostModelFieldNumber = 2;
3758 private bool reduceVehicleCostModel_;
3766 public bool ReduceVehicleCostModel {
3767 get {
return reduceVehicleCostModel_; }
3769 reduceVehicleCostModel_ = value;
3774 public const int MaxCallbackCacheSizeFieldNumber = 3;
3775 private int maxCallbackCacheSize_;
3781 public int MaxCallbackCacheSize {
3782 get {
return maxCallbackCacheSize_; }
3784 maxCallbackCacheSize_ = value;
3795 if (ReferenceEquals(other,
null)) {
3798 if (ReferenceEquals(other,
this)) {
3801 if (!
object.Equals(SolverParameters, other.
SolverParameters))
return false;
3804 return Equals(_unknownFields, other._unknownFields);
3810 if (solverParameters_ !=
null) hash ^= SolverParameters.GetHashCode();
3811 if (ReduceVehicleCostModel !=
false) hash ^= ReduceVehicleCostModel.GetHashCode();
3812 if (MaxCallbackCacheSize != 0) hash ^= MaxCallbackCacheSize.GetHashCode();
3813 if (_unknownFields !=
null) {
3814 hash ^= _unknownFields.GetHashCode();
3821 return pb::JsonFormatter.ToDiagnosticString(
this);
3825 public void WriteTo(pb::CodedOutputStream output) {
3826 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3827 output.WriteRawMessage(
this);
3829 if (solverParameters_ !=
null) {
3830 output.WriteRawTag(10);
3831 output.WriteMessage(SolverParameters);
3833 if (ReduceVehicleCostModel !=
false) {
3834 output.WriteRawTag(16);
3835 output.WriteBool(ReduceVehicleCostModel);
3837 if (MaxCallbackCacheSize != 0) {
3838 output.WriteRawTag(24);
3839 output.WriteInt32(MaxCallbackCacheSize);
3841 if (_unknownFields !=
null) {
3842 _unknownFields.WriteTo(output);
3847 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3849 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
3850 if (solverParameters_ !=
null) {
3851 output.WriteRawTag(10);
3852 output.WriteMessage(SolverParameters);
3854 if (ReduceVehicleCostModel !=
false) {
3855 output.WriteRawTag(16);
3856 output.WriteBool(ReduceVehicleCostModel);
3858 if (MaxCallbackCacheSize != 0) {
3859 output.WriteRawTag(24);
3860 output.WriteInt32(MaxCallbackCacheSize);
3862 if (_unknownFields !=
null) {
3863 _unknownFields.WriteTo(ref output);
3871 if (solverParameters_ !=
null) {
3872 size += 1 + pb::CodedOutputStream.ComputeMessageSize(SolverParameters);
3874 if (ReduceVehicleCostModel !=
false) {
3877 if (MaxCallbackCacheSize != 0) {
3878 size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxCallbackCacheSize);
3880 if (_unknownFields !=
null) {
3881 size += _unknownFields.CalculateSize();
3888 if (other ==
null) {
3891 if (other.solverParameters_ !=
null) {
3892 if (solverParameters_ ==
null) {
3893 SolverParameters =
new global::Google.OrTools.ConstraintSolver.ConstraintSolverParameters();
3903 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
3908 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3909 input.ReadRawMessage(
this);
3912 while ((tag = input.ReadTag()) != 0) {
3915 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
3918 if (solverParameters_ ==
null) {
3919 SolverParameters =
new global::Google.OrTools.ConstraintSolver.ConstraintSolverParameters();
3921 input.ReadMessage(SolverParameters);
3925 ReduceVehicleCostModel = input.ReadBool();
3929 MaxCallbackCacheSize = input.ReadInt32();
3937 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3939 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
3941 while ((tag = input.ReadTag()) != 0) {
3944 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
3947 if (solverParameters_ ==
null) {
3948 SolverParameters =
new global::Google.OrTools.ConstraintSolver.ConstraintSolverParameters();
3950 input.ReadMessage(SolverParameters);
3954 ReduceVehicleCostModel = input.ReadBool();
3958 MaxCallbackCacheSize = input.ReadInt32();
3972 #endregion Designer generated code