Google OR-Tools v9.9
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
RoutingSearchParameters.java
Go to the documentation of this file.
1// Generated by the protocol buffer compiler. DO NOT EDIT!
2// source: ortools/constraint_solver/routing_parameters.proto
3
4// Protobuf Java Version: 3.25.3
5package com.google.ortools.constraintsolver;
6
20public final class RoutingSearchParameters extends
21 com.google.protobuf.GeneratedMessageV3 implements
22 // @@protoc_insertion_point(message_implements:operations_research.RoutingSearchParameters)
24private static final long serialVersionUID = 0L;
25 // Use RoutingSearchParameters.newBuilder() to construct.
26 private RoutingSearchParameters(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
27 super(builder);
28 }
29 private RoutingSearchParameters() {
30 firstSolutionStrategy_ = 0;
31 localCheapestInsertionPickupDeliveryStrategy_ = 0;
32 localCheapestCostInsertionPickupDeliveryStrategy_ = 0;
33 localSearchMetaheuristic_ = 0;
34 useCp_ = 0;
35 useCpSat_ = 0;
36 useGeneralizedCpSat_ = 0;
37 continuousSchedulingSolver_ = 0;
38 mixedIntegerSchedulingSolver_ = 0;
39 logTag_ = "";
40 }
41
42 @java.lang.Override
43 @SuppressWarnings({"unused"})
44 protected java.lang.Object newInstance(
45 UnusedPrivateParameter unused) {
46 return new RoutingSearchParameters();
47 }
48
49 public static final com.google.protobuf.Descriptors.Descriptor
51 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
52 }
53
54 @java.lang.Override
55 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
57 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_fieldAccessorTable
58 .ensureFieldAccessorsInitialized(
59 com.google.ortools.constraintsolver.RoutingSearchParameters.class, com.google.ortools.constraintsolver.RoutingSearchParameters.Builder.class);
60 }
61
72 implements com.google.protobuf.ProtocolMessageEnum {
110 ;
111
119 public static final int AUTOMATIC_VALUE = 0;
127 public static final int BEST_PICKUP_THEN_BEST_DELIVERY_VALUE = 1;
135 public static final int BEST_PICKUP_DELIVERY_PAIR_VALUE = 2;
147 public static final int BEST_PICKUP_DELIVERY_PAIR_MULTITOUR_VALUE = 3;
148
149
150 public final int getNumber() {
151 if (this == UNRECOGNIZED) {
152 throw new java.lang.IllegalArgumentException(
153 "Can't get the number of an unknown enum value.");
154 }
155 return value;
156 }
157
163 @java.lang.Deprecated
164 public static PairInsertionStrategy valueOf(int value) {
165 return forNumber(value);
166 }
167
172 public static PairInsertionStrategy forNumber(int value) {
173 switch (value) {
174 case 0: return AUTOMATIC;
175 case 1: return BEST_PICKUP_THEN_BEST_DELIVERY;
176 case 2: return BEST_PICKUP_DELIVERY_PAIR;
177 case 3: return BEST_PICKUP_DELIVERY_PAIR_MULTITOUR;
178 default: return null;
179 }
180 }
181
182 public static com.google.protobuf.Internal.EnumLiteMap<PairInsertionStrategy>
184 return internalValueMap;
185 }
186 private static final com.google.protobuf.Internal.EnumLiteMap<
187 PairInsertionStrategy> internalValueMap =
188 new com.google.protobuf.Internal.EnumLiteMap<PairInsertionStrategy>() {
189 public PairInsertionStrategy findValueByNumber(int number) {
190 return PairInsertionStrategy.forNumber(number);
191 }
192 };
193
194 public final com.google.protobuf.Descriptors.EnumValueDescriptor
196 if (this == UNRECOGNIZED) {
197 throw new java.lang.IllegalStateException(
198 "Can't get the descriptor of an unrecognized enum value.");
199 }
200 return getDescriptor().getValues().get(ordinal());
201 }
202 public final com.google.protobuf.Descriptors.EnumDescriptor
204 return getDescriptor();
205 }
206 public static final com.google.protobuf.Descriptors.EnumDescriptor
208 return com.google.ortools.constraintsolver.RoutingSearchParameters.getDescriptor().getEnumTypes().get(0);
209 }
210
211 private static final PairInsertionStrategy[] VALUES = values();
212
214 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
215 if (desc.getType() != getDescriptor()) {
216 throw new java.lang.IllegalArgumentException(
217 "EnumValueDescriptor is not for this type.");
218 }
219 if (desc.getIndex() == -1) {
220 return UNRECOGNIZED;
221 }
222 return VALUES[desc.getIndex()];
223 }
224
225 private final int value;
226
227 private PairInsertionStrategy(int value) {
228 this.value = value;
229 }
230
231 // @@protoc_insertion_point(enum_scope:operations_research.RoutingSearchParameters.PairInsertionStrategy)
232 }
233
243 implements com.google.protobuf.ProtocolMessageEnum {
257 ;
258
262 public static final int SCHEDULING_UNSET_VALUE = 0;
266 public static final int SCHEDULING_GLOP_VALUE = 1;
270 public static final int SCHEDULING_CP_SAT_VALUE = 2;
271
272
273 public final int getNumber() {
274 if (this == UNRECOGNIZED) {
275 throw new java.lang.IllegalArgumentException(
276 "Can't get the number of an unknown enum value.");
277 }
278 return value;
279 }
280
286 @java.lang.Deprecated
287 public static SchedulingSolver valueOf(int value) {
288 return forNumber(value);
289 }
290
295 public static SchedulingSolver forNumber(int value) {
296 switch (value) {
297 case 0: return SCHEDULING_UNSET;
298 case 1: return SCHEDULING_GLOP;
299 case 2: return SCHEDULING_CP_SAT;
300 default: return null;
301 }
302 }
303
304 public static com.google.protobuf.Internal.EnumLiteMap<SchedulingSolver>
306 return internalValueMap;
307 }
308 private static final com.google.protobuf.Internal.EnumLiteMap<
309 SchedulingSolver> internalValueMap =
310 new com.google.protobuf.Internal.EnumLiteMap<SchedulingSolver>() {
311 public SchedulingSolver findValueByNumber(int number) {
312 return SchedulingSolver.forNumber(number);
313 }
314 };
315
316 public final com.google.protobuf.Descriptors.EnumValueDescriptor
318 if (this == UNRECOGNIZED) {
319 throw new java.lang.IllegalStateException(
320 "Can't get the descriptor of an unrecognized enum value.");
321 }
322 return getDescriptor().getValues().get(ordinal());
323 }
324 public final com.google.protobuf.Descriptors.EnumDescriptor
326 return getDescriptor();
327 }
328 public static final com.google.protobuf.Descriptors.EnumDescriptor
330 return com.google.ortools.constraintsolver.RoutingSearchParameters.getDescriptor().getEnumTypes().get(1);
331 }
332
333 private static final SchedulingSolver[] VALUES = values();
334
336 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
337 if (desc.getType() != getDescriptor()) {
338 throw new java.lang.IllegalArgumentException(
339 "EnumValueDescriptor is not for this type.");
340 }
341 if (desc.getIndex() == -1) {
342 return UNRECOGNIZED;
343 }
344 return VALUES[desc.getIndex()];
345 }
346
347 private final int value;
348
349 private SchedulingSolver(int value) {
350 this.value = value;
351 }
352
353 // @@protoc_insertion_point(enum_scope:operations_research.RoutingSearchParameters.SchedulingSolver)
354 }
355
357 // @@protoc_insertion_point(interface_extends:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
358 com.google.protobuf.MessageOrBuilder {
359
394
429
460
521
566
597
628
649
684
703
740
777
816
841
870
901
938
965
994
1021
1058
1087
1126
1159
1178
1207
1230
1253
1272
1295
1320
1341
1366
1387 }
1396 public static final class LocalSearchNeighborhoodOperators extends
1397 com.google.protobuf.GeneratedMessageV3 implements
1398 // @@protoc_insertion_point(message_implements:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
1400 private static final long serialVersionUID = 0L;
1401 // Use LocalSearchNeighborhoodOperators.newBuilder() to construct.
1402 private LocalSearchNeighborhoodOperators(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
1403 super(builder);
1404 }
1406 useRelocate_ = 0;
1407 useRelocatePair_ = 0;
1408 useLightRelocatePair_ = 0;
1409 useRelocateNeighbors_ = 0;
1410 useRelocateSubtrip_ = 0;
1411 useExchange_ = 0;
1412 useExchangePair_ = 0;
1413 useExchangeSubtrip_ = 0;
1414 useCross_ = 0;
1415 useCrossExchange_ = 0;
1416 useRelocateExpensiveChain_ = 0;
1417 useTwoOpt_ = 0;
1418 useOrOpt_ = 0;
1419 useLinKernighan_ = 0;
1420 useTspOpt_ = 0;
1421 useMakeActive_ = 0;
1422 useRelocateAndMakeActive_ = 0;
1423 useMakeInactive_ = 0;
1424 useMakeChainInactive_ = 0;
1425 useSwapActive_ = 0;
1426 useExtendedSwapActive_ = 0;
1427 useShortestPathSwapActive_ = 0;
1428 useNodePairSwapActive_ = 0;
1429 usePathLns_ = 0;
1430 useFullPathLns_ = 0;
1431 useTspLns_ = 0;
1432 useInactiveLns_ = 0;
1433 useGlobalCheapestInsertionPathLns_ = 0;
1434 useLocalCheapestInsertionPathLns_ = 0;
1435 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
1436 useGlobalCheapestInsertionExpensiveChainLns_ = 0;
1437 useLocalCheapestInsertionExpensiveChainLns_ = 0;
1438 useGlobalCheapestInsertionCloseNodesLns_ = 0;
1439 useLocalCheapestInsertionCloseNodesLns_ = 0;
1440 }
1441
1442 @java.lang.Override
1443 @SuppressWarnings({"unused"})
1444 protected java.lang.Object newInstance(
1445 UnusedPrivateParameter unused) {
1447 }
1448
1449 public static final com.google.protobuf.Descriptors.Descriptor
1451 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
1452 }
1453
1454 @java.lang.Override
1455 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
1457 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_fieldAccessorTable
1458 .ensureFieldAccessorsInitialized(
1459 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.class, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder.class);
1460 }
1461
1462 public static final int USE_RELOCATE_FIELD_NUMBER = 1;
1463 private int useRelocate_ = 0;
1480 @java.lang.Override public int getUseRelocateValue() {
1481 return useRelocate_;
1482 }
1500 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocate_);
1501 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1502 }
1503
1504 public static final int USE_RELOCATE_PAIR_FIELD_NUMBER = 2;
1505 private int useRelocatePair_ = 0;
1522 @java.lang.Override public int getUseRelocatePairValue() {
1523 return useRelocatePair_;
1524 }
1542 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocatePair_);
1543 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1544 }
1545
1546 public static final int USE_LIGHT_RELOCATE_PAIR_FIELD_NUMBER = 24;
1547 private int useLightRelocatePair_ = 0;
1562 @java.lang.Override public int getUseLightRelocatePairValue() {
1563 return useLightRelocatePair_;
1564 }
1580 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useLightRelocatePair_);
1581 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1582 }
1583
1584 public static final int USE_RELOCATE_NEIGHBORS_FIELD_NUMBER = 3;
1585 private int useRelocateNeighbors_ = 0;
1615 @java.lang.Override public int getUseRelocateNeighborsValue() {
1616 return useRelocateNeighbors_;
1617 }
1648 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocateNeighbors_);
1649 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1650 }
1651
1652 public static final int USE_RELOCATE_SUBTRIP_FIELD_NUMBER = 25;
1653 private int useRelocateSubtrip_ = 0;
1675 @java.lang.Override public int getUseRelocateSubtripValue() {
1676 return useRelocateSubtrip_;
1677 }
1700 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocateSubtrip_);
1701 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1702 }
1703
1704 public static final int USE_EXCHANGE_FIELD_NUMBER = 4;
1705 private int useExchange_ = 0;
1720 @java.lang.Override public int getUseExchangeValue() {
1721 return useExchange_;
1722 }
1738 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useExchange_);
1739 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1740 }
1741
1742 public static final int USE_EXCHANGE_PAIR_FIELD_NUMBER = 22;
1743 private int useExchangePair_ = 0;
1758 @java.lang.Override public int getUseExchangePairValue() {
1759 return useExchangePair_;
1760 }
1776 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useExchangePair_);
1777 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1778 }
1779
1780 public static final int USE_EXCHANGE_SUBTRIP_FIELD_NUMBER = 26;
1781 private int useExchangeSubtrip_ = 0;
1791 @java.lang.Override public int getUseExchangeSubtripValue() {
1792 return useExchangeSubtrip_;
1793 }
1804 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useExchangeSubtrip_);
1805 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1806 }
1807
1808 public static final int USE_CROSS_FIELD_NUMBER = 5;
1809 private int useCross_ = 0;
1826 @java.lang.Override public int getUseCrossValue() {
1827 return useCross_;
1828 }
1846 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useCross_);
1847 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1848 }
1849
1850 public static final int USE_CROSS_EXCHANGE_FIELD_NUMBER = 6;
1851 private int useCrossExchange_ = 0;
1860 @java.lang.Override public int getUseCrossExchangeValue() {
1861 return useCrossExchange_;
1862 }
1872 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useCrossExchange_);
1873 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1874 }
1875
1876 public static final int USE_RELOCATE_EXPENSIVE_CHAIN_FIELD_NUMBER = 23;
1877 private int useRelocateExpensiveChain_ = 0;
1895 @java.lang.Override public int getUseRelocateExpensiveChainValue() {
1896 return useRelocateExpensiveChain_;
1897 }
1916 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocateExpensiveChain_);
1917 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1918 }
1919
1920 public static final int USE_TWO_OPT_FIELD_NUMBER = 7;
1921 private int useTwoOpt_ = 0;
1939 @java.lang.Override public int getUseTwoOptValue() {
1940 return useTwoOpt_;
1941 }
1960 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useTwoOpt_);
1961 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1962 }
1963
1964 public static final int USE_OR_OPT_FIELD_NUMBER = 8;
1965 private int useOrOpt_ = 0;
1984 @java.lang.Override public int getUseOrOptValue() {
1985 return useOrOpt_;
1986 }
2006 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useOrOpt_);
2007 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2008 }
2009
2010 public static final int USE_LIN_KERNIGHAN_FIELD_NUMBER = 9;
2011 private int useLinKernighan_ = 0;
2023 @java.lang.Override public int getUseLinKernighanValue() {
2024 return useLinKernighan_;
2025 }
2038 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useLinKernighan_);
2039 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2040 }
2041
2042 public static final int USE_TSP_OPT_FIELD_NUMBER = 10;
2043 private int useTspOpt_ = 0;
2057 @java.lang.Override public int getUseTspOptValue() {
2058 return useTspOpt_;
2059 }
2074 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useTspOpt_);
2075 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2076 }
2077
2078 public static final int USE_MAKE_ACTIVE_FIELD_NUMBER = 11;
2079 private int useMakeActive_ = 0;
2094 @java.lang.Override public int getUseMakeActiveValue() {
2095 return useMakeActive_;
2096 }
2112 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useMakeActive_);
2113 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2114 }
2115
2116 public static final int USE_RELOCATE_AND_MAKE_ACTIVE_FIELD_NUMBER = 21;
2117 private int useRelocateAndMakeActive_ = 0;
2135 @java.lang.Override public int getUseRelocateAndMakeActiveValue() {
2136 return useRelocateAndMakeActive_;
2137 }
2156 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocateAndMakeActive_);
2157 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2158 }
2159
2160 public static final int USE_MAKE_INACTIVE_FIELD_NUMBER = 12;
2161 private int useMakeInactive_ = 0;
2174 @java.lang.Override public int getUseMakeInactiveValue() {
2175 return useMakeInactive_;
2176 }
2190 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useMakeInactive_);
2191 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2192 }
2193
2194 public static final int USE_MAKE_CHAIN_INACTIVE_FIELD_NUMBER = 13;
2195 private int useMakeChainInactive_ = 0;
2209 @java.lang.Override public int getUseMakeChainInactiveValue() {
2210 return useMakeChainInactive_;
2211 }
2226 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useMakeChainInactive_);
2227 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2228 }
2229
2230 public static final int USE_SWAP_ACTIVE_FIELD_NUMBER = 14;
2231 private int useSwapActive_ = 0;
2244 @java.lang.Override public int getUseSwapActiveValue() {
2245 return useSwapActive_;
2246 }
2260 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useSwapActive_);
2261 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2262 }
2263
2264 public static final int USE_EXTENDED_SWAP_ACTIVE_FIELD_NUMBER = 15;
2265 private int useExtendedSwapActive_ = 0;
2283 @java.lang.Override public int getUseExtendedSwapActiveValue() {
2284 return useExtendedSwapActive_;
2285 }
2304 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useExtendedSwapActive_);
2305 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2306 }
2307
2309 private int useShortestPathSwapActive_ = 0;
2323 @java.lang.Override public int getUseShortestPathSwapActiveValue() {
2324 return useShortestPathSwapActive_;
2325 }
2340 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useShortestPathSwapActive_);
2341 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2342 }
2343
2344 public static final int USE_NODE_PAIR_SWAP_ACTIVE_FIELD_NUMBER = 20;
2345 private int useNodePairSwapActive_ = 0;
2364 @java.lang.Override public int getUseNodePairSwapActiveValue() {
2365 return useNodePairSwapActive_;
2366 }
2386 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useNodePairSwapActive_);
2387 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2388 }
2389
2390 public static final int USE_PATH_LNS_FIELD_NUMBER = 16;
2391 private int usePathLns_ = 0;
2407 @java.lang.Override public int getUsePathLnsValue() {
2408 return usePathLns_;
2409 }
2426 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(usePathLns_);
2427 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2428 }
2429
2430 public static final int USE_FULL_PATH_LNS_FIELD_NUMBER = 17;
2431 private int useFullPathLns_ = 0;
2440 @java.lang.Override public int getUseFullPathLnsValue() {
2441 return useFullPathLns_;
2442 }
2452 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useFullPathLns_);
2453 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2454 }
2455
2456 public static final int USE_TSP_LNS_FIELD_NUMBER = 18;
2457 private int useTspLns_ = 0;
2471 @java.lang.Override public int getUseTspLnsValue() {
2472 return useTspLns_;
2473 }
2488 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useTspLns_);
2489 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2490 }
2491
2492 public static final int USE_INACTIVE_LNS_FIELD_NUMBER = 19;
2493 private int useInactiveLns_ = 0;
2504 @java.lang.Override public int getUseInactiveLnsValue() {
2505 return useInactiveLns_;
2506 }
2518 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useInactiveLns_);
2519 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2520 }
2521
2523 private int useGlobalCheapestInsertionPathLns_ = 0;
2534 @java.lang.Override public int getUseGlobalCheapestInsertionPathLnsValue() {
2535 return useGlobalCheapestInsertionPathLns_;
2536 }
2548 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useGlobalCheapestInsertionPathLns_);
2549 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2550 }
2551
2553 private int useLocalCheapestInsertionPathLns_ = 0;
2562 @java.lang.Override public int getUseLocalCheapestInsertionPathLnsValue() {
2563 return useLocalCheapestInsertionPathLns_;
2564 }
2574 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useLocalCheapestInsertionPathLns_);
2575 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2576 }
2577
2579 private int useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
2591 return useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
2592 }
2604 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocatePathGlobalCheapestInsertionInsertUnperformed_);
2605 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2606 }
2607
2609 private int useGlobalCheapestInsertionExpensiveChainLns_ = 0;
2622 return useGlobalCheapestInsertionExpensiveChainLns_;
2623 }
2636 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useGlobalCheapestInsertionExpensiveChainLns_);
2637 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2638 }
2639
2641 private int useLocalCheapestInsertionExpensiveChainLns_ = 0;
2652 return useLocalCheapestInsertionExpensiveChainLns_;
2653 }
2664 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useLocalCheapestInsertionExpensiveChainLns_);
2665 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2666 }
2667
2669 private int useGlobalCheapestInsertionCloseNodesLns_ = 0;
2681 @java.lang.Override public int getUseGlobalCheapestInsertionCloseNodesLnsValue() {
2682 return useGlobalCheapestInsertionCloseNodesLns_;
2683 }
2696 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useGlobalCheapestInsertionCloseNodesLns_);
2697 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2698 }
2699
2701 private int useLocalCheapestInsertionCloseNodesLns_ = 0;
2711 @java.lang.Override public int getUseLocalCheapestInsertionCloseNodesLnsValue() {
2712 return useLocalCheapestInsertionCloseNodesLns_;
2713 }
2724 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useLocalCheapestInsertionCloseNodesLns_);
2725 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2726 }
2727
2728 private byte memoizedIsInitialized = -1;
2729 @java.lang.Override
2730 public final boolean isInitialized() {
2731 byte isInitialized = memoizedIsInitialized;
2732 if (isInitialized == 1) return true;
2733 if (isInitialized == 0) return false;
2734
2735 memoizedIsInitialized = 1;
2736 return true;
2737 }
2738
2739 @java.lang.Override
2740 public void writeTo(com.google.protobuf.CodedOutputStream output)
2741 throws java.io.IOException {
2742 if (useRelocate_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2743 output.writeEnum(1, useRelocate_);
2744 }
2745 if (useRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2746 output.writeEnum(2, useRelocatePair_);
2747 }
2748 if (useRelocateNeighbors_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2749 output.writeEnum(3, useRelocateNeighbors_);
2750 }
2751 if (useExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2752 output.writeEnum(4, useExchange_);
2753 }
2754 if (useCross_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2755 output.writeEnum(5, useCross_);
2756 }
2757 if (useCrossExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2758 output.writeEnum(6, useCrossExchange_);
2759 }
2760 if (useTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2761 output.writeEnum(7, useTwoOpt_);
2762 }
2763 if (useOrOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2764 output.writeEnum(8, useOrOpt_);
2765 }
2766 if (useLinKernighan_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2767 output.writeEnum(9, useLinKernighan_);
2768 }
2769 if (useTspOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2770 output.writeEnum(10, useTspOpt_);
2771 }
2772 if (useMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2773 output.writeEnum(11, useMakeActive_);
2774 }
2775 if (useMakeInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2776 output.writeEnum(12, useMakeInactive_);
2777 }
2778 if (useMakeChainInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2779 output.writeEnum(13, useMakeChainInactive_);
2780 }
2781 if (useSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2782 output.writeEnum(14, useSwapActive_);
2783 }
2784 if (useExtendedSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2785 output.writeEnum(15, useExtendedSwapActive_);
2786 }
2787 if (usePathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2788 output.writeEnum(16, usePathLns_);
2789 }
2790 if (useFullPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2791 output.writeEnum(17, useFullPathLns_);
2792 }
2793 if (useTspLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2794 output.writeEnum(18, useTspLns_);
2795 }
2796 if (useInactiveLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2797 output.writeEnum(19, useInactiveLns_);
2798 }
2799 if (useNodePairSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2800 output.writeEnum(20, useNodePairSwapActive_);
2801 }
2802 if (useRelocateAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2803 output.writeEnum(21, useRelocateAndMakeActive_);
2804 }
2805 if (useExchangePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2806 output.writeEnum(22, useExchangePair_);
2807 }
2808 if (useRelocateExpensiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2809 output.writeEnum(23, useRelocateExpensiveChain_);
2810 }
2811 if (useLightRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2812 output.writeEnum(24, useLightRelocatePair_);
2813 }
2814 if (useRelocateSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2815 output.writeEnum(25, useRelocateSubtrip_);
2816 }
2817 if (useExchangeSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2818 output.writeEnum(26, useExchangeSubtrip_);
2819 }
2820 if (useGlobalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2821 output.writeEnum(27, useGlobalCheapestInsertionPathLns_);
2822 }
2823 if (useLocalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2824 output.writeEnum(28, useLocalCheapestInsertionPathLns_);
2825 }
2826 if (useGlobalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2827 output.writeEnum(29, useGlobalCheapestInsertionExpensiveChainLns_);
2828 }
2829 if (useLocalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2830 output.writeEnum(30, useLocalCheapestInsertionExpensiveChainLns_);
2831 }
2832 if (useGlobalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2833 output.writeEnum(31, useGlobalCheapestInsertionCloseNodesLns_);
2834 }
2835 if (useLocalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2836 output.writeEnum(32, useLocalCheapestInsertionCloseNodesLns_);
2837 }
2838 if (useRelocatePathGlobalCheapestInsertionInsertUnperformed_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2839 output.writeEnum(33, useRelocatePathGlobalCheapestInsertionInsertUnperformed_);
2840 }
2841 if (useShortestPathSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2842 output.writeEnum(34, useShortestPathSwapActive_);
2843 }
2844 getUnknownFields().writeTo(output);
2845 }
2846
2847 @java.lang.Override
2848 public int getSerializedSize() {
2849 int size = memoizedSize;
2850 if (size != -1) return size;
2851
2852 size = 0;
2853 if (useRelocate_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2854 size += com.google.protobuf.CodedOutputStream
2855 .computeEnumSize(1, useRelocate_);
2856 }
2857 if (useRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2858 size += com.google.protobuf.CodedOutputStream
2859 .computeEnumSize(2, useRelocatePair_);
2860 }
2861 if (useRelocateNeighbors_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2862 size += com.google.protobuf.CodedOutputStream
2863 .computeEnumSize(3, useRelocateNeighbors_);
2864 }
2865 if (useExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2866 size += com.google.protobuf.CodedOutputStream
2867 .computeEnumSize(4, useExchange_);
2868 }
2869 if (useCross_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2870 size += com.google.protobuf.CodedOutputStream
2871 .computeEnumSize(5, useCross_);
2872 }
2873 if (useCrossExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2874 size += com.google.protobuf.CodedOutputStream
2875 .computeEnumSize(6, useCrossExchange_);
2876 }
2877 if (useTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2878 size += com.google.protobuf.CodedOutputStream
2879 .computeEnumSize(7, useTwoOpt_);
2880 }
2881 if (useOrOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2882 size += com.google.protobuf.CodedOutputStream
2883 .computeEnumSize(8, useOrOpt_);
2884 }
2885 if (useLinKernighan_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2886 size += com.google.protobuf.CodedOutputStream
2887 .computeEnumSize(9, useLinKernighan_);
2888 }
2889 if (useTspOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2890 size += com.google.protobuf.CodedOutputStream
2891 .computeEnumSize(10, useTspOpt_);
2892 }
2893 if (useMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2894 size += com.google.protobuf.CodedOutputStream
2895 .computeEnumSize(11, useMakeActive_);
2896 }
2897 if (useMakeInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2898 size += com.google.protobuf.CodedOutputStream
2899 .computeEnumSize(12, useMakeInactive_);
2900 }
2901 if (useMakeChainInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2902 size += com.google.protobuf.CodedOutputStream
2903 .computeEnumSize(13, useMakeChainInactive_);
2904 }
2905 if (useSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2906 size += com.google.protobuf.CodedOutputStream
2907 .computeEnumSize(14, useSwapActive_);
2908 }
2909 if (useExtendedSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2910 size += com.google.protobuf.CodedOutputStream
2911 .computeEnumSize(15, useExtendedSwapActive_);
2912 }
2913 if (usePathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2914 size += com.google.protobuf.CodedOutputStream
2915 .computeEnumSize(16, usePathLns_);
2916 }
2917 if (useFullPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2918 size += com.google.protobuf.CodedOutputStream
2919 .computeEnumSize(17, useFullPathLns_);
2920 }
2921 if (useTspLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2922 size += com.google.protobuf.CodedOutputStream
2923 .computeEnumSize(18, useTspLns_);
2924 }
2925 if (useInactiveLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2926 size += com.google.protobuf.CodedOutputStream
2927 .computeEnumSize(19, useInactiveLns_);
2928 }
2929 if (useNodePairSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2930 size += com.google.protobuf.CodedOutputStream
2931 .computeEnumSize(20, useNodePairSwapActive_);
2932 }
2933 if (useRelocateAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2934 size += com.google.protobuf.CodedOutputStream
2935 .computeEnumSize(21, useRelocateAndMakeActive_);
2936 }
2937 if (useExchangePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2938 size += com.google.protobuf.CodedOutputStream
2939 .computeEnumSize(22, useExchangePair_);
2940 }
2941 if (useRelocateExpensiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2942 size += com.google.protobuf.CodedOutputStream
2943 .computeEnumSize(23, useRelocateExpensiveChain_);
2944 }
2945 if (useLightRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2946 size += com.google.protobuf.CodedOutputStream
2947 .computeEnumSize(24, useLightRelocatePair_);
2948 }
2949 if (useRelocateSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2950 size += com.google.protobuf.CodedOutputStream
2951 .computeEnumSize(25, useRelocateSubtrip_);
2952 }
2953 if (useExchangeSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2954 size += com.google.protobuf.CodedOutputStream
2955 .computeEnumSize(26, useExchangeSubtrip_);
2956 }
2957 if (useGlobalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2958 size += com.google.protobuf.CodedOutputStream
2959 .computeEnumSize(27, useGlobalCheapestInsertionPathLns_);
2960 }
2961 if (useLocalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2962 size += com.google.protobuf.CodedOutputStream
2963 .computeEnumSize(28, useLocalCheapestInsertionPathLns_);
2964 }
2965 if (useGlobalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2966 size += com.google.protobuf.CodedOutputStream
2967 .computeEnumSize(29, useGlobalCheapestInsertionExpensiveChainLns_);
2968 }
2969 if (useLocalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2970 size += com.google.protobuf.CodedOutputStream
2971 .computeEnumSize(30, useLocalCheapestInsertionExpensiveChainLns_);
2972 }
2973 if (useGlobalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2974 size += com.google.protobuf.CodedOutputStream
2975 .computeEnumSize(31, useGlobalCheapestInsertionCloseNodesLns_);
2976 }
2977 if (useLocalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2978 size += com.google.protobuf.CodedOutputStream
2979 .computeEnumSize(32, useLocalCheapestInsertionCloseNodesLns_);
2980 }
2981 if (useRelocatePathGlobalCheapestInsertionInsertUnperformed_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2982 size += com.google.protobuf.CodedOutputStream
2983 .computeEnumSize(33, useRelocatePathGlobalCheapestInsertionInsertUnperformed_);
2984 }
2985 if (useShortestPathSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2986 size += com.google.protobuf.CodedOutputStream
2987 .computeEnumSize(34, useShortestPathSwapActive_);
2988 }
2989 size += getUnknownFields().getSerializedSize();
2990 memoizedSize = size;
2991 return size;
2992 }
2993
2994 @java.lang.Override
2995 public boolean equals(final java.lang.Object obj) {
2996 if (obj == this) {
2997 return true;
2998 }
2999 if (!(obj instanceof com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators)) {
3000 return super.equals(obj);
3001 }
3002 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators other = (com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators) obj;
3003
3004 if (useRelocate_ != other.useRelocate_) return false;
3005 if (useRelocatePair_ != other.useRelocatePair_) return false;
3006 if (useLightRelocatePair_ != other.useLightRelocatePair_) return false;
3007 if (useRelocateNeighbors_ != other.useRelocateNeighbors_) return false;
3008 if (useRelocateSubtrip_ != other.useRelocateSubtrip_) return false;
3009 if (useExchange_ != other.useExchange_) return false;
3010 if (useExchangePair_ != other.useExchangePair_) return false;
3011 if (useExchangeSubtrip_ != other.useExchangeSubtrip_) return false;
3012 if (useCross_ != other.useCross_) return false;
3013 if (useCrossExchange_ != other.useCrossExchange_) return false;
3014 if (useRelocateExpensiveChain_ != other.useRelocateExpensiveChain_) return false;
3015 if (useTwoOpt_ != other.useTwoOpt_) return false;
3016 if (useOrOpt_ != other.useOrOpt_) return false;
3017 if (useLinKernighan_ != other.useLinKernighan_) return false;
3018 if (useTspOpt_ != other.useTspOpt_) return false;
3019 if (useMakeActive_ != other.useMakeActive_) return false;
3020 if (useRelocateAndMakeActive_ != other.useRelocateAndMakeActive_) return false;
3021 if (useMakeInactive_ != other.useMakeInactive_) return false;
3022 if (useMakeChainInactive_ != other.useMakeChainInactive_) return false;
3023 if (useSwapActive_ != other.useSwapActive_) return false;
3024 if (useExtendedSwapActive_ != other.useExtendedSwapActive_) return false;
3025 if (useShortestPathSwapActive_ != other.useShortestPathSwapActive_) return false;
3026 if (useNodePairSwapActive_ != other.useNodePairSwapActive_) return false;
3027 if (usePathLns_ != other.usePathLns_) return false;
3028 if (useFullPathLns_ != other.useFullPathLns_) return false;
3029 if (useTspLns_ != other.useTspLns_) return false;
3030 if (useInactiveLns_ != other.useInactiveLns_) return false;
3031 if (useGlobalCheapestInsertionPathLns_ != other.useGlobalCheapestInsertionPathLns_) return false;
3032 if (useLocalCheapestInsertionPathLns_ != other.useLocalCheapestInsertionPathLns_) return false;
3033 if (useRelocatePathGlobalCheapestInsertionInsertUnperformed_ != other.useRelocatePathGlobalCheapestInsertionInsertUnperformed_) return false;
3034 if (useGlobalCheapestInsertionExpensiveChainLns_ != other.useGlobalCheapestInsertionExpensiveChainLns_) return false;
3035 if (useLocalCheapestInsertionExpensiveChainLns_ != other.useLocalCheapestInsertionExpensiveChainLns_) return false;
3036 if (useGlobalCheapestInsertionCloseNodesLns_ != other.useGlobalCheapestInsertionCloseNodesLns_) return false;
3037 if (useLocalCheapestInsertionCloseNodesLns_ != other.useLocalCheapestInsertionCloseNodesLns_) return false;
3038 if (!getUnknownFields().equals(other.getUnknownFields())) return false;
3039 return true;
3040 }
3041
3042 @java.lang.Override
3043 public int hashCode() {
3044 if (memoizedHashCode != 0) {
3045 return memoizedHashCode;
3046 }
3047 int hash = 41;
3048 hash = (19 * hash) + getDescriptor().hashCode();
3049 hash = (37 * hash) + USE_RELOCATE_FIELD_NUMBER;
3050 hash = (53 * hash) + useRelocate_;
3051 hash = (37 * hash) + USE_RELOCATE_PAIR_FIELD_NUMBER;
3052 hash = (53 * hash) + useRelocatePair_;
3053 hash = (37 * hash) + USE_LIGHT_RELOCATE_PAIR_FIELD_NUMBER;
3054 hash = (53 * hash) + useLightRelocatePair_;
3055 hash = (37 * hash) + USE_RELOCATE_NEIGHBORS_FIELD_NUMBER;
3056 hash = (53 * hash) + useRelocateNeighbors_;
3057 hash = (37 * hash) + USE_RELOCATE_SUBTRIP_FIELD_NUMBER;
3058 hash = (53 * hash) + useRelocateSubtrip_;
3059 hash = (37 * hash) + USE_EXCHANGE_FIELD_NUMBER;
3060 hash = (53 * hash) + useExchange_;
3061 hash = (37 * hash) + USE_EXCHANGE_PAIR_FIELD_NUMBER;
3062 hash = (53 * hash) + useExchangePair_;
3063 hash = (37 * hash) + USE_EXCHANGE_SUBTRIP_FIELD_NUMBER;
3064 hash = (53 * hash) + useExchangeSubtrip_;
3065 hash = (37 * hash) + USE_CROSS_FIELD_NUMBER;
3066 hash = (53 * hash) + useCross_;
3067 hash = (37 * hash) + USE_CROSS_EXCHANGE_FIELD_NUMBER;
3068 hash = (53 * hash) + useCrossExchange_;
3069 hash = (37 * hash) + USE_RELOCATE_EXPENSIVE_CHAIN_FIELD_NUMBER;
3070 hash = (53 * hash) + useRelocateExpensiveChain_;
3071 hash = (37 * hash) + USE_TWO_OPT_FIELD_NUMBER;
3072 hash = (53 * hash) + useTwoOpt_;
3073 hash = (37 * hash) + USE_OR_OPT_FIELD_NUMBER;
3074 hash = (53 * hash) + useOrOpt_;
3075 hash = (37 * hash) + USE_LIN_KERNIGHAN_FIELD_NUMBER;
3076 hash = (53 * hash) + useLinKernighan_;
3077 hash = (37 * hash) + USE_TSP_OPT_FIELD_NUMBER;
3078 hash = (53 * hash) + useTspOpt_;
3079 hash = (37 * hash) + USE_MAKE_ACTIVE_FIELD_NUMBER;
3080 hash = (53 * hash) + useMakeActive_;
3081 hash = (37 * hash) + USE_RELOCATE_AND_MAKE_ACTIVE_FIELD_NUMBER;
3082 hash = (53 * hash) + useRelocateAndMakeActive_;
3083 hash = (37 * hash) + USE_MAKE_INACTIVE_FIELD_NUMBER;
3084 hash = (53 * hash) + useMakeInactive_;
3085 hash = (37 * hash) + USE_MAKE_CHAIN_INACTIVE_FIELD_NUMBER;
3086 hash = (53 * hash) + useMakeChainInactive_;
3087 hash = (37 * hash) + USE_SWAP_ACTIVE_FIELD_NUMBER;
3088 hash = (53 * hash) + useSwapActive_;
3089 hash = (37 * hash) + USE_EXTENDED_SWAP_ACTIVE_FIELD_NUMBER;
3090 hash = (53 * hash) + useExtendedSwapActive_;
3091 hash = (37 * hash) + USE_SHORTEST_PATH_SWAP_ACTIVE_FIELD_NUMBER;
3092 hash = (53 * hash) + useShortestPathSwapActive_;
3093 hash = (37 * hash) + USE_NODE_PAIR_SWAP_ACTIVE_FIELD_NUMBER;
3094 hash = (53 * hash) + useNodePairSwapActive_;
3095 hash = (37 * hash) + USE_PATH_LNS_FIELD_NUMBER;
3096 hash = (53 * hash) + usePathLns_;
3097 hash = (37 * hash) + USE_FULL_PATH_LNS_FIELD_NUMBER;
3098 hash = (53 * hash) + useFullPathLns_;
3099 hash = (37 * hash) + USE_TSP_LNS_FIELD_NUMBER;
3100 hash = (53 * hash) + useTspLns_;
3101 hash = (37 * hash) + USE_INACTIVE_LNS_FIELD_NUMBER;
3102 hash = (53 * hash) + useInactiveLns_;
3104 hash = (53 * hash) + useGlobalCheapestInsertionPathLns_;
3106 hash = (53 * hash) + useLocalCheapestInsertionPathLns_;
3108 hash = (53 * hash) + useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
3110 hash = (53 * hash) + useGlobalCheapestInsertionExpensiveChainLns_;
3112 hash = (53 * hash) + useLocalCheapestInsertionExpensiveChainLns_;
3114 hash = (53 * hash) + useGlobalCheapestInsertionCloseNodesLns_;
3116 hash = (53 * hash) + useLocalCheapestInsertionCloseNodesLns_;
3117 hash = (29 * hash) + getUnknownFields().hashCode();
3118 memoizedHashCode = hash;
3119 return hash;
3120 }
3121
3123 java.nio.ByteBuffer data)
3124 throws com.google.protobuf.InvalidProtocolBufferException {
3125 return PARSER.parseFrom(data);
3126 }
3128 java.nio.ByteBuffer data,
3129 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3130 throws com.google.protobuf.InvalidProtocolBufferException {
3131 return PARSER.parseFrom(data, extensionRegistry);
3132 }
3134 com.google.protobuf.ByteString data)
3135 throws com.google.protobuf.InvalidProtocolBufferException {
3136 return PARSER.parseFrom(data);
3137 }
3139 com.google.protobuf.ByteString data,
3140 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3141 throws com.google.protobuf.InvalidProtocolBufferException {
3142 return PARSER.parseFrom(data, extensionRegistry);
3143 }
3145 throws com.google.protobuf.InvalidProtocolBufferException {
3146 return PARSER.parseFrom(data);
3147 }
3149 byte[] data,
3150 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3151 throws com.google.protobuf.InvalidProtocolBufferException {
3152 return PARSER.parseFrom(data, extensionRegistry);
3153 }
3155 throws java.io.IOException {
3156 return com.google.protobuf.GeneratedMessageV3
3157 .parseWithIOException(PARSER, input);
3158 }
3160 java.io.InputStream input,
3161 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3162 throws java.io.IOException {
3163 return com.google.protobuf.GeneratedMessageV3
3164 .parseWithIOException(PARSER, input, extensionRegistry);
3165 }
3166
3168 throws java.io.IOException {
3169 return com.google.protobuf.GeneratedMessageV3
3170 .parseDelimitedWithIOException(PARSER, input);
3171 }
3172
3174 java.io.InputStream input,
3175 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3176 throws java.io.IOException {
3177 return com.google.protobuf.GeneratedMessageV3
3178 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
3179 }
3181 com.google.protobuf.CodedInputStream input)
3182 throws java.io.IOException {
3183 return com.google.protobuf.GeneratedMessageV3
3184 .parseWithIOException(PARSER, input);
3185 }
3187 com.google.protobuf.CodedInputStream input,
3188 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3189 throws java.io.IOException {
3190 return com.google.protobuf.GeneratedMessageV3
3191 .parseWithIOException(PARSER, input, extensionRegistry);
3192 }
3193
3194 @java.lang.Override
3195 public Builder newBuilderForType() { return newBuilder(); }
3196 public static Builder newBuilder() {
3197 return DEFAULT_INSTANCE.toBuilder();
3198 }
3199 public static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators prototype) {
3200 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
3201 }
3202 @java.lang.Override
3204 return this == DEFAULT_INSTANCE
3205 ? new Builder() : new Builder().mergeFrom(this);
3206 }
3207
3208 @java.lang.Override
3210 com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
3211 Builder builder = new Builder(parent);
3212 return builder;
3213 }
3222 public static final class Builder extends
3223 com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
3224 // @@protoc_insertion_point(builder_implements:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
3225 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder {
3226 public static final com.google.protobuf.Descriptors.Descriptor
3228 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
3229 }
3230
3231 @java.lang.Override
3232 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
3234 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_fieldAccessorTable
3235 .ensureFieldAccessorsInitialized(
3236 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.class, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder.class);
3237 }
3238
3239 // Construct using com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.newBuilder()
3240 private Builder() {
3241
3242 }
3243
3244 private Builder(
3245 com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
3246 super(parent);
3247
3248 }
3249 @java.lang.Override
3250 public Builder clear() {
3251 super.clear();
3252 bitField0_ = 0;
3253 bitField1_ = 0;
3254 useRelocate_ = 0;
3255 useRelocatePair_ = 0;
3256 useLightRelocatePair_ = 0;
3257 useRelocateNeighbors_ = 0;
3258 useRelocateSubtrip_ = 0;
3259 useExchange_ = 0;
3260 useExchangePair_ = 0;
3261 useExchangeSubtrip_ = 0;
3262 useCross_ = 0;
3263 useCrossExchange_ = 0;
3264 useRelocateExpensiveChain_ = 0;
3265 useTwoOpt_ = 0;
3266 useOrOpt_ = 0;
3267 useLinKernighan_ = 0;
3268 useTspOpt_ = 0;
3269 useMakeActive_ = 0;
3270 useRelocateAndMakeActive_ = 0;
3271 useMakeInactive_ = 0;
3272 useMakeChainInactive_ = 0;
3273 useSwapActive_ = 0;
3274 useExtendedSwapActive_ = 0;
3275 useShortestPathSwapActive_ = 0;
3276 useNodePairSwapActive_ = 0;
3277 usePathLns_ = 0;
3278 useFullPathLns_ = 0;
3279 useTspLns_ = 0;
3280 useInactiveLns_ = 0;
3281 useGlobalCheapestInsertionPathLns_ = 0;
3282 useLocalCheapestInsertionPathLns_ = 0;
3283 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
3284 useGlobalCheapestInsertionExpensiveChainLns_ = 0;
3285 useLocalCheapestInsertionExpensiveChainLns_ = 0;
3286 useGlobalCheapestInsertionCloseNodesLns_ = 0;
3287 useLocalCheapestInsertionCloseNodesLns_ = 0;
3288 return this;
3289 }
3290
3291 @java.lang.Override
3292 public com.google.protobuf.Descriptors.Descriptor
3294 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
3295 }
3296
3297 @java.lang.Override
3299 return com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance();
3300 }
3301
3302 @java.lang.Override
3310
3311 @java.lang.Override
3313 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators result = new com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators(this);
3314 if (bitField0_ != 0) { buildPartial0(result); }
3315 if (bitField1_ != 0) { buildPartial1(result); }
3316 onBuilt();
3317 return result;
3318 }
3319
3320 private void buildPartial0(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators result) {
3321 int from_bitField0_ = bitField0_;
3322 if (((from_bitField0_ & 0x00000001) != 0)) {
3323 result.useRelocate_ = useRelocate_;
3324 }
3325 if (((from_bitField0_ & 0x00000002) != 0)) {
3326 result.useRelocatePair_ = useRelocatePair_;
3327 }
3328 if (((from_bitField0_ & 0x00000004) != 0)) {
3329 result.useLightRelocatePair_ = useLightRelocatePair_;
3330 }
3331 if (((from_bitField0_ & 0x00000008) != 0)) {
3332 result.useRelocateNeighbors_ = useRelocateNeighbors_;
3333 }
3334 if (((from_bitField0_ & 0x00000010) != 0)) {
3335 result.useRelocateSubtrip_ = useRelocateSubtrip_;
3336 }
3337 if (((from_bitField0_ & 0x00000020) != 0)) {
3338 result.useExchange_ = useExchange_;
3339 }
3340 if (((from_bitField0_ & 0x00000040) != 0)) {
3341 result.useExchangePair_ = useExchangePair_;
3342 }
3343 if (((from_bitField0_ & 0x00000080) != 0)) {
3344 result.useExchangeSubtrip_ = useExchangeSubtrip_;
3345 }
3346 if (((from_bitField0_ & 0x00000100) != 0)) {
3347 result.useCross_ = useCross_;
3348 }
3349 if (((from_bitField0_ & 0x00000200) != 0)) {
3350 result.useCrossExchange_ = useCrossExchange_;
3351 }
3352 if (((from_bitField0_ & 0x00000400) != 0)) {
3353 result.useRelocateExpensiveChain_ = useRelocateExpensiveChain_;
3354 }
3355 if (((from_bitField0_ & 0x00000800) != 0)) {
3356 result.useTwoOpt_ = useTwoOpt_;
3357 }
3358 if (((from_bitField0_ & 0x00001000) != 0)) {
3359 result.useOrOpt_ = useOrOpt_;
3360 }
3361 if (((from_bitField0_ & 0x00002000) != 0)) {
3362 result.useLinKernighan_ = useLinKernighan_;
3363 }
3364 if (((from_bitField0_ & 0x00004000) != 0)) {
3365 result.useTspOpt_ = useTspOpt_;
3366 }
3367 if (((from_bitField0_ & 0x00008000) != 0)) {
3368 result.useMakeActive_ = useMakeActive_;
3369 }
3370 if (((from_bitField0_ & 0x00010000) != 0)) {
3371 result.useRelocateAndMakeActive_ = useRelocateAndMakeActive_;
3372 }
3373 if (((from_bitField0_ & 0x00020000) != 0)) {
3374 result.useMakeInactive_ = useMakeInactive_;
3375 }
3376 if (((from_bitField0_ & 0x00040000) != 0)) {
3377 result.useMakeChainInactive_ = useMakeChainInactive_;
3378 }
3379 if (((from_bitField0_ & 0x00080000) != 0)) {
3380 result.useSwapActive_ = useSwapActive_;
3381 }
3382 if (((from_bitField0_ & 0x00100000) != 0)) {
3383 result.useExtendedSwapActive_ = useExtendedSwapActive_;
3384 }
3385 if (((from_bitField0_ & 0x00200000) != 0)) {
3386 result.useShortestPathSwapActive_ = useShortestPathSwapActive_;
3387 }
3388 if (((from_bitField0_ & 0x00400000) != 0)) {
3389 result.useNodePairSwapActive_ = useNodePairSwapActive_;
3390 }
3391 if (((from_bitField0_ & 0x00800000) != 0)) {
3392 result.usePathLns_ = usePathLns_;
3393 }
3394 if (((from_bitField0_ & 0x01000000) != 0)) {
3395 result.useFullPathLns_ = useFullPathLns_;
3396 }
3397 if (((from_bitField0_ & 0x02000000) != 0)) {
3398 result.useTspLns_ = useTspLns_;
3399 }
3400 if (((from_bitField0_ & 0x04000000) != 0)) {
3401 result.useInactiveLns_ = useInactiveLns_;
3402 }
3403 if (((from_bitField0_ & 0x08000000) != 0)) {
3404 result.useGlobalCheapestInsertionPathLns_ = useGlobalCheapestInsertionPathLns_;
3405 }
3406 if (((from_bitField0_ & 0x10000000) != 0)) {
3407 result.useLocalCheapestInsertionPathLns_ = useLocalCheapestInsertionPathLns_;
3408 }
3409 if (((from_bitField0_ & 0x20000000) != 0)) {
3410 result.useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
3411 }
3412 if (((from_bitField0_ & 0x40000000) != 0)) {
3413 result.useGlobalCheapestInsertionExpensiveChainLns_ = useGlobalCheapestInsertionExpensiveChainLns_;
3414 }
3415 if (((from_bitField0_ & 0x80000000) != 0)) {
3416 result.useLocalCheapestInsertionExpensiveChainLns_ = useLocalCheapestInsertionExpensiveChainLns_;
3417 }
3418 }
3419
3420 private void buildPartial1(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators result) {
3421 int from_bitField1_ = bitField1_;
3422 if (((from_bitField1_ & 0x00000001) != 0)) {
3423 result.useGlobalCheapestInsertionCloseNodesLns_ = useGlobalCheapestInsertionCloseNodesLns_;
3424 }
3425 if (((from_bitField1_ & 0x00000002) != 0)) {
3426 result.useLocalCheapestInsertionCloseNodesLns_ = useLocalCheapestInsertionCloseNodesLns_;
3427 }
3428 }
3429
3430 @java.lang.Override
3431 public Builder clone() {
3432 return super.clone();
3433 }
3434 @java.lang.Override
3436 com.google.protobuf.Descriptors.FieldDescriptor field,
3437 java.lang.Object value) {
3438 return super.setField(field, value);
3439 }
3440 @java.lang.Override
3442 com.google.protobuf.Descriptors.FieldDescriptor field) {
3443 return super.clearField(field);
3444 }
3445 @java.lang.Override
3447 com.google.protobuf.Descriptors.OneofDescriptor oneof) {
3448 return super.clearOneof(oneof);
3449 }
3450 @java.lang.Override
3452 com.google.protobuf.Descriptors.FieldDescriptor field,
3453 int index, java.lang.Object value) {
3454 return super.setRepeatedField(field, index, value);
3455 }
3456 @java.lang.Override
3458 com.google.protobuf.Descriptors.FieldDescriptor field,
3459 java.lang.Object value) {
3460 return super.addRepeatedField(field, value);
3461 }
3462 @java.lang.Override
3463 public Builder mergeFrom(com.google.protobuf.Message other) {
3464 if (other instanceof com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators) {
3465 return mergeFrom((com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators)other);
3466 } else {
3467 super.mergeFrom(other);
3468 return this;
3469 }
3470 }
3471
3472 public Builder mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators other) {
3473 if (other == com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance()) return this;
3474 if (other.useRelocate_ != 0) {
3475 setUseRelocateValue(other.getUseRelocateValue());
3476 }
3477 if (other.useRelocatePair_ != 0) {
3478 setUseRelocatePairValue(other.getUseRelocatePairValue());
3479 }
3480 if (other.useLightRelocatePair_ != 0) {
3481 setUseLightRelocatePairValue(other.getUseLightRelocatePairValue());
3482 }
3483 if (other.useRelocateNeighbors_ != 0) {
3484 setUseRelocateNeighborsValue(other.getUseRelocateNeighborsValue());
3485 }
3486 if (other.useRelocateSubtrip_ != 0) {
3487 setUseRelocateSubtripValue(other.getUseRelocateSubtripValue());
3488 }
3489 if (other.useExchange_ != 0) {
3490 setUseExchangeValue(other.getUseExchangeValue());
3491 }
3492 if (other.useExchangePair_ != 0) {
3493 setUseExchangePairValue(other.getUseExchangePairValue());
3494 }
3495 if (other.useExchangeSubtrip_ != 0) {
3496 setUseExchangeSubtripValue(other.getUseExchangeSubtripValue());
3497 }
3498 if (other.useCross_ != 0) {
3499 setUseCrossValue(other.getUseCrossValue());
3500 }
3501 if (other.useCrossExchange_ != 0) {
3502 setUseCrossExchangeValue(other.getUseCrossExchangeValue());
3503 }
3504 if (other.useRelocateExpensiveChain_ != 0) {
3505 setUseRelocateExpensiveChainValue(other.getUseRelocateExpensiveChainValue());
3506 }
3507 if (other.useTwoOpt_ != 0) {
3508 setUseTwoOptValue(other.getUseTwoOptValue());
3509 }
3510 if (other.useOrOpt_ != 0) {
3511 setUseOrOptValue(other.getUseOrOptValue());
3512 }
3513 if (other.useLinKernighan_ != 0) {
3514 setUseLinKernighanValue(other.getUseLinKernighanValue());
3515 }
3516 if (other.useTspOpt_ != 0) {
3517 setUseTspOptValue(other.getUseTspOptValue());
3518 }
3519 if (other.useMakeActive_ != 0) {
3520 setUseMakeActiveValue(other.getUseMakeActiveValue());
3521 }
3522 if (other.useRelocateAndMakeActive_ != 0) {
3523 setUseRelocateAndMakeActiveValue(other.getUseRelocateAndMakeActiveValue());
3524 }
3525 if (other.useMakeInactive_ != 0) {
3526 setUseMakeInactiveValue(other.getUseMakeInactiveValue());
3527 }
3528 if (other.useMakeChainInactive_ != 0) {
3529 setUseMakeChainInactiveValue(other.getUseMakeChainInactiveValue());
3530 }
3531 if (other.useSwapActive_ != 0) {
3532 setUseSwapActiveValue(other.getUseSwapActiveValue());
3533 }
3534 if (other.useExtendedSwapActive_ != 0) {
3535 setUseExtendedSwapActiveValue(other.getUseExtendedSwapActiveValue());
3536 }
3537 if (other.useShortestPathSwapActive_ != 0) {
3538 setUseShortestPathSwapActiveValue(other.getUseShortestPathSwapActiveValue());
3539 }
3540 if (other.useNodePairSwapActive_ != 0) {
3541 setUseNodePairSwapActiveValue(other.getUseNodePairSwapActiveValue());
3542 }
3543 if (other.usePathLns_ != 0) {
3544 setUsePathLnsValue(other.getUsePathLnsValue());
3545 }
3546 if (other.useFullPathLns_ != 0) {
3547 setUseFullPathLnsValue(other.getUseFullPathLnsValue());
3548 }
3549 if (other.useTspLns_ != 0) {
3550 setUseTspLnsValue(other.getUseTspLnsValue());
3551 }
3552 if (other.useInactiveLns_ != 0) {
3553 setUseInactiveLnsValue(other.getUseInactiveLnsValue());
3554 }
3555 if (other.useGlobalCheapestInsertionPathLns_ != 0) {
3556 setUseGlobalCheapestInsertionPathLnsValue(other.getUseGlobalCheapestInsertionPathLnsValue());
3557 }
3558 if (other.useLocalCheapestInsertionPathLns_ != 0) {
3559 setUseLocalCheapestInsertionPathLnsValue(other.getUseLocalCheapestInsertionPathLnsValue());
3560 }
3561 if (other.useRelocatePathGlobalCheapestInsertionInsertUnperformed_ != 0) {
3562 setUseRelocatePathGlobalCheapestInsertionInsertUnperformedValue(other.getUseRelocatePathGlobalCheapestInsertionInsertUnperformedValue());
3563 }
3564 if (other.useGlobalCheapestInsertionExpensiveChainLns_ != 0) {
3565 setUseGlobalCheapestInsertionExpensiveChainLnsValue(other.getUseGlobalCheapestInsertionExpensiveChainLnsValue());
3566 }
3567 if (other.useLocalCheapestInsertionExpensiveChainLns_ != 0) {
3568 setUseLocalCheapestInsertionExpensiveChainLnsValue(other.getUseLocalCheapestInsertionExpensiveChainLnsValue());
3569 }
3570 if (other.useGlobalCheapestInsertionCloseNodesLns_ != 0) {
3571 setUseGlobalCheapestInsertionCloseNodesLnsValue(other.getUseGlobalCheapestInsertionCloseNodesLnsValue());
3572 }
3573 if (other.useLocalCheapestInsertionCloseNodesLns_ != 0) {
3574 setUseLocalCheapestInsertionCloseNodesLnsValue(other.getUseLocalCheapestInsertionCloseNodesLnsValue());
3575 }
3576 this.mergeUnknownFields(other.getUnknownFields());
3577 onChanged();
3578 return this;
3579 }
3580
3581 @java.lang.Override
3582 public final boolean isInitialized() {
3583 return true;
3584 }
3585
3586 @java.lang.Override
3588 com.google.protobuf.CodedInputStream input,
3589 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3590 throws java.io.IOException {
3591 if (extensionRegistry == null) {
3592 throw new java.lang.NullPointerException();
3593 }
3594 try {
3595 boolean done = false;
3596 while (!done) {
3597 int tag = input.readTag();
3598 switch (tag) {
3599 case 0:
3600 done = true;
3601 break;
3602 case 8: {
3603 useRelocate_ = input.readEnum();
3604 bitField0_ |= 0x00000001;
3605 break;
3606 } // case 8
3607 case 16: {
3608 useRelocatePair_ = input.readEnum();
3609 bitField0_ |= 0x00000002;
3610 break;
3611 } // case 16
3612 case 24: {
3613 useRelocateNeighbors_ = input.readEnum();
3614 bitField0_ |= 0x00000008;
3615 break;
3616 } // case 24
3617 case 32: {
3618 useExchange_ = input.readEnum();
3619 bitField0_ |= 0x00000020;
3620 break;
3621 } // case 32
3622 case 40: {
3623 useCross_ = input.readEnum();
3624 bitField0_ |= 0x00000100;
3625 break;
3626 } // case 40
3627 case 48: {
3628 useCrossExchange_ = input.readEnum();
3629 bitField0_ |= 0x00000200;
3630 break;
3631 } // case 48
3632 case 56: {
3633 useTwoOpt_ = input.readEnum();
3634 bitField0_ |= 0x00000800;
3635 break;
3636 } // case 56
3637 case 64: {
3638 useOrOpt_ = input.readEnum();
3639 bitField0_ |= 0x00001000;
3640 break;
3641 } // case 64
3642 case 72: {
3643 useLinKernighan_ = input.readEnum();
3644 bitField0_ |= 0x00002000;
3645 break;
3646 } // case 72
3647 case 80: {
3648 useTspOpt_ = input.readEnum();
3649 bitField0_ |= 0x00004000;
3650 break;
3651 } // case 80
3652 case 88: {
3653 useMakeActive_ = input.readEnum();
3654 bitField0_ |= 0x00008000;
3655 break;
3656 } // case 88
3657 case 96: {
3658 useMakeInactive_ = input.readEnum();
3659 bitField0_ |= 0x00020000;
3660 break;
3661 } // case 96
3662 case 104: {
3663 useMakeChainInactive_ = input.readEnum();
3664 bitField0_ |= 0x00040000;
3665 break;
3666 } // case 104
3667 case 112: {
3668 useSwapActive_ = input.readEnum();
3669 bitField0_ |= 0x00080000;
3670 break;
3671 } // case 112
3672 case 120: {
3673 useExtendedSwapActive_ = input.readEnum();
3674 bitField0_ |= 0x00100000;
3675 break;
3676 } // case 120
3677 case 128: {
3678 usePathLns_ = input.readEnum();
3679 bitField0_ |= 0x00800000;
3680 break;
3681 } // case 128
3682 case 136: {
3683 useFullPathLns_ = input.readEnum();
3684 bitField0_ |= 0x01000000;
3685 break;
3686 } // case 136
3687 case 144: {
3688 useTspLns_ = input.readEnum();
3689 bitField0_ |= 0x02000000;
3690 break;
3691 } // case 144
3692 case 152: {
3693 useInactiveLns_ = input.readEnum();
3694 bitField0_ |= 0x04000000;
3695 break;
3696 } // case 152
3697 case 160: {
3698 useNodePairSwapActive_ = input.readEnum();
3699 bitField0_ |= 0x00400000;
3700 break;
3701 } // case 160
3702 case 168: {
3703 useRelocateAndMakeActive_ = input.readEnum();
3704 bitField0_ |= 0x00010000;
3705 break;
3706 } // case 168
3707 case 176: {
3708 useExchangePair_ = input.readEnum();
3709 bitField0_ |= 0x00000040;
3710 break;
3711 } // case 176
3712 case 184: {
3713 useRelocateExpensiveChain_ = input.readEnum();
3714 bitField0_ |= 0x00000400;
3715 break;
3716 } // case 184
3717 case 192: {
3718 useLightRelocatePair_ = input.readEnum();
3719 bitField0_ |= 0x00000004;
3720 break;
3721 } // case 192
3722 case 200: {
3723 useRelocateSubtrip_ = input.readEnum();
3724 bitField0_ |= 0x00000010;
3725 break;
3726 } // case 200
3727 case 208: {
3728 useExchangeSubtrip_ = input.readEnum();
3729 bitField0_ |= 0x00000080;
3730 break;
3731 } // case 208
3732 case 216: {
3733 useGlobalCheapestInsertionPathLns_ = input.readEnum();
3734 bitField0_ |= 0x08000000;
3735 break;
3736 } // case 216
3737 case 224: {
3738 useLocalCheapestInsertionPathLns_ = input.readEnum();
3739 bitField0_ |= 0x10000000;
3740 break;
3741 } // case 224
3742 case 232: {
3743 useGlobalCheapestInsertionExpensiveChainLns_ = input.readEnum();
3744 bitField0_ |= 0x40000000;
3745 break;
3746 } // case 232
3747 case 240: {
3748 useLocalCheapestInsertionExpensiveChainLns_ = input.readEnum();
3749 bitField0_ |= 0x80000000;
3750 break;
3751 } // case 240
3752 case 248: {
3753 useGlobalCheapestInsertionCloseNodesLns_ = input.readEnum();
3754 bitField1_ |= 0x00000001;
3755 break;
3756 } // case 248
3757 case 256: {
3758 useLocalCheapestInsertionCloseNodesLns_ = input.readEnum();
3759 bitField1_ |= 0x00000002;
3760 break;
3761 } // case 256
3762 case 264: {
3763 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = input.readEnum();
3764 bitField0_ |= 0x20000000;
3765 break;
3766 } // case 264
3767 case 272: {
3768 useShortestPathSwapActive_ = input.readEnum();
3769 bitField0_ |= 0x00200000;
3770 break;
3771 } // case 272
3772 default: {
3773 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
3774 done = true; // was an endgroup tag
3775 }
3776 break;
3777 } // default:
3778 } // switch (tag)
3779 } // while (!done)
3780 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3781 throw e.unwrapIOException();
3782 } finally {
3783 onChanged();
3784 } // finally
3785 return this;
3786 }
3787 private int bitField0_;
3788 private int bitField1_;
3789
3790 private int useRelocate_ = 0;
3807 @java.lang.Override public int getUseRelocateValue() {
3808 return useRelocate_;
3809 }
3827 public Builder setUseRelocateValue(int value) {
3828 useRelocate_ = value;
3829 bitField0_ |= 0x00000001;
3830 onChanged();
3831 return this;
3832 }
3849 @java.lang.Override
3851 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocate_);
3852 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3853 }
3871 public Builder setUseRelocate(com.google.ortools.util.OptionalBoolean value) {
3872 if (value == null) {
3873 throw new NullPointerException();
3874 }
3875 bitField0_ |= 0x00000001;
3876 useRelocate_ = value.getNumber();
3877 onChanged();
3878 return this;
3879 }
3897 bitField0_ = (bitField0_ & ~0x00000001);
3898 useRelocate_ = 0;
3899 onChanged();
3900 return this;
3901 }
3902
3903 private int useRelocatePair_ = 0;
3920 @java.lang.Override public int getUseRelocatePairValue() {
3921 return useRelocatePair_;
3922 }
3941 useRelocatePair_ = value;
3942 bitField0_ |= 0x00000002;
3943 onChanged();
3944 return this;
3945 }
3962 @java.lang.Override
3964 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocatePair_);
3965 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3966 }
3984 public Builder setUseRelocatePair(com.google.ortools.util.OptionalBoolean value) {
3985 if (value == null) {
3986 throw new NullPointerException();
3987 }
3988 bitField0_ |= 0x00000002;
3989 useRelocatePair_ = value.getNumber();
3990 onChanged();
3991 return this;
3992 }
4010 bitField0_ = (bitField0_ & ~0x00000002);
4011 useRelocatePair_ = 0;
4012 onChanged();
4013 return this;
4014 }
4015
4016 private int useLightRelocatePair_ = 0;
4031 @java.lang.Override public int getUseLightRelocatePairValue() {
4032 return useLightRelocatePair_;
4033 }
4050 useLightRelocatePair_ = value;
4051 bitField0_ |= 0x00000004;
4052 onChanged();
4053 return this;
4054 }
4069 @java.lang.Override
4071 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useLightRelocatePair_);
4072 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4073 }
4089 public Builder setUseLightRelocatePair(com.google.ortools.util.OptionalBoolean value) {
4090 if (value == null) {
4091 throw new NullPointerException();
4092 }
4093 bitField0_ |= 0x00000004;
4094 useLightRelocatePair_ = value.getNumber();
4095 onChanged();
4096 return this;
4097 }
4113 bitField0_ = (bitField0_ & ~0x00000004);
4114 useLightRelocatePair_ = 0;
4115 onChanged();
4116 return this;
4117 }
4118
4119 private int useRelocateNeighbors_ = 0;
4149 @java.lang.Override public int getUseRelocateNeighborsValue() {
4150 return useRelocateNeighbors_;
4151 }
4183 useRelocateNeighbors_ = value;
4184 bitField0_ |= 0x00000008;
4185 onChanged();
4186 return this;
4187 }
4217 @java.lang.Override
4219 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocateNeighbors_);
4220 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4221 }
4252 public Builder setUseRelocateNeighbors(com.google.ortools.util.OptionalBoolean value) {
4253 if (value == null) {
4254 throw new NullPointerException();
4255 }
4256 bitField0_ |= 0x00000008;
4257 useRelocateNeighbors_ = value.getNumber();
4258 onChanged();
4259 return this;
4260 }
4291 bitField0_ = (bitField0_ & ~0x00000008);
4292 useRelocateNeighbors_ = 0;
4293 onChanged();
4294 return this;
4295 }
4296
4297 private int useRelocateSubtrip_ = 0;
4319 @java.lang.Override public int getUseRelocateSubtripValue() {
4320 return useRelocateSubtrip_;
4321 }
4345 useRelocateSubtrip_ = value;
4346 bitField0_ |= 0x00000010;
4347 onChanged();
4348 return this;
4349 }
4371 @java.lang.Override
4373 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocateSubtrip_);
4374 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4375 }
4398 public Builder setUseRelocateSubtrip(com.google.ortools.util.OptionalBoolean value) {
4399 if (value == null) {
4400 throw new NullPointerException();
4401 }
4402 bitField0_ |= 0x00000010;
4403 useRelocateSubtrip_ = value.getNumber();
4404 onChanged();
4405 return this;
4406 }
4429 bitField0_ = (bitField0_ & ~0x00000010);
4430 useRelocateSubtrip_ = 0;
4431 onChanged();
4432 return this;
4433 }
4434
4435 private int useExchange_ = 0;
4450 @java.lang.Override public int getUseExchangeValue() {
4451 return useExchange_;
4452 }
4468 public Builder setUseExchangeValue(int value) {
4469 useExchange_ = value;
4470 bitField0_ |= 0x00000020;
4471 onChanged();
4472 return this;
4473 }
4488 @java.lang.Override
4490 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useExchange_);
4491 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4492 }
4508 public Builder setUseExchange(com.google.ortools.util.OptionalBoolean value) {
4509 if (value == null) {
4510 throw new NullPointerException();
4511 }
4512 bitField0_ |= 0x00000020;
4513 useExchange_ = value.getNumber();
4514 onChanged();
4515 return this;
4516 }
4532 bitField0_ = (bitField0_ & ~0x00000020);
4533 useExchange_ = 0;
4534 onChanged();
4535 return this;
4536 }
4537
4538 private int useExchangePair_ = 0;
4553 @java.lang.Override public int getUseExchangePairValue() {
4554 return useExchangePair_;
4555 }
4572 useExchangePair_ = value;
4573 bitField0_ |= 0x00000040;
4574 onChanged();
4575 return this;
4576 }
4591 @java.lang.Override
4593 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useExchangePair_);
4594 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4595 }
4611 public Builder setUseExchangePair(com.google.ortools.util.OptionalBoolean value) {
4612 if (value == null) {
4613 throw new NullPointerException();
4614 }
4615 bitField0_ |= 0x00000040;
4616 useExchangePair_ = value.getNumber();
4617 onChanged();
4618 return this;
4619 }
4635 bitField0_ = (bitField0_ & ~0x00000040);
4636 useExchangePair_ = 0;
4637 onChanged();
4638 return this;
4639 }
4640
4641 private int useExchangeSubtrip_ = 0;
4651 @java.lang.Override public int getUseExchangeSubtripValue() {
4652 return useExchangeSubtrip_;
4653 }
4665 useExchangeSubtrip_ = value;
4666 bitField0_ |= 0x00000080;
4667 onChanged();
4668 return this;
4669 }
4679 @java.lang.Override
4681 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useExchangeSubtrip_);
4682 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4683 }
4694 public Builder setUseExchangeSubtrip(com.google.ortools.util.OptionalBoolean value) {
4695 if (value == null) {
4696 throw new NullPointerException();
4697 }
4698 bitField0_ |= 0x00000080;
4699 useExchangeSubtrip_ = value.getNumber();
4700 onChanged();
4701 return this;
4702 }
4713 bitField0_ = (bitField0_ & ~0x00000080);
4714 useExchangeSubtrip_ = 0;
4715 onChanged();
4716 return this;
4717 }
4718
4719 private int useCross_ = 0;
4736 @java.lang.Override public int getUseCrossValue() {
4737 return useCross_;
4738 }
4756 public Builder setUseCrossValue(int value) {
4757 useCross_ = value;
4758 bitField0_ |= 0x00000100;
4759 onChanged();
4760 return this;
4761 }
4778 @java.lang.Override
4780 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useCross_);
4781 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4782 }
4800 public Builder setUseCross(com.google.ortools.util.OptionalBoolean value) {
4801 if (value == null) {
4802 throw new NullPointerException();
4803 }
4804 bitField0_ |= 0x00000100;
4805 useCross_ = value.getNumber();
4806 onChanged();
4807 return this;
4808 }
4826 bitField0_ = (bitField0_ & ~0x00000100);
4827 useCross_ = 0;
4828 onChanged();
4829 return this;
4830 }
4831
4832 private int useCrossExchange_ = 0;
4841 @java.lang.Override public int getUseCrossExchangeValue() {
4842 return useCrossExchange_;
4843 }
4854 useCrossExchange_ = value;
4855 bitField0_ |= 0x00000200;
4856 onChanged();
4857 return this;
4858 }
4867 @java.lang.Override
4869 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useCrossExchange_);
4870 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4871 }
4881 public Builder setUseCrossExchange(com.google.ortools.util.OptionalBoolean value) {
4882 if (value == null) {
4883 throw new NullPointerException();
4884 }
4885 bitField0_ |= 0x00000200;
4886 useCrossExchange_ = value.getNumber();
4887 onChanged();
4888 return this;
4889 }
4899 bitField0_ = (bitField0_ & ~0x00000200);
4900 useCrossExchange_ = 0;
4901 onChanged();
4902 return this;
4903 }
4904
4905 private int useRelocateExpensiveChain_ = 0;
4923 @java.lang.Override public int getUseRelocateExpensiveChainValue() {
4924 return useRelocateExpensiveChain_;
4925 }
4945 useRelocateExpensiveChain_ = value;
4946 bitField0_ |= 0x00000400;
4947 onChanged();
4948 return this;
4949 }
4967 @java.lang.Override
4969 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocateExpensiveChain_);
4970 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4971 }
4990 public Builder setUseRelocateExpensiveChain(com.google.ortools.util.OptionalBoolean value) {
4991 if (value == null) {
4992 throw new NullPointerException();
4993 }
4994 bitField0_ |= 0x00000400;
4995 useRelocateExpensiveChain_ = value.getNumber();
4996 onChanged();
4997 return this;
4998 }
5017 bitField0_ = (bitField0_ & ~0x00000400);
5018 useRelocateExpensiveChain_ = 0;
5019 onChanged();
5020 return this;
5021 }
5022
5023 private int useTwoOpt_ = 0;
5041 @java.lang.Override public int getUseTwoOptValue() {
5042 return useTwoOpt_;
5043 }
5062 public Builder setUseTwoOptValue(int value) {
5063 useTwoOpt_ = value;
5064 bitField0_ |= 0x00000800;
5065 onChanged();
5066 return this;
5067 }
5085 @java.lang.Override
5087 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useTwoOpt_);
5088 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5089 }
5108 public Builder setUseTwoOpt(com.google.ortools.util.OptionalBoolean value) {
5109 if (value == null) {
5110 throw new NullPointerException();
5111 }
5112 bitField0_ |= 0x00000800;
5113 useTwoOpt_ = value.getNumber();
5114 onChanged();
5115 return this;
5116 }
5135 bitField0_ = (bitField0_ & ~0x00000800);
5136 useTwoOpt_ = 0;
5137 onChanged();
5138 return this;
5139 }
5140
5141 private int useOrOpt_ = 0;
5160 @java.lang.Override public int getUseOrOptValue() {
5161 return useOrOpt_;
5162 }
5182 public Builder setUseOrOptValue(int value) {
5183 useOrOpt_ = value;
5184 bitField0_ |= 0x00001000;
5185 onChanged();
5186 return this;
5187 }
5206 @java.lang.Override
5208 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useOrOpt_);
5209 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5210 }
5230 public Builder setUseOrOpt(com.google.ortools.util.OptionalBoolean value) {
5231 if (value == null) {
5232 throw new NullPointerException();
5233 }
5234 bitField0_ |= 0x00001000;
5235 useOrOpt_ = value.getNumber();
5236 onChanged();
5237 return this;
5238 }
5258 bitField0_ = (bitField0_ & ~0x00001000);
5259 useOrOpt_ = 0;
5260 onChanged();
5261 return this;
5262 }
5263
5264 private int useLinKernighan_ = 0;
5276 @java.lang.Override public int getUseLinKernighanValue() {
5277 return useLinKernighan_;
5278 }
5292 useLinKernighan_ = value;
5293 bitField0_ |= 0x00002000;
5294 onChanged();
5295 return this;
5296 }
5308 @java.lang.Override
5310 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useLinKernighan_);
5311 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5312 }
5325 public Builder setUseLinKernighan(com.google.ortools.util.OptionalBoolean value) {
5326 if (value == null) {
5327 throw new NullPointerException();
5328 }
5329 bitField0_ |= 0x00002000;
5330 useLinKernighan_ = value.getNumber();
5331 onChanged();
5332 return this;
5333 }
5346 bitField0_ = (bitField0_ & ~0x00002000);
5347 useLinKernighan_ = 0;
5348 onChanged();
5349 return this;
5350 }
5351
5352 private int useTspOpt_ = 0;
5366 @java.lang.Override public int getUseTspOptValue() {
5367 return useTspOpt_;
5368 }
5383 public Builder setUseTspOptValue(int value) {
5384 useTspOpt_ = value;
5385 bitField0_ |= 0x00004000;
5386 onChanged();
5387 return this;
5388 }
5402 @java.lang.Override
5404 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useTspOpt_);
5405 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5406 }
5421 public Builder setUseTspOpt(com.google.ortools.util.OptionalBoolean value) {
5422 if (value == null) {
5423 throw new NullPointerException();
5424 }
5425 bitField0_ |= 0x00004000;
5426 useTspOpt_ = value.getNumber();
5427 onChanged();
5428 return this;
5429 }
5444 bitField0_ = (bitField0_ & ~0x00004000);
5445 useTspOpt_ = 0;
5446 onChanged();
5447 return this;
5448 }
5449
5450 private int useMakeActive_ = 0;
5465 @java.lang.Override public int getUseMakeActiveValue() {
5466 return useMakeActive_;
5467 }
5483 public Builder setUseMakeActiveValue(int value) {
5484 useMakeActive_ = value;
5485 bitField0_ |= 0x00008000;
5486 onChanged();
5487 return this;
5488 }
5503 @java.lang.Override
5505 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useMakeActive_);
5506 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5507 }
5523 public Builder setUseMakeActive(com.google.ortools.util.OptionalBoolean value) {
5524 if (value == null) {
5525 throw new NullPointerException();
5526 }
5527 bitField0_ |= 0x00008000;
5528 useMakeActive_ = value.getNumber();
5529 onChanged();
5530 return this;
5531 }
5547 bitField0_ = (bitField0_ & ~0x00008000);
5548 useMakeActive_ = 0;
5549 onChanged();
5550 return this;
5551 }
5552
5553 private int useRelocateAndMakeActive_ = 0;
5571 @java.lang.Override public int getUseRelocateAndMakeActiveValue() {
5572 return useRelocateAndMakeActive_;
5573 }
5593 useRelocateAndMakeActive_ = value;
5594 bitField0_ |= 0x00010000;
5595 onChanged();
5596 return this;
5597 }
5615 @java.lang.Override
5617 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocateAndMakeActive_);
5618 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5619 }
5638 public Builder setUseRelocateAndMakeActive(com.google.ortools.util.OptionalBoolean value) {
5639 if (value == null) {
5640 throw new NullPointerException();
5641 }
5642 bitField0_ |= 0x00010000;
5643 useRelocateAndMakeActive_ = value.getNumber();
5644 onChanged();
5645 return this;
5646 }
5665 bitField0_ = (bitField0_ & ~0x00010000);
5666 useRelocateAndMakeActive_ = 0;
5667 onChanged();
5668 return this;
5669 }
5670
5671 private int useMakeInactive_ = 0;
5684 @java.lang.Override public int getUseMakeInactiveValue() {
5685 return useMakeInactive_;
5686 }
5701 useMakeInactive_ = value;
5702 bitField0_ |= 0x00020000;
5703 onChanged();
5704 return this;
5705 }
5718 @java.lang.Override
5720 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useMakeInactive_);
5721 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5722 }
5736 public Builder setUseMakeInactive(com.google.ortools.util.OptionalBoolean value) {
5737 if (value == null) {
5738 throw new NullPointerException();
5739 }
5740 bitField0_ |= 0x00020000;
5741 useMakeInactive_ = value.getNumber();
5742 onChanged();
5743 return this;
5744 }
5758 bitField0_ = (bitField0_ & ~0x00020000);
5759 useMakeInactive_ = 0;
5760 onChanged();
5761 return this;
5762 }
5763
5764 private int useMakeChainInactive_ = 0;
5778 @java.lang.Override public int getUseMakeChainInactiveValue() {
5779 return useMakeChainInactive_;
5780 }
5796 useMakeChainInactive_ = value;
5797 bitField0_ |= 0x00040000;
5798 onChanged();
5799 return this;
5800 }
5814 @java.lang.Override
5816 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useMakeChainInactive_);
5817 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5818 }
5833 public Builder setUseMakeChainInactive(com.google.ortools.util.OptionalBoolean value) {
5834 if (value == null) {
5835 throw new NullPointerException();
5836 }
5837 bitField0_ |= 0x00040000;
5838 useMakeChainInactive_ = value.getNumber();
5839 onChanged();
5840 return this;
5841 }
5856 bitField0_ = (bitField0_ & ~0x00040000);
5857 useMakeChainInactive_ = 0;
5858 onChanged();
5859 return this;
5860 }
5861
5862 private int useSwapActive_ = 0;
5875 @java.lang.Override public int getUseSwapActiveValue() {
5876 return useSwapActive_;
5877 }
5891 public Builder setUseSwapActiveValue(int value) {
5892 useSwapActive_ = value;
5893 bitField0_ |= 0x00080000;
5894 onChanged();
5895 return this;
5896 }
5909 @java.lang.Override
5911 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useSwapActive_);
5912 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5913 }
5927 public Builder setUseSwapActive(com.google.ortools.util.OptionalBoolean value) {
5928 if (value == null) {
5929 throw new NullPointerException();
5930 }
5931 bitField0_ |= 0x00080000;
5932 useSwapActive_ = value.getNumber();
5933 onChanged();
5934 return this;
5935 }
5949 bitField0_ = (bitField0_ & ~0x00080000);
5950 useSwapActive_ = 0;
5951 onChanged();
5952 return this;
5953 }
5954
5955 private int useExtendedSwapActive_ = 0;
5973 @java.lang.Override public int getUseExtendedSwapActiveValue() {
5974 return useExtendedSwapActive_;
5975 }
5995 useExtendedSwapActive_ = value;
5996 bitField0_ |= 0x00100000;
5997 onChanged();
5998 return this;
5999 }
6017 @java.lang.Override
6019 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useExtendedSwapActive_);
6020 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6021 }
6040 public Builder setUseExtendedSwapActive(com.google.ortools.util.OptionalBoolean value) {
6041 if (value == null) {
6042 throw new NullPointerException();
6043 }
6044 bitField0_ |= 0x00100000;
6045 useExtendedSwapActive_ = value.getNumber();
6046 onChanged();
6047 return this;
6048 }
6067 bitField0_ = (bitField0_ & ~0x00100000);
6068 useExtendedSwapActive_ = 0;
6069 onChanged();
6070 return this;
6071 }
6072
6073 private int useShortestPathSwapActive_ = 0;
6087 @java.lang.Override public int getUseShortestPathSwapActiveValue() {
6088 return useShortestPathSwapActive_;
6089 }
6105 useShortestPathSwapActive_ = value;
6106 bitField0_ |= 0x00200000;
6107 onChanged();
6108 return this;
6109 }
6123 @java.lang.Override
6125 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useShortestPathSwapActive_);
6126 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6127 }
6142 public Builder setUseShortestPathSwapActive(com.google.ortools.util.OptionalBoolean value) {
6143 if (value == null) {
6144 throw new NullPointerException();
6145 }
6146 bitField0_ |= 0x00200000;
6147 useShortestPathSwapActive_ = value.getNumber();
6148 onChanged();
6149 return this;
6150 }
6165 bitField0_ = (bitField0_ & ~0x00200000);
6166 useShortestPathSwapActive_ = 0;
6167 onChanged();
6168 return this;
6169 }
6170
6171 private int useNodePairSwapActive_ = 0;
6190 @java.lang.Override public int getUseNodePairSwapActiveValue() {
6191 return useNodePairSwapActive_;
6192 }
6213 useNodePairSwapActive_ = value;
6214 bitField0_ |= 0x00400000;
6215 onChanged();
6216 return this;
6217 }
6236 @java.lang.Override
6238 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useNodePairSwapActive_);
6239 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6240 }
6260 public Builder setUseNodePairSwapActive(com.google.ortools.util.OptionalBoolean value) {
6261 if (value == null) {
6262 throw new NullPointerException();
6263 }
6264 bitField0_ |= 0x00400000;
6265 useNodePairSwapActive_ = value.getNumber();
6266 onChanged();
6267 return this;
6268 }
6288 bitField0_ = (bitField0_ & ~0x00400000);
6289 useNodePairSwapActive_ = 0;
6290 onChanged();
6291 return this;
6292 }
6293
6294 private int usePathLns_ = 0;
6310 @java.lang.Override public int getUsePathLnsValue() {
6311 return usePathLns_;
6312 }
6329 public Builder setUsePathLnsValue(int value) {
6330 usePathLns_ = value;
6331 bitField0_ |= 0x00800000;
6332 onChanged();
6333 return this;
6334 }
6350 @java.lang.Override
6352 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(usePathLns_);
6353 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6354 }
6371 public Builder setUsePathLns(com.google.ortools.util.OptionalBoolean value) {
6372 if (value == null) {
6373 throw new NullPointerException();
6374 }
6375 bitField0_ |= 0x00800000;
6376 usePathLns_ = value.getNumber();
6377 onChanged();
6378 return this;
6379 }
6396 bitField0_ = (bitField0_ & ~0x00800000);
6397 usePathLns_ = 0;
6398 onChanged();
6399 return this;
6400 }
6401
6402 private int useFullPathLns_ = 0;
6411 @java.lang.Override public int getUseFullPathLnsValue() {
6412 return useFullPathLns_;
6413 }
6424 useFullPathLns_ = value;
6425 bitField0_ |= 0x01000000;
6426 onChanged();
6427 return this;
6428 }
6437 @java.lang.Override
6439 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useFullPathLns_);
6440 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6441 }
6451 public Builder setUseFullPathLns(com.google.ortools.util.OptionalBoolean value) {
6452 if (value == null) {
6453 throw new NullPointerException();
6454 }
6455 bitField0_ |= 0x01000000;
6456 useFullPathLns_ = value.getNumber();
6457 onChanged();
6458 return this;
6459 }
6469 bitField0_ = (bitField0_ & ~0x01000000);
6470 useFullPathLns_ = 0;
6471 onChanged();
6472 return this;
6473 }
6474
6475 private int useTspLns_ = 0;
6489 @java.lang.Override public int getUseTspLnsValue() {
6490 return useTspLns_;
6491 }
6506 public Builder setUseTspLnsValue(int value) {
6507 useTspLns_ = value;
6508 bitField0_ |= 0x02000000;
6509 onChanged();
6510 return this;
6511 }
6525 @java.lang.Override
6527 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useTspLns_);
6528 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6529 }
6544 public Builder setUseTspLns(com.google.ortools.util.OptionalBoolean value) {
6545 if (value == null) {
6546 throw new NullPointerException();
6547 }
6548 bitField0_ |= 0x02000000;
6549 useTspLns_ = value.getNumber();
6550 onChanged();
6551 return this;
6552 }
6567 bitField0_ = (bitField0_ & ~0x02000000);
6568 useTspLns_ = 0;
6569 onChanged();
6570 return this;
6571 }
6572
6573 private int useInactiveLns_ = 0;
6584 @java.lang.Override public int getUseInactiveLnsValue() {
6585 return useInactiveLns_;
6586 }
6599 useInactiveLns_ = value;
6600 bitField0_ |= 0x04000000;
6601 onChanged();
6602 return this;
6603 }
6614 @java.lang.Override
6616 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useInactiveLns_);
6617 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6618 }
6630 public Builder setUseInactiveLns(com.google.ortools.util.OptionalBoolean value) {
6631 if (value == null) {
6632 throw new NullPointerException();
6633 }
6634 bitField0_ |= 0x04000000;
6635 useInactiveLns_ = value.getNumber();
6636 onChanged();
6637 return this;
6638 }
6650 bitField0_ = (bitField0_ & ~0x04000000);
6651 useInactiveLns_ = 0;
6652 onChanged();
6653 return this;
6654 }
6655
6656 private int useGlobalCheapestInsertionPathLns_ = 0;
6667 @java.lang.Override public int getUseGlobalCheapestInsertionPathLnsValue() {
6668 return useGlobalCheapestInsertionPathLns_;
6669 }
6682 useGlobalCheapestInsertionPathLns_ = value;
6683 bitField0_ |= 0x08000000;
6684 onChanged();
6685 return this;
6686 }
6697 @java.lang.Override
6699 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useGlobalCheapestInsertionPathLns_);
6700 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6701 }
6713 public Builder setUseGlobalCheapestInsertionPathLns(com.google.ortools.util.OptionalBoolean value) {
6714 if (value == null) {
6715 throw new NullPointerException();
6716 }
6717 bitField0_ |= 0x08000000;
6718 useGlobalCheapestInsertionPathLns_ = value.getNumber();
6719 onChanged();
6720 return this;
6721 }
6733 bitField0_ = (bitField0_ & ~0x08000000);
6734 useGlobalCheapestInsertionPathLns_ = 0;
6735 onChanged();
6736 return this;
6737 }
6738
6739 private int useLocalCheapestInsertionPathLns_ = 0;
6748 @java.lang.Override public int getUseLocalCheapestInsertionPathLnsValue() {
6749 return useLocalCheapestInsertionPathLns_;
6750 }
6761 useLocalCheapestInsertionPathLns_ = value;
6762 bitField0_ |= 0x10000000;
6763 onChanged();
6764 return this;
6765 }
6774 @java.lang.Override
6776 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useLocalCheapestInsertionPathLns_);
6777 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6778 }
6788 public Builder setUseLocalCheapestInsertionPathLns(com.google.ortools.util.OptionalBoolean value) {
6789 if (value == null) {
6790 throw new NullPointerException();
6791 }
6792 bitField0_ |= 0x10000000;
6793 useLocalCheapestInsertionPathLns_ = value.getNumber();
6794 onChanged();
6795 return this;
6796 }
6806 bitField0_ = (bitField0_ & ~0x10000000);
6807 useLocalCheapestInsertionPathLns_ = 0;
6808 onChanged();
6809 return this;
6810 }
6811
6812 private int useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
6824 return useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
6825 }
6838 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = value;
6839 bitField0_ |= 0x20000000;
6840 onChanged();
6841 return this;
6842 }
6853 @java.lang.Override
6855 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocatePathGlobalCheapestInsertionInsertUnperformed_);
6856 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6857 }
6869 public Builder setUseRelocatePathGlobalCheapestInsertionInsertUnperformed(com.google.ortools.util.OptionalBoolean value) {
6870 if (value == null) {
6871 throw new NullPointerException();
6872 }
6873 bitField0_ |= 0x20000000;
6874 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = value.getNumber();
6875 onChanged();
6876 return this;
6877 }
6889 bitField0_ = (bitField0_ & ~0x20000000);
6890 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
6891 onChanged();
6892 return this;
6893 }
6894
6895 private int useGlobalCheapestInsertionExpensiveChainLns_ = 0;
6908 return useGlobalCheapestInsertionExpensiveChainLns_;
6909 }
6923 useGlobalCheapestInsertionExpensiveChainLns_ = value;
6924 bitField0_ |= 0x40000000;
6925 onChanged();
6926 return this;
6927 }
6939 @java.lang.Override
6941 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useGlobalCheapestInsertionExpensiveChainLns_);
6942 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6943 }
6956 public Builder setUseGlobalCheapestInsertionExpensiveChainLns(com.google.ortools.util.OptionalBoolean value) {
6957 if (value == null) {
6958 throw new NullPointerException();
6959 }
6960 bitField0_ |= 0x40000000;
6961 useGlobalCheapestInsertionExpensiveChainLns_ = value.getNumber();
6962 onChanged();
6963 return this;
6964 }
6977 bitField0_ = (bitField0_ & ~0x40000000);
6978 useGlobalCheapestInsertionExpensiveChainLns_ = 0;
6979 onChanged();
6980 return this;
6981 }
6982
6983 private int useLocalCheapestInsertionExpensiveChainLns_ = 0;
6994 return useLocalCheapestInsertionExpensiveChainLns_;
6995 }
7007 useLocalCheapestInsertionExpensiveChainLns_ = value;
7008 bitField0_ |= 0x80000000;
7009 onChanged();
7010 return this;
7011 }
7021 @java.lang.Override
7023 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useLocalCheapestInsertionExpensiveChainLns_);
7024 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7025 }
7036 public Builder setUseLocalCheapestInsertionExpensiveChainLns(com.google.ortools.util.OptionalBoolean value) {
7037 if (value == null) {
7038 throw new NullPointerException();
7039 }
7040 bitField0_ |= 0x80000000;
7041 useLocalCheapestInsertionExpensiveChainLns_ = value.getNumber();
7042 onChanged();
7043 return this;
7044 }
7055 bitField0_ = (bitField0_ & ~0x80000000);
7056 useLocalCheapestInsertionExpensiveChainLns_ = 0;
7057 onChanged();
7058 return this;
7059 }
7060
7061 private int useGlobalCheapestInsertionCloseNodesLns_ = 0;
7073 @java.lang.Override public int getUseGlobalCheapestInsertionCloseNodesLnsValue() {
7074 return useGlobalCheapestInsertionCloseNodesLns_;
7075 }
7089 useGlobalCheapestInsertionCloseNodesLns_ = value;
7090 bitField1_ |= 0x00000001;
7091 onChanged();
7092 return this;
7093 }
7105 @java.lang.Override
7107 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useGlobalCheapestInsertionCloseNodesLns_);
7108 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7109 }
7122 public Builder setUseGlobalCheapestInsertionCloseNodesLns(com.google.ortools.util.OptionalBoolean value) {
7123 if (value == null) {
7124 throw new NullPointerException();
7125 }
7126 bitField1_ |= 0x00000001;
7127 useGlobalCheapestInsertionCloseNodesLns_ = value.getNumber();
7128 onChanged();
7129 return this;
7130 }
7143 bitField1_ = (bitField1_ & ~0x00000001);
7144 useGlobalCheapestInsertionCloseNodesLns_ = 0;
7145 onChanged();
7146 return this;
7147 }
7148
7149 private int useLocalCheapestInsertionCloseNodesLns_ = 0;
7159 @java.lang.Override public int getUseLocalCheapestInsertionCloseNodesLnsValue() {
7160 return useLocalCheapestInsertionCloseNodesLns_;
7161 }
7173 useLocalCheapestInsertionCloseNodesLns_ = value;
7174 bitField1_ |= 0x00000002;
7175 onChanged();
7176 return this;
7177 }
7187 @java.lang.Override
7189 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useLocalCheapestInsertionCloseNodesLns_);
7190 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7191 }
7202 public Builder setUseLocalCheapestInsertionCloseNodesLns(com.google.ortools.util.OptionalBoolean value) {
7203 if (value == null) {
7204 throw new NullPointerException();
7205 }
7206 bitField1_ |= 0x00000002;
7207 useLocalCheapestInsertionCloseNodesLns_ = value.getNumber();
7208 onChanged();
7209 return this;
7210 }
7221 bitField1_ = (bitField1_ & ~0x00000002);
7222 useLocalCheapestInsertionCloseNodesLns_ = 0;
7223 onChanged();
7224 return this;
7225 }
7226 @java.lang.Override
7228 final com.google.protobuf.UnknownFieldSet unknownFields) {
7229 return super.setUnknownFields(unknownFields);
7230 }
7231
7232 @java.lang.Override
7234 final com.google.protobuf.UnknownFieldSet unknownFields) {
7235 return super.mergeUnknownFields(unknownFields);
7236 }
7237
7238
7239 // @@protoc_insertion_point(builder_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
7240 }
7241
7242 // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
7244 static {
7245 DEFAULT_INSTANCE = new com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators();
7246 }
7247
7251
7252 private static final com.google.protobuf.Parser<LocalSearchNeighborhoodOperators>
7253 PARSER = new com.google.protobuf.AbstractParser<LocalSearchNeighborhoodOperators>() {
7254 @java.lang.Override
7255 public LocalSearchNeighborhoodOperators parsePartialFrom(
7256 com.google.protobuf.CodedInputStream input,
7257 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7258 throws com.google.protobuf.InvalidProtocolBufferException {
7259 Builder builder = newBuilder();
7260 try {
7261 builder.mergeFrom(input, extensionRegistry);
7262 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7263 throw e.setUnfinishedMessage(builder.buildPartial());
7264 } catch (com.google.protobuf.UninitializedMessageException e) {
7265 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
7266 } catch (java.io.IOException e) {
7267 throw new com.google.protobuf.InvalidProtocolBufferException(e)
7268 .setUnfinishedMessage(builder.buildPartial());
7269 }
7270 return builder.buildPartial();
7271 }
7272 };
7273
7274 public static com.google.protobuf.Parser<LocalSearchNeighborhoodOperators> parser() {
7275 return PARSER;
7276 }
7277
7278 @java.lang.Override
7279 public com.google.protobuf.Parser<LocalSearchNeighborhoodOperators> getParserForType() {
7280 return PARSER;
7281 }
7282
7283 @java.lang.Override
7287
7288 }
7289
7291 // @@protoc_insertion_point(interface_extends:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
7292 com.google.protobuf.MessageOrBuilder {
7293
7305
7319 }
7327 public static final class ImprovementSearchLimitParameters extends
7328 com.google.protobuf.GeneratedMessageV3 implements
7329 // @@protoc_insertion_point(message_implements:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
7331 private static final long serialVersionUID = 0L;
7332 // Use ImprovementSearchLimitParameters.newBuilder() to construct.
7333 private ImprovementSearchLimitParameters(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
7334 super(builder);
7335 }
7337 }
7338
7339 @java.lang.Override
7340 @SuppressWarnings({"unused"})
7341 protected java.lang.Object newInstance(
7342 UnusedPrivateParameter unused) {
7344 }
7345
7346 public static final com.google.protobuf.Descriptors.Descriptor
7348 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_descriptor;
7349 }
7350
7351 @java.lang.Override
7352 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
7354 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_fieldAccessorTable
7355 .ensureFieldAccessorsInitialized(
7356 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.class, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder.class);
7357 }
7358
7359 public static final int IMPROVEMENT_RATE_COEFFICIENT_FIELD_NUMBER = 38;
7360 private double improvementRateCoefficient_ = 0D;
7371 @java.lang.Override
7373 return improvementRateCoefficient_;
7374 }
7375
7377 private int improvementRateSolutionsDistance_ = 0;
7390 @java.lang.Override
7392 return improvementRateSolutionsDistance_;
7393 }
7394
7395 private byte memoizedIsInitialized = -1;
7396 @java.lang.Override
7397 public final boolean isInitialized() {
7398 byte isInitialized = memoizedIsInitialized;
7399 if (isInitialized == 1) return true;
7400 if (isInitialized == 0) return false;
7401
7402 memoizedIsInitialized = 1;
7403 return true;
7404 }
7405
7406 @java.lang.Override
7407 public void writeTo(com.google.protobuf.CodedOutputStream output)
7408 throws java.io.IOException {
7409 if (java.lang.Double.doubleToRawLongBits(improvementRateCoefficient_) != 0) {
7410 output.writeDouble(38, improvementRateCoefficient_);
7411 }
7412 if (improvementRateSolutionsDistance_ != 0) {
7413 output.writeInt32(39, improvementRateSolutionsDistance_);
7414 }
7415 getUnknownFields().writeTo(output);
7416 }
7417
7418 @java.lang.Override
7419 public int getSerializedSize() {
7420 int size = memoizedSize;
7421 if (size != -1) return size;
7422
7423 size = 0;
7424 if (java.lang.Double.doubleToRawLongBits(improvementRateCoefficient_) != 0) {
7425 size += com.google.protobuf.CodedOutputStream
7426 .computeDoubleSize(38, improvementRateCoefficient_);
7427 }
7428 if (improvementRateSolutionsDistance_ != 0) {
7429 size += com.google.protobuf.CodedOutputStream
7430 .computeInt32Size(39, improvementRateSolutionsDistance_);
7431 }
7432 size += getUnknownFields().getSerializedSize();
7433 memoizedSize = size;
7434 return size;
7435 }
7436
7437 @java.lang.Override
7438 public boolean equals(final java.lang.Object obj) {
7439 if (obj == this) {
7440 return true;
7441 }
7442 if (!(obj instanceof com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters)) {
7443 return super.equals(obj);
7444 }
7445 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters other = (com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters) obj;
7446
7447 if (java.lang.Double.doubleToLongBits(getImprovementRateCoefficient())
7448 != java.lang.Double.doubleToLongBits(
7449 other.getImprovementRateCoefficient())) return false;
7451 != other.getImprovementRateSolutionsDistance()) return false;
7452 if (!getUnknownFields().equals(other.getUnknownFields())) return false;
7453 return true;
7454 }
7455
7456 @java.lang.Override
7457 public int hashCode() {
7458 if (memoizedHashCode != 0) {
7459 return memoizedHashCode;
7460 }
7461 int hash = 41;
7462 hash = (19 * hash) + getDescriptor().hashCode();
7463 hash = (37 * hash) + IMPROVEMENT_RATE_COEFFICIENT_FIELD_NUMBER;
7464 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7465 java.lang.Double.doubleToLongBits(getImprovementRateCoefficient()));
7467 hash = (53 * hash) + getImprovementRateSolutionsDistance();
7468 hash = (29 * hash) + getUnknownFields().hashCode();
7469 memoizedHashCode = hash;
7470 return hash;
7471 }
7472
7474 java.nio.ByteBuffer data)
7475 throws com.google.protobuf.InvalidProtocolBufferException {
7476 return PARSER.parseFrom(data);
7477 }
7479 java.nio.ByteBuffer data,
7480 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7481 throws com.google.protobuf.InvalidProtocolBufferException {
7482 return PARSER.parseFrom(data, extensionRegistry);
7483 }
7485 com.google.protobuf.ByteString data)
7486 throws com.google.protobuf.InvalidProtocolBufferException {
7487 return PARSER.parseFrom(data);
7488 }
7490 com.google.protobuf.ByteString data,
7491 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7492 throws com.google.protobuf.InvalidProtocolBufferException {
7493 return PARSER.parseFrom(data, extensionRegistry);
7494 }
7496 throws com.google.protobuf.InvalidProtocolBufferException {
7497 return PARSER.parseFrom(data);
7498 }
7500 byte[] data,
7501 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7502 throws com.google.protobuf.InvalidProtocolBufferException {
7503 return PARSER.parseFrom(data, extensionRegistry);
7504 }
7506 throws java.io.IOException {
7507 return com.google.protobuf.GeneratedMessageV3
7508 .parseWithIOException(PARSER, input);
7509 }
7511 java.io.InputStream input,
7512 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7513 throws java.io.IOException {
7514 return com.google.protobuf.GeneratedMessageV3
7515 .parseWithIOException(PARSER, input, extensionRegistry);
7516 }
7517
7519 throws java.io.IOException {
7520 return com.google.protobuf.GeneratedMessageV3
7521 .parseDelimitedWithIOException(PARSER, input);
7522 }
7523
7525 java.io.InputStream input,
7526 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7527 throws java.io.IOException {
7528 return com.google.protobuf.GeneratedMessageV3
7529 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
7530 }
7532 com.google.protobuf.CodedInputStream input)
7533 throws java.io.IOException {
7534 return com.google.protobuf.GeneratedMessageV3
7535 .parseWithIOException(PARSER, input);
7536 }
7538 com.google.protobuf.CodedInputStream input,
7539 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7540 throws java.io.IOException {
7541 return com.google.protobuf.GeneratedMessageV3
7542 .parseWithIOException(PARSER, input, extensionRegistry);
7543 }
7544
7545 @java.lang.Override
7546 public Builder newBuilderForType() { return newBuilder(); }
7547 public static Builder newBuilder() {
7548 return DEFAULT_INSTANCE.toBuilder();
7549 }
7550 public static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters prototype) {
7551 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
7552 }
7553 @java.lang.Override
7555 return this == DEFAULT_INSTANCE
7556 ? new Builder() : new Builder().mergeFrom(this);
7557 }
7558
7559 @java.lang.Override
7561 com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
7562 Builder builder = new Builder(parent);
7563 return builder;
7564 }
7572 public static final class Builder extends
7573 com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
7574 // @@protoc_insertion_point(builder_implements:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
7575 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParametersOrBuilder {
7576 public static final com.google.protobuf.Descriptors.Descriptor
7578 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_descriptor;
7579 }
7580
7581 @java.lang.Override
7582 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
7584 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_fieldAccessorTable
7585 .ensureFieldAccessorsInitialized(
7586 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.class, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder.class);
7587 }
7588
7589 // Construct using com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.newBuilder()
7590 private Builder() {
7591
7592 }
7593
7594 private Builder(
7595 com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
7596 super(parent);
7597
7598 }
7599 @java.lang.Override
7600 public Builder clear() {
7601 super.clear();
7602 bitField0_ = 0;
7603 improvementRateCoefficient_ = 0D;
7604 improvementRateSolutionsDistance_ = 0;
7605 return this;
7606 }
7607
7608 @java.lang.Override
7609 public com.google.protobuf.Descriptors.Descriptor
7611 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_descriptor;
7612 }
7613
7614 @java.lang.Override
7616 return com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance();
7617 }
7618
7619 @java.lang.Override
7627
7628 @java.lang.Override
7630 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters result = new com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters(this);
7631 if (bitField0_ != 0) { buildPartial0(result); }
7632 onBuilt();
7633 return result;
7634 }
7635
7636 private void buildPartial0(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters result) {
7637 int from_bitField0_ = bitField0_;
7638 if (((from_bitField0_ & 0x00000001) != 0)) {
7639 result.improvementRateCoefficient_ = improvementRateCoefficient_;
7640 }
7641 if (((from_bitField0_ & 0x00000002) != 0)) {
7642 result.improvementRateSolutionsDistance_ = improvementRateSolutionsDistance_;
7643 }
7644 }
7645
7646 @java.lang.Override
7647 public Builder clone() {
7648 return super.clone();
7649 }
7650 @java.lang.Override
7652 com.google.protobuf.Descriptors.FieldDescriptor field,
7653 java.lang.Object value) {
7654 return super.setField(field, value);
7655 }
7656 @java.lang.Override
7658 com.google.protobuf.Descriptors.FieldDescriptor field) {
7659 return super.clearField(field);
7660 }
7661 @java.lang.Override
7663 com.google.protobuf.Descriptors.OneofDescriptor oneof) {
7664 return super.clearOneof(oneof);
7665 }
7666 @java.lang.Override
7668 com.google.protobuf.Descriptors.FieldDescriptor field,
7669 int index, java.lang.Object value) {
7670 return super.setRepeatedField(field, index, value);
7671 }
7672 @java.lang.Override
7674 com.google.protobuf.Descriptors.FieldDescriptor field,
7675 java.lang.Object value) {
7676 return super.addRepeatedField(field, value);
7677 }
7678 @java.lang.Override
7679 public Builder mergeFrom(com.google.protobuf.Message other) {
7680 if (other instanceof com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters) {
7681 return mergeFrom((com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters)other);
7682 } else {
7683 super.mergeFrom(other);
7684 return this;
7685 }
7686 }
7687
7688 public Builder mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters other) {
7689 if (other == com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance()) return this;
7690 if (other.getImprovementRateCoefficient() != 0D) {
7691 setImprovementRateCoefficient(other.getImprovementRateCoefficient());
7692 }
7693 if (other.getImprovementRateSolutionsDistance() != 0) {
7694 setImprovementRateSolutionsDistance(other.getImprovementRateSolutionsDistance());
7695 }
7696 this.mergeUnknownFields(other.getUnknownFields());
7697 onChanged();
7698 return this;
7699 }
7700
7701 @java.lang.Override
7702 public final boolean isInitialized() {
7703 return true;
7704 }
7705
7706 @java.lang.Override
7708 com.google.protobuf.CodedInputStream input,
7709 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7710 throws java.io.IOException {
7711 if (extensionRegistry == null) {
7712 throw new java.lang.NullPointerException();
7713 }
7714 try {
7715 boolean done = false;
7716 while (!done) {
7717 int tag = input.readTag();
7718 switch (tag) {
7719 case 0:
7720 done = true;
7721 break;
7722 case 305: {
7723 improvementRateCoefficient_ = input.readDouble();
7724 bitField0_ |= 0x00000001;
7725 break;
7726 } // case 305
7727 case 312: {
7728 improvementRateSolutionsDistance_ = input.readInt32();
7729 bitField0_ |= 0x00000002;
7730 break;
7731 } // case 312
7732 default: {
7733 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
7734 done = true; // was an endgroup tag
7735 }
7736 break;
7737 } // default:
7738 } // switch (tag)
7739 } // while (!done)
7740 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7741 throw e.unwrapIOException();
7742 } finally {
7743 onChanged();
7744 } // finally
7745 return this;
7746 }
7747 private int bitField0_;
7748
7749 private double improvementRateCoefficient_ ;
7760 @java.lang.Override
7762 return improvementRateCoefficient_;
7763 }
7776
7777 improvementRateCoefficient_ = value;
7778 bitField0_ |= 0x00000001;
7779 onChanged();
7780 return this;
7781 }
7793 bitField0_ = (bitField0_ & ~0x00000001);
7794 improvementRateCoefficient_ = 0D;
7795 onChanged();
7796 return this;
7797 }
7798
7799 private int improvementRateSolutionsDistance_ ;
7812 @java.lang.Override
7814 return improvementRateSolutionsDistance_;
7815 }
7830
7831 improvementRateSolutionsDistance_ = value;
7832 bitField0_ |= 0x00000002;
7833 onChanged();
7834 return this;
7835 }
7849 bitField0_ = (bitField0_ & ~0x00000002);
7850 improvementRateSolutionsDistance_ = 0;
7851 onChanged();
7852 return this;
7853 }
7854 @java.lang.Override
7856 final com.google.protobuf.UnknownFieldSet unknownFields) {
7857 return super.setUnknownFields(unknownFields);
7858 }
7859
7860 @java.lang.Override
7862 final com.google.protobuf.UnknownFieldSet unknownFields) {
7863 return super.mergeUnknownFields(unknownFields);
7864 }
7865
7866
7867 // @@protoc_insertion_point(builder_scope:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
7868 }
7869
7870 // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
7872 static {
7873 DEFAULT_INSTANCE = new com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters();
7874 }
7875
7879
7880 private static final com.google.protobuf.Parser<ImprovementSearchLimitParameters>
7881 PARSER = new com.google.protobuf.AbstractParser<ImprovementSearchLimitParameters>() {
7882 @java.lang.Override
7883 public ImprovementSearchLimitParameters parsePartialFrom(
7884 com.google.protobuf.CodedInputStream input,
7885 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7886 throws com.google.protobuf.InvalidProtocolBufferException {
7887 Builder builder = newBuilder();
7888 try {
7889 builder.mergeFrom(input, extensionRegistry);
7890 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7891 throw e.setUnfinishedMessage(builder.buildPartial());
7892 } catch (com.google.protobuf.UninitializedMessageException e) {
7893 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
7894 } catch (java.io.IOException e) {
7895 throw new com.google.protobuf.InvalidProtocolBufferException(e)
7896 .setUnfinishedMessage(builder.buildPartial());
7897 }
7898 return builder.buildPartial();
7899 }
7900 };
7901
7902 public static com.google.protobuf.Parser<ImprovementSearchLimitParameters> parser() {
7903 return PARSER;
7904 }
7905
7906 @java.lang.Override
7907 public com.google.protobuf.Parser<ImprovementSearchLimitParameters> getParserForType() {
7908 return PARSER;
7909 }
7910
7911 @java.lang.Override
7915
7916 }
7917
7918 private int bitField0_;
7919 public static final int FIRST_SOLUTION_STRATEGY_FIELD_NUMBER = 1;
7920 private int firstSolutionStrategy_ = 0;
7929 @java.lang.Override public int getFirstSolutionStrategyValue() {
7930 return firstSolutionStrategy_;
7931 }
7941 com.google.ortools.constraintsolver.FirstSolutionStrategy.Value result = com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.forNumber(firstSolutionStrategy_);
7942 return result == null ? com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNRECOGNIZED : result;
7943 }
7944
7946 private boolean useUnfilteredFirstSolutionStrategy_ = false;
7958 @java.lang.Override
7960 return useUnfilteredFirstSolutionStrategy_;
7961 }
7962
7963 public static final int SAVINGS_NEIGHBORS_RATIO_FIELD_NUMBER = 14;
7964 private double savingsNeighborsRatio_ = 0D;
7975 @java.lang.Override
7977 return savingsNeighborsRatio_;
7978 }
7979
7981 private double savingsMaxMemoryUsageBytes_ = 0D;
7995 @java.lang.Override
7997 return savingsMaxMemoryUsageBytes_;
7998 }
7999
8000 public static final int SAVINGS_ADD_REVERSE_ARCS_FIELD_NUMBER = 15;
8001 private boolean savingsAddReverseArcs_ = false;
8011 @java.lang.Override
8012 public boolean getSavingsAddReverseArcs() {
8013 return savingsAddReverseArcs_;
8014 }
8015
8016 public static final int SAVINGS_ARC_COEFFICIENT_FIELD_NUMBER = 18;
8017 private double savingsArcCoefficient_ = 0D;
8030 @java.lang.Override
8032 return savingsArcCoefficient_;
8033 }
8034
8035 public static final int SAVINGS_PARALLEL_ROUTES_FIELD_NUMBER = 19;
8036 private boolean savingsParallelRoutes_ = false;
8045 @java.lang.Override
8046 public boolean getSavingsParallelRoutes() {
8047 return savingsParallelRoutes_;
8048 }
8049
8051 private double cheapestInsertionFarthestSeedsRatio_ = 0D;
8062 @java.lang.Override
8064 return cheapestInsertionFarthestSeedsRatio_;
8065 }
8066
8068 private double cheapestInsertionFirstSolutionNeighborsRatio_ = 0D;
8091 @java.lang.Override
8093 return cheapestInsertionFirstSolutionNeighborsRatio_;
8094 }
8095
8097 private int cheapestInsertionFirstSolutionMinNeighbors_ = 0;
8102 @java.lang.Override
8104 return cheapestInsertionFirstSolutionMinNeighbors_;
8105 }
8106
8108 private double cheapestInsertionLsOperatorNeighborsRatio_ = 0D;
8120 @java.lang.Override
8122 return cheapestInsertionLsOperatorNeighborsRatio_;
8123 }
8124
8126 private int cheapestInsertionLsOperatorMinNeighbors_ = 0;
8131 @java.lang.Override
8133 return cheapestInsertionLsOperatorMinNeighbors_;
8134 }
8135
8137 private boolean cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ = false;
8147 @java.lang.Override
8149 return cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_;
8150 }
8151
8153 private boolean cheapestInsertionAddUnperformedEntries_ = false;
8163 @java.lang.Override
8165 return cheapestInsertionAddUnperformedEntries_;
8166 }
8167
8169 private int localCheapestInsertionPickupDeliveryStrategy_ = 0;
8180 return localCheapestInsertionPickupDeliveryStrategy_;
8181 }
8192 com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy result = com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy.forNumber(localCheapestInsertionPickupDeliveryStrategy_);
8193 return result == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy.UNRECOGNIZED : result;
8194 }
8195
8197 private int localCheapestCostInsertionPickupDeliveryStrategy_ = 0;
8208 return localCheapestCostInsertionPickupDeliveryStrategy_;
8209 }
8220 com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy result = com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy.forNumber(localCheapestCostInsertionPickupDeliveryStrategy_);
8221 return result == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy.UNRECOGNIZED : result;
8222 }
8223
8225 private boolean christofidesUseMinimumMatching_ = false;
8235 @java.lang.Override
8237 return christofidesUseMinimumMatching_;
8238 }
8239
8241 private int firstSolutionOptimizationPeriod_ = 0;
8256 @java.lang.Override
8258 return firstSolutionOptimizationPeriod_;
8259 }
8260
8261 public static final int LOCAL_SEARCH_OPERATORS_FIELD_NUMBER = 3;
8267 @java.lang.Override
8268 public boolean hasLocalSearchOperators() {
8269 return ((bitField0_ & 0x00000001) != 0);
8270 }
8275 @java.lang.Override
8277 return localSearchOperators_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
8278 }
8282 @java.lang.Override
8284 return localSearchOperators_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
8285 }
8286
8287 public static final int LS_OPERATOR_NEIGHBORS_RATIO_FIELD_NUMBER = 53;
8288 private double lsOperatorNeighborsRatio_ = 0D;
8299 @java.lang.Override
8301 return lsOperatorNeighborsRatio_;
8302 }
8303
8304 public static final int LS_OPERATOR_MIN_NEIGHBORS_FIELD_NUMBER = 54;
8305 private int lsOperatorMinNeighbors_ = 0;
8310 @java.lang.Override
8312 return lsOperatorMinNeighbors_;
8313 }
8314
8316 private boolean useMultiArmedBanditConcatenateOperators_ = false;
8327 @java.lang.Override
8329 return useMultiArmedBanditConcatenateOperators_;
8330 }
8331
8333 private double multiArmedBanditCompoundOperatorMemoryCoefficient_ = 0D;
8345 @java.lang.Override
8347 return multiArmedBanditCompoundOperatorMemoryCoefficient_;
8348 }
8349
8351 private double multiArmedBanditCompoundOperatorExplorationCoefficient_ = 0D;
8362 @java.lang.Override
8364 return multiArmedBanditCompoundOperatorExplorationCoefficient_;
8365 }
8366
8368 private int relocateExpensiveChainNumArcsToConsider_ = 0;
8383 @java.lang.Override
8385 return relocateExpensiveChainNumArcsToConsider_;
8386 }
8387
8389 private int heuristicExpensiveChainLnsNumArcsToConsider_ = 0;
8399 @java.lang.Override
8401 return heuristicExpensiveChainLnsNumArcsToConsider_;
8402 }
8403
8405 private int heuristicCloseNodesLnsNumNodes_ = 0;
8415 @java.lang.Override
8417 return heuristicCloseNodesLnsNumNodes_;
8418 }
8419
8420 public static final int LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER = 4;
8421 private int localSearchMetaheuristic_ = 0;
8430 @java.lang.Override public int getLocalSearchMetaheuristicValue() {
8431 return localSearchMetaheuristic_;
8432 }
8442 com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value result = com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.forNumber(localSearchMetaheuristic_);
8443 return result == null ? com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNRECOGNIZED : result;
8444 }
8445
8447 private double guidedLocalSearchLambdaCoefficient_ = 0D;
8459 @java.lang.Override
8461 return guidedLocalSearchLambdaCoefficient_;
8462 }
8463
8465 private boolean guidedLocalSearchResetPenaltiesOnNewBestSolution_ = false;
8475 @java.lang.Override
8477 return guidedLocalSearchResetPenaltiesOnNewBestSolution_;
8478 }
8479
8480 public static final int USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER = 6;
8481 private boolean useDepthFirstSearch_ = false;
8493 @java.lang.Override
8494 public boolean getUseDepthFirstSearch() {
8495 return useDepthFirstSearch_;
8496 }
8497
8498 public static final int USE_CP_FIELD_NUMBER = 28;
8499 private int useCp_ = 0;
8510 @java.lang.Override public int getUseCpValue() {
8511 return useCp_;
8512 }
8524 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useCp_);
8525 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
8526 }
8527
8528 public static final int USE_CP_SAT_FIELD_NUMBER = 27;
8529 private int useCpSat_ = 0;
8541 @java.lang.Override public int getUseCpSatValue() {
8542 return useCpSat_;
8543 }
8556 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useCpSat_);
8557 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
8558 }
8559
8560 public static final int USE_GENERALIZED_CP_SAT_FIELD_NUMBER = 47;
8561 private int useGeneralizedCpSat_ = 0;
8573 @java.lang.Override public int getUseGeneralizedCpSatValue() {
8574 return useGeneralizedCpSat_;
8575 }
8588 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useGeneralizedCpSat_);
8589 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
8590 }
8591
8592 public static final int SAT_PARAMETERS_FIELD_NUMBER = 48;
8593 private com.google.ortools.sat.SatParameters satParameters_;
8603 @java.lang.Override
8604 public boolean hasSatParameters() {
8605 return ((bitField0_ & 0x00000002) != 0);
8606 }
8616 @java.lang.Override
8618 return satParameters_ == null ? com.google.ortools.sat.SatParameters.getDefaultInstance() : satParameters_;
8619 }
8628 @java.lang.Override
8630 return satParameters_ == null ? com.google.ortools.sat.SatParameters.getDefaultInstance() : satParameters_;
8631 }
8632
8634 private boolean reportIntermediateCpSatSolutions_ = false;
8644 @java.lang.Override
8646 return reportIntermediateCpSatSolutions_;
8647 }
8648
8650 private int fallbackToCpSatSizeThreshold_ = 0;
8660 @java.lang.Override
8662 return fallbackToCpSatSizeThreshold_;
8663 }
8664
8665 public static final int CONTINUOUS_SCHEDULING_SOLVER_FIELD_NUMBER = 33;
8666 private int continuousSchedulingSolver_ = 0;
8671 @java.lang.Override public int getContinuousSchedulingSolverValue() {
8672 return continuousSchedulingSolver_;
8673 }
8679 com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver result = com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.forNumber(continuousSchedulingSolver_);
8680 return result == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNRECOGNIZED : result;
8681 }
8682
8684 private int mixedIntegerSchedulingSolver_ = 0;
8689 @java.lang.Override public int getMixedIntegerSchedulingSolverValue() {
8690 return mixedIntegerSchedulingSolver_;
8691 }
8697 com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver result = com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.forNumber(mixedIntegerSchedulingSolver_);
8698 return result == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNRECOGNIZED : result;
8699 }
8700
8702 private boolean disableSchedulingBewareThisMayDegradePerformance_ = false;
8712 @java.lang.Override
8714 return ((bitField0_ & 0x00000004) != 0);
8715 }
8725 @java.lang.Override
8727 return disableSchedulingBewareThisMayDegradePerformance_;
8728 }
8729
8730 public static final int OPTIMIZATION_STEP_FIELD_NUMBER = 7;
8731 private double optimizationStep_ = 0D;
8742 @java.lang.Override
8743 public double getOptimizationStep() {
8744 return optimizationStep_;
8745 }
8746
8748 private int numberOfSolutionsToCollect_ = 0;
8758 @java.lang.Override
8760 return numberOfSolutionsToCollect_;
8761 }
8762
8763 public static final int SOLUTION_LIMIT_FIELD_NUMBER = 8;
8764 private long solutionLimit_ = 0L;
8775 @java.lang.Override
8776 public long getSolutionLimit() {
8777 return solutionLimit_;
8778 }
8779
8780 public static final int TIME_LIMIT_FIELD_NUMBER = 9;
8781 private com.google.protobuf.Duration timeLimit_;
8790 @java.lang.Override
8791 public boolean hasTimeLimit() {
8792 return ((bitField0_ & 0x00000008) != 0);
8793 }
8802 @java.lang.Override
8803 public com.google.protobuf.Duration getTimeLimit() {
8804 return timeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
8805 }
8813 @java.lang.Override
8814 public com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder() {
8815 return timeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
8816 }
8817
8818 public static final int LNS_TIME_LIMIT_FIELD_NUMBER = 10;
8819 private com.google.protobuf.Duration lnsTimeLimit_;
8829 @java.lang.Override
8830 public boolean hasLnsTimeLimit() {
8831 return ((bitField0_ & 0x00000010) != 0);
8832 }
8842 @java.lang.Override
8843 public com.google.protobuf.Duration getLnsTimeLimit() {
8844 return lnsTimeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
8845 }
8854 @java.lang.Override
8855 public com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder() {
8856 return lnsTimeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
8857 }
8858
8860 private double secondaryLsTimeLimitRatio_ = 0D;
8874 @java.lang.Override
8876 return secondaryLsTimeLimitRatio_;
8877 }
8878
8879 public static final int IMPROVEMENT_LIMIT_PARAMETERS_FIELD_NUMBER = 37;
8890 @java.lang.Override
8892 return ((bitField0_ & 0x00000020) != 0);
8893 }
8903 @java.lang.Override
8905 return improvementLimitParameters_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance() : improvementLimitParameters_;
8906 }
8915 @java.lang.Override
8917 return improvementLimitParameters_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance() : improvementLimitParameters_;
8918 }
8919
8920 public static final int USE_FULL_PROPAGATION_FIELD_NUMBER = 11;
8921 private boolean useFullPropagation_ = false;
8939 @java.lang.Override
8940 public boolean getUseFullPropagation() {
8941 return useFullPropagation_;
8942 }
8943
8944 public static final int LOG_SEARCH_FIELD_NUMBER = 13;
8945 private boolean logSearch_ = false;
8966 @java.lang.Override
8967 public boolean getLogSearch() {
8968 return logSearch_;
8969 }
8970
8971 public static final int LOG_COST_SCALING_FACTOR_FIELD_NUMBER = 22;
8972 private double logCostScalingFactor_ = 0D;
8982 @java.lang.Override
8983 public double getLogCostScalingFactor() {
8984 return logCostScalingFactor_;
8985 }
8986
8987 public static final int LOG_COST_OFFSET_FIELD_NUMBER = 29;
8988 private double logCostOffset_ = 0D;
8993 @java.lang.Override
8994 public double getLogCostOffset() {
8995 return logCostOffset_;
8996 }
8997
8998 public static final int LOG_TAG_FIELD_NUMBER = 36;
8999 @SuppressWarnings("serial")
9000 private volatile java.lang.Object logTag_ = "";
9010 @java.lang.Override
9011 public java.lang.String getLogTag() {
9012 java.lang.Object ref = logTag_;
9013 if (ref instanceof java.lang.String) {
9014 return (java.lang.String) ref;
9015 } else {
9016 com.google.protobuf.ByteString bs =
9017 (com.google.protobuf.ByteString) ref;
9018 java.lang.String s = bs.toStringUtf8();
9019 logTag_ = s;
9020 return s;
9021 }
9022 }
9032 @java.lang.Override
9033 public com.google.protobuf.ByteString
9035 java.lang.Object ref = logTag_;
9036 if (ref instanceof java.lang.String) {
9037 com.google.protobuf.ByteString b =
9038 com.google.protobuf.ByteString.copyFromUtf8(
9039 (java.lang.String) ref);
9040 logTag_ = b;
9041 return b;
9042 } else {
9043 return (com.google.protobuf.ByteString) ref;
9044 }
9045 }
9046
9047 public static final int USE_ITERATED_LOCAL_SEARCH_FIELD_NUMBER = 58;
9048 private boolean useIteratedLocalSearch_ = false;
9058 @java.lang.Override
9059 public boolean getUseIteratedLocalSearch() {
9060 return useIteratedLocalSearch_;
9061 }
9062
9064 private operations_research.RoutingIls.IteratedLocalSearchParameters iteratedLocalSearchParameters_;
9073 @java.lang.Override
9075 return ((bitField0_ & 0x00000040) != 0);
9076 }
9085 @java.lang.Override
9096 @java.lang.Override
9100
9101 private byte memoizedIsInitialized = -1;
9102 @java.lang.Override
9103 public final boolean isInitialized() {
9104 byte isInitialized = memoizedIsInitialized;
9105 if (isInitialized == 1) return true;
9106 if (isInitialized == 0) return false;
9107
9108 memoizedIsInitialized = 1;
9109 return true;
9110 }
9111
9112 @java.lang.Override
9113 public void writeTo(com.google.protobuf.CodedOutputStream output)
9114 throws java.io.IOException {
9115 if (firstSolutionStrategy_ != com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNSET.getNumber()) {
9116 output.writeEnum(1, firstSolutionStrategy_);
9117 }
9118 if (useUnfilteredFirstSolutionStrategy_ != false) {
9119 output.writeBool(2, useUnfilteredFirstSolutionStrategy_);
9120 }
9121 if (((bitField0_ & 0x00000001) != 0)) {
9122 output.writeMessage(3, getLocalSearchOperators());
9123 }
9124 if (localSearchMetaheuristic_ != com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNSET.getNumber()) {
9125 output.writeEnum(4, localSearchMetaheuristic_);
9126 }
9127 if (java.lang.Double.doubleToRawLongBits(guidedLocalSearchLambdaCoefficient_) != 0) {
9128 output.writeDouble(5, guidedLocalSearchLambdaCoefficient_);
9129 }
9130 if (useDepthFirstSearch_ != false) {
9131 output.writeBool(6, useDepthFirstSearch_);
9132 }
9133 if (java.lang.Double.doubleToRawLongBits(optimizationStep_) != 0) {
9134 output.writeDouble(7, optimizationStep_);
9135 }
9136 if (solutionLimit_ != 0L) {
9137 output.writeInt64(8, solutionLimit_);
9138 }
9139 if (((bitField0_ & 0x00000008) != 0)) {
9140 output.writeMessage(9, getTimeLimit());
9141 }
9142 if (((bitField0_ & 0x00000010) != 0)) {
9143 output.writeMessage(10, getLnsTimeLimit());
9144 }
9145 if (useFullPropagation_ != false) {
9146 output.writeBool(11, useFullPropagation_);
9147 }
9148 if (logSearch_ != false) {
9149 output.writeBool(13, logSearch_);
9150 }
9151 if (java.lang.Double.doubleToRawLongBits(savingsNeighborsRatio_) != 0) {
9152 output.writeDouble(14, savingsNeighborsRatio_);
9153 }
9154 if (savingsAddReverseArcs_ != false) {
9155 output.writeBool(15, savingsAddReverseArcs_);
9156 }
9157 if (java.lang.Double.doubleToRawLongBits(cheapestInsertionFarthestSeedsRatio_) != 0) {
9158 output.writeDouble(16, cheapestInsertionFarthestSeedsRatio_);
9159 }
9160 if (numberOfSolutionsToCollect_ != 0) {
9161 output.writeInt32(17, numberOfSolutionsToCollect_);
9162 }
9163 if (java.lang.Double.doubleToRawLongBits(savingsArcCoefficient_) != 0) {
9164 output.writeDouble(18, savingsArcCoefficient_);
9165 }
9166 if (savingsParallelRoutes_ != false) {
9167 output.writeBool(19, savingsParallelRoutes_);
9168 }
9169 if (relocateExpensiveChainNumArcsToConsider_ != 0) {
9170 output.writeInt32(20, relocateExpensiveChainNumArcsToConsider_);
9171 }
9172 if (java.lang.Double.doubleToRawLongBits(cheapestInsertionFirstSolutionNeighborsRatio_) != 0) {
9173 output.writeDouble(21, cheapestInsertionFirstSolutionNeighborsRatio_);
9174 }
9175 if (java.lang.Double.doubleToRawLongBits(logCostScalingFactor_) != 0) {
9176 output.writeDouble(22, logCostScalingFactor_);
9177 }
9178 if (java.lang.Double.doubleToRawLongBits(savingsMaxMemoryUsageBytes_) != 0) {
9179 output.writeDouble(23, savingsMaxMemoryUsageBytes_);
9180 }
9181 if (useCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
9182 output.writeEnum(27, useCpSat_);
9183 }
9184 if (useCp_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
9185 output.writeEnum(28, useCp_);
9186 }
9187 if (java.lang.Double.doubleToRawLongBits(logCostOffset_) != 0) {
9188 output.writeDouble(29, logCostOffset_);
9189 }
9190 if (christofidesUseMinimumMatching_ != false) {
9191 output.writeBool(30, christofidesUseMinimumMatching_);
9192 }
9193 if (java.lang.Double.doubleToRawLongBits(cheapestInsertionLsOperatorNeighborsRatio_) != 0) {
9194 output.writeDouble(31, cheapestInsertionLsOperatorNeighborsRatio_);
9195 }
9196 if (heuristicExpensiveChainLnsNumArcsToConsider_ != 0) {
9197 output.writeInt32(32, heuristicExpensiveChainLnsNumArcsToConsider_);
9198 }
9199 if (continuousSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.SCHEDULING_UNSET.getNumber()) {
9200 output.writeEnum(33, continuousSchedulingSolver_);
9201 }
9202 if (mixedIntegerSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.SCHEDULING_UNSET.getNumber()) {
9203 output.writeEnum(34, mixedIntegerSchedulingSolver_);
9204 }
9205 if (heuristicCloseNodesLnsNumNodes_ != 0) {
9206 output.writeInt32(35, heuristicCloseNodesLnsNumNodes_);
9207 }
9208 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(logTag_)) {
9209 com.google.protobuf.GeneratedMessageV3.writeString(output, 36, logTag_);
9210 }
9211 if (((bitField0_ & 0x00000020) != 0)) {
9212 output.writeMessage(37, getImprovementLimitParameters());
9213 }
9214 if (cheapestInsertionAddUnperformedEntries_ != false) {
9215 output.writeBool(40, cheapestInsertionAddUnperformedEntries_);
9216 }
9217 if (useMultiArmedBanditConcatenateOperators_ != false) {
9218 output.writeBool(41, useMultiArmedBanditConcatenateOperators_);
9219 }
9220 if (java.lang.Double.doubleToRawLongBits(multiArmedBanditCompoundOperatorMemoryCoefficient_) != 0) {
9221 output.writeDouble(42, multiArmedBanditCompoundOperatorMemoryCoefficient_);
9222 }
9223 if (java.lang.Double.doubleToRawLongBits(multiArmedBanditCompoundOperatorExplorationCoefficient_) != 0) {
9224 output.writeDouble(43, multiArmedBanditCompoundOperatorExplorationCoefficient_);
9225 }
9226 if (cheapestInsertionFirstSolutionMinNeighbors_ != 0) {
9227 output.writeInt32(44, cheapestInsertionFirstSolutionMinNeighbors_);
9228 }
9229 if (cheapestInsertionLsOperatorMinNeighbors_ != 0) {
9230 output.writeInt32(45, cheapestInsertionLsOperatorMinNeighbors_);
9231 }
9232 if (cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ != false) {
9233 output.writeBool(46, cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_);
9234 }
9235 if (useGeneralizedCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
9236 output.writeEnum(47, useGeneralizedCpSat_);
9237 }
9238 if (((bitField0_ & 0x00000002) != 0)) {
9239 output.writeMessage(48, getSatParameters());
9240 }
9241 if (localCheapestInsertionPickupDeliveryStrategy_ != com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy.AUTOMATIC.getNumber()) {
9242 output.writeEnum(49, localCheapestInsertionPickupDeliveryStrategy_);
9243 }
9244 if (((bitField0_ & 0x00000004) != 0)) {
9245 output.writeBool(50, disableSchedulingBewareThisMayDegradePerformance_);
9246 }
9247 if (guidedLocalSearchResetPenaltiesOnNewBestSolution_ != false) {
9248 output.writeBool(51, guidedLocalSearchResetPenaltiesOnNewBestSolution_);
9249 }
9250 if (fallbackToCpSatSizeThreshold_ != 0) {
9251 output.writeInt32(52, fallbackToCpSatSizeThreshold_);
9252 }
9253 if (java.lang.Double.doubleToRawLongBits(lsOperatorNeighborsRatio_) != 0) {
9254 output.writeDouble(53, lsOperatorNeighborsRatio_);
9255 }
9256 if (lsOperatorMinNeighbors_ != 0) {
9257 output.writeInt32(54, lsOperatorMinNeighbors_);
9258 }
9259 if (localCheapestCostInsertionPickupDeliveryStrategy_ != com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy.AUTOMATIC.getNumber()) {
9260 output.writeEnum(55, localCheapestCostInsertionPickupDeliveryStrategy_);
9261 }
9262 if (reportIntermediateCpSatSolutions_ != false) {
9263 output.writeBool(56, reportIntermediateCpSatSolutions_);
9264 }
9265 if (java.lang.Double.doubleToRawLongBits(secondaryLsTimeLimitRatio_) != 0) {
9266 output.writeDouble(57, secondaryLsTimeLimitRatio_);
9267 }
9268 if (useIteratedLocalSearch_ != false) {
9269 output.writeBool(58, useIteratedLocalSearch_);
9270 }
9271 if (firstSolutionOptimizationPeriod_ != 0) {
9272 output.writeInt32(59, firstSolutionOptimizationPeriod_);
9273 }
9274 if (((bitField0_ & 0x00000040) != 0)) {
9275 output.writeMessage(60, getIteratedLocalSearchParameters());
9276 }
9277 getUnknownFields().writeTo(output);
9278 }
9279
9280 @java.lang.Override
9281 public int getSerializedSize() {
9282 int size = memoizedSize;
9283 if (size != -1) return size;
9284
9285 size = 0;
9286 if (firstSolutionStrategy_ != com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNSET.getNumber()) {
9287 size += com.google.protobuf.CodedOutputStream
9288 .computeEnumSize(1, firstSolutionStrategy_);
9289 }
9290 if (useUnfilteredFirstSolutionStrategy_ != false) {
9291 size += com.google.protobuf.CodedOutputStream
9292 .computeBoolSize(2, useUnfilteredFirstSolutionStrategy_);
9293 }
9294 if (((bitField0_ & 0x00000001) != 0)) {
9295 size += com.google.protobuf.CodedOutputStream
9296 .computeMessageSize(3, getLocalSearchOperators());
9297 }
9298 if (localSearchMetaheuristic_ != com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNSET.getNumber()) {
9299 size += com.google.protobuf.CodedOutputStream
9300 .computeEnumSize(4, localSearchMetaheuristic_);
9301 }
9302 if (java.lang.Double.doubleToRawLongBits(guidedLocalSearchLambdaCoefficient_) != 0) {
9303 size += com.google.protobuf.CodedOutputStream
9304 .computeDoubleSize(5, guidedLocalSearchLambdaCoefficient_);
9305 }
9306 if (useDepthFirstSearch_ != false) {
9307 size += com.google.protobuf.CodedOutputStream
9308 .computeBoolSize(6, useDepthFirstSearch_);
9309 }
9310 if (java.lang.Double.doubleToRawLongBits(optimizationStep_) != 0) {
9311 size += com.google.protobuf.CodedOutputStream
9312 .computeDoubleSize(7, optimizationStep_);
9313 }
9314 if (solutionLimit_ != 0L) {
9315 size += com.google.protobuf.CodedOutputStream
9316 .computeInt64Size(8, solutionLimit_);
9317 }
9318 if (((bitField0_ & 0x00000008) != 0)) {
9319 size += com.google.protobuf.CodedOutputStream
9320 .computeMessageSize(9, getTimeLimit());
9321 }
9322 if (((bitField0_ & 0x00000010) != 0)) {
9323 size += com.google.protobuf.CodedOutputStream
9324 .computeMessageSize(10, getLnsTimeLimit());
9325 }
9326 if (useFullPropagation_ != false) {
9327 size += com.google.protobuf.CodedOutputStream
9328 .computeBoolSize(11, useFullPropagation_);
9329 }
9330 if (logSearch_ != false) {
9331 size += com.google.protobuf.CodedOutputStream
9332 .computeBoolSize(13, logSearch_);
9333 }
9334 if (java.lang.Double.doubleToRawLongBits(savingsNeighborsRatio_) != 0) {
9335 size += com.google.protobuf.CodedOutputStream
9336 .computeDoubleSize(14, savingsNeighborsRatio_);
9337 }
9338 if (savingsAddReverseArcs_ != false) {
9339 size += com.google.protobuf.CodedOutputStream
9340 .computeBoolSize(15, savingsAddReverseArcs_);
9341 }
9342 if (java.lang.Double.doubleToRawLongBits(cheapestInsertionFarthestSeedsRatio_) != 0) {
9343 size += com.google.protobuf.CodedOutputStream
9344 .computeDoubleSize(16, cheapestInsertionFarthestSeedsRatio_);
9345 }
9346 if (numberOfSolutionsToCollect_ != 0) {
9347 size += com.google.protobuf.CodedOutputStream
9348 .computeInt32Size(17, numberOfSolutionsToCollect_);
9349 }
9350 if (java.lang.Double.doubleToRawLongBits(savingsArcCoefficient_) != 0) {
9351 size += com.google.protobuf.CodedOutputStream
9352 .computeDoubleSize(18, savingsArcCoefficient_);
9353 }
9354 if (savingsParallelRoutes_ != false) {
9355 size += com.google.protobuf.CodedOutputStream
9356 .computeBoolSize(19, savingsParallelRoutes_);
9357 }
9358 if (relocateExpensiveChainNumArcsToConsider_ != 0) {
9359 size += com.google.protobuf.CodedOutputStream
9360 .computeInt32Size(20, relocateExpensiveChainNumArcsToConsider_);
9361 }
9362 if (java.lang.Double.doubleToRawLongBits(cheapestInsertionFirstSolutionNeighborsRatio_) != 0) {
9363 size += com.google.protobuf.CodedOutputStream
9364 .computeDoubleSize(21, cheapestInsertionFirstSolutionNeighborsRatio_);
9365 }
9366 if (java.lang.Double.doubleToRawLongBits(logCostScalingFactor_) != 0) {
9367 size += com.google.protobuf.CodedOutputStream
9368 .computeDoubleSize(22, logCostScalingFactor_);
9369 }
9370 if (java.lang.Double.doubleToRawLongBits(savingsMaxMemoryUsageBytes_) != 0) {
9371 size += com.google.protobuf.CodedOutputStream
9372 .computeDoubleSize(23, savingsMaxMemoryUsageBytes_);
9373 }
9374 if (useCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
9375 size += com.google.protobuf.CodedOutputStream
9376 .computeEnumSize(27, useCpSat_);
9377 }
9378 if (useCp_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
9379 size += com.google.protobuf.CodedOutputStream
9380 .computeEnumSize(28, useCp_);
9381 }
9382 if (java.lang.Double.doubleToRawLongBits(logCostOffset_) != 0) {
9383 size += com.google.protobuf.CodedOutputStream
9384 .computeDoubleSize(29, logCostOffset_);
9385 }
9386 if (christofidesUseMinimumMatching_ != false) {
9387 size += com.google.protobuf.CodedOutputStream
9388 .computeBoolSize(30, christofidesUseMinimumMatching_);
9389 }
9390 if (java.lang.Double.doubleToRawLongBits(cheapestInsertionLsOperatorNeighborsRatio_) != 0) {
9391 size += com.google.protobuf.CodedOutputStream
9392 .computeDoubleSize(31, cheapestInsertionLsOperatorNeighborsRatio_);
9393 }
9394 if (heuristicExpensiveChainLnsNumArcsToConsider_ != 0) {
9395 size += com.google.protobuf.CodedOutputStream
9396 .computeInt32Size(32, heuristicExpensiveChainLnsNumArcsToConsider_);
9397 }
9398 if (continuousSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.SCHEDULING_UNSET.getNumber()) {
9399 size += com.google.protobuf.CodedOutputStream
9400 .computeEnumSize(33, continuousSchedulingSolver_);
9401 }
9402 if (mixedIntegerSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.SCHEDULING_UNSET.getNumber()) {
9403 size += com.google.protobuf.CodedOutputStream
9404 .computeEnumSize(34, mixedIntegerSchedulingSolver_);
9405 }
9406 if (heuristicCloseNodesLnsNumNodes_ != 0) {
9407 size += com.google.protobuf.CodedOutputStream
9408 .computeInt32Size(35, heuristicCloseNodesLnsNumNodes_);
9409 }
9410 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(logTag_)) {
9411 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(36, logTag_);
9412 }
9413 if (((bitField0_ & 0x00000020) != 0)) {
9414 size += com.google.protobuf.CodedOutputStream
9415 .computeMessageSize(37, getImprovementLimitParameters());
9416 }
9417 if (cheapestInsertionAddUnperformedEntries_ != false) {
9418 size += com.google.protobuf.CodedOutputStream
9419 .computeBoolSize(40, cheapestInsertionAddUnperformedEntries_);
9420 }
9421 if (useMultiArmedBanditConcatenateOperators_ != false) {
9422 size += com.google.protobuf.CodedOutputStream
9423 .computeBoolSize(41, useMultiArmedBanditConcatenateOperators_);
9424 }
9425 if (java.lang.Double.doubleToRawLongBits(multiArmedBanditCompoundOperatorMemoryCoefficient_) != 0) {
9426 size += com.google.protobuf.CodedOutputStream
9427 .computeDoubleSize(42, multiArmedBanditCompoundOperatorMemoryCoefficient_);
9428 }
9429 if (java.lang.Double.doubleToRawLongBits(multiArmedBanditCompoundOperatorExplorationCoefficient_) != 0) {
9430 size += com.google.protobuf.CodedOutputStream
9431 .computeDoubleSize(43, multiArmedBanditCompoundOperatorExplorationCoefficient_);
9432 }
9433 if (cheapestInsertionFirstSolutionMinNeighbors_ != 0) {
9434 size += com.google.protobuf.CodedOutputStream
9435 .computeInt32Size(44, cheapestInsertionFirstSolutionMinNeighbors_);
9436 }
9437 if (cheapestInsertionLsOperatorMinNeighbors_ != 0) {
9438 size += com.google.protobuf.CodedOutputStream
9439 .computeInt32Size(45, cheapestInsertionLsOperatorMinNeighbors_);
9440 }
9441 if (cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ != false) {
9442 size += com.google.protobuf.CodedOutputStream
9443 .computeBoolSize(46, cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_);
9444 }
9445 if (useGeneralizedCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
9446 size += com.google.protobuf.CodedOutputStream
9447 .computeEnumSize(47, useGeneralizedCpSat_);
9448 }
9449 if (((bitField0_ & 0x00000002) != 0)) {
9450 size += com.google.protobuf.CodedOutputStream
9451 .computeMessageSize(48, getSatParameters());
9452 }
9453 if (localCheapestInsertionPickupDeliveryStrategy_ != com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy.AUTOMATIC.getNumber()) {
9454 size += com.google.protobuf.CodedOutputStream
9455 .computeEnumSize(49, localCheapestInsertionPickupDeliveryStrategy_);
9456 }
9457 if (((bitField0_ & 0x00000004) != 0)) {
9458 size += com.google.protobuf.CodedOutputStream
9459 .computeBoolSize(50, disableSchedulingBewareThisMayDegradePerformance_);
9460 }
9461 if (guidedLocalSearchResetPenaltiesOnNewBestSolution_ != false) {
9462 size += com.google.protobuf.CodedOutputStream
9463 .computeBoolSize(51, guidedLocalSearchResetPenaltiesOnNewBestSolution_);
9464 }
9465 if (fallbackToCpSatSizeThreshold_ != 0) {
9466 size += com.google.protobuf.CodedOutputStream
9467 .computeInt32Size(52, fallbackToCpSatSizeThreshold_);
9468 }
9469 if (java.lang.Double.doubleToRawLongBits(lsOperatorNeighborsRatio_) != 0) {
9470 size += com.google.protobuf.CodedOutputStream
9471 .computeDoubleSize(53, lsOperatorNeighborsRatio_);
9472 }
9473 if (lsOperatorMinNeighbors_ != 0) {
9474 size += com.google.protobuf.CodedOutputStream
9475 .computeInt32Size(54, lsOperatorMinNeighbors_);
9476 }
9477 if (localCheapestCostInsertionPickupDeliveryStrategy_ != com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy.AUTOMATIC.getNumber()) {
9478 size += com.google.protobuf.CodedOutputStream
9479 .computeEnumSize(55, localCheapestCostInsertionPickupDeliveryStrategy_);
9480 }
9481 if (reportIntermediateCpSatSolutions_ != false) {
9482 size += com.google.protobuf.CodedOutputStream
9483 .computeBoolSize(56, reportIntermediateCpSatSolutions_);
9484 }
9485 if (java.lang.Double.doubleToRawLongBits(secondaryLsTimeLimitRatio_) != 0) {
9486 size += com.google.protobuf.CodedOutputStream
9487 .computeDoubleSize(57, secondaryLsTimeLimitRatio_);
9488 }
9489 if (useIteratedLocalSearch_ != false) {
9490 size += com.google.protobuf.CodedOutputStream
9491 .computeBoolSize(58, useIteratedLocalSearch_);
9492 }
9493 if (firstSolutionOptimizationPeriod_ != 0) {
9494 size += com.google.protobuf.CodedOutputStream
9495 .computeInt32Size(59, firstSolutionOptimizationPeriod_);
9496 }
9497 if (((bitField0_ & 0x00000040) != 0)) {
9498 size += com.google.protobuf.CodedOutputStream
9499 .computeMessageSize(60, getIteratedLocalSearchParameters());
9500 }
9501 size += getUnknownFields().getSerializedSize();
9502 memoizedSize = size;
9503 return size;
9504 }
9505
9506 @java.lang.Override
9507 public boolean equals(final java.lang.Object obj) {
9508 if (obj == this) {
9509 return true;
9510 }
9511 if (!(obj instanceof com.google.ortools.constraintsolver.RoutingSearchParameters)) {
9512 return super.equals(obj);
9513 }
9514 com.google.ortools.constraintsolver.RoutingSearchParameters other = (com.google.ortools.constraintsolver.RoutingSearchParameters) obj;
9515
9516 if (firstSolutionStrategy_ != other.firstSolutionStrategy_) return false;
9518 != other.getUseUnfilteredFirstSolutionStrategy()) return false;
9519 if (java.lang.Double.doubleToLongBits(getSavingsNeighborsRatio())
9520 != java.lang.Double.doubleToLongBits(
9521 other.getSavingsNeighborsRatio())) return false;
9522 if (java.lang.Double.doubleToLongBits(getSavingsMaxMemoryUsageBytes())
9523 != java.lang.Double.doubleToLongBits(
9524 other.getSavingsMaxMemoryUsageBytes())) return false;
9526 != other.getSavingsAddReverseArcs()) return false;
9527 if (java.lang.Double.doubleToLongBits(getSavingsArcCoefficient())
9528 != java.lang.Double.doubleToLongBits(
9529 other.getSavingsArcCoefficient())) return false;
9531 != other.getSavingsParallelRoutes()) return false;
9532 if (java.lang.Double.doubleToLongBits(getCheapestInsertionFarthestSeedsRatio())
9533 != java.lang.Double.doubleToLongBits(
9534 other.getCheapestInsertionFarthestSeedsRatio())) return false;
9535 if (java.lang.Double.doubleToLongBits(getCheapestInsertionFirstSolutionNeighborsRatio())
9536 != java.lang.Double.doubleToLongBits(
9539 != other.getCheapestInsertionFirstSolutionMinNeighbors()) return false;
9540 if (java.lang.Double.doubleToLongBits(getCheapestInsertionLsOperatorNeighborsRatio())
9541 != java.lang.Double.doubleToLongBits(
9542 other.getCheapestInsertionLsOperatorNeighborsRatio())) return false;
9544 != other.getCheapestInsertionLsOperatorMinNeighbors()) return false;
9548 != other.getCheapestInsertionAddUnperformedEntries()) return false;
9549 if (localCheapestInsertionPickupDeliveryStrategy_ != other.localCheapestInsertionPickupDeliveryStrategy_) return false;
9550 if (localCheapestCostInsertionPickupDeliveryStrategy_ != other.localCheapestCostInsertionPickupDeliveryStrategy_) return false;
9552 != other.getChristofidesUseMinimumMatching()) return false;
9554 != other.getFirstSolutionOptimizationPeriod()) return false;
9555 if (hasLocalSearchOperators() != other.hasLocalSearchOperators()) return false;
9558 .equals(other.getLocalSearchOperators())) return false;
9559 }
9560 if (java.lang.Double.doubleToLongBits(getLsOperatorNeighborsRatio())
9561 != java.lang.Double.doubleToLongBits(
9562 other.getLsOperatorNeighborsRatio())) return false;
9564 != other.getLsOperatorMinNeighbors()) return false;
9566 != other.getUseMultiArmedBanditConcatenateOperators()) return false;
9567 if (java.lang.Double.doubleToLongBits(getMultiArmedBanditCompoundOperatorMemoryCoefficient())
9568 != java.lang.Double.doubleToLongBits(
9570 if (java.lang.Double.doubleToLongBits(getMultiArmedBanditCompoundOperatorExplorationCoefficient())
9571 != java.lang.Double.doubleToLongBits(
9574 != other.getRelocateExpensiveChainNumArcsToConsider()) return false;
9576 != other.getHeuristicExpensiveChainLnsNumArcsToConsider()) return false;
9578 != other.getHeuristicCloseNodesLnsNumNodes()) return false;
9579 if (localSearchMetaheuristic_ != other.localSearchMetaheuristic_) return false;
9580 if (java.lang.Double.doubleToLongBits(getGuidedLocalSearchLambdaCoefficient())
9581 != java.lang.Double.doubleToLongBits(
9582 other.getGuidedLocalSearchLambdaCoefficient())) return false;
9586 != other.getUseDepthFirstSearch()) return false;
9587 if (useCp_ != other.useCp_) return false;
9588 if (useCpSat_ != other.useCpSat_) return false;
9589 if (useGeneralizedCpSat_ != other.useGeneralizedCpSat_) return false;
9590 if (hasSatParameters() != other.hasSatParameters()) return false;
9591 if (hasSatParameters()) {
9592 if (!getSatParameters()
9593 .equals(other.getSatParameters())) return false;
9594 }
9596 != other.getReportIntermediateCpSatSolutions()) return false;
9598 != other.getFallbackToCpSatSizeThreshold()) return false;
9599 if (continuousSchedulingSolver_ != other.continuousSchedulingSolver_) return false;
9600 if (mixedIntegerSchedulingSolver_ != other.mixedIntegerSchedulingSolver_) return false;
9605 }
9606 if (java.lang.Double.doubleToLongBits(getOptimizationStep())
9607 != java.lang.Double.doubleToLongBits(
9608 other.getOptimizationStep())) return false;
9610 != other.getNumberOfSolutionsToCollect()) return false;
9611 if (getSolutionLimit()
9612 != other.getSolutionLimit()) return false;
9613 if (hasTimeLimit() != other.hasTimeLimit()) return false;
9614 if (hasTimeLimit()) {
9615 if (!getTimeLimit()
9616 .equals(other.getTimeLimit())) return false;
9617 }
9618 if (hasLnsTimeLimit() != other.hasLnsTimeLimit()) return false;
9619 if (hasLnsTimeLimit()) {
9620 if (!getLnsTimeLimit()
9621 .equals(other.getLnsTimeLimit())) return false;
9622 }
9623 if (java.lang.Double.doubleToLongBits(getSecondaryLsTimeLimitRatio())
9624 != java.lang.Double.doubleToLongBits(
9625 other.getSecondaryLsTimeLimitRatio())) return false;
9626 if (hasImprovementLimitParameters() != other.hasImprovementLimitParameters()) return false;
9629 .equals(other.getImprovementLimitParameters())) return false;
9630 }
9632 != other.getUseFullPropagation()) return false;
9633 if (getLogSearch()
9634 != other.getLogSearch()) return false;
9635 if (java.lang.Double.doubleToLongBits(getLogCostScalingFactor())
9636 != java.lang.Double.doubleToLongBits(
9637 other.getLogCostScalingFactor())) return false;
9638 if (java.lang.Double.doubleToLongBits(getLogCostOffset())
9639 != java.lang.Double.doubleToLongBits(
9640 other.getLogCostOffset())) return false;
9641 if (!getLogTag()
9642 .equals(other.getLogTag())) return false;
9644 != other.getUseIteratedLocalSearch()) return false;
9648 .equals(other.getIteratedLocalSearchParameters())) return false;
9649 }
9650 if (!getUnknownFields().equals(other.getUnknownFields())) return false;
9651 return true;
9652 }
9653
9654 @java.lang.Override
9655 public int hashCode() {
9656 if (memoizedHashCode != 0) {
9657 return memoizedHashCode;
9658 }
9659 int hash = 41;
9660 hash = (19 * hash) + getDescriptor().hashCode();
9661 hash = (37 * hash) + FIRST_SOLUTION_STRATEGY_FIELD_NUMBER;
9662 hash = (53 * hash) + firstSolutionStrategy_;
9664 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9666 hash = (37 * hash) + SAVINGS_NEIGHBORS_RATIO_FIELD_NUMBER;
9667 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9668 java.lang.Double.doubleToLongBits(getSavingsNeighborsRatio()));
9670 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9671 java.lang.Double.doubleToLongBits(getSavingsMaxMemoryUsageBytes()));
9672 hash = (37 * hash) + SAVINGS_ADD_REVERSE_ARCS_FIELD_NUMBER;
9673 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9675 hash = (37 * hash) + SAVINGS_ARC_COEFFICIENT_FIELD_NUMBER;
9676 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9677 java.lang.Double.doubleToLongBits(getSavingsArcCoefficient()));
9678 hash = (37 * hash) + SAVINGS_PARALLEL_ROUTES_FIELD_NUMBER;
9679 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9682 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9683 java.lang.Double.doubleToLongBits(getCheapestInsertionFarthestSeedsRatio()));
9685 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9686 java.lang.Double.doubleToLongBits(getCheapestInsertionFirstSolutionNeighborsRatio()));
9688 hash = (53 * hash) + getCheapestInsertionFirstSolutionMinNeighbors();
9690 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9691 java.lang.Double.doubleToLongBits(getCheapestInsertionLsOperatorNeighborsRatio()));
9693 hash = (53 * hash) + getCheapestInsertionLsOperatorMinNeighbors();
9695 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9698 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9701 hash = (53 * hash) + localCheapestInsertionPickupDeliveryStrategy_;
9703 hash = (53 * hash) + localCheapestCostInsertionPickupDeliveryStrategy_;
9705 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9708 hash = (53 * hash) + getFirstSolutionOptimizationPeriod();
9710 hash = (37 * hash) + LOCAL_SEARCH_OPERATORS_FIELD_NUMBER;
9711 hash = (53 * hash) + getLocalSearchOperators().hashCode();
9712 }
9713 hash = (37 * hash) + LS_OPERATOR_NEIGHBORS_RATIO_FIELD_NUMBER;
9714 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9715 java.lang.Double.doubleToLongBits(getLsOperatorNeighborsRatio()));
9716 hash = (37 * hash) + LS_OPERATOR_MIN_NEIGHBORS_FIELD_NUMBER;
9717 hash = (53 * hash) + getLsOperatorMinNeighbors();
9719 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9722 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9723 java.lang.Double.doubleToLongBits(getMultiArmedBanditCompoundOperatorMemoryCoefficient()));
9725 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9726 java.lang.Double.doubleToLongBits(getMultiArmedBanditCompoundOperatorExplorationCoefficient()));
9728 hash = (53 * hash) + getRelocateExpensiveChainNumArcsToConsider();
9732 hash = (53 * hash) + getHeuristicCloseNodesLnsNumNodes();
9733 hash = (37 * hash) + LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER;
9734 hash = (53 * hash) + localSearchMetaheuristic_;
9736 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9737 java.lang.Double.doubleToLongBits(getGuidedLocalSearchLambdaCoefficient()));
9739 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9741 hash = (37 * hash) + USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER;
9742 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9744 hash = (37 * hash) + USE_CP_FIELD_NUMBER;
9745 hash = (53 * hash) + useCp_;
9746 hash = (37 * hash) + USE_CP_SAT_FIELD_NUMBER;
9747 hash = (53 * hash) + useCpSat_;
9748 hash = (37 * hash) + USE_GENERALIZED_CP_SAT_FIELD_NUMBER;
9749 hash = (53 * hash) + useGeneralizedCpSat_;
9750 if (hasSatParameters()) {
9751 hash = (37 * hash) + SAT_PARAMETERS_FIELD_NUMBER;
9752 hash = (53 * hash) + getSatParameters().hashCode();
9753 }
9755 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9758 hash = (53 * hash) + getFallbackToCpSatSizeThreshold();
9759 hash = (37 * hash) + CONTINUOUS_SCHEDULING_SOLVER_FIELD_NUMBER;
9760 hash = (53 * hash) + continuousSchedulingSolver_;
9762 hash = (53 * hash) + mixedIntegerSchedulingSolver_;
9765 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9767 }
9768 hash = (37 * hash) + OPTIMIZATION_STEP_FIELD_NUMBER;
9769 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9770 java.lang.Double.doubleToLongBits(getOptimizationStep()));
9772 hash = (53 * hash) + getNumberOfSolutionsToCollect();
9773 hash = (37 * hash) + SOLUTION_LIMIT_FIELD_NUMBER;
9774 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9776 if (hasTimeLimit()) {
9777 hash = (37 * hash) + TIME_LIMIT_FIELD_NUMBER;
9778 hash = (53 * hash) + getTimeLimit().hashCode();
9779 }
9780 if (hasLnsTimeLimit()) {
9781 hash = (37 * hash) + LNS_TIME_LIMIT_FIELD_NUMBER;
9782 hash = (53 * hash) + getLnsTimeLimit().hashCode();
9783 }
9784 hash = (37 * hash) + SECONDARY_LS_TIME_LIMIT_RATIO_FIELD_NUMBER;
9785 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9786 java.lang.Double.doubleToLongBits(getSecondaryLsTimeLimitRatio()));
9788 hash = (37 * hash) + IMPROVEMENT_LIMIT_PARAMETERS_FIELD_NUMBER;
9789 hash = (53 * hash) + getImprovementLimitParameters().hashCode();
9790 }
9791 hash = (37 * hash) + USE_FULL_PROPAGATION_FIELD_NUMBER;
9792 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9794 hash = (37 * hash) + LOG_SEARCH_FIELD_NUMBER;
9795 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9796 getLogSearch());
9797 hash = (37 * hash) + LOG_COST_SCALING_FACTOR_FIELD_NUMBER;
9798 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9799 java.lang.Double.doubleToLongBits(getLogCostScalingFactor()));
9800 hash = (37 * hash) + LOG_COST_OFFSET_FIELD_NUMBER;
9801 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9802 java.lang.Double.doubleToLongBits(getLogCostOffset()));
9803 hash = (37 * hash) + LOG_TAG_FIELD_NUMBER;
9804 hash = (53 * hash) + getLogTag().hashCode();
9805 hash = (37 * hash) + USE_ITERATED_LOCAL_SEARCH_FIELD_NUMBER;
9806 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9810 hash = (53 * hash) + getIteratedLocalSearchParameters().hashCode();
9811 }
9812 hash = (29 * hash) + getUnknownFields().hashCode();
9813 memoizedHashCode = hash;
9814 return hash;
9815 }
9816
9818 java.nio.ByteBuffer data)
9819 throws com.google.protobuf.InvalidProtocolBufferException {
9820 return PARSER.parseFrom(data);
9821 }
9823 java.nio.ByteBuffer data,
9824 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9825 throws com.google.protobuf.InvalidProtocolBufferException {
9826 return PARSER.parseFrom(data, extensionRegistry);
9827 }
9829 com.google.protobuf.ByteString data)
9830 throws com.google.protobuf.InvalidProtocolBufferException {
9831 return PARSER.parseFrom(data);
9832 }
9834 com.google.protobuf.ByteString data,
9835 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9836 throws com.google.protobuf.InvalidProtocolBufferException {
9837 return PARSER.parseFrom(data, extensionRegistry);
9838 }
9840 throws com.google.protobuf.InvalidProtocolBufferException {
9841 return PARSER.parseFrom(data);
9842 }
9844 byte[] data,
9845 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9846 throws com.google.protobuf.InvalidProtocolBufferException {
9847 return PARSER.parseFrom(data, extensionRegistry);
9848 }
9850 throws java.io.IOException {
9851 return com.google.protobuf.GeneratedMessageV3
9852 .parseWithIOException(PARSER, input);
9853 }
9855 java.io.InputStream input,
9856 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9857 throws java.io.IOException {
9858 return com.google.protobuf.GeneratedMessageV3
9859 .parseWithIOException(PARSER, input, extensionRegistry);
9860 }
9861
9863 throws java.io.IOException {
9864 return com.google.protobuf.GeneratedMessageV3
9865 .parseDelimitedWithIOException(PARSER, input);
9866 }
9867
9869 java.io.InputStream input,
9870 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9871 throws java.io.IOException {
9872 return com.google.protobuf.GeneratedMessageV3
9873 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
9874 }
9876 com.google.protobuf.CodedInputStream input)
9877 throws java.io.IOException {
9878 return com.google.protobuf.GeneratedMessageV3
9879 .parseWithIOException(PARSER, input);
9880 }
9882 com.google.protobuf.CodedInputStream input,
9883 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9884 throws java.io.IOException {
9885 return com.google.protobuf.GeneratedMessageV3
9886 .parseWithIOException(PARSER, input, extensionRegistry);
9887 }
9888
9889 @java.lang.Override
9890 public Builder newBuilderForType() { return newBuilder(); }
9891 public static Builder newBuilder() {
9892 return DEFAULT_INSTANCE.toBuilder();
9893 }
9894 public static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters prototype) {
9895 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
9896 }
9897 @java.lang.Override
9899 return this == DEFAULT_INSTANCE
9900 ? new Builder() : new Builder().mergeFrom(this);
9901 }
9902
9903 @java.lang.Override
9905 com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
9906 Builder builder = new Builder(parent);
9907 return builder;
9908 }
9922 public static final class Builder extends
9923 com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
9924 // @@protoc_insertion_point(builder_implements:operations_research.RoutingSearchParameters)
9925 com.google.ortools.constraintsolver.RoutingSearchParametersOrBuilder {
9926 public static final com.google.protobuf.Descriptors.Descriptor
9928 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
9929 }
9930
9931 @java.lang.Override
9932 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
9934 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_fieldAccessorTable
9935 .ensureFieldAccessorsInitialized(
9936 com.google.ortools.constraintsolver.RoutingSearchParameters.class, com.google.ortools.constraintsolver.RoutingSearchParameters.Builder.class);
9937 }
9938
9939 // Construct using com.google.ortools.constraintsolver.RoutingSearchParameters.newBuilder()
9940 private Builder() {
9941 maybeForceBuilderInitialization();
9942 }
9943
9944 private Builder(
9945 com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
9946 super(parent);
9947 maybeForceBuilderInitialization();
9948 }
9949 private void maybeForceBuilderInitialization() {
9950 if (com.google.protobuf.GeneratedMessageV3
9951 .alwaysUseFieldBuilders) {
9952 getLocalSearchOperatorsFieldBuilder();
9953 getSatParametersFieldBuilder();
9954 getTimeLimitFieldBuilder();
9955 getLnsTimeLimitFieldBuilder();
9956 getImprovementLimitParametersFieldBuilder();
9957 getIteratedLocalSearchParametersFieldBuilder();
9958 }
9959 }
9960 @java.lang.Override
9961 public Builder clear() {
9962 super.clear();
9963 bitField0_ = 0;
9964 bitField1_ = 0;
9965 firstSolutionStrategy_ = 0;
9966 useUnfilteredFirstSolutionStrategy_ = false;
9967 savingsNeighborsRatio_ = 0D;
9968 savingsMaxMemoryUsageBytes_ = 0D;
9969 savingsAddReverseArcs_ = false;
9970 savingsArcCoefficient_ = 0D;
9971 savingsParallelRoutes_ = false;
9972 cheapestInsertionFarthestSeedsRatio_ = 0D;
9973 cheapestInsertionFirstSolutionNeighborsRatio_ = 0D;
9974 cheapestInsertionFirstSolutionMinNeighbors_ = 0;
9975 cheapestInsertionLsOperatorNeighborsRatio_ = 0D;
9976 cheapestInsertionLsOperatorMinNeighbors_ = 0;
9977 cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ = false;
9978 cheapestInsertionAddUnperformedEntries_ = false;
9979 localCheapestInsertionPickupDeliveryStrategy_ = 0;
9980 localCheapestCostInsertionPickupDeliveryStrategy_ = 0;
9981 christofidesUseMinimumMatching_ = false;
9982 firstSolutionOptimizationPeriod_ = 0;
9983 localSearchOperators_ = null;
9984 if (localSearchOperatorsBuilder_ != null) {
9985 localSearchOperatorsBuilder_.dispose();
9986 localSearchOperatorsBuilder_ = null;
9987 }
9988 lsOperatorNeighborsRatio_ = 0D;
9989 lsOperatorMinNeighbors_ = 0;
9990 useMultiArmedBanditConcatenateOperators_ = false;
9991 multiArmedBanditCompoundOperatorMemoryCoefficient_ = 0D;
9992 multiArmedBanditCompoundOperatorExplorationCoefficient_ = 0D;
9993 relocateExpensiveChainNumArcsToConsider_ = 0;
9994 heuristicExpensiveChainLnsNumArcsToConsider_ = 0;
9995 heuristicCloseNodesLnsNumNodes_ = 0;
9996 localSearchMetaheuristic_ = 0;
9997 guidedLocalSearchLambdaCoefficient_ = 0D;
9998 guidedLocalSearchResetPenaltiesOnNewBestSolution_ = false;
9999 useDepthFirstSearch_ = false;
10000 useCp_ = 0;
10001 useCpSat_ = 0;
10002 useGeneralizedCpSat_ = 0;
10003 satParameters_ = null;
10004 if (satParametersBuilder_ != null) {
10005 satParametersBuilder_.dispose();
10006 satParametersBuilder_ = null;
10007 }
10008 reportIntermediateCpSatSolutions_ = false;
10009 fallbackToCpSatSizeThreshold_ = 0;
10010 continuousSchedulingSolver_ = 0;
10011 mixedIntegerSchedulingSolver_ = 0;
10012 disableSchedulingBewareThisMayDegradePerformance_ = false;
10013 optimizationStep_ = 0D;
10014 numberOfSolutionsToCollect_ = 0;
10015 solutionLimit_ = 0L;
10016 timeLimit_ = null;
10017 if (timeLimitBuilder_ != null) {
10018 timeLimitBuilder_.dispose();
10019 timeLimitBuilder_ = null;
10020 }
10021 lnsTimeLimit_ = null;
10022 if (lnsTimeLimitBuilder_ != null) {
10023 lnsTimeLimitBuilder_.dispose();
10024 lnsTimeLimitBuilder_ = null;
10025 }
10026 secondaryLsTimeLimitRatio_ = 0D;
10027 improvementLimitParameters_ = null;
10028 if (improvementLimitParametersBuilder_ != null) {
10029 improvementLimitParametersBuilder_.dispose();
10030 improvementLimitParametersBuilder_ = null;
10031 }
10032 useFullPropagation_ = false;
10033 logSearch_ = false;
10034 logCostScalingFactor_ = 0D;
10035 logCostOffset_ = 0D;
10036 logTag_ = "";
10037 useIteratedLocalSearch_ = false;
10038 iteratedLocalSearchParameters_ = null;
10039 if (iteratedLocalSearchParametersBuilder_ != null) {
10040 iteratedLocalSearchParametersBuilder_.dispose();
10041 iteratedLocalSearchParametersBuilder_ = null;
10042 }
10043 return this;
10044 }
10045
10046 @java.lang.Override
10047 public com.google.protobuf.Descriptors.Descriptor
10049 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
10050 }
10051
10052 @java.lang.Override
10054 return com.google.ortools.constraintsolver.RoutingSearchParameters.getDefaultInstance();
10055 }
10056
10057 @java.lang.Override
10060 if (!result.isInitialized()) {
10061 throw newUninitializedMessageException(result);
10062 }
10063 return result;
10064 }
10065
10066 @java.lang.Override
10068 com.google.ortools.constraintsolver.RoutingSearchParameters result = new com.google.ortools.constraintsolver.RoutingSearchParameters(this);
10069 if (bitField0_ != 0) { buildPartial0(result); }
10070 if (bitField1_ != 0) { buildPartial1(result); }
10071 onBuilt();
10072 return result;
10073 }
10074
10075 private void buildPartial0(com.google.ortools.constraintsolver.RoutingSearchParameters result) {
10076 int from_bitField0_ = bitField0_;
10077 if (((from_bitField0_ & 0x00000001) != 0)) {
10078 result.firstSolutionStrategy_ = firstSolutionStrategy_;
10079 }
10080 if (((from_bitField0_ & 0x00000002) != 0)) {
10081 result.useUnfilteredFirstSolutionStrategy_ = useUnfilteredFirstSolutionStrategy_;
10082 }
10083 if (((from_bitField0_ & 0x00000004) != 0)) {
10084 result.savingsNeighborsRatio_ = savingsNeighborsRatio_;
10085 }
10086 if (((from_bitField0_ & 0x00000008) != 0)) {
10087 result.savingsMaxMemoryUsageBytes_ = savingsMaxMemoryUsageBytes_;
10088 }
10089 if (((from_bitField0_ & 0x00000010) != 0)) {
10090 result.savingsAddReverseArcs_ = savingsAddReverseArcs_;
10091 }
10092 if (((from_bitField0_ & 0x00000020) != 0)) {
10093 result.savingsArcCoefficient_ = savingsArcCoefficient_;
10094 }
10095 if (((from_bitField0_ & 0x00000040) != 0)) {
10096 result.savingsParallelRoutes_ = savingsParallelRoutes_;
10097 }
10098 if (((from_bitField0_ & 0x00000080) != 0)) {
10099 result.cheapestInsertionFarthestSeedsRatio_ = cheapestInsertionFarthestSeedsRatio_;
10100 }
10101 if (((from_bitField0_ & 0x00000100) != 0)) {
10102 result.cheapestInsertionFirstSolutionNeighborsRatio_ = cheapestInsertionFirstSolutionNeighborsRatio_;
10103 }
10104 if (((from_bitField0_ & 0x00000200) != 0)) {
10105 result.cheapestInsertionFirstSolutionMinNeighbors_ = cheapestInsertionFirstSolutionMinNeighbors_;
10106 }
10107 if (((from_bitField0_ & 0x00000400) != 0)) {
10108 result.cheapestInsertionLsOperatorNeighborsRatio_ = cheapestInsertionLsOperatorNeighborsRatio_;
10109 }
10110 if (((from_bitField0_ & 0x00000800) != 0)) {
10111 result.cheapestInsertionLsOperatorMinNeighbors_ = cheapestInsertionLsOperatorMinNeighbors_;
10112 }
10113 if (((from_bitField0_ & 0x00001000) != 0)) {
10114 result.cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ = cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_;
10115 }
10116 if (((from_bitField0_ & 0x00002000) != 0)) {
10117 result.cheapestInsertionAddUnperformedEntries_ = cheapestInsertionAddUnperformedEntries_;
10118 }
10119 if (((from_bitField0_ & 0x00004000) != 0)) {
10120 result.localCheapestInsertionPickupDeliveryStrategy_ = localCheapestInsertionPickupDeliveryStrategy_;
10121 }
10122 if (((from_bitField0_ & 0x00008000) != 0)) {
10123 result.localCheapestCostInsertionPickupDeliveryStrategy_ = localCheapestCostInsertionPickupDeliveryStrategy_;
10124 }
10125 if (((from_bitField0_ & 0x00010000) != 0)) {
10126 result.christofidesUseMinimumMatching_ = christofidesUseMinimumMatching_;
10127 }
10128 if (((from_bitField0_ & 0x00020000) != 0)) {
10129 result.firstSolutionOptimizationPeriod_ = firstSolutionOptimizationPeriod_;
10130 }
10131 int to_bitField0_ = 0;
10132 if (((from_bitField0_ & 0x00040000) != 0)) {
10133 result.localSearchOperators_ = localSearchOperatorsBuilder_ == null
10134 ? localSearchOperators_
10135 : localSearchOperatorsBuilder_.build();
10136 to_bitField0_ |= 0x00000001;
10137 }
10138 if (((from_bitField0_ & 0x00080000) != 0)) {
10139 result.lsOperatorNeighborsRatio_ = lsOperatorNeighborsRatio_;
10140 }
10141 if (((from_bitField0_ & 0x00100000) != 0)) {
10142 result.lsOperatorMinNeighbors_ = lsOperatorMinNeighbors_;
10143 }
10144 if (((from_bitField0_ & 0x00200000) != 0)) {
10145 result.useMultiArmedBanditConcatenateOperators_ = useMultiArmedBanditConcatenateOperators_;
10146 }
10147 if (((from_bitField0_ & 0x00400000) != 0)) {
10148 result.multiArmedBanditCompoundOperatorMemoryCoefficient_ = multiArmedBanditCompoundOperatorMemoryCoefficient_;
10149 }
10150 if (((from_bitField0_ & 0x00800000) != 0)) {
10151 result.multiArmedBanditCompoundOperatorExplorationCoefficient_ = multiArmedBanditCompoundOperatorExplorationCoefficient_;
10152 }
10153 if (((from_bitField0_ & 0x01000000) != 0)) {
10154 result.relocateExpensiveChainNumArcsToConsider_ = relocateExpensiveChainNumArcsToConsider_;
10155 }
10156 if (((from_bitField0_ & 0x02000000) != 0)) {
10157 result.heuristicExpensiveChainLnsNumArcsToConsider_ = heuristicExpensiveChainLnsNumArcsToConsider_;
10158 }
10159 if (((from_bitField0_ & 0x04000000) != 0)) {
10160 result.heuristicCloseNodesLnsNumNodes_ = heuristicCloseNodesLnsNumNodes_;
10161 }
10162 if (((from_bitField0_ & 0x08000000) != 0)) {
10163 result.localSearchMetaheuristic_ = localSearchMetaheuristic_;
10164 }
10165 if (((from_bitField0_ & 0x10000000) != 0)) {
10166 result.guidedLocalSearchLambdaCoefficient_ = guidedLocalSearchLambdaCoefficient_;
10167 }
10168 if (((from_bitField0_ & 0x20000000) != 0)) {
10169 result.guidedLocalSearchResetPenaltiesOnNewBestSolution_ = guidedLocalSearchResetPenaltiesOnNewBestSolution_;
10170 }
10171 if (((from_bitField0_ & 0x40000000) != 0)) {
10172 result.useDepthFirstSearch_ = useDepthFirstSearch_;
10173 }
10174 if (((from_bitField0_ & 0x80000000) != 0)) {
10175 result.useCp_ = useCp_;
10176 }
10177 result.bitField0_ |= to_bitField0_;
10178 }
10179
10180 private void buildPartial1(com.google.ortools.constraintsolver.RoutingSearchParameters result) {
10181 int from_bitField1_ = bitField1_;
10182 if (((from_bitField1_ & 0x00000001) != 0)) {
10183 result.useCpSat_ = useCpSat_;
10184 }
10185 if (((from_bitField1_ & 0x00000002) != 0)) {
10186 result.useGeneralizedCpSat_ = useGeneralizedCpSat_;
10187 }
10188 int to_bitField0_ = 0;
10189 if (((from_bitField1_ & 0x00000004) != 0)) {
10190 result.satParameters_ = satParametersBuilder_ == null
10191 ? satParameters_
10192 : satParametersBuilder_.build();
10193 to_bitField0_ |= 0x00000002;
10194 }
10195 if (((from_bitField1_ & 0x00000008) != 0)) {
10196 result.reportIntermediateCpSatSolutions_ = reportIntermediateCpSatSolutions_;
10197 }
10198 if (((from_bitField1_ & 0x00000010) != 0)) {
10199 result.fallbackToCpSatSizeThreshold_ = fallbackToCpSatSizeThreshold_;
10200 }
10201 if (((from_bitField1_ & 0x00000020) != 0)) {
10202 result.continuousSchedulingSolver_ = continuousSchedulingSolver_;
10203 }
10204 if (((from_bitField1_ & 0x00000040) != 0)) {
10205 result.mixedIntegerSchedulingSolver_ = mixedIntegerSchedulingSolver_;
10206 }
10207 if (((from_bitField1_ & 0x00000080) != 0)) {
10208 result.disableSchedulingBewareThisMayDegradePerformance_ = disableSchedulingBewareThisMayDegradePerformance_;
10209 to_bitField0_ |= 0x00000004;
10210 }
10211 if (((from_bitField1_ & 0x00000100) != 0)) {
10212 result.optimizationStep_ = optimizationStep_;
10213 }
10214 if (((from_bitField1_ & 0x00000200) != 0)) {
10215 result.numberOfSolutionsToCollect_ = numberOfSolutionsToCollect_;
10216 }
10217 if (((from_bitField1_ & 0x00000400) != 0)) {
10218 result.solutionLimit_ = solutionLimit_;
10219 }
10220 if (((from_bitField1_ & 0x00000800) != 0)) {
10221 result.timeLimit_ = timeLimitBuilder_ == null
10222 ? timeLimit_
10223 : timeLimitBuilder_.build();
10224 to_bitField0_ |= 0x00000008;
10225 }
10226 if (((from_bitField1_ & 0x00001000) != 0)) {
10227 result.lnsTimeLimit_ = lnsTimeLimitBuilder_ == null
10228 ? lnsTimeLimit_
10229 : lnsTimeLimitBuilder_.build();
10230 to_bitField0_ |= 0x00000010;
10231 }
10232 if (((from_bitField1_ & 0x00002000) != 0)) {
10233 result.secondaryLsTimeLimitRatio_ = secondaryLsTimeLimitRatio_;
10234 }
10235 if (((from_bitField1_ & 0x00004000) != 0)) {
10236 result.improvementLimitParameters_ = improvementLimitParametersBuilder_ == null
10237 ? improvementLimitParameters_
10238 : improvementLimitParametersBuilder_.build();
10239 to_bitField0_ |= 0x00000020;
10240 }
10241 if (((from_bitField1_ & 0x00008000) != 0)) {
10242 result.useFullPropagation_ = useFullPropagation_;
10243 }
10244 if (((from_bitField1_ & 0x00010000) != 0)) {
10245 result.logSearch_ = logSearch_;
10246 }
10247 if (((from_bitField1_ & 0x00020000) != 0)) {
10248 result.logCostScalingFactor_ = logCostScalingFactor_;
10249 }
10250 if (((from_bitField1_ & 0x00040000) != 0)) {
10251 result.logCostOffset_ = logCostOffset_;
10252 }
10253 if (((from_bitField1_ & 0x00080000) != 0)) {
10254 result.logTag_ = logTag_;
10255 }
10256 if (((from_bitField1_ & 0x00100000) != 0)) {
10257 result.useIteratedLocalSearch_ = useIteratedLocalSearch_;
10258 }
10259 if (((from_bitField1_ & 0x00200000) != 0)) {
10260 result.iteratedLocalSearchParameters_ = iteratedLocalSearchParametersBuilder_ == null
10261 ? iteratedLocalSearchParameters_
10262 : iteratedLocalSearchParametersBuilder_.build();
10263 to_bitField0_ |= 0x00000040;
10264 }
10265 result.bitField0_ |= to_bitField0_;
10266 }
10267
10268 @java.lang.Override
10269 public Builder clone() {
10270 return super.clone();
10271 }
10272 @java.lang.Override
10274 com.google.protobuf.Descriptors.FieldDescriptor field,
10275 java.lang.Object value) {
10276 return super.setField(field, value);
10277 }
10278 @java.lang.Override
10280 com.google.protobuf.Descriptors.FieldDescriptor field) {
10281 return super.clearField(field);
10282 }
10283 @java.lang.Override
10285 com.google.protobuf.Descriptors.OneofDescriptor oneof) {
10286 return super.clearOneof(oneof);
10287 }
10288 @java.lang.Override
10290 com.google.protobuf.Descriptors.FieldDescriptor field,
10291 int index, java.lang.Object value) {
10292 return super.setRepeatedField(field, index, value);
10293 }
10294 @java.lang.Override
10296 com.google.protobuf.Descriptors.FieldDescriptor field,
10297 java.lang.Object value) {
10298 return super.addRepeatedField(field, value);
10299 }
10300 @java.lang.Override
10301 public Builder mergeFrom(com.google.protobuf.Message other) {
10302 if (other instanceof com.google.ortools.constraintsolver.RoutingSearchParameters) {
10303 return mergeFrom((com.google.ortools.constraintsolver.RoutingSearchParameters)other);
10304 } else {
10305 super.mergeFrom(other);
10306 return this;
10307 }
10308 }
10309
10310 public Builder mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters other) {
10311 if (other == com.google.ortools.constraintsolver.RoutingSearchParameters.getDefaultInstance()) return this;
10312 if (other.firstSolutionStrategy_ != 0) {
10313 setFirstSolutionStrategyValue(other.getFirstSolutionStrategyValue());
10314 }
10315 if (other.getUseUnfilteredFirstSolutionStrategy() != false) {
10316 setUseUnfilteredFirstSolutionStrategy(other.getUseUnfilteredFirstSolutionStrategy());
10317 }
10318 if (other.getSavingsNeighborsRatio() != 0D) {
10319 setSavingsNeighborsRatio(other.getSavingsNeighborsRatio());
10320 }
10321 if (other.getSavingsMaxMemoryUsageBytes() != 0D) {
10322 setSavingsMaxMemoryUsageBytes(other.getSavingsMaxMemoryUsageBytes());
10323 }
10324 if (other.getSavingsAddReverseArcs() != false) {
10325 setSavingsAddReverseArcs(other.getSavingsAddReverseArcs());
10326 }
10327 if (other.getSavingsArcCoefficient() != 0D) {
10328 setSavingsArcCoefficient(other.getSavingsArcCoefficient());
10329 }
10330 if (other.getSavingsParallelRoutes() != false) {
10331 setSavingsParallelRoutes(other.getSavingsParallelRoutes());
10332 }
10333 if (other.getCheapestInsertionFarthestSeedsRatio() != 0D) {
10334 setCheapestInsertionFarthestSeedsRatio(other.getCheapestInsertionFarthestSeedsRatio());
10335 }
10336 if (other.getCheapestInsertionFirstSolutionNeighborsRatio() != 0D) {
10337 setCheapestInsertionFirstSolutionNeighborsRatio(other.getCheapestInsertionFirstSolutionNeighborsRatio());
10338 }
10339 if (other.getCheapestInsertionFirstSolutionMinNeighbors() != 0) {
10340 setCheapestInsertionFirstSolutionMinNeighbors(other.getCheapestInsertionFirstSolutionMinNeighbors());
10341 }
10342 if (other.getCheapestInsertionLsOperatorNeighborsRatio() != 0D) {
10343 setCheapestInsertionLsOperatorNeighborsRatio(other.getCheapestInsertionLsOperatorNeighborsRatio());
10344 }
10345 if (other.getCheapestInsertionLsOperatorMinNeighbors() != 0) {
10346 setCheapestInsertionLsOperatorMinNeighbors(other.getCheapestInsertionLsOperatorMinNeighbors());
10347 }
10348 if (other.getCheapestInsertionFirstSolutionUseNeighborsRatioForInitialization() != false) {
10349 setCheapestInsertionFirstSolutionUseNeighborsRatioForInitialization(other.getCheapestInsertionFirstSolutionUseNeighborsRatioForInitialization());
10350 }
10351 if (other.getCheapestInsertionAddUnperformedEntries() != false) {
10352 setCheapestInsertionAddUnperformedEntries(other.getCheapestInsertionAddUnperformedEntries());
10353 }
10354 if (other.localCheapestInsertionPickupDeliveryStrategy_ != 0) {
10355 setLocalCheapestInsertionPickupDeliveryStrategyValue(other.getLocalCheapestInsertionPickupDeliveryStrategyValue());
10356 }
10357 if (other.localCheapestCostInsertionPickupDeliveryStrategy_ != 0) {
10358 setLocalCheapestCostInsertionPickupDeliveryStrategyValue(other.getLocalCheapestCostInsertionPickupDeliveryStrategyValue());
10359 }
10360 if (other.getChristofidesUseMinimumMatching() != false) {
10361 setChristofidesUseMinimumMatching(other.getChristofidesUseMinimumMatching());
10362 }
10363 if (other.getFirstSolutionOptimizationPeriod() != 0) {
10364 setFirstSolutionOptimizationPeriod(other.getFirstSolutionOptimizationPeriod());
10365 }
10366 if (other.hasLocalSearchOperators()) {
10367 mergeLocalSearchOperators(other.getLocalSearchOperators());
10368 }
10369 if (other.getLsOperatorNeighborsRatio() != 0D) {
10370 setLsOperatorNeighborsRatio(other.getLsOperatorNeighborsRatio());
10371 }
10372 if (other.getLsOperatorMinNeighbors() != 0) {
10373 setLsOperatorMinNeighbors(other.getLsOperatorMinNeighbors());
10374 }
10375 if (other.getUseMultiArmedBanditConcatenateOperators() != false) {
10376 setUseMultiArmedBanditConcatenateOperators(other.getUseMultiArmedBanditConcatenateOperators());
10377 }
10378 if (other.getMultiArmedBanditCompoundOperatorMemoryCoefficient() != 0D) {
10379 setMultiArmedBanditCompoundOperatorMemoryCoefficient(other.getMultiArmedBanditCompoundOperatorMemoryCoefficient());
10380 }
10381 if (other.getMultiArmedBanditCompoundOperatorExplorationCoefficient() != 0D) {
10382 setMultiArmedBanditCompoundOperatorExplorationCoefficient(other.getMultiArmedBanditCompoundOperatorExplorationCoefficient());
10383 }
10384 if (other.getRelocateExpensiveChainNumArcsToConsider() != 0) {
10385 setRelocateExpensiveChainNumArcsToConsider(other.getRelocateExpensiveChainNumArcsToConsider());
10386 }
10387 if (other.getHeuristicExpensiveChainLnsNumArcsToConsider() != 0) {
10388 setHeuristicExpensiveChainLnsNumArcsToConsider(other.getHeuristicExpensiveChainLnsNumArcsToConsider());
10389 }
10390 if (other.getHeuristicCloseNodesLnsNumNodes() != 0) {
10391 setHeuristicCloseNodesLnsNumNodes(other.getHeuristicCloseNodesLnsNumNodes());
10392 }
10393 if (other.localSearchMetaheuristic_ != 0) {
10394 setLocalSearchMetaheuristicValue(other.getLocalSearchMetaheuristicValue());
10395 }
10396 if (other.getGuidedLocalSearchLambdaCoefficient() != 0D) {
10397 setGuidedLocalSearchLambdaCoefficient(other.getGuidedLocalSearchLambdaCoefficient());
10398 }
10399 if (other.getGuidedLocalSearchResetPenaltiesOnNewBestSolution() != false) {
10400 setGuidedLocalSearchResetPenaltiesOnNewBestSolution(other.getGuidedLocalSearchResetPenaltiesOnNewBestSolution());
10401 }
10402 if (other.getUseDepthFirstSearch() != false) {
10403 setUseDepthFirstSearch(other.getUseDepthFirstSearch());
10404 }
10405 if (other.useCp_ != 0) {
10406 setUseCpValue(other.getUseCpValue());
10407 }
10408 if (other.useCpSat_ != 0) {
10409 setUseCpSatValue(other.getUseCpSatValue());
10410 }
10411 if (other.useGeneralizedCpSat_ != 0) {
10412 setUseGeneralizedCpSatValue(other.getUseGeneralizedCpSatValue());
10413 }
10414 if (other.hasSatParameters()) {
10415 mergeSatParameters(other.getSatParameters());
10416 }
10417 if (other.getReportIntermediateCpSatSolutions() != false) {
10418 setReportIntermediateCpSatSolutions(other.getReportIntermediateCpSatSolutions());
10419 }
10420 if (other.getFallbackToCpSatSizeThreshold() != 0) {
10421 setFallbackToCpSatSizeThreshold(other.getFallbackToCpSatSizeThreshold());
10422 }
10423 if (other.continuousSchedulingSolver_ != 0) {
10424 setContinuousSchedulingSolverValue(other.getContinuousSchedulingSolverValue());
10425 }
10426 if (other.mixedIntegerSchedulingSolver_ != 0) {
10427 setMixedIntegerSchedulingSolverValue(other.getMixedIntegerSchedulingSolverValue());
10428 }
10429 if (other.hasDisableSchedulingBewareThisMayDegradePerformance()) {
10430 setDisableSchedulingBewareThisMayDegradePerformance(other.getDisableSchedulingBewareThisMayDegradePerformance());
10431 }
10432 if (other.getOptimizationStep() != 0D) {
10433 setOptimizationStep(other.getOptimizationStep());
10434 }
10435 if (other.getNumberOfSolutionsToCollect() != 0) {
10436 setNumberOfSolutionsToCollect(other.getNumberOfSolutionsToCollect());
10437 }
10438 if (other.getSolutionLimit() != 0L) {
10439 setSolutionLimit(other.getSolutionLimit());
10440 }
10441 if (other.hasTimeLimit()) {
10442 mergeTimeLimit(other.getTimeLimit());
10443 }
10444 if (other.hasLnsTimeLimit()) {
10445 mergeLnsTimeLimit(other.getLnsTimeLimit());
10446 }
10447 if (other.getSecondaryLsTimeLimitRatio() != 0D) {
10448 setSecondaryLsTimeLimitRatio(other.getSecondaryLsTimeLimitRatio());
10449 }
10450 if (other.hasImprovementLimitParameters()) {
10451 mergeImprovementLimitParameters(other.getImprovementLimitParameters());
10452 }
10453 if (other.getUseFullPropagation() != false) {
10454 setUseFullPropagation(other.getUseFullPropagation());
10455 }
10456 if (other.getLogSearch() != false) {
10457 setLogSearch(other.getLogSearch());
10458 }
10459 if (other.getLogCostScalingFactor() != 0D) {
10460 setLogCostScalingFactor(other.getLogCostScalingFactor());
10461 }
10462 if (other.getLogCostOffset() != 0D) {
10463 setLogCostOffset(other.getLogCostOffset());
10464 }
10465 if (!other.getLogTag().isEmpty()) {
10466 logTag_ = other.logTag_;
10467 bitField1_ |= 0x00080000;
10468 onChanged();
10469 }
10470 if (other.getUseIteratedLocalSearch() != false) {
10471 setUseIteratedLocalSearch(other.getUseIteratedLocalSearch());
10472 }
10473 if (other.hasIteratedLocalSearchParameters()) {
10474 mergeIteratedLocalSearchParameters(other.getIteratedLocalSearchParameters());
10475 }
10476 this.mergeUnknownFields(other.getUnknownFields());
10477 onChanged();
10478 return this;
10479 }
10480
10481 @java.lang.Override
10482 public final boolean isInitialized() {
10483 return true;
10484 }
10485
10486 @java.lang.Override
10488 com.google.protobuf.CodedInputStream input,
10489 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10490 throws java.io.IOException {
10491 if (extensionRegistry == null) {
10492 throw new java.lang.NullPointerException();
10493 }
10494 try {
10495 boolean done = false;
10496 while (!done) {
10497 int tag = input.readTag();
10498 switch (tag) {
10499 case 0:
10500 done = true;
10501 break;
10502 case 8: {
10503 firstSolutionStrategy_ = input.readEnum();
10504 bitField0_ |= 0x00000001;
10505 break;
10506 } // case 8
10507 case 16: {
10508 useUnfilteredFirstSolutionStrategy_ = input.readBool();
10509 bitField0_ |= 0x00000002;
10510 break;
10511 } // case 16
10512 case 26: {
10513 input.readMessage(
10514 getLocalSearchOperatorsFieldBuilder().getBuilder(),
10515 extensionRegistry);
10516 bitField0_ |= 0x00040000;
10517 break;
10518 } // case 26
10519 case 32: {
10520 localSearchMetaheuristic_ = input.readEnum();
10521 bitField0_ |= 0x08000000;
10522 break;
10523 } // case 32
10524 case 41: {
10525 guidedLocalSearchLambdaCoefficient_ = input.readDouble();
10526 bitField0_ |= 0x10000000;
10527 break;
10528 } // case 41
10529 case 48: {
10530 useDepthFirstSearch_ = input.readBool();
10531 bitField0_ |= 0x40000000;
10532 break;
10533 } // case 48
10534 case 57: {
10535 optimizationStep_ = input.readDouble();
10536 bitField1_ |= 0x00000100;
10537 break;
10538 } // case 57
10539 case 64: {
10540 solutionLimit_ = input.readInt64();
10541 bitField1_ |= 0x00000400;
10542 break;
10543 } // case 64
10544 case 74: {
10545 input.readMessage(
10546 getTimeLimitFieldBuilder().getBuilder(),
10547 extensionRegistry);
10548 bitField1_ |= 0x00000800;
10549 break;
10550 } // case 74
10551 case 82: {
10552 input.readMessage(
10553 getLnsTimeLimitFieldBuilder().getBuilder(),
10554 extensionRegistry);
10555 bitField1_ |= 0x00001000;
10556 break;
10557 } // case 82
10558 case 88: {
10559 useFullPropagation_ = input.readBool();
10560 bitField1_ |= 0x00008000;
10561 break;
10562 } // case 88
10563 case 104: {
10564 logSearch_ = input.readBool();
10565 bitField1_ |= 0x00010000;
10566 break;
10567 } // case 104
10568 case 113: {
10569 savingsNeighborsRatio_ = input.readDouble();
10570 bitField0_ |= 0x00000004;
10571 break;
10572 } // case 113
10573 case 120: {
10574 savingsAddReverseArcs_ = input.readBool();
10575 bitField0_ |= 0x00000010;
10576 break;
10577 } // case 120
10578 case 129: {
10579 cheapestInsertionFarthestSeedsRatio_ = input.readDouble();
10580 bitField0_ |= 0x00000080;
10581 break;
10582 } // case 129
10583 case 136: {
10584 numberOfSolutionsToCollect_ = input.readInt32();
10585 bitField1_ |= 0x00000200;
10586 break;
10587 } // case 136
10588 case 145: {
10589 savingsArcCoefficient_ = input.readDouble();
10590 bitField0_ |= 0x00000020;
10591 break;
10592 } // case 145
10593 case 152: {
10594 savingsParallelRoutes_ = input.readBool();
10595 bitField0_ |= 0x00000040;
10596 break;
10597 } // case 152
10598 case 160: {
10599 relocateExpensiveChainNumArcsToConsider_ = input.readInt32();
10600 bitField0_ |= 0x01000000;
10601 break;
10602 } // case 160
10603 case 169: {
10604 cheapestInsertionFirstSolutionNeighborsRatio_ = input.readDouble();
10605 bitField0_ |= 0x00000100;
10606 break;
10607 } // case 169
10608 case 177: {
10609 logCostScalingFactor_ = input.readDouble();
10610 bitField1_ |= 0x00020000;
10611 break;
10612 } // case 177
10613 case 185: {
10614 savingsMaxMemoryUsageBytes_ = input.readDouble();
10615 bitField0_ |= 0x00000008;
10616 break;
10617 } // case 185
10618 case 216: {
10619 useCpSat_ = input.readEnum();
10620 bitField1_ |= 0x00000001;
10621 break;
10622 } // case 216
10623 case 224: {
10624 useCp_ = input.readEnum();
10625 bitField0_ |= 0x80000000;
10626 break;
10627 } // case 224
10628 case 233: {
10629 logCostOffset_ = input.readDouble();
10630 bitField1_ |= 0x00040000;
10631 break;
10632 } // case 233
10633 case 240: {
10634 christofidesUseMinimumMatching_ = input.readBool();
10635 bitField0_ |= 0x00010000;
10636 break;
10637 } // case 240
10638 case 249: {
10639 cheapestInsertionLsOperatorNeighborsRatio_ = input.readDouble();
10640 bitField0_ |= 0x00000400;
10641 break;
10642 } // case 249
10643 case 256: {
10644 heuristicExpensiveChainLnsNumArcsToConsider_ = input.readInt32();
10645 bitField0_ |= 0x02000000;
10646 break;
10647 } // case 256
10648 case 264: {
10649 continuousSchedulingSolver_ = input.readEnum();
10650 bitField1_ |= 0x00000020;
10651 break;
10652 } // case 264
10653 case 272: {
10654 mixedIntegerSchedulingSolver_ = input.readEnum();
10655 bitField1_ |= 0x00000040;
10656 break;
10657 } // case 272
10658 case 280: {
10659 heuristicCloseNodesLnsNumNodes_ = input.readInt32();
10660 bitField0_ |= 0x04000000;
10661 break;
10662 } // case 280
10663 case 290: {
10664 logTag_ = input.readStringRequireUtf8();
10665 bitField1_ |= 0x00080000;
10666 break;
10667 } // case 290
10668 case 298: {
10669 input.readMessage(
10670 getImprovementLimitParametersFieldBuilder().getBuilder(),
10671 extensionRegistry);
10672 bitField1_ |= 0x00004000;
10673 break;
10674 } // case 298
10675 case 320: {
10676 cheapestInsertionAddUnperformedEntries_ = input.readBool();
10677 bitField0_ |= 0x00002000;
10678 break;
10679 } // case 320
10680 case 328: {
10681 useMultiArmedBanditConcatenateOperators_ = input.readBool();
10682 bitField0_ |= 0x00200000;
10683 break;
10684 } // case 328
10685 case 337: {
10686 multiArmedBanditCompoundOperatorMemoryCoefficient_ = input.readDouble();
10687 bitField0_ |= 0x00400000;
10688 break;
10689 } // case 337
10690 case 345: {
10691 multiArmedBanditCompoundOperatorExplorationCoefficient_ = input.readDouble();
10692 bitField0_ |= 0x00800000;
10693 break;
10694 } // case 345
10695 case 352: {
10696 cheapestInsertionFirstSolutionMinNeighbors_ = input.readInt32();
10697 bitField0_ |= 0x00000200;
10698 break;
10699 } // case 352
10700 case 360: {
10701 cheapestInsertionLsOperatorMinNeighbors_ = input.readInt32();
10702 bitField0_ |= 0x00000800;
10703 break;
10704 } // case 360
10705 case 368: {
10706 cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ = input.readBool();
10707 bitField0_ |= 0x00001000;
10708 break;
10709 } // case 368
10710 case 376: {
10711 useGeneralizedCpSat_ = input.readEnum();
10712 bitField1_ |= 0x00000002;
10713 break;
10714 } // case 376
10715 case 386: {
10716 input.readMessage(
10717 getSatParametersFieldBuilder().getBuilder(),
10718 extensionRegistry);
10719 bitField1_ |= 0x00000004;
10720 break;
10721 } // case 386
10722 case 392: {
10723 localCheapestInsertionPickupDeliveryStrategy_ = input.readEnum();
10724 bitField0_ |= 0x00004000;
10725 break;
10726 } // case 392
10727 case 400: {
10728 disableSchedulingBewareThisMayDegradePerformance_ = input.readBool();
10729 bitField1_ |= 0x00000080;
10730 break;
10731 } // case 400
10732 case 408: {
10733 guidedLocalSearchResetPenaltiesOnNewBestSolution_ = input.readBool();
10734 bitField0_ |= 0x20000000;
10735 break;
10736 } // case 408
10737 case 416: {
10738 fallbackToCpSatSizeThreshold_ = input.readInt32();
10739 bitField1_ |= 0x00000010;
10740 break;
10741 } // case 416
10742 case 425: {
10743 lsOperatorNeighborsRatio_ = input.readDouble();
10744 bitField0_ |= 0x00080000;
10745 break;
10746 } // case 425
10747 case 432: {
10748 lsOperatorMinNeighbors_ = input.readInt32();
10749 bitField0_ |= 0x00100000;
10750 break;
10751 } // case 432
10752 case 440: {
10753 localCheapestCostInsertionPickupDeliveryStrategy_ = input.readEnum();
10754 bitField0_ |= 0x00008000;
10755 break;
10756 } // case 440
10757 case 448: {
10758 reportIntermediateCpSatSolutions_ = input.readBool();
10759 bitField1_ |= 0x00000008;
10760 break;
10761 } // case 448
10762 case 457: {
10763 secondaryLsTimeLimitRatio_ = input.readDouble();
10764 bitField1_ |= 0x00002000;
10765 break;
10766 } // case 457
10767 case 464: {
10768 useIteratedLocalSearch_ = input.readBool();
10769 bitField1_ |= 0x00100000;
10770 break;
10771 } // case 464
10772 case 472: {
10773 firstSolutionOptimizationPeriod_ = input.readInt32();
10774 bitField0_ |= 0x00020000;
10775 break;
10776 } // case 472
10777 case 482: {
10778 input.readMessage(
10779 getIteratedLocalSearchParametersFieldBuilder().getBuilder(),
10780 extensionRegistry);
10781 bitField1_ |= 0x00200000;
10782 break;
10783 } // case 482
10784 default: {
10785 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
10786 done = true; // was an endgroup tag
10787 }
10788 break;
10789 } // default:
10790 } // switch (tag)
10791 } // while (!done)
10792 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
10793 throw e.unwrapIOException();
10794 } finally {
10795 onChanged();
10796 } // finally
10797 return this;
10798 }
10799 private int bitField0_;
10800 private int bitField1_;
10801
10802 private int firstSolutionStrategy_ = 0;
10811 @java.lang.Override public int getFirstSolutionStrategyValue() {
10812 return firstSolutionStrategy_;
10813 }
10824 firstSolutionStrategy_ = value;
10825 bitField0_ |= 0x00000001;
10826 onChanged();
10827 return this;
10828 }
10837 @java.lang.Override
10839 com.google.ortools.constraintsolver.FirstSolutionStrategy.Value result = com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.forNumber(firstSolutionStrategy_);
10840 return result == null ? com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNRECOGNIZED : result;
10841 }
10851 public Builder setFirstSolutionStrategy(com.google.ortools.constraintsolver.FirstSolutionStrategy.Value value) {
10852 if (value == null) {
10853 throw new NullPointerException();
10854 }
10855 bitField0_ |= 0x00000001;
10856 firstSolutionStrategy_ = value.getNumber();
10857 onChanged();
10858 return this;
10859 }
10869 bitField0_ = (bitField0_ & ~0x00000001);
10870 firstSolutionStrategy_ = 0;
10871 onChanged();
10872 return this;
10873 }
10874
10875 private boolean useUnfilteredFirstSolutionStrategy_ ;
10887 @java.lang.Override
10889 return useUnfilteredFirstSolutionStrategy_;
10890 }
10904
10905 useUnfilteredFirstSolutionStrategy_ = value;
10906 bitField0_ |= 0x00000002;
10907 onChanged();
10908 return this;
10909 }
10922 bitField0_ = (bitField0_ & ~0x00000002);
10923 useUnfilteredFirstSolutionStrategy_ = false;
10924 onChanged();
10925 return this;
10926 }
10927
10928 private double savingsNeighborsRatio_ ;
10939 @java.lang.Override
10941 return savingsNeighborsRatio_;
10942 }
10954 public Builder setSavingsNeighborsRatio(double value) {
10955
10956 savingsNeighborsRatio_ = value;
10957 bitField0_ |= 0x00000004;
10958 onChanged();
10959 return this;
10960 }
10972 bitField0_ = (bitField0_ & ~0x00000004);
10973 savingsNeighborsRatio_ = 0D;
10974 onChanged();
10975 return this;
10976 }
10977
10978 private double savingsMaxMemoryUsageBytes_ ;
10992 @java.lang.Override
10994 return savingsMaxMemoryUsageBytes_;
10995 }
11011
11012 savingsMaxMemoryUsageBytes_ = value;
11013 bitField0_ |= 0x00000008;
11014 onChanged();
11015 return this;
11016 }
11031 bitField0_ = (bitField0_ & ~0x00000008);
11032 savingsMaxMemoryUsageBytes_ = 0D;
11033 onChanged();
11034 return this;
11035 }
11036
11037 private boolean savingsAddReverseArcs_ ;
11047 @java.lang.Override
11048 public boolean getSavingsAddReverseArcs() {
11049 return savingsAddReverseArcs_;
11050 }
11061 public Builder setSavingsAddReverseArcs(boolean value) {
11062
11063 savingsAddReverseArcs_ = value;
11064 bitField0_ |= 0x00000010;
11065 onChanged();
11066 return this;
11067 }
11078 bitField0_ = (bitField0_ & ~0x00000010);
11079 savingsAddReverseArcs_ = false;
11080 onChanged();
11081 return this;
11082 }
11083
11084 private double savingsArcCoefficient_ ;
11097 @java.lang.Override
11099 return savingsArcCoefficient_;
11100 }
11114 public Builder setSavingsArcCoefficient(double value) {
11115
11116 savingsArcCoefficient_ = value;
11117 bitField0_ |= 0x00000020;
11118 onChanged();
11119 return this;
11120 }
11134 bitField0_ = (bitField0_ & ~0x00000020);
11135 savingsArcCoefficient_ = 0D;
11136 onChanged();
11137 return this;
11138 }
11139
11140 private boolean savingsParallelRoutes_ ;
11149 @java.lang.Override
11150 public boolean getSavingsParallelRoutes() {
11151 return savingsParallelRoutes_;
11152 }
11162 public Builder setSavingsParallelRoutes(boolean value) {
11163
11164 savingsParallelRoutes_ = value;
11165 bitField0_ |= 0x00000040;
11166 onChanged();
11167 return this;
11168 }
11178 bitField0_ = (bitField0_ & ~0x00000040);
11179 savingsParallelRoutes_ = false;
11180 onChanged();
11181 return this;
11182 }
11183
11184 private double cheapestInsertionFarthestSeedsRatio_ ;
11195 @java.lang.Override
11197 return cheapestInsertionFarthestSeedsRatio_;
11198 }
11211
11212 cheapestInsertionFarthestSeedsRatio_ = value;
11213 bitField0_ |= 0x00000080;
11214 onChanged();
11215 return this;
11216 }
11228 bitField0_ = (bitField0_ & ~0x00000080);
11229 cheapestInsertionFarthestSeedsRatio_ = 0D;
11230 onChanged();
11231 return this;
11232 }
11233
11234 private double cheapestInsertionFirstSolutionNeighborsRatio_ ;
11257 @java.lang.Override
11259 return cheapestInsertionFirstSolutionNeighborsRatio_;
11260 }
11285
11286 cheapestInsertionFirstSolutionNeighborsRatio_ = value;
11287 bitField0_ |= 0x00000100;
11288 onChanged();
11289 return this;
11290 }
11314 bitField0_ = (bitField0_ & ~0x00000100);
11315 cheapestInsertionFirstSolutionNeighborsRatio_ = 0D;
11316 onChanged();
11317 return this;
11318 }
11319
11320 private int cheapestInsertionFirstSolutionMinNeighbors_ ;
11325 @java.lang.Override
11327 return cheapestInsertionFirstSolutionMinNeighbors_;
11328 }
11335
11336 cheapestInsertionFirstSolutionMinNeighbors_ = value;
11337 bitField0_ |= 0x00000200;
11338 onChanged();
11339 return this;
11340 }
11346 bitField0_ = (bitField0_ & ~0x00000200);
11347 cheapestInsertionFirstSolutionMinNeighbors_ = 0;
11348 onChanged();
11349 return this;
11350 }
11351
11352 private double cheapestInsertionLsOperatorNeighborsRatio_ ;
11364 @java.lang.Override
11366 return cheapestInsertionLsOperatorNeighborsRatio_;
11367 }
11381
11382 cheapestInsertionLsOperatorNeighborsRatio_ = value;
11383 bitField0_ |= 0x00000400;
11384 onChanged();
11385 return this;
11386 }
11399 bitField0_ = (bitField0_ & ~0x00000400);
11400 cheapestInsertionLsOperatorNeighborsRatio_ = 0D;
11401 onChanged();
11402 return this;
11403 }
11404
11405 private int cheapestInsertionLsOperatorMinNeighbors_ ;
11410 @java.lang.Override
11412 return cheapestInsertionLsOperatorMinNeighbors_;
11413 }
11420
11421 cheapestInsertionLsOperatorMinNeighbors_ = value;
11422 bitField0_ |= 0x00000800;
11423 onChanged();
11424 return this;
11425 }
11431 bitField0_ = (bitField0_ & ~0x00000800);
11432 cheapestInsertionLsOperatorMinNeighbors_ = 0;
11433 onChanged();
11434 return this;
11435 }
11436
11437 private boolean cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ ;
11447 @java.lang.Override
11449 return cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_;
11450 }
11462
11463 cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ = value;
11464 bitField0_ |= 0x00001000;
11465 onChanged();
11466 return this;
11467 }
11478 bitField0_ = (bitField0_ & ~0x00001000);
11479 cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ = false;
11480 onChanged();
11481 return this;
11482 }
11483
11484 private boolean cheapestInsertionAddUnperformedEntries_ ;
11494 @java.lang.Override
11496 return cheapestInsertionAddUnperformedEntries_;
11497 }
11509
11510 cheapestInsertionAddUnperformedEntries_ = value;
11511 bitField0_ |= 0x00002000;
11512 onChanged();
11513 return this;
11514 }
11525 bitField0_ = (bitField0_ & ~0x00002000);
11526 cheapestInsertionAddUnperformedEntries_ = false;
11527 onChanged();
11528 return this;
11529 }
11530
11531 private int localCheapestInsertionPickupDeliveryStrategy_ = 0;
11542 return localCheapestInsertionPickupDeliveryStrategy_;
11543 }
11555 localCheapestInsertionPickupDeliveryStrategy_ = value;
11556 bitField0_ |= 0x00004000;
11557 onChanged();
11558 return this;
11559 }
11569 @java.lang.Override
11571 com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy result = com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy.forNumber(localCheapestInsertionPickupDeliveryStrategy_);
11572 return result == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy.UNRECOGNIZED : result;
11573 }
11584 public Builder setLocalCheapestInsertionPickupDeliveryStrategy(com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy value) {
11585 if (value == null) {
11586 throw new NullPointerException();
11587 }
11588 bitField0_ |= 0x00004000;
11589 localCheapestInsertionPickupDeliveryStrategy_ = value.getNumber();
11590 onChanged();
11591 return this;
11592 }
11603 bitField0_ = (bitField0_ & ~0x00004000);
11604 localCheapestInsertionPickupDeliveryStrategy_ = 0;
11605 onChanged();
11606 return this;
11607 }
11608
11609 private int localCheapestCostInsertionPickupDeliveryStrategy_ = 0;
11620 return localCheapestCostInsertionPickupDeliveryStrategy_;
11621 }
11633 localCheapestCostInsertionPickupDeliveryStrategy_ = value;
11634 bitField0_ |= 0x00008000;
11635 onChanged();
11636 return this;
11637 }
11647 @java.lang.Override
11649 com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy result = com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy.forNumber(localCheapestCostInsertionPickupDeliveryStrategy_);
11650 return result == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy.UNRECOGNIZED : result;
11651 }
11662 public Builder setLocalCheapestCostInsertionPickupDeliveryStrategy(com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy value) {
11663 if (value == null) {
11664 throw new NullPointerException();
11665 }
11666 bitField0_ |= 0x00008000;
11667 localCheapestCostInsertionPickupDeliveryStrategy_ = value.getNumber();
11668 onChanged();
11669 return this;
11670 }
11681 bitField0_ = (bitField0_ & ~0x00008000);
11682 localCheapestCostInsertionPickupDeliveryStrategy_ = 0;
11683 onChanged();
11684 return this;
11685 }
11686
11687 private boolean christofidesUseMinimumMatching_ ;
11697 @java.lang.Override
11699 return christofidesUseMinimumMatching_;
11700 }
11712
11713 christofidesUseMinimumMatching_ = value;
11714 bitField0_ |= 0x00010000;
11715 onChanged();
11716 return this;
11717 }
11728 bitField0_ = (bitField0_ & ~0x00010000);
11729 christofidesUseMinimumMatching_ = false;
11730 onChanged();
11731 return this;
11732 }
11733
11734 private int firstSolutionOptimizationPeriod_ ;
11749 @java.lang.Override
11751 return firstSolutionOptimizationPeriod_;
11752 }
11769
11770 firstSolutionOptimizationPeriod_ = value;
11771 bitField0_ |= 0x00020000;
11772 onChanged();
11773 return this;
11774 }
11790 bitField0_ = (bitField0_ & ~0x00020000);
11791 firstSolutionOptimizationPeriod_ = 0;
11792 onChanged();
11793 return this;
11794 }
11795
11797 private com.google.protobuf.SingleFieldBuilderV3<
11798 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder> localSearchOperatorsBuilder_;
11803 public boolean hasLocalSearchOperators() {
11804 return ((bitField0_ & 0x00040000) != 0);
11805 }
11811 if (localSearchOperatorsBuilder_ == null) {
11812 return localSearchOperators_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
11813 } else {
11814 return localSearchOperatorsBuilder_.getMessage();
11815 }
11816 }
11820 public Builder setLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators value) {
11821 if (localSearchOperatorsBuilder_ == null) {
11822 if (value == null) {
11823 throw new NullPointerException();
11824 }
11825 localSearchOperators_ = value;
11826 } else {
11827 localSearchOperatorsBuilder_.setMessage(value);
11828 }
11829 bitField0_ |= 0x00040000;
11830 onChanged();
11831 return this;
11832 }
11837 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder builderForValue) {
11838 if (localSearchOperatorsBuilder_ == null) {
11839 localSearchOperators_ = builderForValue.build();
11840 } else {
11841 localSearchOperatorsBuilder_.setMessage(builderForValue.build());
11842 }
11843 bitField0_ |= 0x00040000;
11844 onChanged();
11845 return this;
11846 }
11850 public Builder mergeLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators value) {
11851 if (localSearchOperatorsBuilder_ == null) {
11852 if (((bitField0_ & 0x00040000) != 0) &&
11853 localSearchOperators_ != null &&
11854 localSearchOperators_ != com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance()) {
11855 getLocalSearchOperatorsBuilder().mergeFrom(value);
11856 } else {
11857 localSearchOperators_ = value;
11858 }
11859 } else {
11860 localSearchOperatorsBuilder_.mergeFrom(value);
11861 }
11862 if (localSearchOperators_ != null) {
11863 bitField0_ |= 0x00040000;
11864 onChanged();
11865 }
11866 return this;
11867 }
11872 bitField0_ = (bitField0_ & ~0x00040000);
11873 localSearchOperators_ = null;
11874 if (localSearchOperatorsBuilder_ != null) {
11875 localSearchOperatorsBuilder_.dispose();
11876 localSearchOperatorsBuilder_ = null;
11877 }
11878 onChanged();
11879 return this;
11880 }
11885 bitField0_ |= 0x00040000;
11886 onChanged();
11887 return getLocalSearchOperatorsFieldBuilder().getBuilder();
11888 }
11893 if (localSearchOperatorsBuilder_ != null) {
11894 return localSearchOperatorsBuilder_.getMessageOrBuilder();
11895 } else {
11896 return localSearchOperators_ == null ?
11897 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
11898 }
11899 }
11903 private com.google.protobuf.SingleFieldBuilderV3<
11904 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder>
11905 getLocalSearchOperatorsFieldBuilder() {
11906 if (localSearchOperatorsBuilder_ == null) {
11907 localSearchOperatorsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
11908 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder>(
11910 getParentForChildren(),
11911 isClean());
11912 localSearchOperators_ = null;
11913 }
11914 return localSearchOperatorsBuilder_;
11915 }
11916
11917 private double lsOperatorNeighborsRatio_ ;
11928 @java.lang.Override
11930 return lsOperatorNeighborsRatio_;
11931 }
11944
11945 lsOperatorNeighborsRatio_ = value;
11946 bitField0_ |= 0x00080000;
11947 onChanged();
11948 return this;
11949 }
11961 bitField0_ = (bitField0_ & ~0x00080000);
11962 lsOperatorNeighborsRatio_ = 0D;
11963 onChanged();
11964 return this;
11965 }
11966
11967 private int lsOperatorMinNeighbors_ ;
11972 @java.lang.Override
11974 return lsOperatorMinNeighbors_;
11975 }
11982
11983 lsOperatorMinNeighbors_ = value;
11984 bitField0_ |= 0x00100000;
11985 onChanged();
11986 return this;
11987 }
11993 bitField0_ = (bitField0_ & ~0x00100000);
11994 lsOperatorMinNeighbors_ = 0;
11995 onChanged();
11996 return this;
11997 }
11998
11999 private boolean useMultiArmedBanditConcatenateOperators_ ;
12010 @java.lang.Override
12012 return useMultiArmedBanditConcatenateOperators_;
12013 }
12026
12027 useMultiArmedBanditConcatenateOperators_ = value;
12028 bitField0_ |= 0x00200000;
12029 onChanged();
12030 return this;
12031 }
12043 bitField0_ = (bitField0_ & ~0x00200000);
12044 useMultiArmedBanditConcatenateOperators_ = false;
12045 onChanged();
12046 return this;
12047 }
12048
12049 private double multiArmedBanditCompoundOperatorMemoryCoefficient_ ;
12061 @java.lang.Override
12063 return multiArmedBanditCompoundOperatorMemoryCoefficient_;
12064 }
12078
12079 multiArmedBanditCompoundOperatorMemoryCoefficient_ = value;
12080 bitField0_ |= 0x00400000;
12081 onChanged();
12082 return this;
12083 }
12096 bitField0_ = (bitField0_ & ~0x00400000);
12097 multiArmedBanditCompoundOperatorMemoryCoefficient_ = 0D;
12098 onChanged();
12099 return this;
12100 }
12101
12102 private double multiArmedBanditCompoundOperatorExplorationCoefficient_ ;
12113 @java.lang.Override
12115 return multiArmedBanditCompoundOperatorExplorationCoefficient_;
12116 }
12129
12130 multiArmedBanditCompoundOperatorExplorationCoefficient_ = value;
12131 bitField0_ |= 0x00800000;
12132 onChanged();
12133 return this;
12134 }
12146 bitField0_ = (bitField0_ & ~0x00800000);
12147 multiArmedBanditCompoundOperatorExplorationCoefficient_ = 0D;
12148 onChanged();
12149 return this;
12150 }
12151
12152 private int relocateExpensiveChainNumArcsToConsider_ ;
12167 @java.lang.Override
12169 return relocateExpensiveChainNumArcsToConsider_;
12170 }
12187
12188 relocateExpensiveChainNumArcsToConsider_ = value;
12189 bitField0_ |= 0x01000000;
12190 onChanged();
12191 return this;
12192 }
12208 bitField0_ = (bitField0_ & ~0x01000000);
12209 relocateExpensiveChainNumArcsToConsider_ = 0;
12210 onChanged();
12211 return this;
12212 }
12213
12214 private int heuristicExpensiveChainLnsNumArcsToConsider_ ;
12224 @java.lang.Override
12226 return heuristicExpensiveChainLnsNumArcsToConsider_;
12227 }
12239
12240 heuristicExpensiveChainLnsNumArcsToConsider_ = value;
12241 bitField0_ |= 0x02000000;
12242 onChanged();
12243 return this;
12244 }
12255 bitField0_ = (bitField0_ & ~0x02000000);
12256 heuristicExpensiveChainLnsNumArcsToConsider_ = 0;
12257 onChanged();
12258 return this;
12259 }
12260
12261 private int heuristicCloseNodesLnsNumNodes_ ;
12271 @java.lang.Override
12273 return heuristicCloseNodesLnsNumNodes_;
12274 }
12286
12287 heuristicCloseNodesLnsNumNodes_ = value;
12288 bitField0_ |= 0x04000000;
12289 onChanged();
12290 return this;
12291 }
12302 bitField0_ = (bitField0_ & ~0x04000000);
12303 heuristicCloseNodesLnsNumNodes_ = 0;
12304 onChanged();
12305 return this;
12306 }
12307
12308 private int localSearchMetaheuristic_ = 0;
12317 @java.lang.Override public int getLocalSearchMetaheuristicValue() {
12318 return localSearchMetaheuristic_;
12319 }
12330 localSearchMetaheuristic_ = value;
12331 bitField0_ |= 0x08000000;
12332 onChanged();
12333 return this;
12334 }
12343 @java.lang.Override
12345 com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value result = com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.forNumber(localSearchMetaheuristic_);
12346 return result == null ? com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNRECOGNIZED : result;
12347 }
12357 public Builder setLocalSearchMetaheuristic(com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value value) {
12358 if (value == null) {
12359 throw new NullPointerException();
12360 }
12361 bitField0_ |= 0x08000000;
12362 localSearchMetaheuristic_ = value.getNumber();
12363 onChanged();
12364 return this;
12365 }
12375 bitField0_ = (bitField0_ & ~0x08000000);
12376 localSearchMetaheuristic_ = 0;
12377 onChanged();
12378 return this;
12379 }
12380
12381 private double guidedLocalSearchLambdaCoefficient_ ;
12393 @java.lang.Override
12395 return guidedLocalSearchLambdaCoefficient_;
12396 }
12410
12411 guidedLocalSearchLambdaCoefficient_ = value;
12412 bitField0_ |= 0x10000000;
12413 onChanged();
12414 return this;
12415 }
12428 bitField0_ = (bitField0_ & ~0x10000000);
12429 guidedLocalSearchLambdaCoefficient_ = 0D;
12430 onChanged();
12431 return this;
12432 }
12433
12434 private boolean guidedLocalSearchResetPenaltiesOnNewBestSolution_ ;
12444 @java.lang.Override
12446 return guidedLocalSearchResetPenaltiesOnNewBestSolution_;
12447 }
12459
12460 guidedLocalSearchResetPenaltiesOnNewBestSolution_ = value;
12461 bitField0_ |= 0x20000000;
12462 onChanged();
12463 return this;
12464 }
12475 bitField0_ = (bitField0_ & ~0x20000000);
12476 guidedLocalSearchResetPenaltiesOnNewBestSolution_ = false;
12477 onChanged();
12478 return this;
12479 }
12480
12481 private boolean useDepthFirstSearch_ ;
12493 @java.lang.Override
12494 public boolean getUseDepthFirstSearch() {
12495 return useDepthFirstSearch_;
12496 }
12509 public Builder setUseDepthFirstSearch(boolean value) {
12510
12511 useDepthFirstSearch_ = value;
12512 bitField0_ |= 0x40000000;
12513 onChanged();
12514 return this;
12515 }
12528 bitField0_ = (bitField0_ & ~0x40000000);
12529 useDepthFirstSearch_ = false;
12530 onChanged();
12531 return this;
12532 }
12533
12534 private int useCp_ = 0;
12545 @java.lang.Override public int getUseCpValue() {
12546 return useCp_;
12547 }
12559 public Builder setUseCpValue(int value) {
12560 useCp_ = value;
12561 bitField0_ |= 0x80000000;
12562 onChanged();
12563 return this;
12564 }
12575 @java.lang.Override
12577 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useCp_);
12578 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
12579 }
12591 public Builder setUseCp(com.google.ortools.util.OptionalBoolean value) {
12592 if (value == null) {
12593 throw new NullPointerException();
12594 }
12595 bitField0_ |= 0x80000000;
12596 useCp_ = value.getNumber();
12597 onChanged();
12598 return this;
12599 }
12611 bitField0_ = (bitField0_ & ~0x80000000);
12612 useCp_ = 0;
12613 onChanged();
12614 return this;
12615 }
12616
12617 private int useCpSat_ = 0;
12629 @java.lang.Override public int getUseCpSatValue() {
12630 return useCpSat_;
12631 }
12644 public Builder setUseCpSatValue(int value) {
12645 useCpSat_ = value;
12646 bitField1_ |= 0x00000001;
12647 onChanged();
12648 return this;
12649 }
12661 @java.lang.Override
12663 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useCpSat_);
12664 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
12665 }
12678 public Builder setUseCpSat(com.google.ortools.util.OptionalBoolean value) {
12679 if (value == null) {
12680 throw new NullPointerException();
12681 }
12682 bitField1_ |= 0x00000001;
12683 useCpSat_ = value.getNumber();
12684 onChanged();
12685 return this;
12686 }
12699 bitField1_ = (bitField1_ & ~0x00000001);
12700 useCpSat_ = 0;
12701 onChanged();
12702 return this;
12703 }
12704
12705 private int useGeneralizedCpSat_ = 0;
12717 @java.lang.Override public int getUseGeneralizedCpSatValue() {
12718 return useGeneralizedCpSat_;
12719 }
12733 useGeneralizedCpSat_ = value;
12734 bitField1_ |= 0x00000002;
12735 onChanged();
12736 return this;
12737 }
12749 @java.lang.Override
12751 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useGeneralizedCpSat_);
12752 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
12753 }
12766 public Builder setUseGeneralizedCpSat(com.google.ortools.util.OptionalBoolean value) {
12767 if (value == null) {
12768 throw new NullPointerException();
12769 }
12770 bitField1_ |= 0x00000002;
12771 useGeneralizedCpSat_ = value.getNumber();
12772 onChanged();
12773 return this;
12774 }
12787 bitField1_ = (bitField1_ & ~0x00000002);
12788 useGeneralizedCpSat_ = 0;
12789 onChanged();
12790 return this;
12791 }
12792
12793 private com.google.ortools.sat.SatParameters satParameters_;
12794 private com.google.protobuf.SingleFieldBuilderV3<
12795 com.google.ortools.sat.SatParameters, com.google.ortools.sat.SatParameters.Builder, com.google.ortools.sat.SatParametersOrBuilder> satParametersBuilder_;
12805 public boolean hasSatParameters() {
12806 return ((bitField1_ & 0x00000004) != 0);
12807 }
12818 if (satParametersBuilder_ == null) {
12819 return satParameters_ == null ? com.google.ortools.sat.SatParameters.getDefaultInstance() : satParameters_;
12820 } else {
12821 return satParametersBuilder_.getMessage();
12822 }
12823 }
12832 public Builder setSatParameters(com.google.ortools.sat.SatParameters value) {
12833 if (satParametersBuilder_ == null) {
12834 if (value == null) {
12835 throw new NullPointerException();
12836 }
12837 satParameters_ = value;
12838 } else {
12839 satParametersBuilder_.setMessage(value);
12840 }
12841 bitField1_ |= 0x00000004;
12842 onChanged();
12843 return this;
12844 }
12854 com.google.ortools.sat.SatParameters.Builder builderForValue) {
12855 if (satParametersBuilder_ == null) {
12856 satParameters_ = builderForValue.build();
12857 } else {
12858 satParametersBuilder_.setMessage(builderForValue.build());
12859 }
12860 bitField1_ |= 0x00000004;
12861 onChanged();
12862 return this;
12863 }
12872 public Builder mergeSatParameters(com.google.ortools.sat.SatParameters value) {
12873 if (satParametersBuilder_ == null) {
12874 if (((bitField1_ & 0x00000004) != 0) &&
12875 satParameters_ != null &&
12876 satParameters_ != com.google.ortools.sat.SatParameters.getDefaultInstance()) {
12878 } else {
12879 satParameters_ = value;
12880 }
12881 } else {
12882 satParametersBuilder_.mergeFrom(value);
12883 }
12884 if (satParameters_ != null) {
12885 bitField1_ |= 0x00000004;
12886 onChanged();
12887 }
12888 return this;
12889 }
12899 bitField1_ = (bitField1_ & ~0x00000004);
12900 satParameters_ = null;
12901 if (satParametersBuilder_ != null) {
12902 satParametersBuilder_.dispose();
12903 satParametersBuilder_ = null;
12904 }
12905 onChanged();
12906 return this;
12907 }
12917 bitField1_ |= 0x00000004;
12918 onChanged();
12919 return getSatParametersFieldBuilder().getBuilder();
12920 }
12930 if (satParametersBuilder_ != null) {
12931 return satParametersBuilder_.getMessageOrBuilder();
12932 } else {
12933 return satParameters_ == null ?
12934 com.google.ortools.sat.SatParameters.getDefaultInstance() : satParameters_;
12935 }
12936 }
12945 private com.google.protobuf.SingleFieldBuilderV3<
12946 com.google.ortools.sat.SatParameters, com.google.ortools.sat.SatParameters.Builder, com.google.ortools.sat.SatParametersOrBuilder>
12947 getSatParametersFieldBuilder() {
12948 if (satParametersBuilder_ == null) {
12949 satParametersBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
12950 com.google.ortools.sat.SatParameters, com.google.ortools.sat.SatParameters.Builder, com.google.ortools.sat.SatParametersOrBuilder>(
12952 getParentForChildren(),
12953 isClean());
12954 satParameters_ = null;
12955 }
12956 return satParametersBuilder_;
12957 }
12958
12959 private boolean reportIntermediateCpSatSolutions_ ;
12969 @java.lang.Override
12971 return reportIntermediateCpSatSolutions_;
12972 }
12984
12985 reportIntermediateCpSatSolutions_ = value;
12986 bitField1_ |= 0x00000008;
12987 onChanged();
12988 return this;
12989 }
13000 bitField1_ = (bitField1_ & ~0x00000008);
13001 reportIntermediateCpSatSolutions_ = false;
13002 onChanged();
13003 return this;
13004 }
13005
13006 private int fallbackToCpSatSizeThreshold_ ;
13016 @java.lang.Override
13018 return fallbackToCpSatSizeThreshold_;
13019 }
13031
13032 fallbackToCpSatSizeThreshold_ = value;
13033 bitField1_ |= 0x00000010;
13034 onChanged();
13035 return this;
13036 }
13047 bitField1_ = (bitField1_ & ~0x00000010);
13048 fallbackToCpSatSizeThreshold_ = 0;
13049 onChanged();
13050 return this;
13051 }
13052
13053 private int continuousSchedulingSolver_ = 0;
13058 @java.lang.Override public int getContinuousSchedulingSolverValue() {
13059 return continuousSchedulingSolver_;
13060 }
13067 continuousSchedulingSolver_ = value;
13068 bitField1_ |= 0x00000020;
13069 onChanged();
13070 return this;
13071 }
13076 @java.lang.Override
13078 com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver result = com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.forNumber(continuousSchedulingSolver_);
13079 return result == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNRECOGNIZED : result;
13080 }
13086 public Builder setContinuousSchedulingSolver(com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver value) {
13087 if (value == null) {
13088 throw new NullPointerException();
13089 }
13090 bitField1_ |= 0x00000020;
13091 continuousSchedulingSolver_ = value.getNumber();
13092 onChanged();
13093 return this;
13094 }
13100 bitField1_ = (bitField1_ & ~0x00000020);
13101 continuousSchedulingSolver_ = 0;
13102 onChanged();
13103 return this;
13104 }
13105
13106 private int mixedIntegerSchedulingSolver_ = 0;
13111 @java.lang.Override public int getMixedIntegerSchedulingSolverValue() {
13112 return mixedIntegerSchedulingSolver_;
13113 }
13120 mixedIntegerSchedulingSolver_ = value;
13121 bitField1_ |= 0x00000040;
13122 onChanged();
13123 return this;
13124 }
13129 @java.lang.Override
13131 com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver result = com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.forNumber(mixedIntegerSchedulingSolver_);
13132 return result == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNRECOGNIZED : result;
13133 }
13139 public Builder setMixedIntegerSchedulingSolver(com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver value) {
13140 if (value == null) {
13141 throw new NullPointerException();
13142 }
13143 bitField1_ |= 0x00000040;
13144 mixedIntegerSchedulingSolver_ = value.getNumber();
13145 onChanged();
13146 return this;
13147 }
13153 bitField1_ = (bitField1_ & ~0x00000040);
13154 mixedIntegerSchedulingSolver_ = 0;
13155 onChanged();
13156 return this;
13157 }
13158
13159 private boolean disableSchedulingBewareThisMayDegradePerformance_ ;
13169 @java.lang.Override
13171 return ((bitField1_ & 0x00000080) != 0);
13172 }
13182 @java.lang.Override
13184 return disableSchedulingBewareThisMayDegradePerformance_;
13185 }
13197
13198 disableSchedulingBewareThisMayDegradePerformance_ = value;
13199 bitField1_ |= 0x00000080;
13200 onChanged();
13201 return this;
13202 }
13213 bitField1_ = (bitField1_ & ~0x00000080);
13214 disableSchedulingBewareThisMayDegradePerformance_ = false;
13215 onChanged();
13216 return this;
13217 }
13218
13219 private double optimizationStep_ ;
13230 @java.lang.Override
13231 public double getOptimizationStep() {
13232 return optimizationStep_;
13233 }
13245 public Builder setOptimizationStep(double value) {
13246
13247 optimizationStep_ = value;
13248 bitField1_ |= 0x00000100;
13249 onChanged();
13250 return this;
13251 }
13263 bitField1_ = (bitField1_ & ~0x00000100);
13264 optimizationStep_ = 0D;
13265 onChanged();
13266 return this;
13267 }
13268
13269 private int numberOfSolutionsToCollect_ ;
13279 @java.lang.Override
13281 return numberOfSolutionsToCollect_;
13282 }
13294
13295 numberOfSolutionsToCollect_ = value;
13296 bitField1_ |= 0x00000200;
13297 onChanged();
13298 return this;
13299 }
13310 bitField1_ = (bitField1_ & ~0x00000200);
13311 numberOfSolutionsToCollect_ = 0;
13312 onChanged();
13313 return this;
13314 }
13315
13316 private long solutionLimit_ ;
13327 @java.lang.Override
13328 public long getSolutionLimit() {
13329 return solutionLimit_;
13330 }
13342 public Builder setSolutionLimit(long value) {
13343
13344 solutionLimit_ = value;
13345 bitField1_ |= 0x00000400;
13346 onChanged();
13347 return this;
13348 }
13360 bitField1_ = (bitField1_ & ~0x00000400);
13361 solutionLimit_ = 0L;
13362 onChanged();
13363 return this;
13364 }
13365
13366 private com.google.protobuf.Duration timeLimit_;
13367 private com.google.protobuf.SingleFieldBuilderV3<
13368 com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> timeLimitBuilder_;
13377 public boolean hasTimeLimit() {
13378 return ((bitField1_ & 0x00000800) != 0);
13379 }
13388 public com.google.protobuf.Duration getTimeLimit() {
13389 if (timeLimitBuilder_ == null) {
13390 return timeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
13391 } else {
13392 return timeLimitBuilder_.getMessage();
13393 }
13394 }
13402 public Builder setTimeLimit(com.google.protobuf.Duration value) {
13403 if (timeLimitBuilder_ == null) {
13404 if (value == null) {
13405 throw new NullPointerException();
13406 }
13407 timeLimit_ = value;
13408 } else {
13409 timeLimitBuilder_.setMessage(value);
13410 }
13411 bitField1_ |= 0x00000800;
13412 onChanged();
13413 return this;
13414 }
13423 com.google.protobuf.Duration.Builder builderForValue) {
13424 if (timeLimitBuilder_ == null) {
13425 timeLimit_ = builderForValue.build();
13426 } else {
13427 timeLimitBuilder_.setMessage(builderForValue.build());
13428 }
13429 bitField1_ |= 0x00000800;
13430 onChanged();
13431 return this;
13432 }
13440 public Builder mergeTimeLimit(com.google.protobuf.Duration value) {
13441 if (timeLimitBuilder_ == null) {
13442 if (((bitField1_ & 0x00000800) != 0) &&
13443 timeLimit_ != null &&
13444 timeLimit_ != com.google.protobuf.Duration.getDefaultInstance()) {
13445 getTimeLimitBuilder().mergeFrom(value);
13446 } else {
13447 timeLimit_ = value;
13448 }
13449 } else {
13450 timeLimitBuilder_.mergeFrom(value);
13451 }
13452 if (timeLimit_ != null) {
13453 bitField1_ |= 0x00000800;
13454 onChanged();
13455 }
13456 return this;
13457 }
13466 bitField1_ = (bitField1_ & ~0x00000800);
13467 timeLimit_ = null;
13468 if (timeLimitBuilder_ != null) {
13469 timeLimitBuilder_.dispose();
13470 timeLimitBuilder_ = null;
13471 }
13472 onChanged();
13473 return this;
13474 }
13482 public com.google.protobuf.Duration.Builder getTimeLimitBuilder() {
13483 bitField1_ |= 0x00000800;
13484 onChanged();
13485 return getTimeLimitFieldBuilder().getBuilder();
13486 }
13494 public com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder() {
13495 if (timeLimitBuilder_ != null) {
13496 return timeLimitBuilder_.getMessageOrBuilder();
13497 } else {
13498 return timeLimit_ == null ?
13499 com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
13500 }
13501 }
13509 private com.google.protobuf.SingleFieldBuilderV3<
13510 com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
13511 getTimeLimitFieldBuilder() {
13512 if (timeLimitBuilder_ == null) {
13513 timeLimitBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
13514 com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
13515 getTimeLimit(),
13516 getParentForChildren(),
13517 isClean());
13518 timeLimit_ = null;
13519 }
13520 return timeLimitBuilder_;
13521 }
13522
13523 private com.google.protobuf.Duration lnsTimeLimit_;
13524 private com.google.protobuf.SingleFieldBuilderV3<
13525 com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> lnsTimeLimitBuilder_;
13535 public boolean hasLnsTimeLimit() {
13536 return ((bitField1_ & 0x00001000) != 0);
13537 }
13547 public com.google.protobuf.Duration getLnsTimeLimit() {
13548 if (lnsTimeLimitBuilder_ == null) {
13549 return lnsTimeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
13550 } else {
13551 return lnsTimeLimitBuilder_.getMessage();
13552 }
13553 }
13562 public Builder setLnsTimeLimit(com.google.protobuf.Duration value) {
13563 if (lnsTimeLimitBuilder_ == null) {
13564 if (value == null) {
13565 throw new NullPointerException();
13566 }
13567 lnsTimeLimit_ = value;
13568 } else {
13569 lnsTimeLimitBuilder_.setMessage(value);
13570 }
13571 bitField1_ |= 0x00001000;
13572 onChanged();
13573 return this;
13574 }
13584 com.google.protobuf.Duration.Builder builderForValue) {
13585 if (lnsTimeLimitBuilder_ == null) {
13586 lnsTimeLimit_ = builderForValue.build();
13587 } else {
13588 lnsTimeLimitBuilder_.setMessage(builderForValue.build());
13589 }
13590 bitField1_ |= 0x00001000;
13591 onChanged();
13592 return this;
13593 }
13602 public Builder mergeLnsTimeLimit(com.google.protobuf.Duration value) {
13603 if (lnsTimeLimitBuilder_ == null) {
13604 if (((bitField1_ & 0x00001000) != 0) &&
13605 lnsTimeLimit_ != null &&
13606 lnsTimeLimit_ != com.google.protobuf.Duration.getDefaultInstance()) {
13607 getLnsTimeLimitBuilder().mergeFrom(value);
13608 } else {
13609 lnsTimeLimit_ = value;
13610 }
13611 } else {
13612 lnsTimeLimitBuilder_.mergeFrom(value);
13613 }
13614 if (lnsTimeLimit_ != null) {
13615 bitField1_ |= 0x00001000;
13616 onChanged();
13617 }
13618 return this;
13619 }
13629 bitField1_ = (bitField1_ & ~0x00001000);
13630 lnsTimeLimit_ = null;
13631 if (lnsTimeLimitBuilder_ != null) {
13632 lnsTimeLimitBuilder_.dispose();
13633 lnsTimeLimitBuilder_ = null;
13634 }
13635 onChanged();
13636 return this;
13637 }
13646 public com.google.protobuf.Duration.Builder getLnsTimeLimitBuilder() {
13647 bitField1_ |= 0x00001000;
13648 onChanged();
13649 return getLnsTimeLimitFieldBuilder().getBuilder();
13650 }
13659 public com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder() {
13660 if (lnsTimeLimitBuilder_ != null) {
13661 return lnsTimeLimitBuilder_.getMessageOrBuilder();
13662 } else {
13663 return lnsTimeLimit_ == null ?
13664 com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
13665 }
13666 }
13675 private com.google.protobuf.SingleFieldBuilderV3<
13676 com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
13677 getLnsTimeLimitFieldBuilder() {
13678 if (lnsTimeLimitBuilder_ == null) {
13679 lnsTimeLimitBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
13680 com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
13682 getParentForChildren(),
13683 isClean());
13684 lnsTimeLimit_ = null;
13685 }
13686 return lnsTimeLimitBuilder_;
13687 }
13688
13689 private double secondaryLsTimeLimitRatio_ ;
13703 @java.lang.Override
13705 return secondaryLsTimeLimitRatio_;
13706 }
13722
13723 secondaryLsTimeLimitRatio_ = value;
13724 bitField1_ |= 0x00002000;
13725 onChanged();
13726 return this;
13727 }
13742 bitField1_ = (bitField1_ & ~0x00002000);
13743 secondaryLsTimeLimitRatio_ = 0D;
13744 onChanged();
13745 return this;
13746 }
13747
13749 private com.google.protobuf.SingleFieldBuilderV3<
13750 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParametersOrBuilder> improvementLimitParametersBuilder_;
13761 return ((bitField1_ & 0x00004000) != 0);
13762 }
13773 if (improvementLimitParametersBuilder_ == null) {
13774 return improvementLimitParameters_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance() : improvementLimitParameters_;
13775 } else {
13776 return improvementLimitParametersBuilder_.getMessage();
13777 }
13778 }
13787 public Builder setImprovementLimitParameters(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters value) {
13788 if (improvementLimitParametersBuilder_ == null) {
13789 if (value == null) {
13790 throw new NullPointerException();
13791 }
13792 improvementLimitParameters_ = value;
13793 } else {
13794 improvementLimitParametersBuilder_.setMessage(value);
13795 }
13796 bitField1_ |= 0x00004000;
13797 onChanged();
13798 return this;
13799 }
13809 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder builderForValue) {
13810 if (improvementLimitParametersBuilder_ == null) {
13811 improvementLimitParameters_ = builderForValue.build();
13812 } else {
13813 improvementLimitParametersBuilder_.setMessage(builderForValue.build());
13814 }
13815 bitField1_ |= 0x00004000;
13816 onChanged();
13817 return this;
13818 }
13827 public Builder mergeImprovementLimitParameters(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters value) {
13828 if (improvementLimitParametersBuilder_ == null) {
13829 if (((bitField1_ & 0x00004000) != 0) &&
13830 improvementLimitParameters_ != null &&
13831 improvementLimitParameters_ != com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance()) {
13832 getImprovementLimitParametersBuilder().mergeFrom(value);
13833 } else {
13834 improvementLimitParameters_ = value;
13835 }
13836 } else {
13837 improvementLimitParametersBuilder_.mergeFrom(value);
13838 }
13839 if (improvementLimitParameters_ != null) {
13840 bitField1_ |= 0x00004000;
13841 onChanged();
13842 }
13843 return this;
13844 }
13854 bitField1_ = (bitField1_ & ~0x00004000);
13855 improvementLimitParameters_ = null;
13856 if (improvementLimitParametersBuilder_ != null) {
13857 improvementLimitParametersBuilder_.dispose();
13858 improvementLimitParametersBuilder_ = null;
13859 }
13860 onChanged();
13861 return this;
13862 }
13872 bitField1_ |= 0x00004000;
13873 onChanged();
13874 return getImprovementLimitParametersFieldBuilder().getBuilder();
13875 }
13885 if (improvementLimitParametersBuilder_ != null) {
13886 return improvementLimitParametersBuilder_.getMessageOrBuilder();
13887 } else {
13888 return improvementLimitParameters_ == null ?
13889 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance() : improvementLimitParameters_;
13890 }
13891 }
13900 private com.google.protobuf.SingleFieldBuilderV3<
13901 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParametersOrBuilder>
13902 getImprovementLimitParametersFieldBuilder() {
13903 if (improvementLimitParametersBuilder_ == null) {
13904 improvementLimitParametersBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
13905 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParametersOrBuilder>(
13907 getParentForChildren(),
13908 isClean());
13909 improvementLimitParameters_ = null;
13910 }
13911 return improvementLimitParametersBuilder_;
13912 }
13913
13914 private boolean useFullPropagation_ ;
13932 @java.lang.Override
13933 public boolean getUseFullPropagation() {
13934 return useFullPropagation_;
13935 }
13954 public Builder setUseFullPropagation(boolean value) {
13955
13956 useFullPropagation_ = value;
13957 bitField1_ |= 0x00008000;
13958 onChanged();
13959 return this;
13960 }
13979 bitField1_ = (bitField1_ & ~0x00008000);
13980 useFullPropagation_ = false;
13981 onChanged();
13982 return this;
13983 }
13984
13985 private boolean logSearch_ ;
14006 @java.lang.Override
14007 public boolean getLogSearch() {
14008 return logSearch_;
14009 }
14031 public Builder setLogSearch(boolean value) {
14032
14033 logSearch_ = value;
14034 bitField1_ |= 0x00010000;
14035 onChanged();
14036 return this;
14037 }
14059 bitField1_ = (bitField1_ & ~0x00010000);
14060 logSearch_ = false;
14061 onChanged();
14062 return this;
14063 }
14064
14065 private double logCostScalingFactor_ ;
14075 @java.lang.Override
14076 public double getLogCostScalingFactor() {
14077 return logCostScalingFactor_;
14078 }
14089 public Builder setLogCostScalingFactor(double value) {
14090
14091 logCostScalingFactor_ = value;
14092 bitField1_ |= 0x00020000;
14093 onChanged();
14094 return this;
14095 }
14106 bitField1_ = (bitField1_ & ~0x00020000);
14107 logCostScalingFactor_ = 0D;
14108 onChanged();
14109 return this;
14110 }
14111
14112 private double logCostOffset_ ;
14117 @java.lang.Override
14118 public double getLogCostOffset() {
14119 return logCostOffset_;
14120 }
14126 public Builder setLogCostOffset(double value) {
14127
14128 logCostOffset_ = value;
14129 bitField1_ |= 0x00040000;
14130 onChanged();
14131 return this;
14132 }
14138 bitField1_ = (bitField1_ & ~0x00040000);
14139 logCostOffset_ = 0D;
14140 onChanged();
14141 return this;
14142 }
14143
14144 private java.lang.Object logTag_ = "";
14154 public java.lang.String getLogTag() {
14155 java.lang.Object ref = logTag_;
14156 if (!(ref instanceof java.lang.String)) {
14157 com.google.protobuf.ByteString bs =
14158 (com.google.protobuf.ByteString) ref;
14159 java.lang.String s = bs.toStringUtf8();
14160 logTag_ = s;
14161 return s;
14162 } else {
14163 return (java.lang.String) ref;
14164 }
14165 }
14175 public com.google.protobuf.ByteString
14177 java.lang.Object ref = logTag_;
14178 if (ref instanceof String) {
14179 com.google.protobuf.ByteString b =
14180 com.google.protobuf.ByteString.copyFromUtf8(
14181 (java.lang.String) ref);
14182 logTag_ = b;
14183 return b;
14184 } else {
14185 return (com.google.protobuf.ByteString) ref;
14186 }
14187 }
14199 java.lang.String value) {
14200 if (value == null) { throw new NullPointerException(); }
14201 logTag_ = value;
14202 bitField1_ |= 0x00080000;
14203 onChanged();
14204 return this;
14205 }
14216 logTag_ = getDefaultInstance().getLogTag();
14217 bitField1_ = (bitField1_ & ~0x00080000);
14218 onChanged();
14219 return this;
14220 }
14232 com.google.protobuf.ByteString value) {
14233 if (value == null) { throw new NullPointerException(); }
14234 checkByteStringIsUtf8(value);
14235 logTag_ = value;
14236 bitField1_ |= 0x00080000;
14237 onChanged();
14238 return this;
14239 }
14240
14241 private boolean useIteratedLocalSearch_ ;
14251 @java.lang.Override
14252 public boolean getUseIteratedLocalSearch() {
14253 return useIteratedLocalSearch_;
14254 }
14265 public Builder setUseIteratedLocalSearch(boolean value) {
14266
14267 useIteratedLocalSearch_ = value;
14268 bitField1_ |= 0x00100000;
14269 onChanged();
14270 return this;
14271 }
14282 bitField1_ = (bitField1_ & ~0x00100000);
14283 useIteratedLocalSearch_ = false;
14284 onChanged();
14285 return this;
14286 }
14287
14288 private operations_research.RoutingIls.IteratedLocalSearchParameters iteratedLocalSearchParameters_;
14289 private com.google.protobuf.SingleFieldBuilderV3<
14300 return ((bitField1_ & 0x00200000) != 0);
14301 }
14311 if (iteratedLocalSearchParametersBuilder_ == null) {
14312 return iteratedLocalSearchParameters_ == null ? operations_research.RoutingIls.IteratedLocalSearchParameters.getDefaultInstance() : iteratedLocalSearchParameters_;
14313 } else {
14314 return iteratedLocalSearchParametersBuilder_.getMessage();
14315 }
14316 }
14325 if (iteratedLocalSearchParametersBuilder_ == null) {
14326 if (value == null) {
14327 throw new NullPointerException();
14328 }
14329 iteratedLocalSearchParameters_ = value;
14330 } else {
14331 iteratedLocalSearchParametersBuilder_.setMessage(value);
14332 }
14333 bitField1_ |= 0x00200000;
14334 onChanged();
14335 return this;
14336 }
14346 if (iteratedLocalSearchParametersBuilder_ == null) {
14347 iteratedLocalSearchParameters_ = builderForValue.build();
14348 } else {
14349 iteratedLocalSearchParametersBuilder_.setMessage(builderForValue.build());
14350 }
14351 bitField1_ |= 0x00200000;
14352 onChanged();
14353 return this;
14354 }
14363 if (iteratedLocalSearchParametersBuilder_ == null) {
14364 if (((bitField1_ & 0x00200000) != 0) &&
14365 iteratedLocalSearchParameters_ != null &&
14368 } else {
14369 iteratedLocalSearchParameters_ = value;
14370 }
14371 } else {
14372 iteratedLocalSearchParametersBuilder_.mergeFrom(value);
14373 }
14374 if (iteratedLocalSearchParameters_ != null) {
14375 bitField1_ |= 0x00200000;
14376 onChanged();
14377 }
14378 return this;
14379 }
14388 bitField1_ = (bitField1_ & ~0x00200000);
14389 iteratedLocalSearchParameters_ = null;
14390 if (iteratedLocalSearchParametersBuilder_ != null) {
14391 iteratedLocalSearchParametersBuilder_.dispose();
14392 iteratedLocalSearchParametersBuilder_ = null;
14393 }
14394 onChanged();
14395 return this;
14396 }
14405 bitField1_ |= 0x00200000;
14406 onChanged();
14407 return getIteratedLocalSearchParametersFieldBuilder().getBuilder();
14408 }
14417 if (iteratedLocalSearchParametersBuilder_ != null) {
14418 return iteratedLocalSearchParametersBuilder_.getMessageOrBuilder();
14419 } else {
14420 return iteratedLocalSearchParameters_ == null ?
14422 }
14423 }
14431 private com.google.protobuf.SingleFieldBuilderV3<
14433 getIteratedLocalSearchParametersFieldBuilder() {
14434 if (iteratedLocalSearchParametersBuilder_ == null) {
14435 iteratedLocalSearchParametersBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
14438 getParentForChildren(),
14439 isClean());
14440 iteratedLocalSearchParameters_ = null;
14441 }
14442 return iteratedLocalSearchParametersBuilder_;
14443 }
14444 @java.lang.Override
14446 final com.google.protobuf.UnknownFieldSet unknownFields) {
14447 return super.setUnknownFields(unknownFields);
14448 }
14449
14450 @java.lang.Override
14452 final com.google.protobuf.UnknownFieldSet unknownFields) {
14453 return super.mergeUnknownFields(unknownFields);
14454 }
14455
14456
14457 // @@protoc_insertion_point(builder_scope:operations_research.RoutingSearchParameters)
14458 }
14459
14460 // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters)
14461 private static final com.google.ortools.constraintsolver.RoutingSearchParameters DEFAULT_INSTANCE;
14462 static {
14463 DEFAULT_INSTANCE = new com.google.ortools.constraintsolver.RoutingSearchParameters();
14464 }
14465
14467 return DEFAULT_INSTANCE;
14468 }
14469
14470 private static final com.google.protobuf.Parser<RoutingSearchParameters>
14471 PARSER = new com.google.protobuf.AbstractParser<RoutingSearchParameters>() {
14472 @java.lang.Override
14473 public RoutingSearchParameters parsePartialFrom(
14474 com.google.protobuf.CodedInputStream input,
14475 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
14476 throws com.google.protobuf.InvalidProtocolBufferException {
14477 Builder builder = newBuilder();
14478 try {
14479 builder.mergeFrom(input, extensionRegistry);
14480 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
14481 throw e.setUnfinishedMessage(builder.buildPartial());
14482 } catch (com.google.protobuf.UninitializedMessageException e) {
14483 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
14484 } catch (java.io.IOException e) {
14485 throw new com.google.protobuf.InvalidProtocolBufferException(e)
14486 .setUnfinishedMessage(builder.buildPartial());
14487 }
14488 return builder.buildPartial();
14489 }
14490 };
14491
14492 public static com.google.protobuf.Parser<RoutingSearchParameters> parser() {
14493 return PARSER;
14494 }
14495
14496 @java.lang.Override
14497 public com.google.protobuf.Parser<RoutingSearchParameters> getParserForType() {
14498 return PARSER;
14499 }
14500
14501 @java.lang.Override
14505
14506}
14507
Builder setLocalCheapestCostInsertionPickupDeliveryStrategy(com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy value)
Builder mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters other)
Builder setIteratedLocalSearchParameters(operations_research.RoutingIls.IteratedLocalSearchParameters.Builder builderForValue)
Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
com.google.ortools.constraintsolver.RoutingSearchParameters buildPartial()
Builder setLnsTimeLimit(com.google.protobuf.Duration.Builder builderForValue)
Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
Builder setImprovementLimitParameters(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters value)
operations_research.RoutingIls.IteratedLocalSearchParameters getIteratedLocalSearchParameters()
operations_research.RoutingIls.IteratedLocalSearchParameters.Builder getIteratedLocalSearchParametersBuilder()
Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
Builder setFirstSolutionStrategy(com.google.ortools.constraintsolver.FirstSolutionStrategy.Value value)
operations_research.RoutingIls.IteratedLocalSearchParametersOrBuilder getIteratedLocalSearchParametersOrBuilder()
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder getLocalSearchOperatorsBuilder()
Builder setLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder builderForValue)
com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters getImprovementLimitParameters()
final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
com.google.ortools.constraintsolver.RoutingSearchParameters build()
Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver getMixedIntegerSchedulingSolver()
com.google.ortools.constraintsolver.FirstSolutionStrategy.Value getFirstSolutionStrategy()
Builder setImprovementLimitParameters(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder builderForValue)
Builder mergeImprovementLimitParameters(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters value)
Builder setUseCpSat(com.google.ortools.util.OptionalBoolean value)
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
Builder setContinuousSchedulingSolver(com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver value)
Builder mergeIteratedLocalSearchParameters(operations_research.RoutingIls.IteratedLocalSearchParameters value)
Builder setLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators value)
Builder setMixedIntegerSchedulingSolver(com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver value)
Builder mergeLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators value)
com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver getContinuousSchedulingSolver()
Builder setUseGeneralizedCpSat(com.google.ortools.util.OptionalBoolean value)
Builder setIteratedLocalSearchParameters(operations_research.RoutingIls.IteratedLocalSearchParameters value)
Builder setUseCp(com.google.ortools.util.OptionalBoolean value)
com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value getLocalSearchMetaheuristic()
Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
Builder setSatParameters(com.google.ortools.sat.SatParameters value)
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getLocalSearchOperators()
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder getLocalSearchOperatorsOrBuilder()
com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy getLocalCheapestCostInsertionPickupDeliveryStrategy()
Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.ortools.constraintsolver.RoutingSearchParameters getDefaultInstanceForType()
Builder setTimeLimit(com.google.protobuf.Duration.Builder builderForValue)
com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParametersOrBuilder getImprovementLimitParametersOrBuilder()
Builder mergeSatParameters(com.google.ortools.sat.SatParameters value)
Builder setLocalCheapestInsertionPickupDeliveryStrategy(com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy value)
com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy getLocalCheapestInsertionPickupDeliveryStrategy()
Builder setLocalSearchMetaheuristic(com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value value)
com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder getImprovementLimitParametersBuilder()
Builder setSatParameters(com.google.ortools.sat.SatParameters.Builder builderForValue)
com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters buildPartial()
Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters build()
Builder mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters other)
Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters getDefaultInstanceForType()
static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters prototype)
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters getDefaultInstanceForType()
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(byte[] data)
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(java.io.InputStream input)
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(com.google.protobuf.CodedInputStream input)
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseDelimitedFrom(java.io.InputStream input)
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(com.google.protobuf.ByteString data)
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters getDefaultInstance()
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(java.nio.ByteBuffer data)
Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
static com.google.protobuf.Parser< ImprovementSearchLimitParameters > parser()
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators buildPartial()
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getDefaultInstanceForType()
Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
Builder mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators other)
Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators build()
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getDefaultInstanceForType()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.protobuf.Parser< LocalSearchNeighborhoodOperators > parser()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.io.InputStream input)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.CodedInputStream input)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators prototype)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getDefaultInstance()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.nio.ByteBuffer data)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.ByteString data)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseDelimitedFrom(java.io.InputStream input)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(byte[] data)
Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.ortools.constraintsolver.RoutingSearchParameters getDefaultInstanceForType()
static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters prototype)
java.lang.Object newInstance(UnusedPrivateParameter unused)
com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value getLocalSearchMetaheuristic()
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters getImprovementLimitParameters()
com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParametersOrBuilder getImprovementLimitParametersOrBuilder()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseDelimitedFrom(java.io.InputStream input)
static com.google.ortools.constraintsolver.RoutingSearchParameters getDefaultInstance()
Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver getMixedIntegerSchedulingSolver()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.ortools.constraintsolver.FirstSolutionStrategy.Value getFirstSolutionStrategy()
com.google.ortools.sat.SatParametersOrBuilder getSatParametersOrBuilder()
operations_research.RoutingIls.IteratedLocalSearchParameters getIteratedLocalSearchParameters()
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder getLocalSearchOperatorsOrBuilder()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.ByteString data)
com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy getLocalCheapestCostInsertionPickupDeliveryStrategy()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(byte[] data)
void writeTo(com.google.protobuf.CodedOutputStream output)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.nio.ByteBuffer data)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.CodedInputStream input)
com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver getContinuousSchedulingSolver()
static com.google.protobuf.Parser< RoutingSearchParameters > parser()
com.google.protobuf.Parser< RoutingSearchParameters > getParserForType()
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getLocalSearchOperators()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.io.InputStream input)
com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy getLocalCheapestInsertionPickupDeliveryStrategy()
operations_research.RoutingIls.IteratedLocalSearchParametersOrBuilder getIteratedLocalSearchParametersOrBuilder()
static operations_research.RoutingIls.IteratedLocalSearchParameters getDefaultInstance()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
static PairInsertionStrategy valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static com.google.protobuf.Internal.EnumLiteMap< PairInsertionStrategy > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static SchedulingSolver valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static com.google.protobuf.Internal.EnumLiteMap< SchedulingSolver > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
Protobuf Java Version: 3.25.3.