Google OR-Tools v9.15
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// NO CHECKED-IN PROTOBUF GENCODE
3// source: ortools/constraint_solver/routing_parameters.proto
4// Protobuf Java Version: 4.33.1
5
6package com.google.ortools.constraintsolver;
7
21@com.google.protobuf.Generated
22public final class RoutingSearchParameters extends
23 com.google.protobuf.GeneratedMessage implements
24 // @@protoc_insertion_point(message_implements:operations_research.RoutingSearchParameters)
26private static final long serialVersionUID = 0L;
27 static {
28 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
29 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
30 /* major= */ 4,
31 /* minor= */ 33,
32 /* patch= */ 1,
33 /* suffix= */ "",
34 "RoutingSearchParameters");
35 }
36 // Use RoutingSearchParameters.newBuilder() to construct.
37 private RoutingSearchParameters(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
38 super(builder);
39 }
40 private RoutingSearchParameters() {
41 firstSolutionStrategy_ = 0;
42 localSearchMetaheuristic_ = 0;
43 localSearchMetaheuristics_ = emptyIntList();
44 useCp_ = 0;
45 useCpSat_ = 0;
46 useGeneralizedCpSat_ = 0;
47 continuousSchedulingSolver_ = 0;
48 mixedIntegerSchedulingSolver_ = 0;
49 logTag_ = "";
50 }
51
52 public static final com.google.protobuf.Descriptors.Descriptor
54 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
55 }
56
57 @java.lang.Override
58 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
60 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_fieldAccessorTable
61 .ensureFieldAccessorsInitialized(
62 com.google.ortools.constraintsolver.RoutingSearchParameters.class, com.google.ortools.constraintsolver.RoutingSearchParameters.Builder.class);
63 }
64
73 public enum SchedulingSolver
74 implements com.google.protobuf.ProtocolMessageEnum {
88 ;
89
90 static {
91 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
92 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
93 /* major= */ 4,
94 /* minor= */ 33,
95 /* patch= */ 1,
96 /* suffix= */ "",
97 "SchedulingSolver");
98 }
102 public static final int SCHEDULING_UNSET_VALUE = 0;
106 public static final int SCHEDULING_GLOP_VALUE = 1;
110 public static final int SCHEDULING_CP_SAT_VALUE = 2;
111
112
113 public final int getNumber() {
114 if (this == UNRECOGNIZED) {
115 throw new java.lang.IllegalArgumentException(
116 "Can't get the number of an unknown enum value.");
117 }
118 return value;
119 }
120
126 @java.lang.Deprecated
127 public static SchedulingSolver valueOf(int value) {
128 return forNumber(value);
129 }
130
135 public static SchedulingSolver forNumber(int value) {
136 switch (value) {
137 case 0: return SCHEDULING_UNSET;
138 case 1: return SCHEDULING_GLOP;
139 case 2: return SCHEDULING_CP_SAT;
140 default: return null;
141 }
142 }
143
144 public static com.google.protobuf.Internal.EnumLiteMap<SchedulingSolver>
146 return internalValueMap;
147 }
148 private static final com.google.protobuf.Internal.EnumLiteMap<
149 SchedulingSolver> internalValueMap =
150 new com.google.protobuf.Internal.EnumLiteMap<SchedulingSolver>() {
151 public SchedulingSolver findValueByNumber(int number) {
152 return SchedulingSolver.forNumber(number);
153 }
154 };
155
156 public final com.google.protobuf.Descriptors.EnumValueDescriptor
158 if (this == UNRECOGNIZED) {
159 throw new java.lang.IllegalStateException(
160 "Can't get the descriptor of an unrecognized enum value.");
161 }
162 return getDescriptor().getValues().get(ordinal());
163 }
164 public final com.google.protobuf.Descriptors.EnumDescriptor
166 return getDescriptor();
167 }
168 public static com.google.protobuf.Descriptors.EnumDescriptor
170 return com.google.ortools.constraintsolver.RoutingSearchParameters.getDescriptor().getEnumTypes().get(0);
171 }
172
173 private static final SchedulingSolver[] VALUES = values();
174
175 public static SchedulingSolver valueOf(
176 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
177 if (desc.getType() != getDescriptor()) {
178 throw new java.lang.IllegalArgumentException(
179 "EnumValueDescriptor is not for this type.");
180 }
181 if (desc.getIndex() == -1) {
182 return UNRECOGNIZED;
183 }
184 return VALUES[desc.getIndex()];
185 }
186
187 private final int value;
188
189 private SchedulingSolver(int value) {
190 this.value = value;
191 }
192
193 // @@protoc_insertion_point(enum_scope:operations_research.RoutingSearchParameters.SchedulingSolver)
194 }
195
197 // @@protoc_insertion_point(interface_extends:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
198 com.google.protobuf.MessageOrBuilder {
199
234
269
300
361
406
437
468
489
524
543
580
617
656
681
710
741
778
807
842
869
898
925
954
991
1020
1041
1080
1113
1132
1161
1184
1207
1226
1249
1274
1295
1320
1341
1364
1385 }
1386
1394 public static final class LocalSearchNeighborhoodOperators extends
1395 com.google.protobuf.GeneratedMessage implements
1396 // @@protoc_insertion_point(message_implements:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
1398 private static final long serialVersionUID = 0L;
1399 static {
1400 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
1401 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
1402 /* major= */ 4,
1403 /* minor= */ 33,
1404 /* patch= */ 1,
1405 /* suffix= */ "",
1406 "LocalSearchNeighborhoodOperators");
1407 }
1408 // Use LocalSearchNeighborhoodOperators.newBuilder() to construct.
1409 private LocalSearchNeighborhoodOperators(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
1410 super(builder);
1411 }
1412 private LocalSearchNeighborhoodOperators() {
1413 useRelocate_ = 0;
1414 useRelocatePair_ = 0;
1415 useLightRelocatePair_ = 0;
1416 useRelocateNeighbors_ = 0;
1417 useRelocateSubtrip_ = 0;
1418 useExchange_ = 0;
1419 useExchangePair_ = 0;
1420 useExchangeSubtrip_ = 0;
1421 useCross_ = 0;
1422 useCrossExchange_ = 0;
1423 useRelocateExpensiveChain_ = 0;
1424 useTwoOpt_ = 0;
1425 useOrOpt_ = 0;
1426 useLinKernighan_ = 0;
1427 useTspOpt_ = 0;
1428 useMakeActive_ = 0;
1429 useRelocateAndMakeActive_ = 0;
1430 useExchangeAndMakeActive_ = 0;
1431 useExchangePathStartEndsAndMakeActive_ = 0;
1432 useMakeInactive_ = 0;
1433 useMakeChainInactive_ = 0;
1434 useSwapActive_ = 0;
1435 useSwapActiveChain_ = 0;
1436 useExtendedSwapActive_ = 0;
1437 useShortestPathSwapActive_ = 0;
1438 useShortestPathTwoOpt_ = 0;
1439 useNodePairSwapActive_ = 0;
1440 usePathLns_ = 0;
1441 useFullPathLns_ = 0;
1442 useTspLns_ = 0;
1443 useInactiveLns_ = 0;
1444 useGlobalCheapestInsertionPathLns_ = 0;
1445 useLocalCheapestInsertionPathLns_ = 0;
1446 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
1447 useGlobalCheapestInsertionExpensiveChainLns_ = 0;
1448 useLocalCheapestInsertionExpensiveChainLns_ = 0;
1449 useGlobalCheapestInsertionCloseNodesLns_ = 0;
1450 useLocalCheapestInsertionCloseNodesLns_ = 0;
1451 useGlobalCheapestInsertionVisitTypesLns_ = 0;
1452 useLocalCheapestInsertionVisitTypesLns_ = 0;
1453 }
1454
1455 public static final com.google.protobuf.Descriptors.Descriptor
1457 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
1458 }
1459
1460 @java.lang.Override
1461 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
1463 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_fieldAccessorTable
1464 .ensureFieldAccessorsInitialized(
1465 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.class, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder.class);
1466 }
1467
1468 public static final int USE_RELOCATE_FIELD_NUMBER = 1;
1469 private int useRelocate_ = 0;
1486 @java.lang.Override public int getUseRelocateValue() {
1487 return useRelocate_;
1488 }
1489
1506 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocate_);
1507 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1508 }
1509
1510 public static final int USE_RELOCATE_PAIR_FIELD_NUMBER = 2;
1511 private int useRelocatePair_ = 0;
1528 @java.lang.Override public int getUseRelocatePairValue() {
1529 return useRelocatePair_;
1530 }
1531
1548 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocatePair_);
1549 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1550 }
1551
1552 public static final int USE_LIGHT_RELOCATE_PAIR_FIELD_NUMBER = 24;
1553 private int useLightRelocatePair_ = 0;
1568 @java.lang.Override public int getUseLightRelocatePairValue() {
1569 return useLightRelocatePair_;
1570 }
1571
1586 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useLightRelocatePair_);
1587 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1588 }
1589
1590 public static final int USE_RELOCATE_NEIGHBORS_FIELD_NUMBER = 3;
1591 private int useRelocateNeighbors_ = 0;
1621 @java.lang.Override public int getUseRelocateNeighborsValue() {
1622 return useRelocateNeighbors_;
1623 }
1624
1654 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocateNeighbors_);
1655 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1656 }
1657
1658 public static final int USE_RELOCATE_SUBTRIP_FIELD_NUMBER = 25;
1659 private int useRelocateSubtrip_ = 0;
1681 @java.lang.Override public int getUseRelocateSubtripValue() {
1682 return useRelocateSubtrip_;
1683 }
1684
1706 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocateSubtrip_);
1707 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1708 }
1709
1710 public static final int USE_EXCHANGE_FIELD_NUMBER = 4;
1711 private int useExchange_ = 0;
1726 @java.lang.Override public int getUseExchangeValue() {
1727 return useExchange_;
1728 }
1729
1744 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useExchange_);
1745 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1746 }
1747
1748 public static final int USE_EXCHANGE_PAIR_FIELD_NUMBER = 22;
1749 private int useExchangePair_ = 0;
1764 @java.lang.Override public int getUseExchangePairValue() {
1765 return useExchangePair_;
1766 }
1767
1782 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useExchangePair_);
1783 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1784 }
1785
1786 public static final int USE_EXCHANGE_SUBTRIP_FIELD_NUMBER = 26;
1787 private int useExchangeSubtrip_ = 0;
1797 @java.lang.Override public int getUseExchangeSubtripValue() {
1798 return useExchangeSubtrip_;
1799 }
1800
1810 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useExchangeSubtrip_);
1811 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1812 }
1813
1814 public static final int USE_CROSS_FIELD_NUMBER = 5;
1815 private int useCross_ = 0;
1832 @java.lang.Override public int getUseCrossValue() {
1833 return useCross_;
1834 }
1835
1852 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useCross_);
1853 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1854 }
1855
1856 public static final int USE_CROSS_EXCHANGE_FIELD_NUMBER = 6;
1857 private int useCrossExchange_ = 0;
1866 @java.lang.Override public int getUseCrossExchangeValue() {
1867 return useCrossExchange_;
1868 }
1869
1878 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useCrossExchange_);
1879 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1880 }
1881
1882 public static final int USE_RELOCATE_EXPENSIVE_CHAIN_FIELD_NUMBER = 23;
1883 private int useRelocateExpensiveChain_ = 0;
1901 @java.lang.Override public int getUseRelocateExpensiveChainValue() {
1902 return useRelocateExpensiveChain_;
1903 }
1904
1922 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocateExpensiveChain_);
1923 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1924 }
1925
1926 public static final int USE_TWO_OPT_FIELD_NUMBER = 7;
1927 private int useTwoOpt_ = 0;
1945 @java.lang.Override public int getUseTwoOptValue() {
1946 return useTwoOpt_;
1947 }
1948
1966 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useTwoOpt_);
1967 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1968 }
1969
1970 public static final int USE_OR_OPT_FIELD_NUMBER = 8;
1971 private int useOrOpt_ = 0;
1990 @java.lang.Override public int getUseOrOptValue() {
1991 return useOrOpt_;
1992 }
1993
2012 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useOrOpt_);
2013 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2014 }
2015
2016 public static final int USE_LIN_KERNIGHAN_FIELD_NUMBER = 9;
2017 private int useLinKernighan_ = 0;
2029 @java.lang.Override public int getUseLinKernighanValue() {
2030 return useLinKernighan_;
2031 }
2032
2044 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useLinKernighan_);
2045 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2046 }
2047
2048 public static final int USE_TSP_OPT_FIELD_NUMBER = 10;
2049 private int useTspOpt_ = 0;
2063 @java.lang.Override public int getUseTspOptValue() {
2064 return useTspOpt_;
2065 }
2066
2080 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useTspOpt_);
2081 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2082 }
2083
2084 public static final int USE_MAKE_ACTIVE_FIELD_NUMBER = 11;
2085 private int useMakeActive_ = 0;
2100 @java.lang.Override public int getUseMakeActiveValue() {
2101 return useMakeActive_;
2102 }
2103
2118 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useMakeActive_);
2119 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2120 }
2121
2122 public static final int USE_RELOCATE_AND_MAKE_ACTIVE_FIELD_NUMBER = 21;
2123 private int useRelocateAndMakeActive_ = 0;
2141 @java.lang.Override public int getUseRelocateAndMakeActiveValue() {
2142 return useRelocateAndMakeActive_;
2143 }
2144
2162 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocateAndMakeActive_);
2163 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2164 }
2165
2166 public static final int USE_EXCHANGE_AND_MAKE_ACTIVE_FIELD_NUMBER = 37;
2167 private int useExchangeAndMakeActive_ = 0;
2181 @java.lang.Override public int getUseExchangeAndMakeActiveValue() {
2182 return useExchangeAndMakeActive_;
2183 }
2184
2198 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useExchangeAndMakeActive_);
2199 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2200 }
2201
2203 private int useExchangePathStartEndsAndMakeActive_ = 0;
2220 @java.lang.Override public int getUseExchangePathStartEndsAndMakeActiveValue() {
2221 return useExchangePathStartEndsAndMakeActive_;
2222 }
2223
2240 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useExchangePathStartEndsAndMakeActive_);
2241 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2242 }
2243
2244 public static final int USE_MAKE_INACTIVE_FIELD_NUMBER = 12;
2245 private int useMakeInactive_ = 0;
2258 @java.lang.Override public int getUseMakeInactiveValue() {
2259 return useMakeInactive_;
2260 }
2261
2274 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useMakeInactive_);
2275 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2276 }
2277
2278 public static final int USE_MAKE_CHAIN_INACTIVE_FIELD_NUMBER = 13;
2279 private int useMakeChainInactive_ = 0;
2293 @java.lang.Override public int getUseMakeChainInactiveValue() {
2294 return useMakeChainInactive_;
2295 }
2296
2310 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useMakeChainInactive_);
2311 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2312 }
2313
2314 public static final int USE_SWAP_ACTIVE_FIELD_NUMBER = 14;
2315 private int useSwapActive_ = 0;
2328 @java.lang.Override public int getUseSwapActiveValue() {
2329 return useSwapActive_;
2330 }
2331
2344 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useSwapActive_);
2345 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2346 }
2347
2348 public static final int USE_SWAP_ACTIVE_CHAIN_FIELD_NUMBER = 35;
2349 private int useSwapActiveChain_ = 0;
2363 @java.lang.Override public int getUseSwapActiveChainValue() {
2364 return useSwapActiveChain_;
2365 }
2366
2380 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useSwapActiveChain_);
2381 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2382 }
2383
2384 public static final int USE_EXTENDED_SWAP_ACTIVE_FIELD_NUMBER = 15;
2385 private int useExtendedSwapActive_ = 0;
2403 @java.lang.Override public int getUseExtendedSwapActiveValue() {
2404 return useExtendedSwapActive_;
2405 }
2406
2424 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useExtendedSwapActive_);
2425 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2426 }
2427
2429 private int useShortestPathSwapActive_ = 0;
2443 @java.lang.Override public int getUseShortestPathSwapActiveValue() {
2444 return useShortestPathSwapActive_;
2445 }
2446
2460 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useShortestPathSwapActive_);
2461 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2462 }
2463
2464 public static final int USE_SHORTEST_PATH_TWO_OPT_FIELD_NUMBER = 36;
2465 private int useShortestPathTwoOpt_ = 0;
2475 @java.lang.Override public int getUseShortestPathTwoOptValue() {
2476 return useShortestPathTwoOpt_;
2477 }
2478
2488 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useShortestPathTwoOpt_);
2489 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2490 }
2491
2492 public static final int USE_NODE_PAIR_SWAP_ACTIVE_FIELD_NUMBER = 20;
2493 private int useNodePairSwapActive_ = 0;
2512 @java.lang.Override public int getUseNodePairSwapActiveValue() {
2513 return useNodePairSwapActive_;
2514 }
2515
2534 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useNodePairSwapActive_);
2535 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2536 }
2537
2538 public static final int USE_PATH_LNS_FIELD_NUMBER = 16;
2539 private int usePathLns_ = 0;
2555 @java.lang.Override public int getUsePathLnsValue() {
2556 return usePathLns_;
2557 }
2558
2574 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(usePathLns_);
2575 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2576 }
2577
2578 public static final int USE_FULL_PATH_LNS_FIELD_NUMBER = 17;
2579 private int useFullPathLns_ = 0;
2588 @java.lang.Override public int getUseFullPathLnsValue() {
2589 return useFullPathLns_;
2590 }
2591
2600 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useFullPathLns_);
2601 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2602 }
2603
2604 public static final int USE_TSP_LNS_FIELD_NUMBER = 18;
2605 private int useTspLns_ = 0;
2619 @java.lang.Override public int getUseTspLnsValue() {
2620 return useTspLns_;
2621 }
2622
2636 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useTspLns_);
2637 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2638 }
2639
2640 public static final int USE_INACTIVE_LNS_FIELD_NUMBER = 19;
2641 private int useInactiveLns_ = 0;
2652 @java.lang.Override public int getUseInactiveLnsValue() {
2653 return useInactiveLns_;
2654 }
2655
2666 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useInactiveLns_);
2667 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2668 }
2669
2671 private int useGlobalCheapestInsertionPathLns_ = 0;
2682 @java.lang.Override public int getUseGlobalCheapestInsertionPathLnsValue() {
2683 return useGlobalCheapestInsertionPathLns_;
2684 }
2685
2696 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useGlobalCheapestInsertionPathLns_);
2697 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2698 }
2699
2701 private int useLocalCheapestInsertionPathLns_ = 0;
2710 @java.lang.Override public int getUseLocalCheapestInsertionPathLnsValue() {
2711 return useLocalCheapestInsertionPathLns_;
2712 }
2713
2722 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useLocalCheapestInsertionPathLns_);
2723 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2724 }
2725
2727 private int useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
2739 return useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
2740 }
2741
2752 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocatePathGlobalCheapestInsertionInsertUnperformed_);
2753 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2754 }
2755
2757 private int useGlobalCheapestInsertionExpensiveChainLns_ = 0;
2770 return useGlobalCheapestInsertionExpensiveChainLns_;
2771 }
2772
2784 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useGlobalCheapestInsertionExpensiveChainLns_);
2785 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2786 }
2787
2789 private int useLocalCheapestInsertionExpensiveChainLns_ = 0;
2800 return useLocalCheapestInsertionExpensiveChainLns_;
2801 }
2802
2812 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useLocalCheapestInsertionExpensiveChainLns_);
2813 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2814 }
2815
2817 private int useGlobalCheapestInsertionCloseNodesLns_ = 0;
2829 @java.lang.Override public int getUseGlobalCheapestInsertionCloseNodesLnsValue() {
2830 return useGlobalCheapestInsertionCloseNodesLns_;
2831 }
2832
2844 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useGlobalCheapestInsertionCloseNodesLns_);
2845 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2846 }
2847
2849 private int useLocalCheapestInsertionCloseNodesLns_ = 0;
2859 @java.lang.Override public int getUseLocalCheapestInsertionCloseNodesLnsValue() {
2860 return useLocalCheapestInsertionCloseNodesLns_;
2861 }
2862
2872 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useLocalCheapestInsertionCloseNodesLns_);
2873 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2874 }
2875
2877 private int useGlobalCheapestInsertionVisitTypesLns_ = 0;
2888 @java.lang.Override public int getUseGlobalCheapestInsertionVisitTypesLnsValue() {
2889 return useGlobalCheapestInsertionVisitTypesLns_;
2890 }
2891
2902 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useGlobalCheapestInsertionVisitTypesLns_);
2903 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2904 }
2905
2907 private int useLocalCheapestInsertionVisitTypesLns_ = 0;
2917 @java.lang.Override public int getUseLocalCheapestInsertionVisitTypesLnsValue() {
2918 return useLocalCheapestInsertionVisitTypesLns_;
2919 }
2920
2930 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useLocalCheapestInsertionVisitTypesLns_);
2931 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2932 }
2933
2934 private byte memoizedIsInitialized = -1;
2935 @java.lang.Override
2936 public final boolean isInitialized() {
2937 byte isInitialized = memoizedIsInitialized;
2938 if (isInitialized == 1) return true;
2939 if (isInitialized == 0) return false;
2940
2941 memoizedIsInitialized = 1;
2942 return true;
2943 }
2944
2945 @java.lang.Override
2946 public void writeTo(com.google.protobuf.CodedOutputStream output)
2947 throws java.io.IOException {
2948 if (useRelocate_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2949 output.writeEnum(1, useRelocate_);
2950 }
2951 if (useRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2952 output.writeEnum(2, useRelocatePair_);
2953 }
2954 if (useRelocateNeighbors_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2955 output.writeEnum(3, useRelocateNeighbors_);
2956 }
2957 if (useExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2958 output.writeEnum(4, useExchange_);
2959 }
2960 if (useCross_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2961 output.writeEnum(5, useCross_);
2962 }
2963 if (useCrossExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2964 output.writeEnum(6, useCrossExchange_);
2965 }
2966 if (useTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2967 output.writeEnum(7, useTwoOpt_);
2968 }
2969 if (useOrOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2970 output.writeEnum(8, useOrOpt_);
2971 }
2972 if (useLinKernighan_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2973 output.writeEnum(9, useLinKernighan_);
2974 }
2975 if (useTspOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2976 output.writeEnum(10, useTspOpt_);
2977 }
2978 if (useMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2979 output.writeEnum(11, useMakeActive_);
2980 }
2981 if (useMakeInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2982 output.writeEnum(12, useMakeInactive_);
2983 }
2984 if (useMakeChainInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2985 output.writeEnum(13, useMakeChainInactive_);
2986 }
2987 if (useSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2988 output.writeEnum(14, useSwapActive_);
2989 }
2990 if (useExtendedSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2991 output.writeEnum(15, useExtendedSwapActive_);
2992 }
2993 if (usePathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2994 output.writeEnum(16, usePathLns_);
2995 }
2996 if (useFullPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2997 output.writeEnum(17, useFullPathLns_);
2998 }
2999 if (useTspLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3000 output.writeEnum(18, useTspLns_);
3001 }
3002 if (useInactiveLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3003 output.writeEnum(19, useInactiveLns_);
3004 }
3005 if (useNodePairSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3006 output.writeEnum(20, useNodePairSwapActive_);
3007 }
3008 if (useRelocateAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3009 output.writeEnum(21, useRelocateAndMakeActive_);
3010 }
3011 if (useExchangePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3012 output.writeEnum(22, useExchangePair_);
3013 }
3014 if (useRelocateExpensiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3015 output.writeEnum(23, useRelocateExpensiveChain_);
3016 }
3017 if (useLightRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3018 output.writeEnum(24, useLightRelocatePair_);
3019 }
3020 if (useRelocateSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3021 output.writeEnum(25, useRelocateSubtrip_);
3022 }
3023 if (useExchangeSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3024 output.writeEnum(26, useExchangeSubtrip_);
3025 }
3026 if (useGlobalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3027 output.writeEnum(27, useGlobalCheapestInsertionPathLns_);
3028 }
3029 if (useLocalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3030 output.writeEnum(28, useLocalCheapestInsertionPathLns_);
3031 }
3032 if (useGlobalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3033 output.writeEnum(29, useGlobalCheapestInsertionExpensiveChainLns_);
3034 }
3035 if (useLocalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3036 output.writeEnum(30, useLocalCheapestInsertionExpensiveChainLns_);
3037 }
3038 if (useGlobalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3039 output.writeEnum(31, useGlobalCheapestInsertionCloseNodesLns_);
3040 }
3041 if (useLocalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3042 output.writeEnum(32, useLocalCheapestInsertionCloseNodesLns_);
3043 }
3044 if (useRelocatePathGlobalCheapestInsertionInsertUnperformed_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3045 output.writeEnum(33, useRelocatePathGlobalCheapestInsertionInsertUnperformed_);
3046 }
3047 if (useShortestPathSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3048 output.writeEnum(34, useShortestPathSwapActive_);
3049 }
3050 if (useSwapActiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3051 output.writeEnum(35, useSwapActiveChain_);
3052 }
3053 if (useShortestPathTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3054 output.writeEnum(36, useShortestPathTwoOpt_);
3055 }
3056 if (useExchangeAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3057 output.writeEnum(37, useExchangeAndMakeActive_);
3058 }
3059 if (useExchangePathStartEndsAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3060 output.writeEnum(38, useExchangePathStartEndsAndMakeActive_);
3061 }
3062 if (useGlobalCheapestInsertionVisitTypesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3063 output.writeEnum(39, useGlobalCheapestInsertionVisitTypesLns_);
3064 }
3065 if (useLocalCheapestInsertionVisitTypesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3066 output.writeEnum(40, useLocalCheapestInsertionVisitTypesLns_);
3067 }
3068 getUnknownFields().writeTo(output);
3069 }
3070
3071 @java.lang.Override
3072 public int getSerializedSize() {
3073 int size = memoizedSize;
3074 if (size != -1) return size;
3075
3076 size = 0;
3077 if (useRelocate_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3078 size += com.google.protobuf.CodedOutputStream
3079 .computeEnumSize(1, useRelocate_);
3080 }
3081 if (useRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3082 size += com.google.protobuf.CodedOutputStream
3083 .computeEnumSize(2, useRelocatePair_);
3084 }
3085 if (useRelocateNeighbors_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3086 size += com.google.protobuf.CodedOutputStream
3087 .computeEnumSize(3, useRelocateNeighbors_);
3088 }
3089 if (useExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3090 size += com.google.protobuf.CodedOutputStream
3091 .computeEnumSize(4, useExchange_);
3092 }
3093 if (useCross_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3094 size += com.google.protobuf.CodedOutputStream
3095 .computeEnumSize(5, useCross_);
3096 }
3097 if (useCrossExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3098 size += com.google.protobuf.CodedOutputStream
3099 .computeEnumSize(6, useCrossExchange_);
3100 }
3101 if (useTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3102 size += com.google.protobuf.CodedOutputStream
3103 .computeEnumSize(7, useTwoOpt_);
3104 }
3105 if (useOrOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3106 size += com.google.protobuf.CodedOutputStream
3107 .computeEnumSize(8, useOrOpt_);
3108 }
3109 if (useLinKernighan_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3110 size += com.google.protobuf.CodedOutputStream
3111 .computeEnumSize(9, useLinKernighan_);
3112 }
3113 if (useTspOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3114 size += com.google.protobuf.CodedOutputStream
3115 .computeEnumSize(10, useTspOpt_);
3116 }
3117 if (useMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3118 size += com.google.protobuf.CodedOutputStream
3119 .computeEnumSize(11, useMakeActive_);
3120 }
3121 if (useMakeInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3122 size += com.google.protobuf.CodedOutputStream
3123 .computeEnumSize(12, useMakeInactive_);
3124 }
3125 if (useMakeChainInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3126 size += com.google.protobuf.CodedOutputStream
3127 .computeEnumSize(13, useMakeChainInactive_);
3128 }
3129 if (useSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3130 size += com.google.protobuf.CodedOutputStream
3131 .computeEnumSize(14, useSwapActive_);
3132 }
3133 if (useExtendedSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3134 size += com.google.protobuf.CodedOutputStream
3135 .computeEnumSize(15, useExtendedSwapActive_);
3136 }
3137 if (usePathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3138 size += com.google.protobuf.CodedOutputStream
3139 .computeEnumSize(16, usePathLns_);
3140 }
3141 if (useFullPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3142 size += com.google.protobuf.CodedOutputStream
3143 .computeEnumSize(17, useFullPathLns_);
3144 }
3145 if (useTspLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3146 size += com.google.protobuf.CodedOutputStream
3147 .computeEnumSize(18, useTspLns_);
3148 }
3149 if (useInactiveLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3150 size += com.google.protobuf.CodedOutputStream
3151 .computeEnumSize(19, useInactiveLns_);
3152 }
3153 if (useNodePairSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3154 size += com.google.protobuf.CodedOutputStream
3155 .computeEnumSize(20, useNodePairSwapActive_);
3156 }
3157 if (useRelocateAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3158 size += com.google.protobuf.CodedOutputStream
3159 .computeEnumSize(21, useRelocateAndMakeActive_);
3160 }
3161 if (useExchangePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3162 size += com.google.protobuf.CodedOutputStream
3163 .computeEnumSize(22, useExchangePair_);
3164 }
3165 if (useRelocateExpensiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3166 size += com.google.protobuf.CodedOutputStream
3167 .computeEnumSize(23, useRelocateExpensiveChain_);
3168 }
3169 if (useLightRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3170 size += com.google.protobuf.CodedOutputStream
3171 .computeEnumSize(24, useLightRelocatePair_);
3172 }
3173 if (useRelocateSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3174 size += com.google.protobuf.CodedOutputStream
3175 .computeEnumSize(25, useRelocateSubtrip_);
3176 }
3177 if (useExchangeSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3178 size += com.google.protobuf.CodedOutputStream
3179 .computeEnumSize(26, useExchangeSubtrip_);
3180 }
3181 if (useGlobalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3182 size += com.google.protobuf.CodedOutputStream
3183 .computeEnumSize(27, useGlobalCheapestInsertionPathLns_);
3184 }
3185 if (useLocalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3186 size += com.google.protobuf.CodedOutputStream
3187 .computeEnumSize(28, useLocalCheapestInsertionPathLns_);
3188 }
3189 if (useGlobalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3190 size += com.google.protobuf.CodedOutputStream
3191 .computeEnumSize(29, useGlobalCheapestInsertionExpensiveChainLns_);
3192 }
3193 if (useLocalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3194 size += com.google.protobuf.CodedOutputStream
3195 .computeEnumSize(30, useLocalCheapestInsertionExpensiveChainLns_);
3196 }
3197 if (useGlobalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3198 size += com.google.protobuf.CodedOutputStream
3199 .computeEnumSize(31, useGlobalCheapestInsertionCloseNodesLns_);
3200 }
3201 if (useLocalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3202 size += com.google.protobuf.CodedOutputStream
3203 .computeEnumSize(32, useLocalCheapestInsertionCloseNodesLns_);
3204 }
3205 if (useRelocatePathGlobalCheapestInsertionInsertUnperformed_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3206 size += com.google.protobuf.CodedOutputStream
3207 .computeEnumSize(33, useRelocatePathGlobalCheapestInsertionInsertUnperformed_);
3208 }
3209 if (useShortestPathSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3210 size += com.google.protobuf.CodedOutputStream
3211 .computeEnumSize(34, useShortestPathSwapActive_);
3212 }
3213 if (useSwapActiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3214 size += com.google.protobuf.CodedOutputStream
3215 .computeEnumSize(35, useSwapActiveChain_);
3216 }
3217 if (useShortestPathTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3218 size += com.google.protobuf.CodedOutputStream
3219 .computeEnumSize(36, useShortestPathTwoOpt_);
3220 }
3221 if (useExchangeAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3222 size += com.google.protobuf.CodedOutputStream
3223 .computeEnumSize(37, useExchangeAndMakeActive_);
3224 }
3225 if (useExchangePathStartEndsAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3226 size += com.google.protobuf.CodedOutputStream
3227 .computeEnumSize(38, useExchangePathStartEndsAndMakeActive_);
3228 }
3229 if (useGlobalCheapestInsertionVisitTypesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3230 size += com.google.protobuf.CodedOutputStream
3231 .computeEnumSize(39, useGlobalCheapestInsertionVisitTypesLns_);
3232 }
3233 if (useLocalCheapestInsertionVisitTypesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3234 size += com.google.protobuf.CodedOutputStream
3235 .computeEnumSize(40, useLocalCheapestInsertionVisitTypesLns_);
3236 }
3237 size += getUnknownFields().getSerializedSize();
3238 memoizedSize = size;
3239 return size;
3240 }
3241
3242 @java.lang.Override
3243 public boolean equals(final java.lang.Object obj) {
3244 if (obj == this) {
3245 return true;
3246 }
3247 if (!(obj instanceof com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators)) {
3248 return super.equals(obj);
3249 }
3250 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators other = (com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators) obj;
3251
3252 if (useRelocate_ != other.useRelocate_) return false;
3253 if (useRelocatePair_ != other.useRelocatePair_) return false;
3254 if (useLightRelocatePair_ != other.useLightRelocatePair_) return false;
3255 if (useRelocateNeighbors_ != other.useRelocateNeighbors_) return false;
3256 if (useRelocateSubtrip_ != other.useRelocateSubtrip_) return false;
3257 if (useExchange_ != other.useExchange_) return false;
3258 if (useExchangePair_ != other.useExchangePair_) return false;
3259 if (useExchangeSubtrip_ != other.useExchangeSubtrip_) return false;
3260 if (useCross_ != other.useCross_) return false;
3261 if (useCrossExchange_ != other.useCrossExchange_) return false;
3262 if (useRelocateExpensiveChain_ != other.useRelocateExpensiveChain_) return false;
3263 if (useTwoOpt_ != other.useTwoOpt_) return false;
3264 if (useOrOpt_ != other.useOrOpt_) return false;
3265 if (useLinKernighan_ != other.useLinKernighan_) return false;
3266 if (useTspOpt_ != other.useTspOpt_) return false;
3267 if (useMakeActive_ != other.useMakeActive_) return false;
3268 if (useRelocateAndMakeActive_ != other.useRelocateAndMakeActive_) return false;
3269 if (useExchangeAndMakeActive_ != other.useExchangeAndMakeActive_) return false;
3270 if (useExchangePathStartEndsAndMakeActive_ != other.useExchangePathStartEndsAndMakeActive_) return false;
3271 if (useMakeInactive_ != other.useMakeInactive_) return false;
3272 if (useMakeChainInactive_ != other.useMakeChainInactive_) return false;
3273 if (useSwapActive_ != other.useSwapActive_) return false;
3274 if (useSwapActiveChain_ != other.useSwapActiveChain_) return false;
3275 if (useExtendedSwapActive_ != other.useExtendedSwapActive_) return false;
3276 if (useShortestPathSwapActive_ != other.useShortestPathSwapActive_) return false;
3277 if (useShortestPathTwoOpt_ != other.useShortestPathTwoOpt_) return false;
3278 if (useNodePairSwapActive_ != other.useNodePairSwapActive_) return false;
3279 if (usePathLns_ != other.usePathLns_) return false;
3280 if (useFullPathLns_ != other.useFullPathLns_) return false;
3281 if (useTspLns_ != other.useTspLns_) return false;
3282 if (useInactiveLns_ != other.useInactiveLns_) return false;
3283 if (useGlobalCheapestInsertionPathLns_ != other.useGlobalCheapestInsertionPathLns_) return false;
3284 if (useLocalCheapestInsertionPathLns_ != other.useLocalCheapestInsertionPathLns_) return false;
3285 if (useRelocatePathGlobalCheapestInsertionInsertUnperformed_ != other.useRelocatePathGlobalCheapestInsertionInsertUnperformed_) return false;
3286 if (useGlobalCheapestInsertionExpensiveChainLns_ != other.useGlobalCheapestInsertionExpensiveChainLns_) return false;
3287 if (useLocalCheapestInsertionExpensiveChainLns_ != other.useLocalCheapestInsertionExpensiveChainLns_) return false;
3288 if (useGlobalCheapestInsertionCloseNodesLns_ != other.useGlobalCheapestInsertionCloseNodesLns_) return false;
3289 if (useLocalCheapestInsertionCloseNodesLns_ != other.useLocalCheapestInsertionCloseNodesLns_) return false;
3290 if (useGlobalCheapestInsertionVisitTypesLns_ != other.useGlobalCheapestInsertionVisitTypesLns_) return false;
3291 if (useLocalCheapestInsertionVisitTypesLns_ != other.useLocalCheapestInsertionVisitTypesLns_) return false;
3292 if (!getUnknownFields().equals(other.getUnknownFields())) return false;
3293 return true;
3294 }
3295
3296 @java.lang.Override
3297 public int hashCode() {
3298 if (memoizedHashCode != 0) {
3299 return memoizedHashCode;
3300 }
3301 int hash = 41;
3302 hash = (19 * hash) + getDescriptor().hashCode();
3303 hash = (37 * hash) + USE_RELOCATE_FIELD_NUMBER;
3304 hash = (53 * hash) + useRelocate_;
3305 hash = (37 * hash) + USE_RELOCATE_PAIR_FIELD_NUMBER;
3306 hash = (53 * hash) + useRelocatePair_;
3307 hash = (37 * hash) + USE_LIGHT_RELOCATE_PAIR_FIELD_NUMBER;
3308 hash = (53 * hash) + useLightRelocatePair_;
3309 hash = (37 * hash) + USE_RELOCATE_NEIGHBORS_FIELD_NUMBER;
3310 hash = (53 * hash) + useRelocateNeighbors_;
3311 hash = (37 * hash) + USE_RELOCATE_SUBTRIP_FIELD_NUMBER;
3312 hash = (53 * hash) + useRelocateSubtrip_;
3313 hash = (37 * hash) + USE_EXCHANGE_FIELD_NUMBER;
3314 hash = (53 * hash) + useExchange_;
3315 hash = (37 * hash) + USE_EXCHANGE_PAIR_FIELD_NUMBER;
3316 hash = (53 * hash) + useExchangePair_;
3317 hash = (37 * hash) + USE_EXCHANGE_SUBTRIP_FIELD_NUMBER;
3318 hash = (53 * hash) + useExchangeSubtrip_;
3319 hash = (37 * hash) + USE_CROSS_FIELD_NUMBER;
3320 hash = (53 * hash) + useCross_;
3321 hash = (37 * hash) + USE_CROSS_EXCHANGE_FIELD_NUMBER;
3322 hash = (53 * hash) + useCrossExchange_;
3323 hash = (37 * hash) + USE_RELOCATE_EXPENSIVE_CHAIN_FIELD_NUMBER;
3324 hash = (53 * hash) + useRelocateExpensiveChain_;
3325 hash = (37 * hash) + USE_TWO_OPT_FIELD_NUMBER;
3326 hash = (53 * hash) + useTwoOpt_;
3327 hash = (37 * hash) + USE_OR_OPT_FIELD_NUMBER;
3328 hash = (53 * hash) + useOrOpt_;
3329 hash = (37 * hash) + USE_LIN_KERNIGHAN_FIELD_NUMBER;
3330 hash = (53 * hash) + useLinKernighan_;
3331 hash = (37 * hash) + USE_TSP_OPT_FIELD_NUMBER;
3332 hash = (53 * hash) + useTspOpt_;
3333 hash = (37 * hash) + USE_MAKE_ACTIVE_FIELD_NUMBER;
3334 hash = (53 * hash) + useMakeActive_;
3335 hash = (37 * hash) + USE_RELOCATE_AND_MAKE_ACTIVE_FIELD_NUMBER;
3336 hash = (53 * hash) + useRelocateAndMakeActive_;
3337 hash = (37 * hash) + USE_EXCHANGE_AND_MAKE_ACTIVE_FIELD_NUMBER;
3338 hash = (53 * hash) + useExchangeAndMakeActive_;
3340 hash = (53 * hash) + useExchangePathStartEndsAndMakeActive_;
3341 hash = (37 * hash) + USE_MAKE_INACTIVE_FIELD_NUMBER;
3342 hash = (53 * hash) + useMakeInactive_;
3343 hash = (37 * hash) + USE_MAKE_CHAIN_INACTIVE_FIELD_NUMBER;
3344 hash = (53 * hash) + useMakeChainInactive_;
3345 hash = (37 * hash) + USE_SWAP_ACTIVE_FIELD_NUMBER;
3346 hash = (53 * hash) + useSwapActive_;
3347 hash = (37 * hash) + USE_SWAP_ACTIVE_CHAIN_FIELD_NUMBER;
3348 hash = (53 * hash) + useSwapActiveChain_;
3349 hash = (37 * hash) + USE_EXTENDED_SWAP_ACTIVE_FIELD_NUMBER;
3350 hash = (53 * hash) + useExtendedSwapActive_;
3351 hash = (37 * hash) + USE_SHORTEST_PATH_SWAP_ACTIVE_FIELD_NUMBER;
3352 hash = (53 * hash) + useShortestPathSwapActive_;
3353 hash = (37 * hash) + USE_SHORTEST_PATH_TWO_OPT_FIELD_NUMBER;
3354 hash = (53 * hash) + useShortestPathTwoOpt_;
3355 hash = (37 * hash) + USE_NODE_PAIR_SWAP_ACTIVE_FIELD_NUMBER;
3356 hash = (53 * hash) + useNodePairSwapActive_;
3357 hash = (37 * hash) + USE_PATH_LNS_FIELD_NUMBER;
3358 hash = (53 * hash) + usePathLns_;
3359 hash = (37 * hash) + USE_FULL_PATH_LNS_FIELD_NUMBER;
3360 hash = (53 * hash) + useFullPathLns_;
3361 hash = (37 * hash) + USE_TSP_LNS_FIELD_NUMBER;
3362 hash = (53 * hash) + useTspLns_;
3363 hash = (37 * hash) + USE_INACTIVE_LNS_FIELD_NUMBER;
3364 hash = (53 * hash) + useInactiveLns_;
3366 hash = (53 * hash) + useGlobalCheapestInsertionPathLns_;
3368 hash = (53 * hash) + useLocalCheapestInsertionPathLns_;
3370 hash = (53 * hash) + useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
3372 hash = (53 * hash) + useGlobalCheapestInsertionExpensiveChainLns_;
3374 hash = (53 * hash) + useLocalCheapestInsertionExpensiveChainLns_;
3376 hash = (53 * hash) + useGlobalCheapestInsertionCloseNodesLns_;
3378 hash = (53 * hash) + useLocalCheapestInsertionCloseNodesLns_;
3380 hash = (53 * hash) + useGlobalCheapestInsertionVisitTypesLns_;
3382 hash = (53 * hash) + useLocalCheapestInsertionVisitTypesLns_;
3383 hash = (29 * hash) + getUnknownFields().hashCode();
3384 memoizedHashCode = hash;
3385 return hash;
3386 }
3387
3389 java.nio.ByteBuffer data)
3390 throws com.google.protobuf.InvalidProtocolBufferException {
3391 return PARSER.parseFrom(data);
3392 }
3394 java.nio.ByteBuffer data,
3395 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3396 throws com.google.protobuf.InvalidProtocolBufferException {
3397 return PARSER.parseFrom(data, extensionRegistry);
3398 }
3400 com.google.protobuf.ByteString data)
3401 throws com.google.protobuf.InvalidProtocolBufferException {
3402 return PARSER.parseFrom(data);
3403 }
3405 com.google.protobuf.ByteString data,
3406 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3407 throws com.google.protobuf.InvalidProtocolBufferException {
3408 return PARSER.parseFrom(data, extensionRegistry);
3409 }
3411 throws com.google.protobuf.InvalidProtocolBufferException {
3412 return PARSER.parseFrom(data);
3413 }
3415 byte[] data,
3416 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3417 throws com.google.protobuf.InvalidProtocolBufferException {
3418 return PARSER.parseFrom(data, extensionRegistry);
3419 }
3421 throws java.io.IOException {
3422 return com.google.protobuf.GeneratedMessage
3423 .parseWithIOException(PARSER, input);
3424 }
3426 java.io.InputStream input,
3427 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3428 throws java.io.IOException {
3429 return com.google.protobuf.GeneratedMessage
3430 .parseWithIOException(PARSER, input, extensionRegistry);
3431 }
3432
3434 throws java.io.IOException {
3435 return com.google.protobuf.GeneratedMessage
3436 .parseDelimitedWithIOException(PARSER, input);
3437 }
3438
3440 java.io.InputStream input,
3441 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3442 throws java.io.IOException {
3443 return com.google.protobuf.GeneratedMessage
3444 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
3445 }
3447 com.google.protobuf.CodedInputStream input)
3448 throws java.io.IOException {
3449 return com.google.protobuf.GeneratedMessage
3450 .parseWithIOException(PARSER, input);
3451 }
3453 com.google.protobuf.CodedInputStream input,
3454 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3455 throws java.io.IOException {
3456 return com.google.protobuf.GeneratedMessage
3457 .parseWithIOException(PARSER, input, extensionRegistry);
3458 }
3459
3460 @java.lang.Override
3461 public Builder newBuilderForType() { return newBuilder(); }
3462 public static Builder newBuilder() {
3463 return DEFAULT_INSTANCE.toBuilder();
3464 }
3465 public static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators prototype) {
3466 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
3467 }
3468 @java.lang.Override
3470 return this == DEFAULT_INSTANCE
3471 ? new Builder() : new Builder().mergeFrom(this);
3472 }
3473
3474 @java.lang.Override
3476 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
3477 Builder builder = new Builder(parent);
3478 return builder;
3479 }
3480
3488 public static final class Builder extends
3489 com.google.protobuf.GeneratedMessage.Builder<Builder> implements
3490 // @@protoc_insertion_point(builder_implements:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
3491 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder {
3492 public static final com.google.protobuf.Descriptors.Descriptor
3494 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
3495 }
3496
3497 @java.lang.Override
3498 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
3500 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_fieldAccessorTable
3501 .ensureFieldAccessorsInitialized(
3502 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.class, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder.class);
3503 }
3504
3505 // Construct using com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.newBuilder()
3506 private Builder() {
3507
3508 }
3509
3510 private Builder(
3511 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
3512 super(parent);
3513
3514 }
3515 @java.lang.Override
3516 public Builder clear() {
3517 super.clear();
3518 bitField0_ = 0;
3519 bitField1_ = 0;
3520 useRelocate_ = 0;
3521 useRelocatePair_ = 0;
3522 useLightRelocatePair_ = 0;
3523 useRelocateNeighbors_ = 0;
3524 useRelocateSubtrip_ = 0;
3525 useExchange_ = 0;
3526 useExchangePair_ = 0;
3527 useExchangeSubtrip_ = 0;
3528 useCross_ = 0;
3529 useCrossExchange_ = 0;
3530 useRelocateExpensiveChain_ = 0;
3531 useTwoOpt_ = 0;
3532 useOrOpt_ = 0;
3533 useLinKernighan_ = 0;
3534 useTspOpt_ = 0;
3535 useMakeActive_ = 0;
3536 useRelocateAndMakeActive_ = 0;
3537 useExchangeAndMakeActive_ = 0;
3538 useExchangePathStartEndsAndMakeActive_ = 0;
3539 useMakeInactive_ = 0;
3540 useMakeChainInactive_ = 0;
3541 useSwapActive_ = 0;
3542 useSwapActiveChain_ = 0;
3543 useExtendedSwapActive_ = 0;
3544 useShortestPathSwapActive_ = 0;
3545 useShortestPathTwoOpt_ = 0;
3546 useNodePairSwapActive_ = 0;
3547 usePathLns_ = 0;
3548 useFullPathLns_ = 0;
3549 useTspLns_ = 0;
3550 useInactiveLns_ = 0;
3551 useGlobalCheapestInsertionPathLns_ = 0;
3552 useLocalCheapestInsertionPathLns_ = 0;
3553 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
3554 useGlobalCheapestInsertionExpensiveChainLns_ = 0;
3555 useLocalCheapestInsertionExpensiveChainLns_ = 0;
3556 useGlobalCheapestInsertionCloseNodesLns_ = 0;
3557 useLocalCheapestInsertionCloseNodesLns_ = 0;
3558 useGlobalCheapestInsertionVisitTypesLns_ = 0;
3559 useLocalCheapestInsertionVisitTypesLns_ = 0;
3560 return this;
3561 }
3562
3563 @java.lang.Override
3564 public com.google.protobuf.Descriptors.Descriptor
3566 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
3567 }
3568
3569 @java.lang.Override
3571 return com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance();
3572 }
3573
3574 @java.lang.Override
3582
3583 @java.lang.Override
3585 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators result = new com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators(this);
3586 if (bitField0_ != 0) { buildPartial0(result); }
3587 if (bitField1_ != 0) { buildPartial1(result); }
3588 onBuilt();
3589 return result;
3590 }
3591
3592 private void buildPartial0(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators result) {
3593 int from_bitField0_ = bitField0_;
3594 if (((from_bitField0_ & 0x00000001) != 0)) {
3595 result.useRelocate_ = useRelocate_;
3596 }
3597 if (((from_bitField0_ & 0x00000002) != 0)) {
3598 result.useRelocatePair_ = useRelocatePair_;
3599 }
3600 if (((from_bitField0_ & 0x00000004) != 0)) {
3601 result.useLightRelocatePair_ = useLightRelocatePair_;
3602 }
3603 if (((from_bitField0_ & 0x00000008) != 0)) {
3604 result.useRelocateNeighbors_ = useRelocateNeighbors_;
3605 }
3606 if (((from_bitField0_ & 0x00000010) != 0)) {
3607 result.useRelocateSubtrip_ = useRelocateSubtrip_;
3608 }
3609 if (((from_bitField0_ & 0x00000020) != 0)) {
3610 result.useExchange_ = useExchange_;
3611 }
3612 if (((from_bitField0_ & 0x00000040) != 0)) {
3613 result.useExchangePair_ = useExchangePair_;
3614 }
3615 if (((from_bitField0_ & 0x00000080) != 0)) {
3616 result.useExchangeSubtrip_ = useExchangeSubtrip_;
3617 }
3618 if (((from_bitField0_ & 0x00000100) != 0)) {
3619 result.useCross_ = useCross_;
3620 }
3621 if (((from_bitField0_ & 0x00000200) != 0)) {
3622 result.useCrossExchange_ = useCrossExchange_;
3623 }
3624 if (((from_bitField0_ & 0x00000400) != 0)) {
3625 result.useRelocateExpensiveChain_ = useRelocateExpensiveChain_;
3626 }
3627 if (((from_bitField0_ & 0x00000800) != 0)) {
3628 result.useTwoOpt_ = useTwoOpt_;
3629 }
3630 if (((from_bitField0_ & 0x00001000) != 0)) {
3631 result.useOrOpt_ = useOrOpt_;
3632 }
3633 if (((from_bitField0_ & 0x00002000) != 0)) {
3634 result.useLinKernighan_ = useLinKernighan_;
3635 }
3636 if (((from_bitField0_ & 0x00004000) != 0)) {
3637 result.useTspOpt_ = useTspOpt_;
3638 }
3639 if (((from_bitField0_ & 0x00008000) != 0)) {
3640 result.useMakeActive_ = useMakeActive_;
3641 }
3642 if (((from_bitField0_ & 0x00010000) != 0)) {
3643 result.useRelocateAndMakeActive_ = useRelocateAndMakeActive_;
3644 }
3645 if (((from_bitField0_ & 0x00020000) != 0)) {
3646 result.useExchangeAndMakeActive_ = useExchangeAndMakeActive_;
3647 }
3648 if (((from_bitField0_ & 0x00040000) != 0)) {
3649 result.useExchangePathStartEndsAndMakeActive_ = useExchangePathStartEndsAndMakeActive_;
3650 }
3651 if (((from_bitField0_ & 0x00080000) != 0)) {
3652 result.useMakeInactive_ = useMakeInactive_;
3653 }
3654 if (((from_bitField0_ & 0x00100000) != 0)) {
3655 result.useMakeChainInactive_ = useMakeChainInactive_;
3656 }
3657 if (((from_bitField0_ & 0x00200000) != 0)) {
3658 result.useSwapActive_ = useSwapActive_;
3659 }
3660 if (((from_bitField0_ & 0x00400000) != 0)) {
3661 result.useSwapActiveChain_ = useSwapActiveChain_;
3662 }
3663 if (((from_bitField0_ & 0x00800000) != 0)) {
3664 result.useExtendedSwapActive_ = useExtendedSwapActive_;
3665 }
3666 if (((from_bitField0_ & 0x01000000) != 0)) {
3667 result.useShortestPathSwapActive_ = useShortestPathSwapActive_;
3668 }
3669 if (((from_bitField0_ & 0x02000000) != 0)) {
3670 result.useShortestPathTwoOpt_ = useShortestPathTwoOpt_;
3671 }
3672 if (((from_bitField0_ & 0x04000000) != 0)) {
3673 result.useNodePairSwapActive_ = useNodePairSwapActive_;
3674 }
3675 if (((from_bitField0_ & 0x08000000) != 0)) {
3676 result.usePathLns_ = usePathLns_;
3677 }
3678 if (((from_bitField0_ & 0x10000000) != 0)) {
3679 result.useFullPathLns_ = useFullPathLns_;
3680 }
3681 if (((from_bitField0_ & 0x20000000) != 0)) {
3682 result.useTspLns_ = useTspLns_;
3683 }
3684 if (((from_bitField0_ & 0x40000000) != 0)) {
3685 result.useInactiveLns_ = useInactiveLns_;
3686 }
3687 if (((from_bitField0_ & 0x80000000) != 0)) {
3688 result.useGlobalCheapestInsertionPathLns_ = useGlobalCheapestInsertionPathLns_;
3689 }
3690 }
3691
3692 private void buildPartial1(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators result) {
3693 int from_bitField1_ = bitField1_;
3694 if (((from_bitField1_ & 0x00000001) != 0)) {
3695 result.useLocalCheapestInsertionPathLns_ = useLocalCheapestInsertionPathLns_;
3696 }
3697 if (((from_bitField1_ & 0x00000002) != 0)) {
3698 result.useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
3699 }
3700 if (((from_bitField1_ & 0x00000004) != 0)) {
3701 result.useGlobalCheapestInsertionExpensiveChainLns_ = useGlobalCheapestInsertionExpensiveChainLns_;
3702 }
3703 if (((from_bitField1_ & 0x00000008) != 0)) {
3704 result.useLocalCheapestInsertionExpensiveChainLns_ = useLocalCheapestInsertionExpensiveChainLns_;
3705 }
3706 if (((from_bitField1_ & 0x00000010) != 0)) {
3707 result.useGlobalCheapestInsertionCloseNodesLns_ = useGlobalCheapestInsertionCloseNodesLns_;
3708 }
3709 if (((from_bitField1_ & 0x00000020) != 0)) {
3710 result.useLocalCheapestInsertionCloseNodesLns_ = useLocalCheapestInsertionCloseNodesLns_;
3711 }
3712 if (((from_bitField1_ & 0x00000040) != 0)) {
3713 result.useGlobalCheapestInsertionVisitTypesLns_ = useGlobalCheapestInsertionVisitTypesLns_;
3714 }
3715 if (((from_bitField1_ & 0x00000080) != 0)) {
3716 result.useLocalCheapestInsertionVisitTypesLns_ = useLocalCheapestInsertionVisitTypesLns_;
3717 }
3718 }
3719
3720 @java.lang.Override
3721 public Builder mergeFrom(com.google.protobuf.Message other) {
3722 if (other instanceof com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators) {
3723 return mergeFrom((com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators)other);
3724 } else {
3725 super.mergeFrom(other);
3726 return this;
3727 }
3728 }
3729
3730 public Builder mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators other) {
3731 if (other == com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance()) return this;
3732 if (other.useRelocate_ != 0) {
3733 setUseRelocateValue(other.getUseRelocateValue());
3734 }
3735 if (other.useRelocatePair_ != 0) {
3736 setUseRelocatePairValue(other.getUseRelocatePairValue());
3737 }
3738 if (other.useLightRelocatePair_ != 0) {
3739 setUseLightRelocatePairValue(other.getUseLightRelocatePairValue());
3740 }
3741 if (other.useRelocateNeighbors_ != 0) {
3742 setUseRelocateNeighborsValue(other.getUseRelocateNeighborsValue());
3743 }
3744 if (other.useRelocateSubtrip_ != 0) {
3745 setUseRelocateSubtripValue(other.getUseRelocateSubtripValue());
3746 }
3747 if (other.useExchange_ != 0) {
3748 setUseExchangeValue(other.getUseExchangeValue());
3749 }
3750 if (other.useExchangePair_ != 0) {
3751 setUseExchangePairValue(other.getUseExchangePairValue());
3752 }
3753 if (other.useExchangeSubtrip_ != 0) {
3754 setUseExchangeSubtripValue(other.getUseExchangeSubtripValue());
3755 }
3756 if (other.useCross_ != 0) {
3757 setUseCrossValue(other.getUseCrossValue());
3758 }
3759 if (other.useCrossExchange_ != 0) {
3760 setUseCrossExchangeValue(other.getUseCrossExchangeValue());
3761 }
3762 if (other.useRelocateExpensiveChain_ != 0) {
3763 setUseRelocateExpensiveChainValue(other.getUseRelocateExpensiveChainValue());
3764 }
3765 if (other.useTwoOpt_ != 0) {
3766 setUseTwoOptValue(other.getUseTwoOptValue());
3767 }
3768 if (other.useOrOpt_ != 0) {
3769 setUseOrOptValue(other.getUseOrOptValue());
3770 }
3771 if (other.useLinKernighan_ != 0) {
3772 setUseLinKernighanValue(other.getUseLinKernighanValue());
3773 }
3774 if (other.useTspOpt_ != 0) {
3775 setUseTspOptValue(other.getUseTspOptValue());
3776 }
3777 if (other.useMakeActive_ != 0) {
3778 setUseMakeActiveValue(other.getUseMakeActiveValue());
3779 }
3780 if (other.useRelocateAndMakeActive_ != 0) {
3781 setUseRelocateAndMakeActiveValue(other.getUseRelocateAndMakeActiveValue());
3782 }
3783 if (other.useExchangeAndMakeActive_ != 0) {
3784 setUseExchangeAndMakeActiveValue(other.getUseExchangeAndMakeActiveValue());
3785 }
3786 if (other.useExchangePathStartEndsAndMakeActive_ != 0) {
3787 setUseExchangePathStartEndsAndMakeActiveValue(other.getUseExchangePathStartEndsAndMakeActiveValue());
3788 }
3789 if (other.useMakeInactive_ != 0) {
3790 setUseMakeInactiveValue(other.getUseMakeInactiveValue());
3791 }
3792 if (other.useMakeChainInactive_ != 0) {
3793 setUseMakeChainInactiveValue(other.getUseMakeChainInactiveValue());
3794 }
3795 if (other.useSwapActive_ != 0) {
3796 setUseSwapActiveValue(other.getUseSwapActiveValue());
3797 }
3798 if (other.useSwapActiveChain_ != 0) {
3799 setUseSwapActiveChainValue(other.getUseSwapActiveChainValue());
3800 }
3801 if (other.useExtendedSwapActive_ != 0) {
3802 setUseExtendedSwapActiveValue(other.getUseExtendedSwapActiveValue());
3803 }
3804 if (other.useShortestPathSwapActive_ != 0) {
3805 setUseShortestPathSwapActiveValue(other.getUseShortestPathSwapActiveValue());
3806 }
3807 if (other.useShortestPathTwoOpt_ != 0) {
3808 setUseShortestPathTwoOptValue(other.getUseShortestPathTwoOptValue());
3809 }
3810 if (other.useNodePairSwapActive_ != 0) {
3811 setUseNodePairSwapActiveValue(other.getUseNodePairSwapActiveValue());
3812 }
3813 if (other.usePathLns_ != 0) {
3814 setUsePathLnsValue(other.getUsePathLnsValue());
3815 }
3816 if (other.useFullPathLns_ != 0) {
3817 setUseFullPathLnsValue(other.getUseFullPathLnsValue());
3818 }
3819 if (other.useTspLns_ != 0) {
3820 setUseTspLnsValue(other.getUseTspLnsValue());
3821 }
3822 if (other.useInactiveLns_ != 0) {
3823 setUseInactiveLnsValue(other.getUseInactiveLnsValue());
3824 }
3825 if (other.useGlobalCheapestInsertionPathLns_ != 0) {
3826 setUseGlobalCheapestInsertionPathLnsValue(other.getUseGlobalCheapestInsertionPathLnsValue());
3827 }
3828 if (other.useLocalCheapestInsertionPathLns_ != 0) {
3829 setUseLocalCheapestInsertionPathLnsValue(other.getUseLocalCheapestInsertionPathLnsValue());
3830 }
3831 if (other.useRelocatePathGlobalCheapestInsertionInsertUnperformed_ != 0) {
3832 setUseRelocatePathGlobalCheapestInsertionInsertUnperformedValue(other.getUseRelocatePathGlobalCheapestInsertionInsertUnperformedValue());
3833 }
3834 if (other.useGlobalCheapestInsertionExpensiveChainLns_ != 0) {
3835 setUseGlobalCheapestInsertionExpensiveChainLnsValue(other.getUseGlobalCheapestInsertionExpensiveChainLnsValue());
3836 }
3837 if (other.useLocalCheapestInsertionExpensiveChainLns_ != 0) {
3838 setUseLocalCheapestInsertionExpensiveChainLnsValue(other.getUseLocalCheapestInsertionExpensiveChainLnsValue());
3839 }
3840 if (other.useGlobalCheapestInsertionCloseNodesLns_ != 0) {
3841 setUseGlobalCheapestInsertionCloseNodesLnsValue(other.getUseGlobalCheapestInsertionCloseNodesLnsValue());
3842 }
3843 if (other.useLocalCheapestInsertionCloseNodesLns_ != 0) {
3844 setUseLocalCheapestInsertionCloseNodesLnsValue(other.getUseLocalCheapestInsertionCloseNodesLnsValue());
3845 }
3846 if (other.useGlobalCheapestInsertionVisitTypesLns_ != 0) {
3847 setUseGlobalCheapestInsertionVisitTypesLnsValue(other.getUseGlobalCheapestInsertionVisitTypesLnsValue());
3848 }
3849 if (other.useLocalCheapestInsertionVisitTypesLns_ != 0) {
3850 setUseLocalCheapestInsertionVisitTypesLnsValue(other.getUseLocalCheapestInsertionVisitTypesLnsValue());
3851 }
3852 this.mergeUnknownFields(other.getUnknownFields());
3853 onChanged();
3854 return this;
3855 }
3856
3857 @java.lang.Override
3858 public final boolean isInitialized() {
3859 return true;
3860 }
3861
3862 @java.lang.Override
3863 public Builder mergeFrom(
3864 com.google.protobuf.CodedInputStream input,
3865 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3866 throws java.io.IOException {
3867 if (extensionRegistry == null) {
3868 throw new java.lang.NullPointerException();
3869 }
3870 try {
3871 boolean done = false;
3872 while (!done) {
3873 int tag = input.readTag();
3874 switch (tag) {
3875 case 0:
3876 done = true;
3877 break;
3878 case 8: {
3879 useRelocate_ = input.readEnum();
3880 bitField0_ |= 0x00000001;
3881 break;
3882 } // case 8
3883 case 16: {
3884 useRelocatePair_ = input.readEnum();
3885 bitField0_ |= 0x00000002;
3886 break;
3887 } // case 16
3888 case 24: {
3889 useRelocateNeighbors_ = input.readEnum();
3890 bitField0_ |= 0x00000008;
3891 break;
3892 } // case 24
3893 case 32: {
3894 useExchange_ = input.readEnum();
3895 bitField0_ |= 0x00000020;
3896 break;
3897 } // case 32
3898 case 40: {
3899 useCross_ = input.readEnum();
3900 bitField0_ |= 0x00000100;
3901 break;
3902 } // case 40
3903 case 48: {
3904 useCrossExchange_ = input.readEnum();
3905 bitField0_ |= 0x00000200;
3906 break;
3907 } // case 48
3908 case 56: {
3909 useTwoOpt_ = input.readEnum();
3910 bitField0_ |= 0x00000800;
3911 break;
3912 } // case 56
3913 case 64: {
3914 useOrOpt_ = input.readEnum();
3915 bitField0_ |= 0x00001000;
3916 break;
3917 } // case 64
3918 case 72: {
3919 useLinKernighan_ = input.readEnum();
3920 bitField0_ |= 0x00002000;
3921 break;
3922 } // case 72
3923 case 80: {
3924 useTspOpt_ = input.readEnum();
3925 bitField0_ |= 0x00004000;
3926 break;
3927 } // case 80
3928 case 88: {
3929 useMakeActive_ = input.readEnum();
3930 bitField0_ |= 0x00008000;
3931 break;
3932 } // case 88
3933 case 96: {
3934 useMakeInactive_ = input.readEnum();
3935 bitField0_ |= 0x00080000;
3936 break;
3937 } // case 96
3938 case 104: {
3939 useMakeChainInactive_ = input.readEnum();
3940 bitField0_ |= 0x00100000;
3941 break;
3942 } // case 104
3943 case 112: {
3944 useSwapActive_ = input.readEnum();
3945 bitField0_ |= 0x00200000;
3946 break;
3947 } // case 112
3948 case 120: {
3949 useExtendedSwapActive_ = input.readEnum();
3950 bitField0_ |= 0x00800000;
3951 break;
3952 } // case 120
3953 case 128: {
3954 usePathLns_ = input.readEnum();
3955 bitField0_ |= 0x08000000;
3956 break;
3957 } // case 128
3958 case 136: {
3959 useFullPathLns_ = input.readEnum();
3960 bitField0_ |= 0x10000000;
3961 break;
3962 } // case 136
3963 case 144: {
3964 useTspLns_ = input.readEnum();
3965 bitField0_ |= 0x20000000;
3966 break;
3967 } // case 144
3968 case 152: {
3969 useInactiveLns_ = input.readEnum();
3970 bitField0_ |= 0x40000000;
3971 break;
3972 } // case 152
3973 case 160: {
3974 useNodePairSwapActive_ = input.readEnum();
3975 bitField0_ |= 0x04000000;
3976 break;
3977 } // case 160
3978 case 168: {
3979 useRelocateAndMakeActive_ = input.readEnum();
3980 bitField0_ |= 0x00010000;
3981 break;
3982 } // case 168
3983 case 176: {
3984 useExchangePair_ = input.readEnum();
3985 bitField0_ |= 0x00000040;
3986 break;
3987 } // case 176
3988 case 184: {
3989 useRelocateExpensiveChain_ = input.readEnum();
3990 bitField0_ |= 0x00000400;
3991 break;
3992 } // case 184
3993 case 192: {
3994 useLightRelocatePair_ = input.readEnum();
3995 bitField0_ |= 0x00000004;
3996 break;
3997 } // case 192
3998 case 200: {
3999 useRelocateSubtrip_ = input.readEnum();
4000 bitField0_ |= 0x00000010;
4001 break;
4002 } // case 200
4003 case 208: {
4004 useExchangeSubtrip_ = input.readEnum();
4005 bitField0_ |= 0x00000080;
4006 break;
4007 } // case 208
4008 case 216: {
4009 useGlobalCheapestInsertionPathLns_ = input.readEnum();
4010 bitField0_ |= 0x80000000;
4011 break;
4012 } // case 216
4013 case 224: {
4014 useLocalCheapestInsertionPathLns_ = input.readEnum();
4015 bitField1_ |= 0x00000001;
4016 break;
4017 } // case 224
4018 case 232: {
4019 useGlobalCheapestInsertionExpensiveChainLns_ = input.readEnum();
4020 bitField1_ |= 0x00000004;
4021 break;
4022 } // case 232
4023 case 240: {
4024 useLocalCheapestInsertionExpensiveChainLns_ = input.readEnum();
4025 bitField1_ |= 0x00000008;
4026 break;
4027 } // case 240
4028 case 248: {
4029 useGlobalCheapestInsertionCloseNodesLns_ = input.readEnum();
4030 bitField1_ |= 0x00000010;
4031 break;
4032 } // case 248
4033 case 256: {
4034 useLocalCheapestInsertionCloseNodesLns_ = input.readEnum();
4035 bitField1_ |= 0x00000020;
4036 break;
4037 } // case 256
4038 case 264: {
4039 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = input.readEnum();
4040 bitField1_ |= 0x00000002;
4041 break;
4042 } // case 264
4043 case 272: {
4044 useShortestPathSwapActive_ = input.readEnum();
4045 bitField0_ |= 0x01000000;
4046 break;
4047 } // case 272
4048 case 280: {
4049 useSwapActiveChain_ = input.readEnum();
4050 bitField0_ |= 0x00400000;
4051 break;
4052 } // case 280
4053 case 288: {
4054 useShortestPathTwoOpt_ = input.readEnum();
4055 bitField0_ |= 0x02000000;
4056 break;
4057 } // case 288
4058 case 296: {
4059 useExchangeAndMakeActive_ = input.readEnum();
4060 bitField0_ |= 0x00020000;
4061 break;
4062 } // case 296
4063 case 304: {
4064 useExchangePathStartEndsAndMakeActive_ = input.readEnum();
4065 bitField0_ |= 0x00040000;
4066 break;
4067 } // case 304
4068 case 312: {
4069 useGlobalCheapestInsertionVisitTypesLns_ = input.readEnum();
4070 bitField1_ |= 0x00000040;
4071 break;
4072 } // case 312
4073 case 320: {
4074 useLocalCheapestInsertionVisitTypesLns_ = input.readEnum();
4075 bitField1_ |= 0x00000080;
4076 break;
4077 } // case 320
4078 default: {
4079 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
4080 done = true; // was an endgroup tag
4081 }
4082 break;
4083 } // default:
4084 } // switch (tag)
4085 } // while (!done)
4086 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4087 throw e.unwrapIOException();
4088 } finally {
4089 onChanged();
4090 } // finally
4091 return this;
4092 }
4093 private int bitField0_;
4094 private int bitField1_;
4095
4096 private int useRelocate_ = 0;
4113 @java.lang.Override public int getUseRelocateValue() {
4114 return useRelocate_;
4115 }
4116
4133 public Builder setUseRelocateValue(int value) {
4134 useRelocate_ = value;
4135 bitField0_ |= 0x00000001;
4136 onChanged();
4137 return this;
4138 }
4139
4155 @java.lang.Override
4157 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocate_);
4158 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4159 }
4160
4177 public Builder setUseRelocate(com.google.ortools.util.OptionalBoolean value) {
4178 if (value == null) { throw new NullPointerException(); }
4179 bitField0_ |= 0x00000001;
4180 useRelocate_ = value.getNumber();
4181 onChanged();
4182 return this;
4183 }
4184
4200 public Builder clearUseRelocate() {
4201 bitField0_ = (bitField0_ & ~0x00000001);
4202 useRelocate_ = 0;
4203 onChanged();
4204 return this;
4205 }
4206
4207 private int useRelocatePair_ = 0;
4224 @java.lang.Override public int getUseRelocatePairValue() {
4225 return useRelocatePair_;
4226 }
4227
4244 public Builder setUseRelocatePairValue(int value) {
4245 useRelocatePair_ = value;
4246 bitField0_ |= 0x00000002;
4247 onChanged();
4248 return this;
4249 }
4250
4266 @java.lang.Override
4268 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocatePair_);
4269 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4270 }
4271
4288 public Builder setUseRelocatePair(com.google.ortools.util.OptionalBoolean value) {
4289 if (value == null) { throw new NullPointerException(); }
4290 bitField0_ |= 0x00000002;
4291 useRelocatePair_ = value.getNumber();
4292 onChanged();
4293 return this;
4294 }
4295
4311 public Builder clearUseRelocatePair() {
4312 bitField0_ = (bitField0_ & ~0x00000002);
4313 useRelocatePair_ = 0;
4314 onChanged();
4315 return this;
4316 }
4317
4318 private int useLightRelocatePair_ = 0;
4333 @java.lang.Override public int getUseLightRelocatePairValue() {
4334 return useLightRelocatePair_;
4335 }
4336
4351 public Builder setUseLightRelocatePairValue(int value) {
4352 useLightRelocatePair_ = value;
4353 bitField0_ |= 0x00000004;
4354 onChanged();
4355 return this;
4356 }
4357
4371 @java.lang.Override
4373 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useLightRelocatePair_);
4374 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4375 }
4376
4391 public Builder setUseLightRelocatePair(com.google.ortools.util.OptionalBoolean value) {
4392 if (value == null) { throw new NullPointerException(); }
4393 bitField0_ |= 0x00000004;
4394 useLightRelocatePair_ = value.getNumber();
4395 onChanged();
4396 return this;
4397 }
4398
4412 public Builder clearUseLightRelocatePair() {
4413 bitField0_ = (bitField0_ & ~0x00000004);
4414 useLightRelocatePair_ = 0;
4415 onChanged();
4416 return this;
4417 }
4418
4419 private int useRelocateNeighbors_ = 0;
4449 @java.lang.Override public int getUseRelocateNeighborsValue() {
4450 return useRelocateNeighbors_;
4451 }
4452
4482 public Builder setUseRelocateNeighborsValue(int value) {
4483 useRelocateNeighbors_ = value;
4484 bitField0_ |= 0x00000008;
4485 onChanged();
4486 return this;
4487 }
4488
4517 @java.lang.Override
4519 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocateNeighbors_);
4520 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4521 }
4522
4552 public Builder setUseRelocateNeighbors(com.google.ortools.util.OptionalBoolean value) {
4553 if (value == null) { throw new NullPointerException(); }
4554 bitField0_ |= 0x00000008;
4555 useRelocateNeighbors_ = value.getNumber();
4556 onChanged();
4557 return this;
4558 }
4559
4588 public Builder clearUseRelocateNeighbors() {
4589 bitField0_ = (bitField0_ & ~0x00000008);
4590 useRelocateNeighbors_ = 0;
4591 onChanged();
4592 return this;
4593 }
4594
4595 private int useRelocateSubtrip_ = 0;
4617 @java.lang.Override public int getUseRelocateSubtripValue() {
4618 return useRelocateSubtrip_;
4619 }
4620
4642 public Builder setUseRelocateSubtripValue(int value) {
4643 useRelocateSubtrip_ = value;
4644 bitField0_ |= 0x00000010;
4645 onChanged();
4646 return this;
4647 }
4648
4669 @java.lang.Override
4671 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocateSubtrip_);
4672 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4673 }
4674
4696 public Builder setUseRelocateSubtrip(com.google.ortools.util.OptionalBoolean value) {
4697 if (value == null) { throw new NullPointerException(); }
4698 bitField0_ |= 0x00000010;
4699 useRelocateSubtrip_ = value.getNumber();
4700 onChanged();
4701 return this;
4702 }
4703
4724 public Builder clearUseRelocateSubtrip() {
4725 bitField0_ = (bitField0_ & ~0x00000010);
4726 useRelocateSubtrip_ = 0;
4727 onChanged();
4728 return this;
4729 }
4730
4731 private int useExchange_ = 0;
4746 @java.lang.Override public int getUseExchangeValue() {
4747 return useExchange_;
4748 }
4749
4764 public Builder setUseExchangeValue(int value) {
4765 useExchange_ = value;
4766 bitField0_ |= 0x00000020;
4767 onChanged();
4768 return this;
4769 }
4770
4784 @java.lang.Override
4786 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useExchange_);
4787 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4788 }
4789
4804 public Builder setUseExchange(com.google.ortools.util.OptionalBoolean value) {
4805 if (value == null) { throw new NullPointerException(); }
4806 bitField0_ |= 0x00000020;
4807 useExchange_ = value.getNumber();
4808 onChanged();
4809 return this;
4810 }
4811
4825 public Builder clearUseExchange() {
4826 bitField0_ = (bitField0_ & ~0x00000020);
4827 useExchange_ = 0;
4828 onChanged();
4829 return this;
4830 }
4831
4832 private int useExchangePair_ = 0;
4847 @java.lang.Override public int getUseExchangePairValue() {
4848 return useExchangePair_;
4849 }
4850
4865 public Builder setUseExchangePairValue(int value) {
4866 useExchangePair_ = value;
4867 bitField0_ |= 0x00000040;
4868 onChanged();
4869 return this;
4870 }
4871
4885 @java.lang.Override
4887 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useExchangePair_);
4888 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4889 }
4890
4905 public Builder setUseExchangePair(com.google.ortools.util.OptionalBoolean value) {
4906 if (value == null) { throw new NullPointerException(); }
4907 bitField0_ |= 0x00000040;
4908 useExchangePair_ = value.getNumber();
4909 onChanged();
4910 return this;
4911 }
4912
4926 public Builder clearUseExchangePair() {
4927 bitField0_ = (bitField0_ & ~0x00000040);
4928 useExchangePair_ = 0;
4929 onChanged();
4930 return this;
4931 }
4932
4933 private int useExchangeSubtrip_ = 0;
4943 @java.lang.Override public int getUseExchangeSubtripValue() {
4944 return useExchangeSubtrip_;
4945 }
4946
4956 public Builder setUseExchangeSubtripValue(int value) {
4957 useExchangeSubtrip_ = value;
4958 bitField0_ |= 0x00000080;
4959 onChanged();
4960 return this;
4961 }
4962
4971 @java.lang.Override
4973 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useExchangeSubtrip_);
4974 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4975 }
4976
4986 public Builder setUseExchangeSubtrip(com.google.ortools.util.OptionalBoolean value) {
4987 if (value == null) { throw new NullPointerException(); }
4988 bitField0_ |= 0x00000080;
4989 useExchangeSubtrip_ = value.getNumber();
4990 onChanged();
4991 return this;
4992 }
4993
5002 public Builder clearUseExchangeSubtrip() {
5003 bitField0_ = (bitField0_ & ~0x00000080);
5004 useExchangeSubtrip_ = 0;
5005 onChanged();
5006 return this;
5007 }
5008
5009 private int useCross_ = 0;
5026 @java.lang.Override public int getUseCrossValue() {
5027 return useCross_;
5028 }
5029
5046 public Builder setUseCrossValue(int value) {
5047 useCross_ = value;
5048 bitField0_ |= 0x00000100;
5049 onChanged();
5050 return this;
5051 }
5052
5068 @java.lang.Override
5070 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useCross_);
5071 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5072 }
5073
5090 public Builder setUseCross(com.google.ortools.util.OptionalBoolean value) {
5091 if (value == null) { throw new NullPointerException(); }
5092 bitField0_ |= 0x00000100;
5093 useCross_ = value.getNumber();
5094 onChanged();
5095 return this;
5096 }
5097
5113 public Builder clearUseCross() {
5114 bitField0_ = (bitField0_ & ~0x00000100);
5115 useCross_ = 0;
5116 onChanged();
5117 return this;
5118 }
5119
5120 private int useCrossExchange_ = 0;
5129 @java.lang.Override public int getUseCrossExchangeValue() {
5130 return useCrossExchange_;
5131 }
5132
5141 public Builder setUseCrossExchangeValue(int value) {
5142 useCrossExchange_ = value;
5143 bitField0_ |= 0x00000200;
5144 onChanged();
5145 return this;
5146 }
5147
5155 @java.lang.Override
5157 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useCrossExchange_);
5158 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5159 }
5160
5169 public Builder setUseCrossExchange(com.google.ortools.util.OptionalBoolean value) {
5170 if (value == null) { throw new NullPointerException(); }
5171 bitField0_ |= 0x00000200;
5172 useCrossExchange_ = value.getNumber();
5173 onChanged();
5174 return this;
5175 }
5176
5184 public Builder clearUseCrossExchange() {
5185 bitField0_ = (bitField0_ & ~0x00000200);
5186 useCrossExchange_ = 0;
5187 onChanged();
5188 return this;
5189 }
5190
5191 private int useRelocateExpensiveChain_ = 0;
5209 @java.lang.Override public int getUseRelocateExpensiveChainValue() {
5210 return useRelocateExpensiveChain_;
5211 }
5212
5230 public Builder setUseRelocateExpensiveChainValue(int value) {
5231 useRelocateExpensiveChain_ = value;
5232 bitField0_ |= 0x00000400;
5233 onChanged();
5234 return this;
5235 }
5236
5253 @java.lang.Override
5255 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocateExpensiveChain_);
5256 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5257 }
5258
5276 public Builder setUseRelocateExpensiveChain(com.google.ortools.util.OptionalBoolean value) {
5277 if (value == null) { throw new NullPointerException(); }
5278 bitField0_ |= 0x00000400;
5279 useRelocateExpensiveChain_ = value.getNumber();
5280 onChanged();
5281 return this;
5282 }
5283
5301 bitField0_ = (bitField0_ & ~0x00000400);
5302 useRelocateExpensiveChain_ = 0;
5303 onChanged();
5304 return this;
5305 }
5306
5307 private int useTwoOpt_ = 0;
5325 @java.lang.Override public int getUseTwoOptValue() {
5326 return useTwoOpt_;
5327 }
5328
5346 public Builder setUseTwoOptValue(int value) {
5347 useTwoOpt_ = value;
5348 bitField0_ |= 0x00000800;
5349 onChanged();
5350 return this;
5351 }
5352
5369 @java.lang.Override
5371 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useTwoOpt_);
5372 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5373 }
5374
5392 public Builder setUseTwoOpt(com.google.ortools.util.OptionalBoolean value) {
5393 if (value == null) { throw new NullPointerException(); }
5394 bitField0_ |= 0x00000800;
5395 useTwoOpt_ = value.getNumber();
5396 onChanged();
5397 return this;
5398 }
5399
5416 public Builder clearUseTwoOpt() {
5417 bitField0_ = (bitField0_ & ~0x00000800);
5418 useTwoOpt_ = 0;
5419 onChanged();
5420 return this;
5421 }
5422
5423 private int useOrOpt_ = 0;
5442 @java.lang.Override public int getUseOrOptValue() {
5443 return useOrOpt_;
5444 }
5445
5464 public Builder setUseOrOptValue(int value) {
5465 useOrOpt_ = value;
5466 bitField0_ |= 0x00001000;
5467 onChanged();
5468 return this;
5469 }
5470
5488 @java.lang.Override
5490 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useOrOpt_);
5491 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5492 }
5493
5512 public Builder setUseOrOpt(com.google.ortools.util.OptionalBoolean value) {
5513 if (value == null) { throw new NullPointerException(); }
5514 bitField0_ |= 0x00001000;
5515 useOrOpt_ = value.getNumber();
5516 onChanged();
5517 return this;
5518 }
5519
5537 public Builder clearUseOrOpt() {
5538 bitField0_ = (bitField0_ & ~0x00001000);
5539 useOrOpt_ = 0;
5540 onChanged();
5541 return this;
5542 }
5543
5544 private int useLinKernighan_ = 0;
5556 @java.lang.Override public int getUseLinKernighanValue() {
5557 return useLinKernighan_;
5558 }
5559
5571 public Builder setUseLinKernighanValue(int value) {
5572 useLinKernighan_ = value;
5573 bitField0_ |= 0x00002000;
5574 onChanged();
5575 return this;
5576 }
5577
5588 @java.lang.Override
5590 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useLinKernighan_);
5591 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5592 }
5593
5605 public Builder setUseLinKernighan(com.google.ortools.util.OptionalBoolean value) {
5606 if (value == null) { throw new NullPointerException(); }
5607 bitField0_ |= 0x00002000;
5608 useLinKernighan_ = value.getNumber();
5609 onChanged();
5610 return this;
5611 }
5612
5623 public Builder clearUseLinKernighan() {
5624 bitField0_ = (bitField0_ & ~0x00002000);
5625 useLinKernighan_ = 0;
5626 onChanged();
5627 return this;
5628 }
5629
5630 private int useTspOpt_ = 0;
5644 @java.lang.Override public int getUseTspOptValue() {
5645 return useTspOpt_;
5646 }
5647
5661 public Builder setUseTspOptValue(int value) {
5662 useTspOpt_ = value;
5663 bitField0_ |= 0x00004000;
5664 onChanged();
5665 return this;
5666 }
5667
5680 @java.lang.Override
5682 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useTspOpt_);
5683 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5684 }
5685
5699 public Builder setUseTspOpt(com.google.ortools.util.OptionalBoolean value) {
5700 if (value == null) { throw new NullPointerException(); }
5701 bitField0_ |= 0x00004000;
5702 useTspOpt_ = value.getNumber();
5703 onChanged();
5704 return this;
5705 }
5706
5719 public Builder clearUseTspOpt() {
5720 bitField0_ = (bitField0_ & ~0x00004000);
5721 useTspOpt_ = 0;
5722 onChanged();
5723 return this;
5724 }
5725
5726 private int useMakeActive_ = 0;
5741 @java.lang.Override public int getUseMakeActiveValue() {
5742 return useMakeActive_;
5743 }
5744
5759 public Builder setUseMakeActiveValue(int value) {
5760 useMakeActive_ = value;
5761 bitField0_ |= 0x00008000;
5762 onChanged();
5763 return this;
5764 }
5765
5779 @java.lang.Override
5781 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useMakeActive_);
5782 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5783 }
5784
5799 public Builder setUseMakeActive(com.google.ortools.util.OptionalBoolean value) {
5800 if (value == null) { throw new NullPointerException(); }
5801 bitField0_ |= 0x00008000;
5802 useMakeActive_ = value.getNumber();
5803 onChanged();
5804 return this;
5805 }
5806
5820 public Builder clearUseMakeActive() {
5821 bitField0_ = (bitField0_ & ~0x00008000);
5822 useMakeActive_ = 0;
5823 onChanged();
5824 return this;
5825 }
5826
5827 private int useRelocateAndMakeActive_ = 0;
5845 @java.lang.Override public int getUseRelocateAndMakeActiveValue() {
5846 return useRelocateAndMakeActive_;
5847 }
5848
5866 public Builder setUseRelocateAndMakeActiveValue(int value) {
5867 useRelocateAndMakeActive_ = value;
5868 bitField0_ |= 0x00010000;
5869 onChanged();
5870 return this;
5871 }
5872
5889 @java.lang.Override
5891 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocateAndMakeActive_);
5892 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5893 }
5894
5912 public Builder setUseRelocateAndMakeActive(com.google.ortools.util.OptionalBoolean value) {
5913 if (value == null) { throw new NullPointerException(); }
5914 bitField0_ |= 0x00010000;
5915 useRelocateAndMakeActive_ = value.getNumber();
5916 onChanged();
5917 return this;
5918 }
5919
5937 bitField0_ = (bitField0_ & ~0x00010000);
5938 useRelocateAndMakeActive_ = 0;
5939 onChanged();
5940 return this;
5941 }
5942
5943 private int useExchangeAndMakeActive_ = 0;
5957 @java.lang.Override public int getUseExchangeAndMakeActiveValue() {
5958 return useExchangeAndMakeActive_;
5959 }
5960
5974 public Builder setUseExchangeAndMakeActiveValue(int value) {
5975 useExchangeAndMakeActive_ = value;
5976 bitField0_ |= 0x00020000;
5977 onChanged();
5978 return this;
5979 }
5980
5993 @java.lang.Override
5995 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useExchangeAndMakeActive_);
5996 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5997 }
5998
6012 public Builder setUseExchangeAndMakeActive(com.google.ortools.util.OptionalBoolean value) {
6013 if (value == null) { throw new NullPointerException(); }
6014 bitField0_ |= 0x00020000;
6015 useExchangeAndMakeActive_ = value.getNumber();
6016 onChanged();
6017 return this;
6018 }
6019
6033 bitField0_ = (bitField0_ & ~0x00020000);
6034 useExchangeAndMakeActive_ = 0;
6035 onChanged();
6036 return this;
6037 }
6038
6039 private int useExchangePathStartEndsAndMakeActive_ = 0;
6056 @java.lang.Override public int getUseExchangePathStartEndsAndMakeActiveValue() {
6057 return useExchangePathStartEndsAndMakeActive_;
6058 }
6059
6077 useExchangePathStartEndsAndMakeActive_ = value;
6078 bitField0_ |= 0x00040000;
6079 onChanged();
6080 return this;
6081 }
6082
6098 @java.lang.Override
6100 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useExchangePathStartEndsAndMakeActive_);
6101 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6102 }
6103
6120 public Builder setUseExchangePathStartEndsAndMakeActive(com.google.ortools.util.OptionalBoolean value) {
6121 if (value == null) { throw new NullPointerException(); }
6122 bitField0_ |= 0x00040000;
6123 useExchangePathStartEndsAndMakeActive_ = value.getNumber();
6124 onChanged();
6125 return this;
6126 }
6127
6144 bitField0_ = (bitField0_ & ~0x00040000);
6145 useExchangePathStartEndsAndMakeActive_ = 0;
6146 onChanged();
6147 return this;
6148 }
6149
6150 private int useMakeInactive_ = 0;
6163 @java.lang.Override public int getUseMakeInactiveValue() {
6164 return useMakeInactive_;
6165 }
6166
6179 public Builder setUseMakeInactiveValue(int value) {
6180 useMakeInactive_ = value;
6181 bitField0_ |= 0x00080000;
6182 onChanged();
6183 return this;
6184 }
6185
6197 @java.lang.Override
6199 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useMakeInactive_);
6200 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6201 }
6202
6215 public Builder setUseMakeInactive(com.google.ortools.util.OptionalBoolean value) {
6216 if (value == null) { throw new NullPointerException(); }
6217 bitField0_ |= 0x00080000;
6218 useMakeInactive_ = value.getNumber();
6219 onChanged();
6220 return this;
6221 }
6222
6234 public Builder clearUseMakeInactive() {
6235 bitField0_ = (bitField0_ & ~0x00080000);
6236 useMakeInactive_ = 0;
6237 onChanged();
6238 return this;
6239 }
6240
6241 private int useMakeChainInactive_ = 0;
6255 @java.lang.Override public int getUseMakeChainInactiveValue() {
6256 return useMakeChainInactive_;
6257 }
6258
6272 public Builder setUseMakeChainInactiveValue(int value) {
6273 useMakeChainInactive_ = value;
6274 bitField0_ |= 0x00100000;
6275 onChanged();
6276 return this;
6277 }
6278
6291 @java.lang.Override
6293 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useMakeChainInactive_);
6294 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6295 }
6296
6310 public Builder setUseMakeChainInactive(com.google.ortools.util.OptionalBoolean value) {
6311 if (value == null) { throw new NullPointerException(); }
6312 bitField0_ |= 0x00100000;
6313 useMakeChainInactive_ = value.getNumber();
6314 onChanged();
6315 return this;
6316 }
6317
6330 public Builder clearUseMakeChainInactive() {
6331 bitField0_ = (bitField0_ & ~0x00100000);
6332 useMakeChainInactive_ = 0;
6333 onChanged();
6334 return this;
6335 }
6336
6337 private int useSwapActive_ = 0;
6350 @java.lang.Override public int getUseSwapActiveValue() {
6351 return useSwapActive_;
6352 }
6353
6366 public Builder setUseSwapActiveValue(int value) {
6367 useSwapActive_ = value;
6368 bitField0_ |= 0x00200000;
6369 onChanged();
6370 return this;
6371 }
6372
6384 @java.lang.Override
6386 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useSwapActive_);
6387 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6388 }
6389
6402 public Builder setUseSwapActive(com.google.ortools.util.OptionalBoolean value) {
6403 if (value == null) { throw new NullPointerException(); }
6404 bitField0_ |= 0x00200000;
6405 useSwapActive_ = value.getNumber();
6406 onChanged();
6407 return this;
6408 }
6409
6421 public Builder clearUseSwapActive() {
6422 bitField0_ = (bitField0_ & ~0x00200000);
6423 useSwapActive_ = 0;
6424 onChanged();
6425 return this;
6426 }
6427
6428 private int useSwapActiveChain_ = 0;
6442 @java.lang.Override public int getUseSwapActiveChainValue() {
6443 return useSwapActiveChain_;
6444 }
6445
6459 public Builder setUseSwapActiveChainValue(int value) {
6460 useSwapActiveChain_ = value;
6461 bitField0_ |= 0x00400000;
6462 onChanged();
6463 return this;
6464 }
6465
6478 @java.lang.Override
6480 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useSwapActiveChain_);
6481 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6482 }
6483
6497 public Builder setUseSwapActiveChain(com.google.ortools.util.OptionalBoolean value) {
6498 if (value == null) { throw new NullPointerException(); }
6499 bitField0_ |= 0x00400000;
6500 useSwapActiveChain_ = value.getNumber();
6501 onChanged();
6502 return this;
6503 }
6504
6517 public Builder clearUseSwapActiveChain() {
6518 bitField0_ = (bitField0_ & ~0x00400000);
6519 useSwapActiveChain_ = 0;
6520 onChanged();
6521 return this;
6522 }
6523
6524 private int useExtendedSwapActive_ = 0;
6542 @java.lang.Override public int getUseExtendedSwapActiveValue() {
6543 return useExtendedSwapActive_;
6544 }
6545
6563 public Builder setUseExtendedSwapActiveValue(int value) {
6564 useExtendedSwapActive_ = value;
6565 bitField0_ |= 0x00800000;
6566 onChanged();
6567 return this;
6568 }
6569
6586 @java.lang.Override
6588 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useExtendedSwapActive_);
6589 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6590 }
6591
6609 public Builder setUseExtendedSwapActive(com.google.ortools.util.OptionalBoolean value) {
6610 if (value == null) { throw new NullPointerException(); }
6611 bitField0_ |= 0x00800000;
6612 useExtendedSwapActive_ = value.getNumber();
6613 onChanged();
6614 return this;
6615 }
6616
6634 bitField0_ = (bitField0_ & ~0x00800000);
6635 useExtendedSwapActive_ = 0;
6636 onChanged();
6637 return this;
6638 }
6639
6640 private int useShortestPathSwapActive_ = 0;
6654 @java.lang.Override public int getUseShortestPathSwapActiveValue() {
6655 return useShortestPathSwapActive_;
6656 }
6657
6671 public Builder setUseShortestPathSwapActiveValue(int value) {
6672 useShortestPathSwapActive_ = value;
6673 bitField0_ |= 0x01000000;
6674 onChanged();
6675 return this;
6676 }
6677
6690 @java.lang.Override
6692 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useShortestPathSwapActive_);
6693 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6694 }
6695
6709 public Builder setUseShortestPathSwapActive(com.google.ortools.util.OptionalBoolean value) {
6710 if (value == null) { throw new NullPointerException(); }
6711 bitField0_ |= 0x01000000;
6712 useShortestPathSwapActive_ = value.getNumber();
6713 onChanged();
6714 return this;
6715 }
6716
6730 bitField0_ = (bitField0_ & ~0x01000000);
6731 useShortestPathSwapActive_ = 0;
6732 onChanged();
6733 return this;
6734 }
6735
6736 private int useShortestPathTwoOpt_ = 0;
6746 @java.lang.Override public int getUseShortestPathTwoOptValue() {
6747 return useShortestPathTwoOpt_;
6748 }
6749
6759 public Builder setUseShortestPathTwoOptValue(int value) {
6760 useShortestPathTwoOpt_ = value;
6761 bitField0_ |= 0x02000000;
6762 onChanged();
6763 return this;
6764 }
6765
6774 @java.lang.Override
6776 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useShortestPathTwoOpt_);
6777 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6778 }
6779
6789 public Builder setUseShortestPathTwoOpt(com.google.ortools.util.OptionalBoolean value) {
6790 if (value == null) { throw new NullPointerException(); }
6791 bitField0_ |= 0x02000000;
6792 useShortestPathTwoOpt_ = value.getNumber();
6793 onChanged();
6794 return this;
6795 }
6796
6806 bitField0_ = (bitField0_ & ~0x02000000);
6807 useShortestPathTwoOpt_ = 0;
6808 onChanged();
6809 return this;
6810 }
6811
6812 private int useNodePairSwapActive_ = 0;
6831 @java.lang.Override public int getUseNodePairSwapActiveValue() {
6832 return useNodePairSwapActive_;
6833 }
6834
6853 public Builder setUseNodePairSwapActiveValue(int value) {
6854 useNodePairSwapActive_ = value;
6855 bitField0_ |= 0x04000000;
6856 onChanged();
6857 return this;
6858 }
6859
6877 @java.lang.Override
6879 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useNodePairSwapActive_);
6880 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6881 }
6882
6901 public Builder setUseNodePairSwapActive(com.google.ortools.util.OptionalBoolean value) {
6902 if (value == null) { throw new NullPointerException(); }
6903 bitField0_ |= 0x04000000;
6904 useNodePairSwapActive_ = value.getNumber();
6905 onChanged();
6906 return this;
6907 }
6908
6927 bitField0_ = (bitField0_ & ~0x04000000);
6928 useNodePairSwapActive_ = 0;
6929 onChanged();
6930 return this;
6931 }
6932
6933 private int usePathLns_ = 0;
6949 @java.lang.Override public int getUsePathLnsValue() {
6950 return usePathLns_;
6951 }
6952
6968 public Builder setUsePathLnsValue(int value) {
6969 usePathLns_ = value;
6970 bitField0_ |= 0x08000000;
6971 onChanged();
6972 return this;
6973 }
6974
6989 @java.lang.Override
6991 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(usePathLns_);
6992 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6993 }
6994
7010 public Builder setUsePathLns(com.google.ortools.util.OptionalBoolean value) {
7011 if (value == null) { throw new NullPointerException(); }
7012 bitField0_ |= 0x08000000;
7013 usePathLns_ = value.getNumber();
7014 onChanged();
7015 return this;
7016 }
7017
7032 public Builder clearUsePathLns() {
7033 bitField0_ = (bitField0_ & ~0x08000000);
7034 usePathLns_ = 0;
7035 onChanged();
7036 return this;
7037 }
7038
7039 private int useFullPathLns_ = 0;
7048 @java.lang.Override public int getUseFullPathLnsValue() {
7049 return useFullPathLns_;
7050 }
7051
7060 public Builder setUseFullPathLnsValue(int value) {
7061 useFullPathLns_ = value;
7062 bitField0_ |= 0x10000000;
7063 onChanged();
7064 return this;
7065 }
7066
7074 @java.lang.Override
7076 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useFullPathLns_);
7077 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7078 }
7079
7088 public Builder setUseFullPathLns(com.google.ortools.util.OptionalBoolean value) {
7089 if (value == null) { throw new NullPointerException(); }
7090 bitField0_ |= 0x10000000;
7091 useFullPathLns_ = value.getNumber();
7092 onChanged();
7093 return this;
7094 }
7095
7103 public Builder clearUseFullPathLns() {
7104 bitField0_ = (bitField0_ & ~0x10000000);
7105 useFullPathLns_ = 0;
7106 onChanged();
7107 return this;
7108 }
7109
7110 private int useTspLns_ = 0;
7124 @java.lang.Override public int getUseTspLnsValue() {
7125 return useTspLns_;
7126 }
7127
7141 public Builder setUseTspLnsValue(int value) {
7142 useTspLns_ = value;
7143 bitField0_ |= 0x20000000;
7144 onChanged();
7145 return this;
7146 }
7147
7160 @java.lang.Override
7162 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useTspLns_);
7163 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7164 }
7165
7179 public Builder setUseTspLns(com.google.ortools.util.OptionalBoolean value) {
7180 if (value == null) { throw new NullPointerException(); }
7181 bitField0_ |= 0x20000000;
7182 useTspLns_ = value.getNumber();
7183 onChanged();
7184 return this;
7185 }
7186
7199 public Builder clearUseTspLns() {
7200 bitField0_ = (bitField0_ & ~0x20000000);
7201 useTspLns_ = 0;
7202 onChanged();
7203 return this;
7204 }
7205
7206 private int useInactiveLns_ = 0;
7217 @java.lang.Override public int getUseInactiveLnsValue() {
7218 return useInactiveLns_;
7219 }
7220
7231 public Builder setUseInactiveLnsValue(int value) {
7232 useInactiveLns_ = value;
7233 bitField0_ |= 0x40000000;
7234 onChanged();
7235 return this;
7236 }
7237
7247 @java.lang.Override
7249 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useInactiveLns_);
7250 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7251 }
7252
7263 public Builder setUseInactiveLns(com.google.ortools.util.OptionalBoolean value) {
7264 if (value == null) { throw new NullPointerException(); }
7265 bitField0_ |= 0x40000000;
7266 useInactiveLns_ = value.getNumber();
7267 onChanged();
7268 return this;
7269 }
7270
7280 public Builder clearUseInactiveLns() {
7281 bitField0_ = (bitField0_ & ~0x40000000);
7282 useInactiveLns_ = 0;
7283 onChanged();
7284 return this;
7285 }
7286
7287 private int useGlobalCheapestInsertionPathLns_ = 0;
7298 @java.lang.Override public int getUseGlobalCheapestInsertionPathLnsValue() {
7299 return useGlobalCheapestInsertionPathLns_;
7300 }
7301
7313 useGlobalCheapestInsertionPathLns_ = value;
7314 bitField0_ |= 0x80000000;
7315 onChanged();
7316 return this;
7317 }
7318
7328 @java.lang.Override
7330 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useGlobalCheapestInsertionPathLns_);
7331 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7332 }
7333
7344 public Builder setUseGlobalCheapestInsertionPathLns(com.google.ortools.util.OptionalBoolean value) {
7345 if (value == null) { throw new NullPointerException(); }
7346 bitField0_ |= 0x80000000;
7347 useGlobalCheapestInsertionPathLns_ = value.getNumber();
7348 onChanged();
7349 return this;
7350 }
7351
7362 bitField0_ = (bitField0_ & ~0x80000000);
7363 useGlobalCheapestInsertionPathLns_ = 0;
7364 onChanged();
7365 return this;
7366 }
7367
7368 private int useLocalCheapestInsertionPathLns_ = 0;
7377 @java.lang.Override public int getUseLocalCheapestInsertionPathLnsValue() {
7378 return useLocalCheapestInsertionPathLns_;
7379 }
7380
7390 useLocalCheapestInsertionPathLns_ = value;
7391 bitField1_ |= 0x00000001;
7392 onChanged();
7393 return this;
7394 }
7395
7403 @java.lang.Override
7405 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useLocalCheapestInsertionPathLns_);
7406 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7407 }
7408
7417 public Builder setUseLocalCheapestInsertionPathLns(com.google.ortools.util.OptionalBoolean value) {
7418 if (value == null) { throw new NullPointerException(); }
7419 bitField1_ |= 0x00000001;
7420 useLocalCheapestInsertionPathLns_ = value.getNumber();
7421 onChanged();
7422 return this;
7423 }
7424
7433 bitField1_ = (bitField1_ & ~0x00000001);
7434 useLocalCheapestInsertionPathLns_ = 0;
7435 onChanged();
7436 return this;
7437 }
7438
7439 private int useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
7451 return useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
7452 }
7453
7465 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = value;
7466 bitField1_ |= 0x00000002;
7467 onChanged();
7468 return this;
7469 }
7470
7480 @java.lang.Override
7482 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useRelocatePathGlobalCheapestInsertionInsertUnperformed_);
7483 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7484 }
7485
7496 public Builder setUseRelocatePathGlobalCheapestInsertionInsertUnperformed(com.google.ortools.util.OptionalBoolean value) {
7497 if (value == null) { throw new NullPointerException(); }
7498 bitField1_ |= 0x00000002;
7499 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = value.getNumber();
7500 onChanged();
7501 return this;
7502 }
7503
7514 bitField1_ = (bitField1_ & ~0x00000002);
7515 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
7516 onChanged();
7517 return this;
7518 }
7519
7520 private int useGlobalCheapestInsertionExpensiveChainLns_ = 0;
7533 return useGlobalCheapestInsertionExpensiveChainLns_;
7534 }
7535
7548 useGlobalCheapestInsertionExpensiveChainLns_ = value;
7549 bitField1_ |= 0x00000004;
7550 onChanged();
7551 return this;
7552 }
7553
7564 @java.lang.Override
7566 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useGlobalCheapestInsertionExpensiveChainLns_);
7567 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7568 }
7569
7581 public Builder setUseGlobalCheapestInsertionExpensiveChainLns(com.google.ortools.util.OptionalBoolean value) {
7582 if (value == null) { throw new NullPointerException(); }
7583 bitField1_ |= 0x00000004;
7584 useGlobalCheapestInsertionExpensiveChainLns_ = value.getNumber();
7585 onChanged();
7586 return this;
7587 }
7588
7600 bitField1_ = (bitField1_ & ~0x00000004);
7601 useGlobalCheapestInsertionExpensiveChainLns_ = 0;
7602 onChanged();
7603 return this;
7604 }
7605
7606 private int useLocalCheapestInsertionExpensiveChainLns_ = 0;
7617 return useLocalCheapestInsertionExpensiveChainLns_;
7618 }
7619
7630 useLocalCheapestInsertionExpensiveChainLns_ = value;
7631 bitField1_ |= 0x00000008;
7632 onChanged();
7633 return this;
7634 }
7635
7644 @java.lang.Override
7646 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useLocalCheapestInsertionExpensiveChainLns_);
7647 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7648 }
7649
7659 public Builder setUseLocalCheapestInsertionExpensiveChainLns(com.google.ortools.util.OptionalBoolean value) {
7660 if (value == null) { throw new NullPointerException(); }
7661 bitField1_ |= 0x00000008;
7662 useLocalCheapestInsertionExpensiveChainLns_ = value.getNumber();
7663 onChanged();
7664 return this;
7665 }
7666
7676 bitField1_ = (bitField1_ & ~0x00000008);
7677 useLocalCheapestInsertionExpensiveChainLns_ = 0;
7678 onChanged();
7679 return this;
7680 }
7681
7682 private int useGlobalCheapestInsertionCloseNodesLns_ = 0;
7694 @java.lang.Override public int getUseGlobalCheapestInsertionCloseNodesLnsValue() {
7695 return useGlobalCheapestInsertionCloseNodesLns_;
7696 }
7697
7710 useGlobalCheapestInsertionCloseNodesLns_ = value;
7711 bitField1_ |= 0x00000010;
7712 onChanged();
7713 return this;
7714 }
7715
7726 @java.lang.Override
7728 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useGlobalCheapestInsertionCloseNodesLns_);
7729 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7730 }
7731
7743 public Builder setUseGlobalCheapestInsertionCloseNodesLns(com.google.ortools.util.OptionalBoolean value) {
7744 if (value == null) { throw new NullPointerException(); }
7745 bitField1_ |= 0x00000010;
7746 useGlobalCheapestInsertionCloseNodesLns_ = value.getNumber();
7747 onChanged();
7748 return this;
7749 }
7750
7762 bitField1_ = (bitField1_ & ~0x00000010);
7763 useGlobalCheapestInsertionCloseNodesLns_ = 0;
7764 onChanged();
7765 return this;
7766 }
7767
7768 private int useLocalCheapestInsertionCloseNodesLns_ = 0;
7778 @java.lang.Override public int getUseLocalCheapestInsertionCloseNodesLnsValue() {
7779 return useLocalCheapestInsertionCloseNodesLns_;
7780 }
7781
7792 useLocalCheapestInsertionCloseNodesLns_ = value;
7793 bitField1_ |= 0x00000020;
7794 onChanged();
7795 return this;
7796 }
7797
7806 @java.lang.Override
7808 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useLocalCheapestInsertionCloseNodesLns_);
7809 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7810 }
7811
7821 public Builder setUseLocalCheapestInsertionCloseNodesLns(com.google.ortools.util.OptionalBoolean value) {
7822 if (value == null) { throw new NullPointerException(); }
7823 bitField1_ |= 0x00000020;
7824 useLocalCheapestInsertionCloseNodesLns_ = value.getNumber();
7825 onChanged();
7826 return this;
7827 }
7828
7838 bitField1_ = (bitField1_ & ~0x00000020);
7839 useLocalCheapestInsertionCloseNodesLns_ = 0;
7840 onChanged();
7841 return this;
7842 }
7843
7844 private int useGlobalCheapestInsertionVisitTypesLns_ = 0;
7855 @java.lang.Override public int getUseGlobalCheapestInsertionVisitTypesLnsValue() {
7856 return useGlobalCheapestInsertionVisitTypesLns_;
7857 }
7858
7870 useGlobalCheapestInsertionVisitTypesLns_ = value;
7871 bitField1_ |= 0x00000040;
7872 onChanged();
7873 return this;
7874 }
7875
7885 @java.lang.Override
7887 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useGlobalCheapestInsertionVisitTypesLns_);
7888 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7889 }
7890
7901 public Builder setUseGlobalCheapestInsertionVisitTypesLns(com.google.ortools.util.OptionalBoolean value) {
7902 if (value == null) { throw new NullPointerException(); }
7903 bitField1_ |= 0x00000040;
7904 useGlobalCheapestInsertionVisitTypesLns_ = value.getNumber();
7905 onChanged();
7906 return this;
7907 }
7908
7919 bitField1_ = (bitField1_ & ~0x00000040);
7920 useGlobalCheapestInsertionVisitTypesLns_ = 0;
7921 onChanged();
7922 return this;
7923 }
7924
7925 private int useLocalCheapestInsertionVisitTypesLns_ = 0;
7935 @java.lang.Override public int getUseLocalCheapestInsertionVisitTypesLnsValue() {
7936 return useLocalCheapestInsertionVisitTypesLns_;
7937 }
7938
7949 useLocalCheapestInsertionVisitTypesLns_ = value;
7950 bitField1_ |= 0x00000080;
7951 onChanged();
7952 return this;
7953 }
7954
7963 @java.lang.Override
7965 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useLocalCheapestInsertionVisitTypesLns_);
7966 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7967 }
7968
7978 public Builder setUseLocalCheapestInsertionVisitTypesLns(com.google.ortools.util.OptionalBoolean value) {
7979 if (value == null) { throw new NullPointerException(); }
7980 bitField1_ |= 0x00000080;
7981 useLocalCheapestInsertionVisitTypesLns_ = value.getNumber();
7982 onChanged();
7983 return this;
7984 }
7985
7995 bitField1_ = (bitField1_ & ~0x00000080);
7996 useLocalCheapestInsertionVisitTypesLns_ = 0;
7997 onChanged();
7998 return this;
7999 }
8000
8001 // @@protoc_insertion_point(builder_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
8002 }
8003
8004 // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
8006 static {
8007 DEFAULT_INSTANCE = new com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators();
8008 }
8009
8013
8014 private static final com.google.protobuf.Parser<LocalSearchNeighborhoodOperators>
8015 PARSER = new com.google.protobuf.AbstractParser<LocalSearchNeighborhoodOperators>() {
8016 @java.lang.Override
8017 public LocalSearchNeighborhoodOperators parsePartialFrom(
8018 com.google.protobuf.CodedInputStream input,
8019 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8020 throws com.google.protobuf.InvalidProtocolBufferException {
8021 Builder builder = newBuilder();
8022 try {
8023 builder.mergeFrom(input, extensionRegistry);
8024 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8025 throw e.setUnfinishedMessage(builder.buildPartial());
8026 } catch (com.google.protobuf.UninitializedMessageException e) {
8027 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
8028 } catch (java.io.IOException e) {
8029 throw new com.google.protobuf.InvalidProtocolBufferException(e)
8030 .setUnfinishedMessage(builder.buildPartial());
8031 }
8032 return builder.buildPartial();
8033 }
8034 };
8035
8036 public static com.google.protobuf.Parser<LocalSearchNeighborhoodOperators> parser() {
8037 return PARSER;
8038 }
8039
8040 @java.lang.Override
8041 public com.google.protobuf.Parser<LocalSearchNeighborhoodOperators> getParserForType() {
8042 return PARSER;
8043 }
8044
8045 @java.lang.Override
8049
8050 }
8051
8053 // @@protoc_insertion_point(interface_extends:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
8054 com.google.protobuf.MessageOrBuilder {
8055
8067
8081 }
8082
8089 public static final class ImprovementSearchLimitParameters extends
8090 com.google.protobuf.GeneratedMessage implements
8091 // @@protoc_insertion_point(message_implements:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
8093 private static final long serialVersionUID = 0L;
8094 static {
8095 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
8096 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
8097 /* major= */ 4,
8098 /* minor= */ 33,
8099 /* patch= */ 1,
8100 /* suffix= */ "",
8101 "ImprovementSearchLimitParameters");
8102 }
8103 // Use ImprovementSearchLimitParameters.newBuilder() to construct.
8104 private ImprovementSearchLimitParameters(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
8105 super(builder);
8106 }
8107 private ImprovementSearchLimitParameters() {
8108 }
8109
8110 public static final com.google.protobuf.Descriptors.Descriptor
8112 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_descriptor;
8113 }
8114
8115 @java.lang.Override
8116 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
8118 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_fieldAccessorTable
8119 .ensureFieldAccessorsInitialized(
8120 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.class, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder.class);
8121 }
8122
8123 public static final int IMPROVEMENT_RATE_COEFFICIENT_FIELD_NUMBER = 38;
8124 private double improvementRateCoefficient_ = 0D;
8135 @java.lang.Override
8137 return improvementRateCoefficient_;
8138 }
8139
8141 private int improvementRateSolutionsDistance_ = 0;
8154 @java.lang.Override
8156 return improvementRateSolutionsDistance_;
8157 }
8158
8159 private byte memoizedIsInitialized = -1;
8160 @java.lang.Override
8161 public final boolean isInitialized() {
8162 byte isInitialized = memoizedIsInitialized;
8163 if (isInitialized == 1) return true;
8164 if (isInitialized == 0) return false;
8165
8166 memoizedIsInitialized = 1;
8167 return true;
8168 }
8169
8170 @java.lang.Override
8171 public void writeTo(com.google.protobuf.CodedOutputStream output)
8172 throws java.io.IOException {
8173 if (java.lang.Double.doubleToRawLongBits(improvementRateCoefficient_) != 0) {
8174 output.writeDouble(38, improvementRateCoefficient_);
8175 }
8176 if (improvementRateSolutionsDistance_ != 0) {
8177 output.writeInt32(39, improvementRateSolutionsDistance_);
8178 }
8179 getUnknownFields().writeTo(output);
8180 }
8181
8182 @java.lang.Override
8183 public int getSerializedSize() {
8184 int size = memoizedSize;
8185 if (size != -1) return size;
8186
8187 size = 0;
8188 if (java.lang.Double.doubleToRawLongBits(improvementRateCoefficient_) != 0) {
8189 size += com.google.protobuf.CodedOutputStream
8190 .computeDoubleSize(38, improvementRateCoefficient_);
8191 }
8192 if (improvementRateSolutionsDistance_ != 0) {
8193 size += com.google.protobuf.CodedOutputStream
8194 .computeInt32Size(39, improvementRateSolutionsDistance_);
8195 }
8196 size += getUnknownFields().getSerializedSize();
8197 memoizedSize = size;
8198 return size;
8199 }
8200
8201 @java.lang.Override
8202 public boolean equals(final java.lang.Object obj) {
8203 if (obj == this) {
8204 return true;
8205 }
8206 if (!(obj instanceof com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters)) {
8207 return super.equals(obj);
8208 }
8209 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters other = (com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters) obj;
8210
8211 if (java.lang.Double.doubleToLongBits(getImprovementRateCoefficient())
8212 != java.lang.Double.doubleToLongBits(
8213 other.getImprovementRateCoefficient())) return false;
8215 != other.getImprovementRateSolutionsDistance()) return false;
8216 if (!getUnknownFields().equals(other.getUnknownFields())) return false;
8217 return true;
8218 }
8219
8220 @java.lang.Override
8221 public int hashCode() {
8222 if (memoizedHashCode != 0) {
8223 return memoizedHashCode;
8224 }
8225 int hash = 41;
8226 hash = (19 * hash) + getDescriptor().hashCode();
8227 hash = (37 * hash) + IMPROVEMENT_RATE_COEFFICIENT_FIELD_NUMBER;
8228 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8229 java.lang.Double.doubleToLongBits(getImprovementRateCoefficient()));
8231 hash = (53 * hash) + getImprovementRateSolutionsDistance();
8232 hash = (29 * hash) + getUnknownFields().hashCode();
8233 memoizedHashCode = hash;
8234 return hash;
8235 }
8236
8238 java.nio.ByteBuffer data)
8239 throws com.google.protobuf.InvalidProtocolBufferException {
8240 return PARSER.parseFrom(data);
8241 }
8243 java.nio.ByteBuffer data,
8244 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8245 throws com.google.protobuf.InvalidProtocolBufferException {
8246 return PARSER.parseFrom(data, extensionRegistry);
8247 }
8249 com.google.protobuf.ByteString data)
8250 throws com.google.protobuf.InvalidProtocolBufferException {
8251 return PARSER.parseFrom(data);
8252 }
8254 com.google.protobuf.ByteString data,
8255 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8256 throws com.google.protobuf.InvalidProtocolBufferException {
8257 return PARSER.parseFrom(data, extensionRegistry);
8258 }
8260 throws com.google.protobuf.InvalidProtocolBufferException {
8261 return PARSER.parseFrom(data);
8262 }
8264 byte[] data,
8265 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8266 throws com.google.protobuf.InvalidProtocolBufferException {
8267 return PARSER.parseFrom(data, extensionRegistry);
8268 }
8270 throws java.io.IOException {
8271 return com.google.protobuf.GeneratedMessage
8272 .parseWithIOException(PARSER, input);
8273 }
8275 java.io.InputStream input,
8276 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8277 throws java.io.IOException {
8278 return com.google.protobuf.GeneratedMessage
8279 .parseWithIOException(PARSER, input, extensionRegistry);
8280 }
8281
8283 throws java.io.IOException {
8284 return com.google.protobuf.GeneratedMessage
8285 .parseDelimitedWithIOException(PARSER, input);
8286 }
8287
8289 java.io.InputStream input,
8290 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8291 throws java.io.IOException {
8292 return com.google.protobuf.GeneratedMessage
8293 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
8294 }
8296 com.google.protobuf.CodedInputStream input)
8297 throws java.io.IOException {
8298 return com.google.protobuf.GeneratedMessage
8299 .parseWithIOException(PARSER, input);
8300 }
8302 com.google.protobuf.CodedInputStream input,
8303 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8304 throws java.io.IOException {
8305 return com.google.protobuf.GeneratedMessage
8306 .parseWithIOException(PARSER, input, extensionRegistry);
8307 }
8308
8309 @java.lang.Override
8310 public Builder newBuilderForType() { return newBuilder(); }
8311 public static Builder newBuilder() {
8312 return DEFAULT_INSTANCE.toBuilder();
8313 }
8314 public static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters prototype) {
8315 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
8316 }
8317 @java.lang.Override
8319 return this == DEFAULT_INSTANCE
8320 ? new Builder() : new Builder().mergeFrom(this);
8321 }
8322
8323 @java.lang.Override
8325 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
8326 Builder builder = new Builder(parent);
8327 return builder;
8328 }
8329
8336 public static final class Builder extends
8337 com.google.protobuf.GeneratedMessage.Builder<Builder> implements
8338 // @@protoc_insertion_point(builder_implements:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
8339 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParametersOrBuilder {
8340 public static final com.google.protobuf.Descriptors.Descriptor
8342 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_descriptor;
8343 }
8344
8345 @java.lang.Override
8346 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
8348 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_fieldAccessorTable
8349 .ensureFieldAccessorsInitialized(
8350 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.class, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder.class);
8351 }
8352
8353 // Construct using com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.newBuilder()
8354 private Builder() {
8355
8356 }
8357
8358 private Builder(
8359 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
8360 super(parent);
8361
8362 }
8363 @java.lang.Override
8364 public Builder clear() {
8365 super.clear();
8366 bitField0_ = 0;
8367 improvementRateCoefficient_ = 0D;
8368 improvementRateSolutionsDistance_ = 0;
8369 return this;
8370 }
8371
8372 @java.lang.Override
8373 public com.google.protobuf.Descriptors.Descriptor
8375 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_descriptor;
8376 }
8377
8378 @java.lang.Override
8380 return com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance();
8381 }
8382
8383 @java.lang.Override
8391
8392 @java.lang.Override
8394 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters result = new com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters(this);
8395 if (bitField0_ != 0) { buildPartial0(result); }
8396 onBuilt();
8397 return result;
8398 }
8399
8400 private void buildPartial0(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters result) {
8401 int from_bitField0_ = bitField0_;
8402 if (((from_bitField0_ & 0x00000001) != 0)) {
8403 result.improvementRateCoefficient_ = improvementRateCoefficient_;
8404 }
8405 if (((from_bitField0_ & 0x00000002) != 0)) {
8406 result.improvementRateSolutionsDistance_ = improvementRateSolutionsDistance_;
8407 }
8408 }
8409
8410 @java.lang.Override
8411 public Builder mergeFrom(com.google.protobuf.Message other) {
8412 if (other instanceof com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters) {
8413 return mergeFrom((com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters)other);
8414 } else {
8415 super.mergeFrom(other);
8416 return this;
8417 }
8418 }
8419
8420 public Builder mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters other) {
8421 if (other == com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance()) return this;
8422 if (java.lang.Double.doubleToRawLongBits(other.getImprovementRateCoefficient()) != 0) {
8423 setImprovementRateCoefficient(other.getImprovementRateCoefficient());
8424 }
8425 if (other.getImprovementRateSolutionsDistance() != 0) {
8426 setImprovementRateSolutionsDistance(other.getImprovementRateSolutionsDistance());
8427 }
8428 this.mergeUnknownFields(other.getUnknownFields());
8429 onChanged();
8430 return this;
8431 }
8432
8433 @java.lang.Override
8434 public final boolean isInitialized() {
8435 return true;
8436 }
8437
8438 @java.lang.Override
8439 public Builder mergeFrom(
8440 com.google.protobuf.CodedInputStream input,
8441 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8442 throws java.io.IOException {
8443 if (extensionRegistry == null) {
8444 throw new java.lang.NullPointerException();
8445 }
8446 try {
8447 boolean done = false;
8448 while (!done) {
8449 int tag = input.readTag();
8450 switch (tag) {
8451 case 0:
8452 done = true;
8453 break;
8454 case 305: {
8455 improvementRateCoefficient_ = input.readDouble();
8456 bitField0_ |= 0x00000001;
8457 break;
8458 } // case 305
8459 case 312: {
8460 improvementRateSolutionsDistance_ = input.readInt32();
8461 bitField0_ |= 0x00000002;
8462 break;
8463 } // case 312
8464 default: {
8465 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
8466 done = true; // was an endgroup tag
8467 }
8468 break;
8469 } // default:
8470 } // switch (tag)
8471 } // while (!done)
8472 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8473 throw e.unwrapIOException();
8474 } finally {
8475 onChanged();
8476 } // finally
8477 return this;
8478 }
8479 private int bitField0_;
8480
8481 private double improvementRateCoefficient_ ;
8492 @java.lang.Override
8494 return improvementRateCoefficient_;
8495 }
8496
8507 public Builder setImprovementRateCoefficient(double value) {
8508
8509 improvementRateCoefficient_ = value;
8510 bitField0_ |= 0x00000001;
8511 onChanged();
8512 return this;
8513 }
8514
8525 bitField0_ = (bitField0_ & ~0x00000001);
8526 improvementRateCoefficient_ = 0D;
8527 onChanged();
8528 return this;
8529 }
8530
8531 private int improvementRateSolutionsDistance_ ;
8544 @java.lang.Override
8546 return improvementRateSolutionsDistance_;
8547 }
8548
8561 public Builder setImprovementRateSolutionsDistance(int value) {
8562
8563 improvementRateSolutionsDistance_ = value;
8564 bitField0_ |= 0x00000002;
8565 onChanged();
8566 return this;
8567 }
8568
8581 bitField0_ = (bitField0_ & ~0x00000002);
8582 improvementRateSolutionsDistance_ = 0;
8583 onChanged();
8584 return this;
8585 }
8586
8587 // @@protoc_insertion_point(builder_scope:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
8588 }
8589
8590 // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
8592 static {
8593 DEFAULT_INSTANCE = new com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters();
8594 }
8595
8599
8600 private static final com.google.protobuf.Parser<ImprovementSearchLimitParameters>
8601 PARSER = new com.google.protobuf.AbstractParser<ImprovementSearchLimitParameters>() {
8602 @java.lang.Override
8603 public ImprovementSearchLimitParameters parsePartialFrom(
8604 com.google.protobuf.CodedInputStream input,
8605 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8606 throws com.google.protobuf.InvalidProtocolBufferException {
8607 Builder builder = newBuilder();
8608 try {
8609 builder.mergeFrom(input, extensionRegistry);
8610 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8611 throw e.setUnfinishedMessage(builder.buildPartial());
8612 } catch (com.google.protobuf.UninitializedMessageException e) {
8613 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
8614 } catch (java.io.IOException e) {
8615 throw new com.google.protobuf.InvalidProtocolBufferException(e)
8616 .setUnfinishedMessage(builder.buildPartial());
8617 }
8618 return builder.buildPartial();
8619 }
8620 };
8621
8622 public static com.google.protobuf.Parser<ImprovementSearchLimitParameters> parser() {
8623 return PARSER;
8624 }
8625
8626 @java.lang.Override
8627 public com.google.protobuf.Parser<ImprovementSearchLimitParameters> getParserForType() {
8628 return PARSER;
8629 }
8630
8631 @java.lang.Override
8635
8636 }
8637
8638 private int bitField0_;
8639 public static final int FIRST_SOLUTION_STRATEGY_FIELD_NUMBER = 1;
8640 private int firstSolutionStrategy_ = 0;
8649 @java.lang.Override public int getFirstSolutionStrategyValue() {
8650 return firstSolutionStrategy_;
8651 }
8652
8661 com.google.ortools.constraintsolver.FirstSolutionStrategy.Value result = com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.forNumber(firstSolutionStrategy_);
8663 }
8664
8666 private boolean useUnfilteredFirstSolutionStrategy_ = false;
8678 @java.lang.Override
8680 return useUnfilteredFirstSolutionStrategy_;
8681 }
8682
8683 public static final int SAVINGS_PARAMETERS_FIELD_NUMBER = 70;
8693 @java.lang.Override
8694 public boolean hasSavingsParameters() {
8695 return ((bitField0_ & 0x00000001) != 0);
8696 }
8697
8705 @java.lang.Override
8707 return savingsParameters_ == null ? com.google.ortools.constraintsolver.SavingsParameters.getDefaultInstance() : savingsParameters_;
8708 }
8709
8716 @java.lang.Override
8718 return savingsParameters_ == null ? com.google.ortools.constraintsolver.SavingsParameters.getDefaultInstance() : savingsParameters_;
8719 }
8720
8722 private com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters globalCheapestInsertionFirstSolutionParameters_;
8732 @java.lang.Override
8734 return ((bitField0_ & 0x00000002) != 0);
8735 }
8736
8745 @java.lang.Override
8747 return globalCheapestInsertionFirstSolutionParameters_ == null ? com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters.getDefaultInstance() : globalCheapestInsertionFirstSolutionParameters_;
8748 }
8749
8757 @java.lang.Override
8759 return globalCheapestInsertionFirstSolutionParameters_ == null ? com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters.getDefaultInstance() : globalCheapestInsertionFirstSolutionParameters_;
8760 }
8761
8763 private com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters globalCheapestInsertionLsOperatorParameters_;
8775 @java.lang.Override
8777 return ((bitField0_ & 0x00000004) != 0);
8778 }
8779
8790 @java.lang.Override
8792 return globalCheapestInsertionLsOperatorParameters_ == null ? com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters.getDefaultInstance() : globalCheapestInsertionLsOperatorParameters_;
8793 }
8794
8804 @java.lang.Override
8806 return globalCheapestInsertionLsOperatorParameters_ == null ? com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters.getDefaultInstance() : globalCheapestInsertionLsOperatorParameters_;
8807 }
8808
8810 private com.google.ortools.constraintsolver.LocalCheapestInsertionParameters localCheapestInsertionParameters_;
8819 @java.lang.Override
8821 return ((bitField0_ & 0x00000008) != 0);
8822 }
8823
8831 @java.lang.Override
8833 return localCheapestInsertionParameters_ == null ? com.google.ortools.constraintsolver.LocalCheapestInsertionParameters.getDefaultInstance() : localCheapestInsertionParameters_;
8834 }
8835
8842 @java.lang.Override
8844 return localCheapestInsertionParameters_ == null ? com.google.ortools.constraintsolver.LocalCheapestInsertionParameters.getDefaultInstance() : localCheapestInsertionParameters_;
8845 }
8846
8848 private com.google.ortools.constraintsolver.LocalCheapestInsertionParameters localCheapestCostInsertionParameters_;
8857 @java.lang.Override
8859 return ((bitField0_ & 0x00000010) != 0);
8860 }
8861
8869 @java.lang.Override
8871 return localCheapestCostInsertionParameters_ == null ? com.google.ortools.constraintsolver.LocalCheapestInsertionParameters.getDefaultInstance() : localCheapestCostInsertionParameters_;
8872 }
8873
8880 @java.lang.Override
8882 return localCheapestCostInsertionParameters_ == null ? com.google.ortools.constraintsolver.LocalCheapestInsertionParameters.getDefaultInstance() : localCheapestCostInsertionParameters_;
8883 }
8884
8886 private boolean christofidesUseMinimumMatching_ = false;
8896 @java.lang.Override
8898 return christofidesUseMinimumMatching_;
8899 }
8900
8902 private int firstSolutionOptimizationPeriod_ = 0;
8917 @java.lang.Override
8919 return firstSolutionOptimizationPeriod_;
8920 }
8921
8922 public static final int LOCAL_SEARCH_OPERATORS_FIELD_NUMBER = 3;
8928 @java.lang.Override
8929 public boolean hasLocalSearchOperators() {
8930 return ((bitField0_ & 0x00000020) != 0);
8931 }
8932
8936 @java.lang.Override
8938 return localSearchOperators_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
8939 }
8940
8943 @java.lang.Override
8945 return localSearchOperators_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
8946 }
8947
8948 public static final int LS_OPERATOR_NEIGHBORS_RATIO_FIELD_NUMBER = 53;
8949 private double lsOperatorNeighborsRatio_ = 0D;
8962 @java.lang.Override
8964 return lsOperatorNeighborsRatio_;
8965 }
8966
8967 public static final int LS_OPERATOR_MIN_NEIGHBORS_FIELD_NUMBER = 54;
8968 private int lsOperatorMinNeighbors_ = 0;
8973 @java.lang.Override
8975 return lsOperatorMinNeighbors_;
8976 }
8977
8979 private boolean useMultiArmedBanditConcatenateOperators_ = false;
8990 @java.lang.Override
8992 return useMultiArmedBanditConcatenateOperators_;
8993 }
8994
8996 private double multiArmedBanditCompoundOperatorMemoryCoefficient_ = 0D;
9008 @java.lang.Override
9010 return multiArmedBanditCompoundOperatorMemoryCoefficient_;
9011 }
9012
9014 private double multiArmedBanditCompoundOperatorExplorationCoefficient_ = 0D;
9025 @java.lang.Override
9027 return multiArmedBanditCompoundOperatorExplorationCoefficient_;
9028 }
9029
9030 public static final int MAX_SWAP_ACTIVE_CHAIN_SIZE_FIELD_NUMBER = 66;
9031 private int maxSwapActiveChainSize_ = 0;
9040 @java.lang.Override
9042 return maxSwapActiveChainSize_;
9043 }
9044
9046 private int relocateExpensiveChainNumArcsToConsider_ = 0;
9061 @java.lang.Override
9063 return relocateExpensiveChainNumArcsToConsider_;
9064 }
9065
9067 private int heuristicExpensiveChainLnsNumArcsToConsider_ = 0;
9077 @java.lang.Override
9079 return heuristicExpensiveChainLnsNumArcsToConsider_;
9080 }
9081
9083 private int heuristicCloseNodesLnsNumNodes_ = 0;
9093 @java.lang.Override
9095 return heuristicCloseNodesLnsNumNodes_;
9096 }
9097
9098 public static final int LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER = 4;
9099 private int localSearchMetaheuristic_ = 0;
9108 @java.lang.Override public int getLocalSearchMetaheuristicValue() {
9109 return localSearchMetaheuristic_;
9110 }
9111
9120 com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value result = com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.forNumber(localSearchMetaheuristic_);
9122 }
9123
9124 public static final int LOCAL_SEARCH_METAHEURISTICS_FIELD_NUMBER = 63;
9125 @SuppressWarnings("serial")
9126 private com.google.protobuf.Internal.IntList localSearchMetaheuristics_ =
9127 emptyIntList();
9128 private static final com.google.protobuf.Internal.IntListAdapter.IntConverter<
9129 com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value> localSearchMetaheuristics_converter_ =
9130 new com.google.protobuf.Internal.IntListAdapter.IntConverter<
9133 com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value result = com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.forNumber(from);
9135 }
9136 };
9148 @java.lang.Override
9149 public java.util.List<com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value> getLocalSearchMetaheuristicsList() {
9150 return new com.google.protobuf.Internal.IntListAdapter<
9151 com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value>(localSearchMetaheuristics_, localSearchMetaheuristics_converter_);
9152 }
9153
9164 @java.lang.Override
9166 return localSearchMetaheuristics_.size();
9167 }
9168
9180 @java.lang.Override
9182 return localSearchMetaheuristics_converter_.convert(localSearchMetaheuristics_.getInt(index));
9183 }
9184
9195 @java.lang.Override
9196 public java.util.List<java.lang.Integer>
9198 return localSearchMetaheuristics_;
9199 }
9200
9212 @java.lang.Override
9214 return localSearchMetaheuristics_.getInt(index);
9215 }
9216 private int localSearchMetaheuristicsMemoizedSerializedSize;
9217
9219 private int numMaxLocalOptimaBeforeMetaheuristicSwitch_ = 0;
9224 @java.lang.Override
9226 return numMaxLocalOptimaBeforeMetaheuristicSwitch_;
9227 }
9228
9230 private double guidedLocalSearchLambdaCoefficient_ = 0D;
9242 @java.lang.Override
9244 return guidedLocalSearchLambdaCoefficient_;
9245 }
9246
9248 private boolean guidedLocalSearchResetPenaltiesOnNewBestSolution_ = false;
9258 @java.lang.Override
9260 return guidedLocalSearchResetPenaltiesOnNewBestSolution_;
9261 }
9262
9264 private boolean guidedLocalSearchPenalizeWithVehicleClasses_ = false;
9275 @java.lang.Override
9277 return guidedLocalSearchPenalizeWithVehicleClasses_;
9278 }
9279
9281 private boolean useGuidedLocalSearchPenaltiesInLocalSearchOperators_ = false;
9291 @java.lang.Override
9293 return useGuidedLocalSearchPenaltiesInLocalSearchOperators_;
9294 }
9295
9296 public static final int USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER = 6;
9297 private boolean useDepthFirstSearch_ = false;
9309 @java.lang.Override
9310 public boolean getUseDepthFirstSearch() {
9311 return useDepthFirstSearch_;
9312 }
9313
9314 public static final int USE_CP_FIELD_NUMBER = 28;
9315 private int useCp_ = 0;
9326 @java.lang.Override public int getUseCpValue() {
9327 return useCp_;
9328 }
9329
9340 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useCp_);
9341 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
9342 }
9343
9344 public static final int USE_CP_SAT_FIELD_NUMBER = 27;
9345 private int useCpSat_ = 0;
9357 @java.lang.Override public int getUseCpSatValue() {
9358 return useCpSat_;
9359 }
9360
9372 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useCpSat_);
9373 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
9374 }
9375
9376 public static final int USE_GENERALIZED_CP_SAT_FIELD_NUMBER = 47;
9377 private int useGeneralizedCpSat_ = 0;
9389 @java.lang.Override public int getUseGeneralizedCpSatValue() {
9390 return useGeneralizedCpSat_;
9391 }
9392
9404 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useGeneralizedCpSat_);
9405 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
9406 }
9407
9408 public static final int SAT_PARAMETERS_FIELD_NUMBER = 48;
9409 private com.google.ortools.sat.SatParameters satParameters_;
9419 @java.lang.Override
9420 public boolean hasSatParameters() {
9421 return ((bitField0_ & 0x00000040) != 0);
9422 }
9423
9432 @java.lang.Override
9434 return satParameters_ == null ? com.google.ortools.sat.SatParameters.getDefaultInstance() : satParameters_;
9435 }
9436
9444 @java.lang.Override
9446 return satParameters_ == null ? com.google.ortools.sat.SatParameters.getDefaultInstance() : satParameters_;
9447 }
9448
9450 private boolean reportIntermediateCpSatSolutions_ = false;
9460 @java.lang.Override
9462 return reportIntermediateCpSatSolutions_;
9463 }
9464
9466 private int fallbackToCpSatSizeThreshold_ = 0;
9476 @java.lang.Override
9478 return fallbackToCpSatSizeThreshold_;
9479 }
9480
9481 public static final int CONTINUOUS_SCHEDULING_SOLVER_FIELD_NUMBER = 33;
9482 private int continuousSchedulingSolver_ = 0;
9487 @java.lang.Override public int getContinuousSchedulingSolverValue() {
9488 return continuousSchedulingSolver_;
9489 }
9490
9495 com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver result = com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.forNumber(continuousSchedulingSolver_);
9497 }
9498
9500 private int mixedIntegerSchedulingSolver_ = 0;
9505 @java.lang.Override public int getMixedIntegerSchedulingSolverValue() {
9506 return mixedIntegerSchedulingSolver_;
9507 }
9508
9513 com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver result = com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.forNumber(mixedIntegerSchedulingSolver_);
9515 }
9516
9518 private boolean disableSchedulingBewareThisMayDegradePerformance_ = false;
9528 @java.lang.Override
9530 return ((bitField0_ & 0x00000080) != 0);
9531 }
9532
9541 @java.lang.Override
9543 return disableSchedulingBewareThisMayDegradePerformance_;
9544 }
9545
9546 public static final int OPTIMIZATION_STEP_FIELD_NUMBER = 7;
9547 private double optimizationStep_ = 0D;
9558 @java.lang.Override
9559 public double getOptimizationStep() {
9560 return optimizationStep_;
9561 }
9562
9564 private int numberOfSolutionsToCollect_ = 0;
9574 @java.lang.Override
9576 return numberOfSolutionsToCollect_;
9577 }
9578
9579 public static final int SOLUTION_LIMIT_FIELD_NUMBER = 8;
9580 private long solutionLimit_ = 0L;
9591 @java.lang.Override
9592 public long getSolutionLimit() {
9593 return solutionLimit_;
9594 }
9595
9596 public static final int TIME_LIMIT_FIELD_NUMBER = 9;
9597 private com.google.protobuf.Duration timeLimit_;
9606 @java.lang.Override
9607 public boolean hasTimeLimit() {
9608 return ((bitField0_ & 0x00000100) != 0);
9609 }
9610
9618 @java.lang.Override
9619 public com.google.protobuf.Duration getTimeLimit() {
9620 return timeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
9621 }
9622
9629 @java.lang.Override
9630 public com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder() {
9631 return timeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
9632 }
9633
9634 public static final int LNS_TIME_LIMIT_FIELD_NUMBER = 10;
9635 private com.google.protobuf.Duration lnsTimeLimit_;
9645 @java.lang.Override
9646 public boolean hasLnsTimeLimit() {
9647 return ((bitField0_ & 0x00000200) != 0);
9648 }
9649
9658 @java.lang.Override
9659 public com.google.protobuf.Duration getLnsTimeLimit() {
9660 return lnsTimeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
9661 }
9662
9670 @java.lang.Override
9671 public com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder() {
9672 return lnsTimeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
9673 }
9674
9676 private double secondaryLsTimeLimitRatio_ = 0D;
9690 @java.lang.Override
9692 return secondaryLsTimeLimitRatio_;
9693 }
9694
9695 public static final int IMPROVEMENT_LIMIT_PARAMETERS_FIELD_NUMBER = 37;
9706 @java.lang.Override
9708 return ((bitField0_ & 0x00000400) != 0);
9709 }
9710
9719 @java.lang.Override
9721 return improvementLimitParameters_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance() : improvementLimitParameters_;
9722 }
9723
9731 @java.lang.Override
9733 return improvementLimitParameters_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance() : improvementLimitParameters_;
9734 }
9735
9736 public static final int USE_FULL_PROPAGATION_FIELD_NUMBER = 11;
9737 private boolean useFullPropagation_ = false;
9755 @java.lang.Override
9756 public boolean getUseFullPropagation() {
9757 return useFullPropagation_;
9758 }
9759
9760 public static final int LOG_SEARCH_FIELD_NUMBER = 13;
9761 private boolean logSearch_ = false;
9782 @java.lang.Override
9783 public boolean getLogSearch() {
9784 return logSearch_;
9785 }
9786
9787 public static final int LOG_COST_SCALING_FACTOR_FIELD_NUMBER = 22;
9788 private double logCostScalingFactor_ = 0D;
9798 @java.lang.Override
9799 public double getLogCostScalingFactor() {
9800 return logCostScalingFactor_;
9801 }
9802
9803 public static final int LOG_COST_OFFSET_FIELD_NUMBER = 29;
9804 private double logCostOffset_ = 0D;
9809 @java.lang.Override
9810 public double getLogCostOffset() {
9811 return logCostOffset_;
9812 }
9813
9814 public static final int LOG_TAG_FIELD_NUMBER = 36;
9815 @SuppressWarnings("serial")
9816 private volatile java.lang.Object logTag_ = "";
9826 @java.lang.Override
9827 public java.lang.String getLogTag() {
9828 java.lang.Object ref = logTag_;
9829 if (ref instanceof java.lang.String) {
9830 return (java.lang.String) ref;
9831 } else {
9832 com.google.protobuf.ByteString bs =
9833 (com.google.protobuf.ByteString) ref;
9834 java.lang.String s = bs.toStringUtf8();
9835 logTag_ = s;
9836 return s;
9837 }
9838 }
9839
9848 @java.lang.Override
9849 public com.google.protobuf.ByteString
9851 java.lang.Object ref = logTag_;
9852 if (ref instanceof java.lang.String) {
9853 com.google.protobuf.ByteString b =
9854 com.google.protobuf.ByteString.copyFromUtf8(
9855 (java.lang.String) ref);
9856 logTag_ = b;
9857 return b;
9858 } else {
9859 return (com.google.protobuf.ByteString) ref;
9860 }
9861 }
9862
9863 public static final int USE_ITERATED_LOCAL_SEARCH_FIELD_NUMBER = 58;
9864 private boolean useIteratedLocalSearch_ = false;
9874 @java.lang.Override
9875 public boolean getUseIteratedLocalSearch() {
9876 return useIteratedLocalSearch_;
9877 }
9878
9880 private com.google.ortools.constraintsolver.IteratedLocalSearchParameters iteratedLocalSearchParameters_;
9889 @java.lang.Override
9891 return ((bitField0_ & 0x00000800) != 0);
9892 }
9893
9901 @java.lang.Override
9903 return iteratedLocalSearchParameters_ == null ? com.google.ortools.constraintsolver.IteratedLocalSearchParameters.getDefaultInstance() : iteratedLocalSearchParameters_;
9904 }
9905
9912 @java.lang.Override
9914 return iteratedLocalSearchParameters_ == null ? com.google.ortools.constraintsolver.IteratedLocalSearchParameters.getDefaultInstance() : iteratedLocalSearchParameters_;
9915 }
9916
9917 private byte memoizedIsInitialized = -1;
9918 @java.lang.Override
9919 public final boolean isInitialized() {
9920 byte isInitialized = memoizedIsInitialized;
9921 if (isInitialized == 1) return true;
9922 if (isInitialized == 0) return false;
9923
9924 memoizedIsInitialized = 1;
9925 return true;
9926 }
9927
9928 @java.lang.Override
9929 public void writeTo(com.google.protobuf.CodedOutputStream output)
9930 throws java.io.IOException {
9932 if (firstSolutionStrategy_ != com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNSET.getNumber()) {
9933 output.writeEnum(1, firstSolutionStrategy_);
9934 }
9935 if (useUnfilteredFirstSolutionStrategy_ != false) {
9936 output.writeBool(2, useUnfilteredFirstSolutionStrategy_);
9937 }
9938 if (((bitField0_ & 0x00000020) != 0)) {
9939 output.writeMessage(3, getLocalSearchOperators());
9940 }
9941 if (localSearchMetaheuristic_ != com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNSET.getNumber()) {
9942 output.writeEnum(4, localSearchMetaheuristic_);
9943 }
9944 if (java.lang.Double.doubleToRawLongBits(guidedLocalSearchLambdaCoefficient_) != 0) {
9945 output.writeDouble(5, guidedLocalSearchLambdaCoefficient_);
9946 }
9947 if (useDepthFirstSearch_ != false) {
9948 output.writeBool(6, useDepthFirstSearch_);
9949 }
9950 if (java.lang.Double.doubleToRawLongBits(optimizationStep_) != 0) {
9951 output.writeDouble(7, optimizationStep_);
9952 }
9953 if (solutionLimit_ != 0L) {
9954 output.writeInt64(8, solutionLimit_);
9955 }
9956 if (((bitField0_ & 0x00000100) != 0)) {
9957 output.writeMessage(9, getTimeLimit());
9958 }
9959 if (((bitField0_ & 0x00000200) != 0)) {
9960 output.writeMessage(10, getLnsTimeLimit());
9961 }
9962 if (useFullPropagation_ != false) {
9963 output.writeBool(11, useFullPropagation_);
9964 }
9965 if (logSearch_ != false) {
9966 output.writeBool(13, logSearch_);
9967 }
9968 if (numberOfSolutionsToCollect_ != 0) {
9969 output.writeInt32(17, numberOfSolutionsToCollect_);
9970 }
9971 if (relocateExpensiveChainNumArcsToConsider_ != 0) {
9972 output.writeInt32(20, relocateExpensiveChainNumArcsToConsider_);
9973 }
9974 if (java.lang.Double.doubleToRawLongBits(logCostScalingFactor_) != 0) {
9975 output.writeDouble(22, logCostScalingFactor_);
9976 }
9977 if (useCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
9978 output.writeEnum(27, useCpSat_);
9979 }
9980 if (useCp_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
9981 output.writeEnum(28, useCp_);
9982 }
9983 if (java.lang.Double.doubleToRawLongBits(logCostOffset_) != 0) {
9984 output.writeDouble(29, logCostOffset_);
9985 }
9986 if (christofidesUseMinimumMatching_ != false) {
9987 output.writeBool(30, christofidesUseMinimumMatching_);
9988 }
9989 if (heuristicExpensiveChainLnsNumArcsToConsider_ != 0) {
9990 output.writeInt32(32, heuristicExpensiveChainLnsNumArcsToConsider_);
9991 }
9992 if (continuousSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.SCHEDULING_UNSET.getNumber()) {
9993 output.writeEnum(33, continuousSchedulingSolver_);
9994 }
9995 if (mixedIntegerSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.SCHEDULING_UNSET.getNumber()) {
9996 output.writeEnum(34, mixedIntegerSchedulingSolver_);
9997 }
9998 if (heuristicCloseNodesLnsNumNodes_ != 0) {
9999 output.writeInt32(35, heuristicCloseNodesLnsNumNodes_);
10000 }
10001 if (!com.google.protobuf.GeneratedMessage.isStringEmpty(logTag_)) {
10002 com.google.protobuf.GeneratedMessage.writeString(output, 36, logTag_);
10003 }
10004 if (((bitField0_ & 0x00000400) != 0)) {
10005 output.writeMessage(37, getImprovementLimitParameters());
10006 }
10007 if (useMultiArmedBanditConcatenateOperators_ != false) {
10008 output.writeBool(41, useMultiArmedBanditConcatenateOperators_);
10009 }
10010 if (java.lang.Double.doubleToRawLongBits(multiArmedBanditCompoundOperatorMemoryCoefficient_) != 0) {
10011 output.writeDouble(42, multiArmedBanditCompoundOperatorMemoryCoefficient_);
10012 }
10013 if (java.lang.Double.doubleToRawLongBits(multiArmedBanditCompoundOperatorExplorationCoefficient_) != 0) {
10014 output.writeDouble(43, multiArmedBanditCompoundOperatorExplorationCoefficient_);
10015 }
10016 if (useGeneralizedCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
10017 output.writeEnum(47, useGeneralizedCpSat_);
10018 }
10019 if (((bitField0_ & 0x00000040) != 0)) {
10020 output.writeMessage(48, getSatParameters());
10021 }
10022 if (((bitField0_ & 0x00000080) != 0)) {
10023 output.writeBool(50, disableSchedulingBewareThisMayDegradePerformance_);
10024 }
10025 if (guidedLocalSearchResetPenaltiesOnNewBestSolution_ != false) {
10026 output.writeBool(51, guidedLocalSearchResetPenaltiesOnNewBestSolution_);
10027 }
10028 if (fallbackToCpSatSizeThreshold_ != 0) {
10029 output.writeInt32(52, fallbackToCpSatSizeThreshold_);
10030 }
10031 if (java.lang.Double.doubleToRawLongBits(lsOperatorNeighborsRatio_) != 0) {
10032 output.writeDouble(53, lsOperatorNeighborsRatio_);
10033 }
10034 if (lsOperatorMinNeighbors_ != 0) {
10035 output.writeInt32(54, lsOperatorMinNeighbors_);
10036 }
10037 if (reportIntermediateCpSatSolutions_ != false) {
10038 output.writeBool(56, reportIntermediateCpSatSolutions_);
10039 }
10040 if (java.lang.Double.doubleToRawLongBits(secondaryLsTimeLimitRatio_) != 0) {
10041 output.writeDouble(57, secondaryLsTimeLimitRatio_);
10042 }
10043 if (useIteratedLocalSearch_ != false) {
10044 output.writeBool(58, useIteratedLocalSearch_);
10045 }
10046 if (firstSolutionOptimizationPeriod_ != 0) {
10047 output.writeInt32(59, firstSolutionOptimizationPeriod_);
10048 }
10049 if (((bitField0_ & 0x00000800) != 0)) {
10050 output.writeMessage(60, getIteratedLocalSearchParameters());
10051 }
10052 if (guidedLocalSearchPenalizeWithVehicleClasses_ != false) {
10053 output.writeBool(61, guidedLocalSearchPenalizeWithVehicleClasses_);
10054 }
10055 if (useGuidedLocalSearchPenaltiesInLocalSearchOperators_ != false) {
10056 output.writeBool(62, useGuidedLocalSearchPenaltiesInLocalSearchOperators_);
10057 }
10058 if (getLocalSearchMetaheuristicsList().size() > 0) {
10059 output.writeUInt32NoTag(506);
10060 output.writeUInt32NoTag(localSearchMetaheuristicsMemoizedSerializedSize);
10061 }
10062 for (int i = 0; i < localSearchMetaheuristics_.size(); i++) {
10063 output.writeEnumNoTag(localSearchMetaheuristics_.getInt(i));
10064 }
10065 if (numMaxLocalOptimaBeforeMetaheuristicSwitch_ != 0) {
10066 output.writeInt32(64, numMaxLocalOptimaBeforeMetaheuristicSwitch_);
10067 }
10068 if (maxSwapActiveChainSize_ != 0) {
10069 output.writeInt32(66, maxSwapActiveChainSize_);
10070 }
10071 if (((bitField0_ & 0x00000008) != 0)) {
10072 output.writeMessage(68, getLocalCheapestInsertionParameters());
10073 }
10074 if (((bitField0_ & 0x00000010) != 0)) {
10075 output.writeMessage(69, getLocalCheapestCostInsertionParameters());
10076 }
10077 if (((bitField0_ & 0x00000001) != 0)) {
10078 output.writeMessage(70, getSavingsParameters());
10079 }
10080 if (((bitField0_ & 0x00000002) != 0)) {
10081 output.writeMessage(71, getGlobalCheapestInsertionFirstSolutionParameters());
10082 }
10083 if (((bitField0_ & 0x00000004) != 0)) {
10084 output.writeMessage(72, getGlobalCheapestInsertionLsOperatorParameters());
10085 }
10086 getUnknownFields().writeTo(output);
10087 }
10088
10089 @java.lang.Override
10090 public int getSerializedSize() {
10091 int size = memoizedSize;
10092 if (size != -1) return size;
10093
10094 size = 0;
10095 if (firstSolutionStrategy_ != com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNSET.getNumber()) {
10096 size += com.google.protobuf.CodedOutputStream
10097 .computeEnumSize(1, firstSolutionStrategy_);
10098 }
10099 if (useUnfilteredFirstSolutionStrategy_ != false) {
10100 size += com.google.protobuf.CodedOutputStream
10101 .computeBoolSize(2, useUnfilteredFirstSolutionStrategy_);
10102 }
10103 if (((bitField0_ & 0x00000020) != 0)) {
10104 size += com.google.protobuf.CodedOutputStream
10105 .computeMessageSize(3, getLocalSearchOperators());
10106 }
10107 if (localSearchMetaheuristic_ != com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNSET.getNumber()) {
10108 size += com.google.protobuf.CodedOutputStream
10109 .computeEnumSize(4, localSearchMetaheuristic_);
10110 }
10111 if (java.lang.Double.doubleToRawLongBits(guidedLocalSearchLambdaCoefficient_) != 0) {
10112 size += com.google.protobuf.CodedOutputStream
10113 .computeDoubleSize(5, guidedLocalSearchLambdaCoefficient_);
10114 }
10115 if (useDepthFirstSearch_ != false) {
10116 size += com.google.protobuf.CodedOutputStream
10117 .computeBoolSize(6, useDepthFirstSearch_);
10118 }
10119 if (java.lang.Double.doubleToRawLongBits(optimizationStep_) != 0) {
10120 size += com.google.protobuf.CodedOutputStream
10121 .computeDoubleSize(7, optimizationStep_);
10122 }
10123 if (solutionLimit_ != 0L) {
10124 size += com.google.protobuf.CodedOutputStream
10125 .computeInt64Size(8, solutionLimit_);
10126 }
10127 if (((bitField0_ & 0x00000100) != 0)) {
10128 size += com.google.protobuf.CodedOutputStream
10129 .computeMessageSize(9, getTimeLimit());
10130 }
10131 if (((bitField0_ & 0x00000200) != 0)) {
10132 size += com.google.protobuf.CodedOutputStream
10133 .computeMessageSize(10, getLnsTimeLimit());
10134 }
10135 if (useFullPropagation_ != false) {
10136 size += com.google.protobuf.CodedOutputStream
10137 .computeBoolSize(11, useFullPropagation_);
10138 }
10139 if (logSearch_ != false) {
10140 size += com.google.protobuf.CodedOutputStream
10141 .computeBoolSize(13, logSearch_);
10142 }
10143 if (numberOfSolutionsToCollect_ != 0) {
10144 size += com.google.protobuf.CodedOutputStream
10145 .computeInt32Size(17, numberOfSolutionsToCollect_);
10146 }
10147 if (relocateExpensiveChainNumArcsToConsider_ != 0) {
10148 size += com.google.protobuf.CodedOutputStream
10149 .computeInt32Size(20, relocateExpensiveChainNumArcsToConsider_);
10150 }
10151 if (java.lang.Double.doubleToRawLongBits(logCostScalingFactor_) != 0) {
10152 size += com.google.protobuf.CodedOutputStream
10153 .computeDoubleSize(22, logCostScalingFactor_);
10154 }
10155 if (useCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
10156 size += com.google.protobuf.CodedOutputStream
10157 .computeEnumSize(27, useCpSat_);
10158 }
10159 if (useCp_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
10160 size += com.google.protobuf.CodedOutputStream
10161 .computeEnumSize(28, useCp_);
10162 }
10163 if (java.lang.Double.doubleToRawLongBits(logCostOffset_) != 0) {
10164 size += com.google.protobuf.CodedOutputStream
10165 .computeDoubleSize(29, logCostOffset_);
10166 }
10167 if (christofidesUseMinimumMatching_ != false) {
10168 size += com.google.protobuf.CodedOutputStream
10169 .computeBoolSize(30, christofidesUseMinimumMatching_);
10170 }
10171 if (heuristicExpensiveChainLnsNumArcsToConsider_ != 0) {
10172 size += com.google.protobuf.CodedOutputStream
10173 .computeInt32Size(32, heuristicExpensiveChainLnsNumArcsToConsider_);
10174 }
10175 if (continuousSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.SCHEDULING_UNSET.getNumber()) {
10176 size += com.google.protobuf.CodedOutputStream
10177 .computeEnumSize(33, continuousSchedulingSolver_);
10178 }
10179 if (mixedIntegerSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.SCHEDULING_UNSET.getNumber()) {
10180 size += com.google.protobuf.CodedOutputStream
10181 .computeEnumSize(34, mixedIntegerSchedulingSolver_);
10182 }
10183 if (heuristicCloseNodesLnsNumNodes_ != 0) {
10184 size += com.google.protobuf.CodedOutputStream
10185 .computeInt32Size(35, heuristicCloseNodesLnsNumNodes_);
10186 }
10187 if (!com.google.protobuf.GeneratedMessage.isStringEmpty(logTag_)) {
10188 size += com.google.protobuf.GeneratedMessage.computeStringSize(36, logTag_);
10189 }
10190 if (((bitField0_ & 0x00000400) != 0)) {
10191 size += com.google.protobuf.CodedOutputStream
10192 .computeMessageSize(37, getImprovementLimitParameters());
10193 }
10194 if (useMultiArmedBanditConcatenateOperators_ != false) {
10195 size += com.google.protobuf.CodedOutputStream
10196 .computeBoolSize(41, useMultiArmedBanditConcatenateOperators_);
10197 }
10198 if (java.lang.Double.doubleToRawLongBits(multiArmedBanditCompoundOperatorMemoryCoefficient_) != 0) {
10199 size += com.google.protobuf.CodedOutputStream
10200 .computeDoubleSize(42, multiArmedBanditCompoundOperatorMemoryCoefficient_);
10201 }
10202 if (java.lang.Double.doubleToRawLongBits(multiArmedBanditCompoundOperatorExplorationCoefficient_) != 0) {
10203 size += com.google.protobuf.CodedOutputStream
10204 .computeDoubleSize(43, multiArmedBanditCompoundOperatorExplorationCoefficient_);
10205 }
10206 if (useGeneralizedCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
10207 size += com.google.protobuf.CodedOutputStream
10208 .computeEnumSize(47, useGeneralizedCpSat_);
10209 }
10210 if (((bitField0_ & 0x00000040) != 0)) {
10211 size += com.google.protobuf.CodedOutputStream
10212 .computeMessageSize(48, getSatParameters());
10213 }
10214 if (((bitField0_ & 0x00000080) != 0)) {
10215 size += com.google.protobuf.CodedOutputStream
10216 .computeBoolSize(50, disableSchedulingBewareThisMayDegradePerformance_);
10217 }
10218 if (guidedLocalSearchResetPenaltiesOnNewBestSolution_ != false) {
10219 size += com.google.protobuf.CodedOutputStream
10220 .computeBoolSize(51, guidedLocalSearchResetPenaltiesOnNewBestSolution_);
10221 }
10222 if (fallbackToCpSatSizeThreshold_ != 0) {
10223 size += com.google.protobuf.CodedOutputStream
10224 .computeInt32Size(52, fallbackToCpSatSizeThreshold_);
10225 }
10226 if (java.lang.Double.doubleToRawLongBits(lsOperatorNeighborsRatio_) != 0) {
10227 size += com.google.protobuf.CodedOutputStream
10228 .computeDoubleSize(53, lsOperatorNeighborsRatio_);
10229 }
10230 if (lsOperatorMinNeighbors_ != 0) {
10231 size += com.google.protobuf.CodedOutputStream
10232 .computeInt32Size(54, lsOperatorMinNeighbors_);
10233 }
10234 if (reportIntermediateCpSatSolutions_ != false) {
10235 size += com.google.protobuf.CodedOutputStream
10236 .computeBoolSize(56, reportIntermediateCpSatSolutions_);
10237 }
10238 if (java.lang.Double.doubleToRawLongBits(secondaryLsTimeLimitRatio_) != 0) {
10239 size += com.google.protobuf.CodedOutputStream
10240 .computeDoubleSize(57, secondaryLsTimeLimitRatio_);
10241 }
10242 if (useIteratedLocalSearch_ != false) {
10243 size += com.google.protobuf.CodedOutputStream
10244 .computeBoolSize(58, useIteratedLocalSearch_);
10245 }
10246 if (firstSolutionOptimizationPeriod_ != 0) {
10247 size += com.google.protobuf.CodedOutputStream
10248 .computeInt32Size(59, firstSolutionOptimizationPeriod_);
10249 }
10250 if (((bitField0_ & 0x00000800) != 0)) {
10251 size += com.google.protobuf.CodedOutputStream
10252 .computeMessageSize(60, getIteratedLocalSearchParameters());
10253 }
10254 if (guidedLocalSearchPenalizeWithVehicleClasses_ != false) {
10255 size += com.google.protobuf.CodedOutputStream
10256 .computeBoolSize(61, guidedLocalSearchPenalizeWithVehicleClasses_);
10257 }
10258 if (useGuidedLocalSearchPenaltiesInLocalSearchOperators_ != false) {
10259 size += com.google.protobuf.CodedOutputStream
10260 .computeBoolSize(62, useGuidedLocalSearchPenaltiesInLocalSearchOperators_);
10261 }
10262 {
10263 int dataSize = 0;
10264 for (int i = 0; i < localSearchMetaheuristics_.size(); i++) {
10265 dataSize += com.google.protobuf.CodedOutputStream
10266 .computeEnumSizeNoTag(localSearchMetaheuristics_.getInt(i));
10267 }
10268 size += dataSize;
10269 if (!getLocalSearchMetaheuristicsList().isEmpty()) { size += 2;
10270 size += com.google.protobuf.CodedOutputStream
10271 .computeUInt32SizeNoTag(dataSize);
10272 }localSearchMetaheuristicsMemoizedSerializedSize = dataSize;
10273 }
10274 if (numMaxLocalOptimaBeforeMetaheuristicSwitch_ != 0) {
10275 size += com.google.protobuf.CodedOutputStream
10276 .computeInt32Size(64, numMaxLocalOptimaBeforeMetaheuristicSwitch_);
10277 }
10278 if (maxSwapActiveChainSize_ != 0) {
10279 size += com.google.protobuf.CodedOutputStream
10280 .computeInt32Size(66, maxSwapActiveChainSize_);
10281 }
10282 if (((bitField0_ & 0x00000008) != 0)) {
10283 size += com.google.protobuf.CodedOutputStream
10284 .computeMessageSize(68, getLocalCheapestInsertionParameters());
10285 }
10286 if (((bitField0_ & 0x00000010) != 0)) {
10287 size += com.google.protobuf.CodedOutputStream
10288 .computeMessageSize(69, getLocalCheapestCostInsertionParameters());
10289 }
10290 if (((bitField0_ & 0x00000001) != 0)) {
10291 size += com.google.protobuf.CodedOutputStream
10292 .computeMessageSize(70, getSavingsParameters());
10293 }
10294 if (((bitField0_ & 0x00000002) != 0)) {
10295 size += com.google.protobuf.CodedOutputStream
10296 .computeMessageSize(71, getGlobalCheapestInsertionFirstSolutionParameters());
10297 }
10298 if (((bitField0_ & 0x00000004) != 0)) {
10299 size += com.google.protobuf.CodedOutputStream
10300 .computeMessageSize(72, getGlobalCheapestInsertionLsOperatorParameters());
10301 }
10302 size += getUnknownFields().getSerializedSize();
10303 memoizedSize = size;
10304 return size;
10305 }
10306
10307 @java.lang.Override
10308 public boolean equals(final java.lang.Object obj) {
10309 if (obj == this) {
10310 return true;
10311 }
10312 if (!(obj instanceof com.google.ortools.constraintsolver.RoutingSearchParameters)) {
10313 return super.equals(obj);
10314 }
10315 com.google.ortools.constraintsolver.RoutingSearchParameters other = (com.google.ortools.constraintsolver.RoutingSearchParameters) obj;
10316
10317 if (firstSolutionStrategy_ != other.firstSolutionStrategy_) return false;
10319 != other.getUseUnfilteredFirstSolutionStrategy()) return false;
10320 if (hasSavingsParameters() != other.hasSavingsParameters()) return false;
10321 if (hasSavingsParameters()) {
10323 .equals(other.getSavingsParameters())) return false;
10324 }
10329 }
10334 }
10338 .equals(other.getLocalCheapestInsertionParameters())) return false;
10339 }
10343 .equals(other.getLocalCheapestCostInsertionParameters())) return false;
10344 }
10346 != other.getChristofidesUseMinimumMatching()) return false;
10348 != other.getFirstSolutionOptimizationPeriod()) return false;
10349 if (hasLocalSearchOperators() != other.hasLocalSearchOperators()) return false;
10352 .equals(other.getLocalSearchOperators())) return false;
10353 }
10354 if (java.lang.Double.doubleToLongBits(getLsOperatorNeighborsRatio())
10355 != java.lang.Double.doubleToLongBits(
10356 other.getLsOperatorNeighborsRatio())) return false;
10358 != other.getLsOperatorMinNeighbors()) return false;
10360 != other.getUseMultiArmedBanditConcatenateOperators()) return false;
10361 if (java.lang.Double.doubleToLongBits(getMultiArmedBanditCompoundOperatorMemoryCoefficient())
10362 != java.lang.Double.doubleToLongBits(
10364 if (java.lang.Double.doubleToLongBits(getMultiArmedBanditCompoundOperatorExplorationCoefficient())
10365 != java.lang.Double.doubleToLongBits(
10368 != other.getMaxSwapActiveChainSize()) return false;
10370 != other.getRelocateExpensiveChainNumArcsToConsider()) return false;
10372 != other.getHeuristicExpensiveChainLnsNumArcsToConsider()) return false;
10374 != other.getHeuristicCloseNodesLnsNumNodes()) return false;
10375 if (localSearchMetaheuristic_ != other.localSearchMetaheuristic_) return false;
10376 if (!localSearchMetaheuristics_.equals(other.localSearchMetaheuristics_)) return false;
10378 != other.getNumMaxLocalOptimaBeforeMetaheuristicSwitch()) return false;
10379 if (java.lang.Double.doubleToLongBits(getGuidedLocalSearchLambdaCoefficient())
10380 != java.lang.Double.doubleToLongBits(
10381 other.getGuidedLocalSearchLambdaCoefficient())) return false;
10385 != other.getGuidedLocalSearchPenalizeWithVehicleClasses()) return false;
10389 != other.getUseDepthFirstSearch()) return false;
10390 if (useCp_ != other.useCp_) return false;
10391 if (useCpSat_ != other.useCpSat_) return false;
10392 if (useGeneralizedCpSat_ != other.useGeneralizedCpSat_) return false;
10393 if (hasSatParameters() != other.hasSatParameters()) return false;
10394 if (hasSatParameters()) {
10395 if (!getSatParameters()
10396 .equals(other.getSatParameters())) return false;
10397 }
10399 != other.getReportIntermediateCpSatSolutions()) return false;
10401 != other.getFallbackToCpSatSizeThreshold()) return false;
10402 if (continuousSchedulingSolver_ != other.continuousSchedulingSolver_) return false;
10403 if (mixedIntegerSchedulingSolver_ != other.mixedIntegerSchedulingSolver_) return false;
10408 }
10409 if (java.lang.Double.doubleToLongBits(getOptimizationStep())
10410 != java.lang.Double.doubleToLongBits(
10411 other.getOptimizationStep())) return false;
10413 != other.getNumberOfSolutionsToCollect()) return false;
10414 if (getSolutionLimit()
10415 != other.getSolutionLimit()) return false;
10416 if (hasTimeLimit() != other.hasTimeLimit()) return false;
10417 if (hasTimeLimit()) {
10418 if (!getTimeLimit()
10419 .equals(other.getTimeLimit())) return false;
10420 }
10421 if (hasLnsTimeLimit() != other.hasLnsTimeLimit()) return false;
10422 if (hasLnsTimeLimit()) {
10423 if (!getLnsTimeLimit()
10424 .equals(other.getLnsTimeLimit())) return false;
10425 }
10426 if (java.lang.Double.doubleToLongBits(getSecondaryLsTimeLimitRatio())
10427 != java.lang.Double.doubleToLongBits(
10428 other.getSecondaryLsTimeLimitRatio())) return false;
10429 if (hasImprovementLimitParameters() != other.hasImprovementLimitParameters()) return false;
10432 .equals(other.getImprovementLimitParameters())) return false;
10433 }
10435 != other.getUseFullPropagation()) return false;
10436 if (getLogSearch()
10437 != other.getLogSearch()) return false;
10438 if (java.lang.Double.doubleToLongBits(getLogCostScalingFactor())
10439 != java.lang.Double.doubleToLongBits(
10440 other.getLogCostScalingFactor())) return false;
10441 if (java.lang.Double.doubleToLongBits(getLogCostOffset())
10442 != java.lang.Double.doubleToLongBits(
10443 other.getLogCostOffset())) return false;
10444 if (!getLogTag()
10445 .equals(other.getLogTag())) return false;
10447 != other.getUseIteratedLocalSearch()) return false;
10451 .equals(other.getIteratedLocalSearchParameters())) return false;
10452 }
10453 if (!getUnknownFields().equals(other.getUnknownFields())) return false;
10454 return true;
10455 }
10456
10457 @java.lang.Override
10458 public int hashCode() {
10459 if (memoizedHashCode != 0) {
10460 return memoizedHashCode;
10461 }
10462 int hash = 41;
10463 hash = (19 * hash) + getDescriptor().hashCode();
10464 hash = (37 * hash) + FIRST_SOLUTION_STRATEGY_FIELD_NUMBER;
10465 hash = (53 * hash) + firstSolutionStrategy_;
10467 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10469 if (hasSavingsParameters()) {
10470 hash = (37 * hash) + SAVINGS_PARAMETERS_FIELD_NUMBER;
10471 hash = (53 * hash) + getSavingsParameters().hashCode();
10472 }
10476 }
10480 }
10483 hash = (53 * hash) + getLocalCheapestInsertionParameters().hashCode();
10484 }
10487 hash = (53 * hash) + getLocalCheapestCostInsertionParameters().hashCode();
10488 }
10490 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10493 hash = (53 * hash) + getFirstSolutionOptimizationPeriod();
10495 hash = (37 * hash) + LOCAL_SEARCH_OPERATORS_FIELD_NUMBER;
10496 hash = (53 * hash) + getLocalSearchOperators().hashCode();
10497 }
10498 hash = (37 * hash) + LS_OPERATOR_NEIGHBORS_RATIO_FIELD_NUMBER;
10499 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10500 java.lang.Double.doubleToLongBits(getLsOperatorNeighborsRatio()));
10501 hash = (37 * hash) + LS_OPERATOR_MIN_NEIGHBORS_FIELD_NUMBER;
10502 hash = (53 * hash) + getLsOperatorMinNeighbors();
10504 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10507 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10508 java.lang.Double.doubleToLongBits(getMultiArmedBanditCompoundOperatorMemoryCoefficient()));
10510 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10511 java.lang.Double.doubleToLongBits(getMultiArmedBanditCompoundOperatorExplorationCoefficient()));
10512 hash = (37 * hash) + MAX_SWAP_ACTIVE_CHAIN_SIZE_FIELD_NUMBER;
10513 hash = (53 * hash) + getMaxSwapActiveChainSize();
10515 hash = (53 * hash) + getRelocateExpensiveChainNumArcsToConsider();
10519 hash = (53 * hash) + getHeuristicCloseNodesLnsNumNodes();
10520 hash = (37 * hash) + LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER;
10521 hash = (53 * hash) + localSearchMetaheuristic_;
10523 hash = (37 * hash) + LOCAL_SEARCH_METAHEURISTICS_FIELD_NUMBER;
10524 hash = (53 * hash) + localSearchMetaheuristics_.hashCode();
10525 }
10527 hash = (53 * hash) + getNumMaxLocalOptimaBeforeMetaheuristicSwitch();
10529 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10530 java.lang.Double.doubleToLongBits(getGuidedLocalSearchLambdaCoefficient()));
10532 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10535 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10538 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10540 hash = (37 * hash) + USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER;
10541 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10543 hash = (37 * hash) + USE_CP_FIELD_NUMBER;
10544 hash = (53 * hash) + useCp_;
10545 hash = (37 * hash) + USE_CP_SAT_FIELD_NUMBER;
10546 hash = (53 * hash) + useCpSat_;
10547 hash = (37 * hash) + USE_GENERALIZED_CP_SAT_FIELD_NUMBER;
10548 hash = (53 * hash) + useGeneralizedCpSat_;
10549 if (hasSatParameters()) {
10550 hash = (37 * hash) + SAT_PARAMETERS_FIELD_NUMBER;
10551 hash = (53 * hash) + getSatParameters().hashCode();
10552 }
10554 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10557 hash = (53 * hash) + getFallbackToCpSatSizeThreshold();
10558 hash = (37 * hash) + CONTINUOUS_SCHEDULING_SOLVER_FIELD_NUMBER;
10559 hash = (53 * hash) + continuousSchedulingSolver_;
10561 hash = (53 * hash) + mixedIntegerSchedulingSolver_;
10564 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10566 }
10567 hash = (37 * hash) + OPTIMIZATION_STEP_FIELD_NUMBER;
10568 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10569 java.lang.Double.doubleToLongBits(getOptimizationStep()));
10571 hash = (53 * hash) + getNumberOfSolutionsToCollect();
10572 hash = (37 * hash) + SOLUTION_LIMIT_FIELD_NUMBER;
10573 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10575 if (hasTimeLimit()) {
10576 hash = (37 * hash) + TIME_LIMIT_FIELD_NUMBER;
10577 hash = (53 * hash) + getTimeLimit().hashCode();
10578 }
10579 if (hasLnsTimeLimit()) {
10580 hash = (37 * hash) + LNS_TIME_LIMIT_FIELD_NUMBER;
10581 hash = (53 * hash) + getLnsTimeLimit().hashCode();
10582 }
10583 hash = (37 * hash) + SECONDARY_LS_TIME_LIMIT_RATIO_FIELD_NUMBER;
10584 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10585 java.lang.Double.doubleToLongBits(getSecondaryLsTimeLimitRatio()));
10587 hash = (37 * hash) + IMPROVEMENT_LIMIT_PARAMETERS_FIELD_NUMBER;
10588 hash = (53 * hash) + getImprovementLimitParameters().hashCode();
10589 }
10590 hash = (37 * hash) + USE_FULL_PROPAGATION_FIELD_NUMBER;
10591 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10593 hash = (37 * hash) + LOG_SEARCH_FIELD_NUMBER;
10594 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10595 getLogSearch());
10596 hash = (37 * hash) + LOG_COST_SCALING_FACTOR_FIELD_NUMBER;
10597 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10598 java.lang.Double.doubleToLongBits(getLogCostScalingFactor()));
10599 hash = (37 * hash) + LOG_COST_OFFSET_FIELD_NUMBER;
10600 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10601 java.lang.Double.doubleToLongBits(getLogCostOffset()));
10602 hash = (37 * hash) + LOG_TAG_FIELD_NUMBER;
10603 hash = (53 * hash) + getLogTag().hashCode();
10604 hash = (37 * hash) + USE_ITERATED_LOCAL_SEARCH_FIELD_NUMBER;
10605 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10609 hash = (53 * hash) + getIteratedLocalSearchParameters().hashCode();
10610 }
10611 hash = (29 * hash) + getUnknownFields().hashCode();
10612 memoizedHashCode = hash;
10613 return hash;
10614 }
10615
10617 java.nio.ByteBuffer data)
10618 throws com.google.protobuf.InvalidProtocolBufferException {
10619 return PARSER.parseFrom(data);
10620 }
10622 java.nio.ByteBuffer data,
10623 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10624 throws com.google.protobuf.InvalidProtocolBufferException {
10625 return PARSER.parseFrom(data, extensionRegistry);
10626 }
10628 com.google.protobuf.ByteString data)
10629 throws com.google.protobuf.InvalidProtocolBufferException {
10630 return PARSER.parseFrom(data);
10631 }
10633 com.google.protobuf.ByteString data,
10634 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10635 throws com.google.protobuf.InvalidProtocolBufferException {
10636 return PARSER.parseFrom(data, extensionRegistry);
10637 }
10639 throws com.google.protobuf.InvalidProtocolBufferException {
10640 return PARSER.parseFrom(data);
10641 }
10643 byte[] data,
10644 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10645 throws com.google.protobuf.InvalidProtocolBufferException {
10646 return PARSER.parseFrom(data, extensionRegistry);
10647 }
10649 throws java.io.IOException {
10650 return com.google.protobuf.GeneratedMessage
10651 .parseWithIOException(PARSER, input);
10652 }
10654 java.io.InputStream input,
10655 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10656 throws java.io.IOException {
10657 return com.google.protobuf.GeneratedMessage
10658 .parseWithIOException(PARSER, input, extensionRegistry);
10659 }
10660
10662 throws java.io.IOException {
10663 return com.google.protobuf.GeneratedMessage
10664 .parseDelimitedWithIOException(PARSER, input);
10665 }
10666
10668 java.io.InputStream input,
10669 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10670 throws java.io.IOException {
10671 return com.google.protobuf.GeneratedMessage
10672 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
10673 }
10675 com.google.protobuf.CodedInputStream input)
10676 throws java.io.IOException {
10677 return com.google.protobuf.GeneratedMessage
10678 .parseWithIOException(PARSER, input);
10679 }
10681 com.google.protobuf.CodedInputStream input,
10682 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10683 throws java.io.IOException {
10684 return com.google.protobuf.GeneratedMessage
10685 .parseWithIOException(PARSER, input, extensionRegistry);
10686 }
10687
10688 @java.lang.Override
10689 public Builder newBuilderForType() { return newBuilder(); }
10690 public static Builder newBuilder() {
10691 return DEFAULT_INSTANCE.toBuilder();
10692 }
10693 public static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters prototype) {
10694 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
10695 }
10696 @java.lang.Override
10698 return this == DEFAULT_INSTANCE
10699 ? new Builder() : new Builder().mergeFrom(this);
10700 }
10701
10702 @java.lang.Override
10704 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
10705 Builder builder = new Builder(parent);
10706 return builder;
10707 }
10708
10721 public static final class Builder extends
10722 com.google.protobuf.GeneratedMessage.Builder<Builder> implements
10723 // @@protoc_insertion_point(builder_implements:operations_research.RoutingSearchParameters)
10725 public static final com.google.protobuf.Descriptors.Descriptor
10727 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
10728 }
10729
10730 @java.lang.Override
10731 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
10733 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_fieldAccessorTable
10734 .ensureFieldAccessorsInitialized(
10735 com.google.ortools.constraintsolver.RoutingSearchParameters.class, com.google.ortools.constraintsolver.RoutingSearchParameters.Builder.class);
10736 }
10737
10738 // Construct using com.google.ortools.constraintsolver.RoutingSearchParameters.newBuilder()
10739 private Builder() {
10740 maybeForceBuilderInitialization();
10741 }
10742
10743 private Builder(
10744 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
10745 super(parent);
10746 maybeForceBuilderInitialization();
10747 }
10748 private void maybeForceBuilderInitialization() {
10749 if (com.google.protobuf.GeneratedMessage
10750 .alwaysUseFieldBuilders) {
10751 internalGetSavingsParametersFieldBuilder();
10752 internalGetGlobalCheapestInsertionFirstSolutionParametersFieldBuilder();
10753 internalGetGlobalCheapestInsertionLsOperatorParametersFieldBuilder();
10754 internalGetLocalCheapestInsertionParametersFieldBuilder();
10755 internalGetLocalCheapestCostInsertionParametersFieldBuilder();
10756 internalGetLocalSearchOperatorsFieldBuilder();
10757 internalGetSatParametersFieldBuilder();
10758 internalGetTimeLimitFieldBuilder();
10759 internalGetLnsTimeLimitFieldBuilder();
10760 internalGetImprovementLimitParametersFieldBuilder();
10761 internalGetIteratedLocalSearchParametersFieldBuilder();
10762 }
10763 }
10764 @java.lang.Override
10765 public Builder clear() {
10766 super.clear();
10767 bitField0_ = 0;
10768 bitField1_ = 0;
10769 firstSolutionStrategy_ = 0;
10770 useUnfilteredFirstSolutionStrategy_ = false;
10771 savingsParameters_ = null;
10772 if (savingsParametersBuilder_ != null) {
10773 savingsParametersBuilder_.dispose();
10774 savingsParametersBuilder_ = null;
10775 }
10776 globalCheapestInsertionFirstSolutionParameters_ = null;
10777 if (globalCheapestInsertionFirstSolutionParametersBuilder_ != null) {
10778 globalCheapestInsertionFirstSolutionParametersBuilder_.dispose();
10779 globalCheapestInsertionFirstSolutionParametersBuilder_ = null;
10780 }
10781 globalCheapestInsertionLsOperatorParameters_ = null;
10782 if (globalCheapestInsertionLsOperatorParametersBuilder_ != null) {
10783 globalCheapestInsertionLsOperatorParametersBuilder_.dispose();
10784 globalCheapestInsertionLsOperatorParametersBuilder_ = null;
10785 }
10786 localCheapestInsertionParameters_ = null;
10787 if (localCheapestInsertionParametersBuilder_ != null) {
10788 localCheapestInsertionParametersBuilder_.dispose();
10789 localCheapestInsertionParametersBuilder_ = null;
10790 }
10791 localCheapestCostInsertionParameters_ = null;
10792 if (localCheapestCostInsertionParametersBuilder_ != null) {
10793 localCheapestCostInsertionParametersBuilder_.dispose();
10794 localCheapestCostInsertionParametersBuilder_ = null;
10795 }
10796 christofidesUseMinimumMatching_ = false;
10797 firstSolutionOptimizationPeriod_ = 0;
10798 localSearchOperators_ = null;
10799 if (localSearchOperatorsBuilder_ != null) {
10800 localSearchOperatorsBuilder_.dispose();
10801 localSearchOperatorsBuilder_ = null;
10802 }
10803 lsOperatorNeighborsRatio_ = 0D;
10804 lsOperatorMinNeighbors_ = 0;
10805 useMultiArmedBanditConcatenateOperators_ = false;
10806 multiArmedBanditCompoundOperatorMemoryCoefficient_ = 0D;
10807 multiArmedBanditCompoundOperatorExplorationCoefficient_ = 0D;
10808 maxSwapActiveChainSize_ = 0;
10809 relocateExpensiveChainNumArcsToConsider_ = 0;
10810 heuristicExpensiveChainLnsNumArcsToConsider_ = 0;
10811 heuristicCloseNodesLnsNumNodes_ = 0;
10812 localSearchMetaheuristic_ = 0;
10813 localSearchMetaheuristics_ = emptyIntList();
10814 numMaxLocalOptimaBeforeMetaheuristicSwitch_ = 0;
10815 guidedLocalSearchLambdaCoefficient_ = 0D;
10816 guidedLocalSearchResetPenaltiesOnNewBestSolution_ = false;
10817 guidedLocalSearchPenalizeWithVehicleClasses_ = false;
10818 useGuidedLocalSearchPenaltiesInLocalSearchOperators_ = false;
10819 useDepthFirstSearch_ = false;
10820 useCp_ = 0;
10821 useCpSat_ = 0;
10822 useGeneralizedCpSat_ = 0;
10823 satParameters_ = null;
10824 if (satParametersBuilder_ != null) {
10825 satParametersBuilder_.dispose();
10826 satParametersBuilder_ = null;
10827 }
10828 reportIntermediateCpSatSolutions_ = false;
10829 fallbackToCpSatSizeThreshold_ = 0;
10830 continuousSchedulingSolver_ = 0;
10831 mixedIntegerSchedulingSolver_ = 0;
10832 disableSchedulingBewareThisMayDegradePerformance_ = false;
10833 optimizationStep_ = 0D;
10834 numberOfSolutionsToCollect_ = 0;
10835 solutionLimit_ = 0L;
10836 timeLimit_ = null;
10837 if (timeLimitBuilder_ != null) {
10838 timeLimitBuilder_.dispose();
10839 timeLimitBuilder_ = null;
10840 }
10841 lnsTimeLimit_ = null;
10842 if (lnsTimeLimitBuilder_ != null) {
10843 lnsTimeLimitBuilder_.dispose();
10844 lnsTimeLimitBuilder_ = null;
10845 }
10846 secondaryLsTimeLimitRatio_ = 0D;
10847 improvementLimitParameters_ = null;
10848 if (improvementLimitParametersBuilder_ != null) {
10849 improvementLimitParametersBuilder_.dispose();
10850 improvementLimitParametersBuilder_ = null;
10851 }
10852 useFullPropagation_ = false;
10853 logSearch_ = false;
10854 logCostScalingFactor_ = 0D;
10855 logCostOffset_ = 0D;
10856 logTag_ = "";
10857 useIteratedLocalSearch_ = false;
10858 iteratedLocalSearchParameters_ = null;
10859 if (iteratedLocalSearchParametersBuilder_ != null) {
10860 iteratedLocalSearchParametersBuilder_.dispose();
10861 iteratedLocalSearchParametersBuilder_ = null;
10862 }
10863 return this;
10864 }
10865
10866 @java.lang.Override
10867 public com.google.protobuf.Descriptors.Descriptor
10869 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
10870 }
10871
10872 @java.lang.Override
10874 return com.google.ortools.constraintsolver.RoutingSearchParameters.getDefaultInstance();
10875 }
10876
10877 @java.lang.Override
10880 if (!result.isInitialized()) {
10881 throw newUninitializedMessageException(result);
10882 }
10883 return result;
10884 }
10885
10886 @java.lang.Override
10888 com.google.ortools.constraintsolver.RoutingSearchParameters result = new com.google.ortools.constraintsolver.RoutingSearchParameters(this);
10889 if (bitField0_ != 0) { buildPartial0(result); }
10890 if (bitField1_ != 0) { buildPartial1(result); }
10891 onBuilt();
10892 return result;
10893 }
10894
10895 private void buildPartial0(com.google.ortools.constraintsolver.RoutingSearchParameters result) {
10896 int from_bitField0_ = bitField0_;
10897 if (((from_bitField0_ & 0x00000001) != 0)) {
10898 result.firstSolutionStrategy_ = firstSolutionStrategy_;
10899 }
10900 if (((from_bitField0_ & 0x00000002) != 0)) {
10901 result.useUnfilteredFirstSolutionStrategy_ = useUnfilteredFirstSolutionStrategy_;
10902 }
10903 int to_bitField0_ = 0;
10904 if (((from_bitField0_ & 0x00000004) != 0)) {
10905 result.savingsParameters_ = savingsParametersBuilder_ == null
10906 ? savingsParameters_
10907 : savingsParametersBuilder_.build();
10908 to_bitField0_ |= 0x00000001;
10909 }
10910 if (((from_bitField0_ & 0x00000008) != 0)) {
10911 result.globalCheapestInsertionFirstSolutionParameters_ = globalCheapestInsertionFirstSolutionParametersBuilder_ == null
10912 ? globalCheapestInsertionFirstSolutionParameters_
10913 : globalCheapestInsertionFirstSolutionParametersBuilder_.build();
10914 to_bitField0_ |= 0x00000002;
10915 }
10916 if (((from_bitField0_ & 0x00000010) != 0)) {
10917 result.globalCheapestInsertionLsOperatorParameters_ = globalCheapestInsertionLsOperatorParametersBuilder_ == null
10918 ? globalCheapestInsertionLsOperatorParameters_
10919 : globalCheapestInsertionLsOperatorParametersBuilder_.build();
10920 to_bitField0_ |= 0x00000004;
10921 }
10922 if (((from_bitField0_ & 0x00000020) != 0)) {
10923 result.localCheapestInsertionParameters_ = localCheapestInsertionParametersBuilder_ == null
10924 ? localCheapestInsertionParameters_
10925 : localCheapestInsertionParametersBuilder_.build();
10926 to_bitField0_ |= 0x00000008;
10927 }
10928 if (((from_bitField0_ & 0x00000040) != 0)) {
10929 result.localCheapestCostInsertionParameters_ = localCheapestCostInsertionParametersBuilder_ == null
10930 ? localCheapestCostInsertionParameters_
10931 : localCheapestCostInsertionParametersBuilder_.build();
10932 to_bitField0_ |= 0x00000010;
10933 }
10934 if (((from_bitField0_ & 0x00000080) != 0)) {
10935 result.christofidesUseMinimumMatching_ = christofidesUseMinimumMatching_;
10936 }
10937 if (((from_bitField0_ & 0x00000100) != 0)) {
10938 result.firstSolutionOptimizationPeriod_ = firstSolutionOptimizationPeriod_;
10939 }
10940 if (((from_bitField0_ & 0x00000200) != 0)) {
10941 result.localSearchOperators_ = localSearchOperatorsBuilder_ == null
10942 ? localSearchOperators_
10943 : localSearchOperatorsBuilder_.build();
10944 to_bitField0_ |= 0x00000020;
10945 }
10946 if (((from_bitField0_ & 0x00000400) != 0)) {
10947 result.lsOperatorNeighborsRatio_ = lsOperatorNeighborsRatio_;
10948 }
10949 if (((from_bitField0_ & 0x00000800) != 0)) {
10950 result.lsOperatorMinNeighbors_ = lsOperatorMinNeighbors_;
10951 }
10952 if (((from_bitField0_ & 0x00001000) != 0)) {
10953 result.useMultiArmedBanditConcatenateOperators_ = useMultiArmedBanditConcatenateOperators_;
10954 }
10955 if (((from_bitField0_ & 0x00002000) != 0)) {
10956 result.multiArmedBanditCompoundOperatorMemoryCoefficient_ = multiArmedBanditCompoundOperatorMemoryCoefficient_;
10957 }
10958 if (((from_bitField0_ & 0x00004000) != 0)) {
10959 result.multiArmedBanditCompoundOperatorExplorationCoefficient_ = multiArmedBanditCompoundOperatorExplorationCoefficient_;
10960 }
10961 if (((from_bitField0_ & 0x00008000) != 0)) {
10962 result.maxSwapActiveChainSize_ = maxSwapActiveChainSize_;
10963 }
10964 if (((from_bitField0_ & 0x00010000) != 0)) {
10965 result.relocateExpensiveChainNumArcsToConsider_ = relocateExpensiveChainNumArcsToConsider_;
10966 }
10967 if (((from_bitField0_ & 0x00020000) != 0)) {
10968 result.heuristicExpensiveChainLnsNumArcsToConsider_ = heuristicExpensiveChainLnsNumArcsToConsider_;
10969 }
10970 if (((from_bitField0_ & 0x00040000) != 0)) {
10971 result.heuristicCloseNodesLnsNumNodes_ = heuristicCloseNodesLnsNumNodes_;
10972 }
10973 if (((from_bitField0_ & 0x00080000) != 0)) {
10974 result.localSearchMetaheuristic_ = localSearchMetaheuristic_;
10975 }
10976 if (((from_bitField0_ & 0x00100000) != 0)) {
10977 localSearchMetaheuristics_.makeImmutable();
10978 result.localSearchMetaheuristics_ = localSearchMetaheuristics_;
10979 }
10980 if (((from_bitField0_ & 0x00200000) != 0)) {
10981 result.numMaxLocalOptimaBeforeMetaheuristicSwitch_ = numMaxLocalOptimaBeforeMetaheuristicSwitch_;
10982 }
10983 if (((from_bitField0_ & 0x00400000) != 0)) {
10984 result.guidedLocalSearchLambdaCoefficient_ = guidedLocalSearchLambdaCoefficient_;
10985 }
10986 if (((from_bitField0_ & 0x00800000) != 0)) {
10987 result.guidedLocalSearchResetPenaltiesOnNewBestSolution_ = guidedLocalSearchResetPenaltiesOnNewBestSolution_;
10988 }
10989 if (((from_bitField0_ & 0x01000000) != 0)) {
10990 result.guidedLocalSearchPenalizeWithVehicleClasses_ = guidedLocalSearchPenalizeWithVehicleClasses_;
10991 }
10992 if (((from_bitField0_ & 0x02000000) != 0)) {
10993 result.useGuidedLocalSearchPenaltiesInLocalSearchOperators_ = useGuidedLocalSearchPenaltiesInLocalSearchOperators_;
10994 }
10995 if (((from_bitField0_ & 0x04000000) != 0)) {
10996 result.useDepthFirstSearch_ = useDepthFirstSearch_;
10997 }
10998 if (((from_bitField0_ & 0x08000000) != 0)) {
10999 result.useCp_ = useCp_;
11000 }
11001 if (((from_bitField0_ & 0x10000000) != 0)) {
11002 result.useCpSat_ = useCpSat_;
11003 }
11004 if (((from_bitField0_ & 0x20000000) != 0)) {
11005 result.useGeneralizedCpSat_ = useGeneralizedCpSat_;
11006 }
11007 if (((from_bitField0_ & 0x40000000) != 0)) {
11008 result.satParameters_ = satParametersBuilder_ == null
11009 ? satParameters_
11010 : satParametersBuilder_.build();
11011 to_bitField0_ |= 0x00000040;
11012 }
11013 if (((from_bitField0_ & 0x80000000) != 0)) {
11014 result.reportIntermediateCpSatSolutions_ = reportIntermediateCpSatSolutions_;
11015 }
11016 result.bitField0_ |= to_bitField0_;
11017 }
11018
11019 private void buildPartial1(com.google.ortools.constraintsolver.RoutingSearchParameters result) {
11020 int from_bitField1_ = bitField1_;
11021 if (((from_bitField1_ & 0x00000001) != 0)) {
11022 result.fallbackToCpSatSizeThreshold_ = fallbackToCpSatSizeThreshold_;
11023 }
11024 if (((from_bitField1_ & 0x00000002) != 0)) {
11025 result.continuousSchedulingSolver_ = continuousSchedulingSolver_;
11026 }
11027 if (((from_bitField1_ & 0x00000004) != 0)) {
11028 result.mixedIntegerSchedulingSolver_ = mixedIntegerSchedulingSolver_;
11029 }
11030 int to_bitField0_ = 0;
11031 if (((from_bitField1_ & 0x00000008) != 0)) {
11032 result.disableSchedulingBewareThisMayDegradePerformance_ = disableSchedulingBewareThisMayDegradePerformance_;
11033 to_bitField0_ |= 0x00000080;
11034 }
11035 if (((from_bitField1_ & 0x00000010) != 0)) {
11036 result.optimizationStep_ = optimizationStep_;
11037 }
11038 if (((from_bitField1_ & 0x00000020) != 0)) {
11039 result.numberOfSolutionsToCollect_ = numberOfSolutionsToCollect_;
11040 }
11041 if (((from_bitField1_ & 0x00000040) != 0)) {
11042 result.solutionLimit_ = solutionLimit_;
11043 }
11044 if (((from_bitField1_ & 0x00000080) != 0)) {
11045 result.timeLimit_ = timeLimitBuilder_ == null
11046 ? timeLimit_
11047 : timeLimitBuilder_.build();
11048 to_bitField0_ |= 0x00000100;
11049 }
11050 if (((from_bitField1_ & 0x00000100) != 0)) {
11051 result.lnsTimeLimit_ = lnsTimeLimitBuilder_ == null
11052 ? lnsTimeLimit_
11053 : lnsTimeLimitBuilder_.build();
11054 to_bitField0_ |= 0x00000200;
11055 }
11056 if (((from_bitField1_ & 0x00000200) != 0)) {
11057 result.secondaryLsTimeLimitRatio_ = secondaryLsTimeLimitRatio_;
11058 }
11059 if (((from_bitField1_ & 0x00000400) != 0)) {
11060 result.improvementLimitParameters_ = improvementLimitParametersBuilder_ == null
11061 ? improvementLimitParameters_
11062 : improvementLimitParametersBuilder_.build();
11063 to_bitField0_ |= 0x00000400;
11064 }
11065 if (((from_bitField1_ & 0x00000800) != 0)) {
11066 result.useFullPropagation_ = useFullPropagation_;
11067 }
11068 if (((from_bitField1_ & 0x00001000) != 0)) {
11069 result.logSearch_ = logSearch_;
11070 }
11071 if (((from_bitField1_ & 0x00002000) != 0)) {
11072 result.logCostScalingFactor_ = logCostScalingFactor_;
11073 }
11074 if (((from_bitField1_ & 0x00004000) != 0)) {
11075 result.logCostOffset_ = logCostOffset_;
11076 }
11077 if (((from_bitField1_ & 0x00008000) != 0)) {
11078 result.logTag_ = logTag_;
11079 }
11080 if (((from_bitField1_ & 0x00010000) != 0)) {
11081 result.useIteratedLocalSearch_ = useIteratedLocalSearch_;
11082 }
11083 if (((from_bitField1_ & 0x00020000) != 0)) {
11084 result.iteratedLocalSearchParameters_ = iteratedLocalSearchParametersBuilder_ == null
11085 ? iteratedLocalSearchParameters_
11086 : iteratedLocalSearchParametersBuilder_.build();
11087 to_bitField0_ |= 0x00000800;
11088 }
11089 result.bitField0_ |= to_bitField0_;
11090 }
11091
11092 @java.lang.Override
11093 public Builder mergeFrom(com.google.protobuf.Message other) {
11094 if (other instanceof com.google.ortools.constraintsolver.RoutingSearchParameters) {
11095 return mergeFrom((com.google.ortools.constraintsolver.RoutingSearchParameters)other);
11096 } else {
11097 super.mergeFrom(other);
11098 return this;
11099 }
11100 }
11101
11102 public Builder mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters other) {
11103 if (other == com.google.ortools.constraintsolver.RoutingSearchParameters.getDefaultInstance()) return this;
11104 if (other.firstSolutionStrategy_ != 0) {
11105 setFirstSolutionStrategyValue(other.getFirstSolutionStrategyValue());
11106 }
11107 if (other.getUseUnfilteredFirstSolutionStrategy() != false) {
11108 setUseUnfilteredFirstSolutionStrategy(other.getUseUnfilteredFirstSolutionStrategy());
11109 }
11110 if (other.hasSavingsParameters()) {
11111 mergeSavingsParameters(other.getSavingsParameters());
11112 }
11113 if (other.hasGlobalCheapestInsertionFirstSolutionParameters()) {
11114 mergeGlobalCheapestInsertionFirstSolutionParameters(other.getGlobalCheapestInsertionFirstSolutionParameters());
11115 }
11116 if (other.hasGlobalCheapestInsertionLsOperatorParameters()) {
11117 mergeGlobalCheapestInsertionLsOperatorParameters(other.getGlobalCheapestInsertionLsOperatorParameters());
11118 }
11119 if (other.hasLocalCheapestInsertionParameters()) {
11120 mergeLocalCheapestInsertionParameters(other.getLocalCheapestInsertionParameters());
11121 }
11122 if (other.hasLocalCheapestCostInsertionParameters()) {
11123 mergeLocalCheapestCostInsertionParameters(other.getLocalCheapestCostInsertionParameters());
11124 }
11125 if (other.getChristofidesUseMinimumMatching() != false) {
11126 setChristofidesUseMinimumMatching(other.getChristofidesUseMinimumMatching());
11127 }
11128 if (other.getFirstSolutionOptimizationPeriod() != 0) {
11129 setFirstSolutionOptimizationPeriod(other.getFirstSolutionOptimizationPeriod());
11130 }
11131 if (other.hasLocalSearchOperators()) {
11132 mergeLocalSearchOperators(other.getLocalSearchOperators());
11133 }
11134 if (java.lang.Double.doubleToRawLongBits(other.getLsOperatorNeighborsRatio()) != 0) {
11135 setLsOperatorNeighborsRatio(other.getLsOperatorNeighborsRatio());
11136 }
11137 if (other.getLsOperatorMinNeighbors() != 0) {
11138 setLsOperatorMinNeighbors(other.getLsOperatorMinNeighbors());
11139 }
11140 if (other.getUseMultiArmedBanditConcatenateOperators() != false) {
11141 setUseMultiArmedBanditConcatenateOperators(other.getUseMultiArmedBanditConcatenateOperators());
11142 }
11143 if (java.lang.Double.doubleToRawLongBits(other.getMultiArmedBanditCompoundOperatorMemoryCoefficient()) != 0) {
11144 setMultiArmedBanditCompoundOperatorMemoryCoefficient(other.getMultiArmedBanditCompoundOperatorMemoryCoefficient());
11145 }
11146 if (java.lang.Double.doubleToRawLongBits(other.getMultiArmedBanditCompoundOperatorExplorationCoefficient()) != 0) {
11147 setMultiArmedBanditCompoundOperatorExplorationCoefficient(other.getMultiArmedBanditCompoundOperatorExplorationCoefficient());
11148 }
11149 if (other.getMaxSwapActiveChainSize() != 0) {
11150 setMaxSwapActiveChainSize(other.getMaxSwapActiveChainSize());
11151 }
11152 if (other.getRelocateExpensiveChainNumArcsToConsider() != 0) {
11153 setRelocateExpensiveChainNumArcsToConsider(other.getRelocateExpensiveChainNumArcsToConsider());
11154 }
11155 if (other.getHeuristicExpensiveChainLnsNumArcsToConsider() != 0) {
11156 setHeuristicExpensiveChainLnsNumArcsToConsider(other.getHeuristicExpensiveChainLnsNumArcsToConsider());
11157 }
11158 if (other.getHeuristicCloseNodesLnsNumNodes() != 0) {
11159 setHeuristicCloseNodesLnsNumNodes(other.getHeuristicCloseNodesLnsNumNodes());
11160 }
11161 if (other.localSearchMetaheuristic_ != 0) {
11162 setLocalSearchMetaheuristicValue(other.getLocalSearchMetaheuristicValue());
11163 }
11164 if (!other.localSearchMetaheuristics_.isEmpty()) {
11165 if (localSearchMetaheuristics_.isEmpty()) {
11166 localSearchMetaheuristics_ = other.localSearchMetaheuristics_;
11167 localSearchMetaheuristics_.makeImmutable();
11168 bitField0_ |= 0x00100000;
11169 } else {
11170 ensureLocalSearchMetaheuristicsIsMutable();
11171 localSearchMetaheuristics_.addAll(other.localSearchMetaheuristics_);
11172 }
11173 onChanged();
11174 }
11175 if (other.getNumMaxLocalOptimaBeforeMetaheuristicSwitch() != 0) {
11176 setNumMaxLocalOptimaBeforeMetaheuristicSwitch(other.getNumMaxLocalOptimaBeforeMetaheuristicSwitch());
11177 }
11178 if (java.lang.Double.doubleToRawLongBits(other.getGuidedLocalSearchLambdaCoefficient()) != 0) {
11179 setGuidedLocalSearchLambdaCoefficient(other.getGuidedLocalSearchLambdaCoefficient());
11180 }
11181 if (other.getGuidedLocalSearchResetPenaltiesOnNewBestSolution() != false) {
11182 setGuidedLocalSearchResetPenaltiesOnNewBestSolution(other.getGuidedLocalSearchResetPenaltiesOnNewBestSolution());
11183 }
11184 if (other.getGuidedLocalSearchPenalizeWithVehicleClasses() != false) {
11185 setGuidedLocalSearchPenalizeWithVehicleClasses(other.getGuidedLocalSearchPenalizeWithVehicleClasses());
11186 }
11187 if (other.getUseGuidedLocalSearchPenaltiesInLocalSearchOperators() != false) {
11188 setUseGuidedLocalSearchPenaltiesInLocalSearchOperators(other.getUseGuidedLocalSearchPenaltiesInLocalSearchOperators());
11189 }
11190 if (other.getUseDepthFirstSearch() != false) {
11191 setUseDepthFirstSearch(other.getUseDepthFirstSearch());
11192 }
11193 if (other.useCp_ != 0) {
11194 setUseCpValue(other.getUseCpValue());
11195 }
11196 if (other.useCpSat_ != 0) {
11197 setUseCpSatValue(other.getUseCpSatValue());
11198 }
11199 if (other.useGeneralizedCpSat_ != 0) {
11200 setUseGeneralizedCpSatValue(other.getUseGeneralizedCpSatValue());
11201 }
11202 if (other.hasSatParameters()) {
11203 mergeSatParameters(other.getSatParameters());
11204 }
11205 if (other.getReportIntermediateCpSatSolutions() != false) {
11206 setReportIntermediateCpSatSolutions(other.getReportIntermediateCpSatSolutions());
11207 }
11208 if (other.getFallbackToCpSatSizeThreshold() != 0) {
11209 setFallbackToCpSatSizeThreshold(other.getFallbackToCpSatSizeThreshold());
11210 }
11211 if (other.continuousSchedulingSolver_ != 0) {
11212 setContinuousSchedulingSolverValue(other.getContinuousSchedulingSolverValue());
11213 }
11214 if (other.mixedIntegerSchedulingSolver_ != 0) {
11215 setMixedIntegerSchedulingSolverValue(other.getMixedIntegerSchedulingSolverValue());
11216 }
11217 if (other.hasDisableSchedulingBewareThisMayDegradePerformance()) {
11218 setDisableSchedulingBewareThisMayDegradePerformance(other.getDisableSchedulingBewareThisMayDegradePerformance());
11219 }
11220 if (java.lang.Double.doubleToRawLongBits(other.getOptimizationStep()) != 0) {
11221 setOptimizationStep(other.getOptimizationStep());
11222 }
11223 if (other.getNumberOfSolutionsToCollect() != 0) {
11224 setNumberOfSolutionsToCollect(other.getNumberOfSolutionsToCollect());
11225 }
11226 if (other.getSolutionLimit() != 0L) {
11227 setSolutionLimit(other.getSolutionLimit());
11228 }
11229 if (other.hasTimeLimit()) {
11230 mergeTimeLimit(other.getTimeLimit());
11231 }
11232 if (other.hasLnsTimeLimit()) {
11233 mergeLnsTimeLimit(other.getLnsTimeLimit());
11234 }
11235 if (java.lang.Double.doubleToRawLongBits(other.getSecondaryLsTimeLimitRatio()) != 0) {
11236 setSecondaryLsTimeLimitRatio(other.getSecondaryLsTimeLimitRatio());
11237 }
11238 if (other.hasImprovementLimitParameters()) {
11239 mergeImprovementLimitParameters(other.getImprovementLimitParameters());
11240 }
11241 if (other.getUseFullPropagation() != false) {
11242 setUseFullPropagation(other.getUseFullPropagation());
11243 }
11244 if (other.getLogSearch() != false) {
11245 setLogSearch(other.getLogSearch());
11246 }
11247 if (java.lang.Double.doubleToRawLongBits(other.getLogCostScalingFactor()) != 0) {
11248 setLogCostScalingFactor(other.getLogCostScalingFactor());
11249 }
11250 if (java.lang.Double.doubleToRawLongBits(other.getLogCostOffset()) != 0) {
11251 setLogCostOffset(other.getLogCostOffset());
11252 }
11253 if (!other.getLogTag().isEmpty()) {
11254 logTag_ = other.logTag_;
11255 bitField1_ |= 0x00008000;
11256 onChanged();
11257 }
11258 if (other.getUseIteratedLocalSearch() != false) {
11259 setUseIteratedLocalSearch(other.getUseIteratedLocalSearch());
11260 }
11261 if (other.hasIteratedLocalSearchParameters()) {
11262 mergeIteratedLocalSearchParameters(other.getIteratedLocalSearchParameters());
11263 }
11264 this.mergeUnknownFields(other.getUnknownFields());
11265 onChanged();
11266 return this;
11267 }
11268
11269 @java.lang.Override
11270 public final boolean isInitialized() {
11271 return true;
11272 }
11273
11274 @java.lang.Override
11275 public Builder mergeFrom(
11276 com.google.protobuf.CodedInputStream input,
11277 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11278 throws java.io.IOException {
11279 if (extensionRegistry == null) {
11280 throw new java.lang.NullPointerException();
11281 }
11282 try {
11283 boolean done = false;
11284 while (!done) {
11285 int tag = input.readTag();
11286 switch (tag) {
11287 case 0:
11288 done = true;
11289 break;
11290 case 8: {
11291 firstSolutionStrategy_ = input.readEnum();
11292 bitField0_ |= 0x00000001;
11293 break;
11294 } // case 8
11295 case 16: {
11296 useUnfilteredFirstSolutionStrategy_ = input.readBool();
11297 bitField0_ |= 0x00000002;
11298 break;
11299 } // case 16
11300 case 26: {
11301 input.readMessage(
11302 internalGetLocalSearchOperatorsFieldBuilder().getBuilder(),
11303 extensionRegistry);
11304 bitField0_ |= 0x00000200;
11305 break;
11306 } // case 26
11307 case 32: {
11308 localSearchMetaheuristic_ = input.readEnum();
11309 bitField0_ |= 0x00080000;
11310 break;
11311 } // case 32
11312 case 41: {
11313 guidedLocalSearchLambdaCoefficient_ = input.readDouble();
11314 bitField0_ |= 0x00400000;
11315 break;
11316 } // case 41
11317 case 48: {
11318 useDepthFirstSearch_ = input.readBool();
11319 bitField0_ |= 0x04000000;
11320 break;
11321 } // case 48
11322 case 57: {
11323 optimizationStep_ = input.readDouble();
11324 bitField1_ |= 0x00000010;
11325 break;
11326 } // case 57
11327 case 64: {
11328 solutionLimit_ = input.readInt64();
11329 bitField1_ |= 0x00000040;
11330 break;
11331 } // case 64
11332 case 74: {
11333 input.readMessage(
11334 internalGetTimeLimitFieldBuilder().getBuilder(),
11335 extensionRegistry);
11336 bitField1_ |= 0x00000080;
11337 break;
11338 } // case 74
11339 case 82: {
11340 input.readMessage(
11341 internalGetLnsTimeLimitFieldBuilder().getBuilder(),
11342 extensionRegistry);
11343 bitField1_ |= 0x00000100;
11344 break;
11345 } // case 82
11346 case 88: {
11347 useFullPropagation_ = input.readBool();
11348 bitField1_ |= 0x00000800;
11349 break;
11350 } // case 88
11351 case 104: {
11352 logSearch_ = input.readBool();
11353 bitField1_ |= 0x00001000;
11354 break;
11355 } // case 104
11356 case 136: {
11357 numberOfSolutionsToCollect_ = input.readInt32();
11358 bitField1_ |= 0x00000020;
11359 break;
11360 } // case 136
11361 case 160: {
11362 relocateExpensiveChainNumArcsToConsider_ = input.readInt32();
11363 bitField0_ |= 0x00010000;
11364 break;
11365 } // case 160
11366 case 177: {
11367 logCostScalingFactor_ = input.readDouble();
11368 bitField1_ |= 0x00002000;
11369 break;
11370 } // case 177
11371 case 216: {
11372 useCpSat_ = input.readEnum();
11373 bitField0_ |= 0x10000000;
11374 break;
11375 } // case 216
11376 case 224: {
11377 useCp_ = input.readEnum();
11378 bitField0_ |= 0x08000000;
11379 break;
11380 } // case 224
11381 case 233: {
11382 logCostOffset_ = input.readDouble();
11383 bitField1_ |= 0x00004000;
11384 break;
11385 } // case 233
11386 case 240: {
11387 christofidesUseMinimumMatching_ = input.readBool();
11388 bitField0_ |= 0x00000080;
11389 break;
11390 } // case 240
11391 case 256: {
11392 heuristicExpensiveChainLnsNumArcsToConsider_ = input.readInt32();
11393 bitField0_ |= 0x00020000;
11394 break;
11395 } // case 256
11396 case 264: {
11397 continuousSchedulingSolver_ = input.readEnum();
11398 bitField1_ |= 0x00000002;
11399 break;
11400 } // case 264
11401 case 272: {
11402 mixedIntegerSchedulingSolver_ = input.readEnum();
11403 bitField1_ |= 0x00000004;
11404 break;
11405 } // case 272
11406 case 280: {
11407 heuristicCloseNodesLnsNumNodes_ = input.readInt32();
11408 bitField0_ |= 0x00040000;
11409 break;
11410 } // case 280
11411 case 290: {
11412 logTag_ = input.readStringRequireUtf8();
11413 bitField1_ |= 0x00008000;
11414 break;
11415 } // case 290
11416 case 298: {
11417 input.readMessage(
11418 internalGetImprovementLimitParametersFieldBuilder().getBuilder(),
11419 extensionRegistry);
11420 bitField1_ |= 0x00000400;
11421 break;
11422 } // case 298
11423 case 328: {
11424 useMultiArmedBanditConcatenateOperators_ = input.readBool();
11425 bitField0_ |= 0x00001000;
11426 break;
11427 } // case 328
11428 case 337: {
11429 multiArmedBanditCompoundOperatorMemoryCoefficient_ = input.readDouble();
11430 bitField0_ |= 0x00002000;
11431 break;
11432 } // case 337
11433 case 345: {
11434 multiArmedBanditCompoundOperatorExplorationCoefficient_ = input.readDouble();
11435 bitField0_ |= 0x00004000;
11436 break;
11437 } // case 345
11438 case 376: {
11439 useGeneralizedCpSat_ = input.readEnum();
11440 bitField0_ |= 0x20000000;
11441 break;
11442 } // case 376
11443 case 386: {
11444 input.readMessage(
11445 internalGetSatParametersFieldBuilder().getBuilder(),
11446 extensionRegistry);
11447 bitField0_ |= 0x40000000;
11448 break;
11449 } // case 386
11450 case 400: {
11451 disableSchedulingBewareThisMayDegradePerformance_ = input.readBool();
11452 bitField1_ |= 0x00000008;
11453 break;
11454 } // case 400
11455 case 408: {
11456 guidedLocalSearchResetPenaltiesOnNewBestSolution_ = input.readBool();
11457 bitField0_ |= 0x00800000;
11458 break;
11459 } // case 408
11460 case 416: {
11461 fallbackToCpSatSizeThreshold_ = input.readInt32();
11462 bitField1_ |= 0x00000001;
11463 break;
11464 } // case 416
11465 case 425: {
11466 lsOperatorNeighborsRatio_ = input.readDouble();
11467 bitField0_ |= 0x00000400;
11468 break;
11469 } // case 425
11470 case 432: {
11471 lsOperatorMinNeighbors_ = input.readInt32();
11472 bitField0_ |= 0x00000800;
11473 break;
11474 } // case 432
11475 case 448: {
11476 reportIntermediateCpSatSolutions_ = input.readBool();
11477 bitField0_ |= 0x80000000;
11478 break;
11479 } // case 448
11480 case 457: {
11481 secondaryLsTimeLimitRatio_ = input.readDouble();
11482 bitField1_ |= 0x00000200;
11483 break;
11484 } // case 457
11485 case 464: {
11486 useIteratedLocalSearch_ = input.readBool();
11487 bitField1_ |= 0x00010000;
11488 break;
11489 } // case 464
11490 case 472: {
11491 firstSolutionOptimizationPeriod_ = input.readInt32();
11492 bitField0_ |= 0x00000100;
11493 break;
11494 } // case 472
11495 case 482: {
11496 input.readMessage(
11497 internalGetIteratedLocalSearchParametersFieldBuilder().getBuilder(),
11498 extensionRegistry);
11499 bitField1_ |= 0x00020000;
11500 break;
11501 } // case 482
11502 case 488: {
11503 guidedLocalSearchPenalizeWithVehicleClasses_ = input.readBool();
11504 bitField0_ |= 0x01000000;
11505 break;
11506 } // case 488
11507 case 496: {
11508 useGuidedLocalSearchPenaltiesInLocalSearchOperators_ = input.readBool();
11509 bitField0_ |= 0x02000000;
11510 break;
11511 } // case 496
11512 case 504: {
11513 int tmpRaw = input.readEnum();
11514 ensureLocalSearchMetaheuristicsIsMutable();
11515 localSearchMetaheuristics_.addInt(tmpRaw);
11516 break;
11517 } // case 504
11518 case 506: {
11519 int length = input.readRawVarint32();
11520 int limit = input.pushLimit(length);
11521 ensureLocalSearchMetaheuristicsIsMutable();
11522 while (input.getBytesUntilLimit() > 0) {
11523 localSearchMetaheuristics_.addInt(input.readEnum());
11524 }
11525 input.popLimit(limit);
11526 break;
11527 } // case 506
11528 case 512: {
11529 numMaxLocalOptimaBeforeMetaheuristicSwitch_ = input.readInt32();
11530 bitField0_ |= 0x00200000;
11531 break;
11532 } // case 512
11533 case 528: {
11534 maxSwapActiveChainSize_ = input.readInt32();
11535 bitField0_ |= 0x00008000;
11536 break;
11537 } // case 528
11538 case 546: {
11539 input.readMessage(
11540 internalGetLocalCheapestInsertionParametersFieldBuilder().getBuilder(),
11541 extensionRegistry);
11542 bitField0_ |= 0x00000020;
11543 break;
11544 } // case 546
11545 case 554: {
11546 input.readMessage(
11547 internalGetLocalCheapestCostInsertionParametersFieldBuilder().getBuilder(),
11548 extensionRegistry);
11549 bitField0_ |= 0x00000040;
11550 break;
11551 } // case 554
11552 case 562: {
11553 input.readMessage(
11554 internalGetSavingsParametersFieldBuilder().getBuilder(),
11555 extensionRegistry);
11556 bitField0_ |= 0x00000004;
11557 break;
11558 } // case 562
11559 case 570: {
11560 input.readMessage(
11561 internalGetGlobalCheapestInsertionFirstSolutionParametersFieldBuilder().getBuilder(),
11562 extensionRegistry);
11563 bitField0_ |= 0x00000008;
11564 break;
11565 } // case 570
11566 case 578: {
11567 input.readMessage(
11568 internalGetGlobalCheapestInsertionLsOperatorParametersFieldBuilder().getBuilder(),
11569 extensionRegistry);
11570 bitField0_ |= 0x00000010;
11571 break;
11572 } // case 578
11573 default: {
11574 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
11575 done = true; // was an endgroup tag
11576 }
11577 break;
11578 } // default:
11579 } // switch (tag)
11580 } // while (!done)
11581 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
11582 throw e.unwrapIOException();
11583 } finally {
11584 onChanged();
11585 } // finally
11586 return this;
11587 }
11588 private int bitField0_;
11589 private int bitField1_;
11590
11591 private int firstSolutionStrategy_ = 0;
11600 @java.lang.Override public int getFirstSolutionStrategyValue() {
11601 return firstSolutionStrategy_;
11602 }
11603
11612 public Builder setFirstSolutionStrategyValue(int value) {
11613 firstSolutionStrategy_ = value;
11614 bitField0_ |= 0x00000001;
11615 onChanged();
11616 return this;
11617 }
11618
11626 @java.lang.Override
11628 com.google.ortools.constraintsolver.FirstSolutionStrategy.Value result = com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.forNumber(firstSolutionStrategy_);
11630 }
11631
11640 public Builder setFirstSolutionStrategy(com.google.ortools.constraintsolver.FirstSolutionStrategy.Value value) {
11641 if (value == null) { throw new NullPointerException(); }
11642 bitField0_ |= 0x00000001;
11643 firstSolutionStrategy_ = value.getNumber();
11644 onChanged();
11645 return this;
11646 }
11647
11656 bitField0_ = (bitField0_ & ~0x00000001);
11657 firstSolutionStrategy_ = 0;
11658 onChanged();
11659 return this;
11660 }
11661
11662 private boolean useUnfilteredFirstSolutionStrategy_ ;
11674 @java.lang.Override
11676 return useUnfilteredFirstSolutionStrategy_;
11677 }
11678
11690 public Builder setUseUnfilteredFirstSolutionStrategy(boolean value) {
11691
11692 useUnfilteredFirstSolutionStrategy_ = value;
11693 bitField0_ |= 0x00000002;
11694 onChanged();
11695 return this;
11696 }
11697
11709 bitField0_ = (bitField0_ & ~0x00000002);
11710 useUnfilteredFirstSolutionStrategy_ = false;
11711 onChanged();
11712 return this;
11713 }
11714
11716 private com.google.protobuf.SingleFieldBuilder<
11717 com.google.ortools.constraintsolver.SavingsParameters, com.google.ortools.constraintsolver.SavingsParameters.Builder, com.google.ortools.constraintsolver.SavingsParametersOrBuilder> savingsParametersBuilder_;
11726 public boolean hasSavingsParameters() {
11727 return ((bitField0_ & 0x00000004) != 0);
11728 }
11729
11738 if (savingsParametersBuilder_ == null) {
11739 return savingsParameters_ == null ? com.google.ortools.constraintsolver.SavingsParameters.getDefaultInstance() : savingsParameters_;
11740 } else {
11741 return savingsParametersBuilder_.getMessage();
11742 }
11743 }
11744
11751 public Builder setSavingsParameters(com.google.ortools.constraintsolver.SavingsParameters value) {
11752 if (savingsParametersBuilder_ == null) {
11753 if (value == null) {
11754 throw new NullPointerException();
11755 }
11756 savingsParameters_ = value;
11757 } else {
11758 savingsParametersBuilder_.setMessage(value);
11759 }
11760 bitField0_ |= 0x00000004;
11761 onChanged();
11762 return this;
11763 }
11764
11771 public Builder setSavingsParameters(
11772 com.google.ortools.constraintsolver.SavingsParameters.Builder builderForValue) {
11773 if (savingsParametersBuilder_ == null) {
11774 savingsParameters_ = builderForValue.build();
11775 } else {
11776 savingsParametersBuilder_.setMessage(builderForValue.build());
11777 }
11778 bitField0_ |= 0x00000004;
11779 onChanged();
11780 return this;
11781 }
11782
11789 public Builder mergeSavingsParameters(com.google.ortools.constraintsolver.SavingsParameters value) {
11790 if (savingsParametersBuilder_ == null) {
11791 if (((bitField0_ & 0x00000004) != 0) &&
11792 savingsParameters_ != null &&
11793 savingsParameters_ != com.google.ortools.constraintsolver.SavingsParameters.getDefaultInstance()) {
11794 getSavingsParametersBuilder().mergeFrom(value);
11795 } else {
11796 savingsParameters_ = value;
11797 }
11798 } else {
11799 savingsParametersBuilder_.mergeFrom(value);
11800 }
11801 if (savingsParameters_ != null) {
11802 bitField0_ |= 0x00000004;
11803 onChanged();
11804 }
11805 return this;
11806 }
11807
11814 public Builder clearSavingsParameters() {
11815 bitField0_ = (bitField0_ & ~0x00000004);
11816 savingsParameters_ = null;
11817 if (savingsParametersBuilder_ != null) {
11818 savingsParametersBuilder_.dispose();
11819 savingsParametersBuilder_ = null;
11820 }
11821 onChanged();
11822 return this;
11823 }
11824
11832 bitField0_ |= 0x00000004;
11833 onChanged();
11834 return internalGetSavingsParametersFieldBuilder().getBuilder();
11835 }
11836
11844 if (savingsParametersBuilder_ != null) {
11845 return savingsParametersBuilder_.getMessageOrBuilder();
11846 } else {
11847 return savingsParameters_ == null ?
11848 com.google.ortools.constraintsolver.SavingsParameters.getDefaultInstance() : savingsParameters_;
11849 }
11850 }
11851
11858 private com.google.protobuf.SingleFieldBuilder<
11859 com.google.ortools.constraintsolver.SavingsParameters, com.google.ortools.constraintsolver.SavingsParameters.Builder, com.google.ortools.constraintsolver.SavingsParametersOrBuilder>
11860 internalGetSavingsParametersFieldBuilder() {
11861 if (savingsParametersBuilder_ == null) {
11862 savingsParametersBuilder_ = new com.google.protobuf.SingleFieldBuilder<
11863 com.google.ortools.constraintsolver.SavingsParameters, com.google.ortools.constraintsolver.SavingsParameters.Builder, com.google.ortools.constraintsolver.SavingsParametersOrBuilder>(
11865 getParentForChildren(),
11866 isClean());
11867 savingsParameters_ = null;
11868 }
11869 return savingsParametersBuilder_;
11870 }
11871
11872 private com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters globalCheapestInsertionFirstSolutionParameters_;
11873 private com.google.protobuf.SingleFieldBuilder<
11874 com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters, com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters.Builder, com.google.ortools.constraintsolver.GlobalCheapestInsertionParametersOrBuilder> globalCheapestInsertionFirstSolutionParametersBuilder_;
11885 return ((bitField0_ & 0x00000008) != 0);
11886 }
11887
11897 if (globalCheapestInsertionFirstSolutionParametersBuilder_ == null) {
11898 return globalCheapestInsertionFirstSolutionParameters_ == null ? com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters.getDefaultInstance() : globalCheapestInsertionFirstSolutionParameters_;
11899 } else {
11900 return globalCheapestInsertionFirstSolutionParametersBuilder_.getMessage();
11901 }
11902 }
11903
11911 public Builder setGlobalCheapestInsertionFirstSolutionParameters(com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters value) {
11912 if (globalCheapestInsertionFirstSolutionParametersBuilder_ == null) {
11913 if (value == null) {
11914 throw new NullPointerException();
11915 }
11916 globalCheapestInsertionFirstSolutionParameters_ = value;
11917 } else {
11918 globalCheapestInsertionFirstSolutionParametersBuilder_.setMessage(value);
11919 }
11920 bitField0_ |= 0x00000008;
11921 onChanged();
11922 return this;
11923 }
11924
11933 com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters.Builder builderForValue) {
11934 if (globalCheapestInsertionFirstSolutionParametersBuilder_ == null) {
11935 globalCheapestInsertionFirstSolutionParameters_ = builderForValue.build();
11936 } else {
11937 globalCheapestInsertionFirstSolutionParametersBuilder_.setMessage(builderForValue.build());
11938 }
11939 bitField0_ |= 0x00000008;
11940 onChanged();
11941 return this;
11942 }
11943
11951 public Builder mergeGlobalCheapestInsertionFirstSolutionParameters(com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters value) {
11952 if (globalCheapestInsertionFirstSolutionParametersBuilder_ == null) {
11953 if (((bitField0_ & 0x00000008) != 0) &&
11954 globalCheapestInsertionFirstSolutionParameters_ != null &&
11955 globalCheapestInsertionFirstSolutionParameters_ != com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters.getDefaultInstance()) {
11957 } else {
11958 globalCheapestInsertionFirstSolutionParameters_ = value;
11959 }
11960 } else {
11961 globalCheapestInsertionFirstSolutionParametersBuilder_.mergeFrom(value);
11962 }
11963 if (globalCheapestInsertionFirstSolutionParameters_ != null) {
11964 bitField0_ |= 0x00000008;
11965 onChanged();
11966 }
11967 return this;
11968 }
11969
11978 bitField0_ = (bitField0_ & ~0x00000008);
11979 globalCheapestInsertionFirstSolutionParameters_ = null;
11980 if (globalCheapestInsertionFirstSolutionParametersBuilder_ != null) {
11981 globalCheapestInsertionFirstSolutionParametersBuilder_.dispose();
11982 globalCheapestInsertionFirstSolutionParametersBuilder_ = null;
11983 }
11984 onChanged();
11985 return this;
11986 }
11987
11996 bitField0_ |= 0x00000008;
11997 onChanged();
11998 return internalGetGlobalCheapestInsertionFirstSolutionParametersFieldBuilder().getBuilder();
11999 }
12000
12009 if (globalCheapestInsertionFirstSolutionParametersBuilder_ != null) {
12010 return globalCheapestInsertionFirstSolutionParametersBuilder_.getMessageOrBuilder();
12011 } else {
12012 return globalCheapestInsertionFirstSolutionParameters_ == null ?
12013 com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters.getDefaultInstance() : globalCheapestInsertionFirstSolutionParameters_;
12014 }
12015 }
12016
12024 private com.google.protobuf.SingleFieldBuilder<
12025 com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters, com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters.Builder, com.google.ortools.constraintsolver.GlobalCheapestInsertionParametersOrBuilder>
12026 internalGetGlobalCheapestInsertionFirstSolutionParametersFieldBuilder() {
12027 if (globalCheapestInsertionFirstSolutionParametersBuilder_ == null) {
12028 globalCheapestInsertionFirstSolutionParametersBuilder_ = new com.google.protobuf.SingleFieldBuilder<
12029 com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters, com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters.Builder, com.google.ortools.constraintsolver.GlobalCheapestInsertionParametersOrBuilder>(
12031 getParentForChildren(),
12032 isClean());
12033 globalCheapestInsertionFirstSolutionParameters_ = null;
12034 }
12035 return globalCheapestInsertionFirstSolutionParametersBuilder_;
12036 }
12037
12038 private com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters globalCheapestInsertionLsOperatorParameters_;
12039 private com.google.protobuf.SingleFieldBuilder<
12040 com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters, com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters.Builder, com.google.ortools.constraintsolver.GlobalCheapestInsertionParametersOrBuilder> globalCheapestInsertionLsOperatorParametersBuilder_;
12053 return ((bitField0_ & 0x00000010) != 0);
12054 }
12055
12067 if (globalCheapestInsertionLsOperatorParametersBuilder_ == null) {
12068 return globalCheapestInsertionLsOperatorParameters_ == null ? com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters.getDefaultInstance() : globalCheapestInsertionLsOperatorParameters_;
12069 } else {
12070 return globalCheapestInsertionLsOperatorParametersBuilder_.getMessage();
12071 }
12072 }
12073
12083 public Builder setGlobalCheapestInsertionLsOperatorParameters(com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters value) {
12084 if (globalCheapestInsertionLsOperatorParametersBuilder_ == null) {
12085 if (value == null) {
12086 throw new NullPointerException();
12087 }
12088 globalCheapestInsertionLsOperatorParameters_ = value;
12089 } else {
12090 globalCheapestInsertionLsOperatorParametersBuilder_.setMessage(value);
12091 }
12092 bitField0_ |= 0x00000010;
12093 onChanged();
12094 return this;
12095 }
12096
12107 com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters.Builder builderForValue) {
12108 if (globalCheapestInsertionLsOperatorParametersBuilder_ == null) {
12109 globalCheapestInsertionLsOperatorParameters_ = builderForValue.build();
12110 } else {
12111 globalCheapestInsertionLsOperatorParametersBuilder_.setMessage(builderForValue.build());
12112 }
12113 bitField0_ |= 0x00000010;
12114 onChanged();
12115 return this;
12116 }
12117
12127 public Builder mergeGlobalCheapestInsertionLsOperatorParameters(com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters value) {
12128 if (globalCheapestInsertionLsOperatorParametersBuilder_ == null) {
12129 if (((bitField0_ & 0x00000010) != 0) &&
12130 globalCheapestInsertionLsOperatorParameters_ != null &&
12131 globalCheapestInsertionLsOperatorParameters_ != com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters.getDefaultInstance()) {
12133 } else {
12134 globalCheapestInsertionLsOperatorParameters_ = value;
12135 }
12136 } else {
12137 globalCheapestInsertionLsOperatorParametersBuilder_.mergeFrom(value);
12138 }
12139 if (globalCheapestInsertionLsOperatorParameters_ != null) {
12140 bitField0_ |= 0x00000010;
12141 onChanged();
12142 }
12143 return this;
12144 }
12145
12156 bitField0_ = (bitField0_ & ~0x00000010);
12157 globalCheapestInsertionLsOperatorParameters_ = null;
12158 if (globalCheapestInsertionLsOperatorParametersBuilder_ != null) {
12159 globalCheapestInsertionLsOperatorParametersBuilder_.dispose();
12160 globalCheapestInsertionLsOperatorParametersBuilder_ = null;
12161 }
12162 onChanged();
12163 return this;
12164 }
12165
12176 bitField0_ |= 0x00000010;
12177 onChanged();
12178 return internalGetGlobalCheapestInsertionLsOperatorParametersFieldBuilder().getBuilder();
12179 }
12180
12191 if (globalCheapestInsertionLsOperatorParametersBuilder_ != null) {
12192 return globalCheapestInsertionLsOperatorParametersBuilder_.getMessageOrBuilder();
12193 } else {
12194 return globalCheapestInsertionLsOperatorParameters_ == null ?
12195 com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters.getDefaultInstance() : globalCheapestInsertionLsOperatorParameters_;
12196 }
12197 }
12198
12208 private com.google.protobuf.SingleFieldBuilder<
12209 com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters, com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters.Builder, com.google.ortools.constraintsolver.GlobalCheapestInsertionParametersOrBuilder>
12210 internalGetGlobalCheapestInsertionLsOperatorParametersFieldBuilder() {
12211 if (globalCheapestInsertionLsOperatorParametersBuilder_ == null) {
12212 globalCheapestInsertionLsOperatorParametersBuilder_ = new com.google.protobuf.SingleFieldBuilder<
12213 com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters, com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters.Builder, com.google.ortools.constraintsolver.GlobalCheapestInsertionParametersOrBuilder>(
12215 getParentForChildren(),
12216 isClean());
12217 globalCheapestInsertionLsOperatorParameters_ = null;
12218 }
12219 return globalCheapestInsertionLsOperatorParametersBuilder_;
12220 }
12221
12222 private com.google.ortools.constraintsolver.LocalCheapestInsertionParameters localCheapestInsertionParameters_;
12223 private com.google.protobuf.SingleFieldBuilder<
12224 com.google.ortools.constraintsolver.LocalCheapestInsertionParameters, com.google.ortools.constraintsolver.LocalCheapestInsertionParameters.Builder, com.google.ortools.constraintsolver.LocalCheapestInsertionParametersOrBuilder> localCheapestInsertionParametersBuilder_;
12234 return ((bitField0_ & 0x00000020) != 0);
12235 }
12236
12245 if (localCheapestInsertionParametersBuilder_ == null) {
12246 return localCheapestInsertionParameters_ == null ? com.google.ortools.constraintsolver.LocalCheapestInsertionParameters.getDefaultInstance() : localCheapestInsertionParameters_;
12247 } else {
12248 return localCheapestInsertionParametersBuilder_.getMessage();
12249 }
12250 }
12251
12258 public Builder setLocalCheapestInsertionParameters(com.google.ortools.constraintsolver.LocalCheapestInsertionParameters value) {
12259 if (localCheapestInsertionParametersBuilder_ == null) {
12260 if (value == null) {
12261 throw new NullPointerException();
12262 }
12263 localCheapestInsertionParameters_ = value;
12264 } else {
12265 localCheapestInsertionParametersBuilder_.setMessage(value);
12266 }
12267 bitField0_ |= 0x00000020;
12268 onChanged();
12269 return this;
12270 }
12271
12279 com.google.ortools.constraintsolver.LocalCheapestInsertionParameters.Builder builderForValue) {
12280 if (localCheapestInsertionParametersBuilder_ == null) {
12281 localCheapestInsertionParameters_ = builderForValue.build();
12282 } else {
12283 localCheapestInsertionParametersBuilder_.setMessage(builderForValue.build());
12284 }
12285 bitField0_ |= 0x00000020;
12286 onChanged();
12287 return this;
12288 }
12289
12296 public Builder mergeLocalCheapestInsertionParameters(com.google.ortools.constraintsolver.LocalCheapestInsertionParameters value) {
12297 if (localCheapestInsertionParametersBuilder_ == null) {
12298 if (((bitField0_ & 0x00000020) != 0) &&
12299 localCheapestInsertionParameters_ != null &&
12300 localCheapestInsertionParameters_ != com.google.ortools.constraintsolver.LocalCheapestInsertionParameters.getDefaultInstance()) {
12302 } else {
12303 localCheapestInsertionParameters_ = value;
12304 }
12305 } else {
12306 localCheapestInsertionParametersBuilder_.mergeFrom(value);
12307 }
12308 if (localCheapestInsertionParameters_ != null) {
12309 bitField0_ |= 0x00000020;
12310 onChanged();
12311 }
12312 return this;
12313 }
12314
12322 bitField0_ = (bitField0_ & ~0x00000020);
12323 localCheapestInsertionParameters_ = null;
12324 if (localCheapestInsertionParametersBuilder_ != null) {
12325 localCheapestInsertionParametersBuilder_.dispose();
12326 localCheapestInsertionParametersBuilder_ = null;
12327 }
12328 onChanged();
12329 return this;
12330 }
12331
12339 bitField0_ |= 0x00000020;
12340 onChanged();
12341 return internalGetLocalCheapestInsertionParametersFieldBuilder().getBuilder();
12342 }
12343
12351 if (localCheapestInsertionParametersBuilder_ != null) {
12352 return localCheapestInsertionParametersBuilder_.getMessageOrBuilder();
12353 } else {
12354 return localCheapestInsertionParameters_ == null ?
12355 com.google.ortools.constraintsolver.LocalCheapestInsertionParameters.getDefaultInstance() : localCheapestInsertionParameters_;
12356 }
12357 }
12358
12365 private com.google.protobuf.SingleFieldBuilder<
12366 com.google.ortools.constraintsolver.LocalCheapestInsertionParameters, com.google.ortools.constraintsolver.LocalCheapestInsertionParameters.Builder, com.google.ortools.constraintsolver.LocalCheapestInsertionParametersOrBuilder>
12367 internalGetLocalCheapestInsertionParametersFieldBuilder() {
12368 if (localCheapestInsertionParametersBuilder_ == null) {
12369 localCheapestInsertionParametersBuilder_ = new com.google.protobuf.SingleFieldBuilder<
12370 com.google.ortools.constraintsolver.LocalCheapestInsertionParameters, com.google.ortools.constraintsolver.LocalCheapestInsertionParameters.Builder, com.google.ortools.constraintsolver.LocalCheapestInsertionParametersOrBuilder>(
12372 getParentForChildren(),
12373 isClean());
12374 localCheapestInsertionParameters_ = null;
12375 }
12376 return localCheapestInsertionParametersBuilder_;
12377 }
12378
12379 private com.google.ortools.constraintsolver.LocalCheapestInsertionParameters localCheapestCostInsertionParameters_;
12380 private com.google.protobuf.SingleFieldBuilder<
12381 com.google.ortools.constraintsolver.LocalCheapestInsertionParameters, com.google.ortools.constraintsolver.LocalCheapestInsertionParameters.Builder, com.google.ortools.constraintsolver.LocalCheapestInsertionParametersOrBuilder> localCheapestCostInsertionParametersBuilder_;
12391 return ((bitField0_ & 0x00000040) != 0);
12392 }
12393
12402 if (localCheapestCostInsertionParametersBuilder_ == null) {
12403 return localCheapestCostInsertionParameters_ == null ? com.google.ortools.constraintsolver.LocalCheapestInsertionParameters.getDefaultInstance() : localCheapestCostInsertionParameters_;
12404 } else {
12405 return localCheapestCostInsertionParametersBuilder_.getMessage();
12406 }
12407 }
12408
12415 public Builder setLocalCheapestCostInsertionParameters(com.google.ortools.constraintsolver.LocalCheapestInsertionParameters value) {
12416 if (localCheapestCostInsertionParametersBuilder_ == null) {
12417 if (value == null) {
12418 throw new NullPointerException();
12419 }
12420 localCheapestCostInsertionParameters_ = value;
12421 } else {
12422 localCheapestCostInsertionParametersBuilder_.setMessage(value);
12423 }
12424 bitField0_ |= 0x00000040;
12425 onChanged();
12426 return this;
12427 }
12428
12436 com.google.ortools.constraintsolver.LocalCheapestInsertionParameters.Builder builderForValue) {
12437 if (localCheapestCostInsertionParametersBuilder_ == null) {
12438 localCheapestCostInsertionParameters_ = builderForValue.build();
12439 } else {
12440 localCheapestCostInsertionParametersBuilder_.setMessage(builderForValue.build());
12441 }
12442 bitField0_ |= 0x00000040;
12443 onChanged();
12444 return this;
12445 }
12446
12453 public Builder mergeLocalCheapestCostInsertionParameters(com.google.ortools.constraintsolver.LocalCheapestInsertionParameters value) {
12454 if (localCheapestCostInsertionParametersBuilder_ == null) {
12455 if (((bitField0_ & 0x00000040) != 0) &&
12456 localCheapestCostInsertionParameters_ != null &&
12457 localCheapestCostInsertionParameters_ != com.google.ortools.constraintsolver.LocalCheapestInsertionParameters.getDefaultInstance()) {
12459 } else {
12460 localCheapestCostInsertionParameters_ = value;
12461 }
12462 } else {
12463 localCheapestCostInsertionParametersBuilder_.mergeFrom(value);
12464 }
12465 if (localCheapestCostInsertionParameters_ != null) {
12466 bitField0_ |= 0x00000040;
12467 onChanged();
12468 }
12469 return this;
12470 }
12471
12479 bitField0_ = (bitField0_ & ~0x00000040);
12480 localCheapestCostInsertionParameters_ = null;
12481 if (localCheapestCostInsertionParametersBuilder_ != null) {
12482 localCheapestCostInsertionParametersBuilder_.dispose();
12483 localCheapestCostInsertionParametersBuilder_ = null;
12484 }
12485 onChanged();
12486 return this;
12487 }
12488
12496 bitField0_ |= 0x00000040;
12497 onChanged();
12498 return internalGetLocalCheapestCostInsertionParametersFieldBuilder().getBuilder();
12499 }
12500
12508 if (localCheapestCostInsertionParametersBuilder_ != null) {
12509 return localCheapestCostInsertionParametersBuilder_.getMessageOrBuilder();
12510 } else {
12511 return localCheapestCostInsertionParameters_ == null ?
12512 com.google.ortools.constraintsolver.LocalCheapestInsertionParameters.getDefaultInstance() : localCheapestCostInsertionParameters_;
12513 }
12514 }
12515
12522 private com.google.protobuf.SingleFieldBuilder<
12523 com.google.ortools.constraintsolver.LocalCheapestInsertionParameters, com.google.ortools.constraintsolver.LocalCheapestInsertionParameters.Builder, com.google.ortools.constraintsolver.LocalCheapestInsertionParametersOrBuilder>
12524 internalGetLocalCheapestCostInsertionParametersFieldBuilder() {
12525 if (localCheapestCostInsertionParametersBuilder_ == null) {
12526 localCheapestCostInsertionParametersBuilder_ = new com.google.protobuf.SingleFieldBuilder<
12527 com.google.ortools.constraintsolver.LocalCheapestInsertionParameters, com.google.ortools.constraintsolver.LocalCheapestInsertionParameters.Builder, com.google.ortools.constraintsolver.LocalCheapestInsertionParametersOrBuilder>(
12529 getParentForChildren(),
12530 isClean());
12531 localCheapestCostInsertionParameters_ = null;
12532 }
12533 return localCheapestCostInsertionParametersBuilder_;
12534 }
12535
12536 private boolean christofidesUseMinimumMatching_ ;
12546 @java.lang.Override
12548 return christofidesUseMinimumMatching_;
12549 }
12550
12560 public Builder setChristofidesUseMinimumMatching(boolean value) {
12561
12562 christofidesUseMinimumMatching_ = value;
12563 bitField0_ |= 0x00000080;
12564 onChanged();
12565 return this;
12566 }
12567
12577 bitField0_ = (bitField0_ & ~0x00000080);
12578 christofidesUseMinimumMatching_ = false;
12579 onChanged();
12580 return this;
12581 }
12582
12583 private int firstSolutionOptimizationPeriod_ ;
12598 @java.lang.Override
12600 return firstSolutionOptimizationPeriod_;
12601 }
12602
12617 public Builder setFirstSolutionOptimizationPeriod(int value) {
12618
12619 firstSolutionOptimizationPeriod_ = value;
12620 bitField0_ |= 0x00000100;
12621 onChanged();
12622 return this;
12623 }
12624
12639 bitField0_ = (bitField0_ & ~0x00000100);
12640 firstSolutionOptimizationPeriod_ = 0;
12641 onChanged();
12642 return this;
12643 }
12644
12646 private com.google.protobuf.SingleFieldBuilder<
12647 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder> localSearchOperatorsBuilder_;
12652 public boolean hasLocalSearchOperators() {
12653 return ((bitField0_ & 0x00000200) != 0);
12654 }
12655
12660 if (localSearchOperatorsBuilder_ == null) {
12661 return localSearchOperators_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
12662 } else {
12663 return localSearchOperatorsBuilder_.getMessage();
12664 }
12665 }
12666
12669 public Builder setLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators value) {
12670 if (localSearchOperatorsBuilder_ == null) {
12671 if (value == null) {
12672 throw new NullPointerException();
12673 }
12674 localSearchOperators_ = value;
12675 } else {
12676 localSearchOperatorsBuilder_.setMessage(value);
12677 }
12678 bitField0_ |= 0x00000200;
12679 onChanged();
12680 return this;
12681 }
12682
12686 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder builderForValue) {
12687 if (localSearchOperatorsBuilder_ == null) {
12688 localSearchOperators_ = builderForValue.build();
12689 } else {
12690 localSearchOperatorsBuilder_.setMessage(builderForValue.build());
12691 }
12692 bitField0_ |= 0x00000200;
12693 onChanged();
12694 return this;
12695 }
12696
12699 public Builder mergeLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators value) {
12700 if (localSearchOperatorsBuilder_ == null) {
12701 if (((bitField0_ & 0x00000200) != 0) &&
12702 localSearchOperators_ != null &&
12703 localSearchOperators_ != com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance()) {
12704 getLocalSearchOperatorsBuilder().mergeFrom(value);
12705 } else {
12706 localSearchOperators_ = value;
12707 }
12708 } else {
12709 localSearchOperatorsBuilder_.mergeFrom(value);
12710 }
12711 if (localSearchOperators_ != null) {
12712 bitField0_ |= 0x00000200;
12713 onChanged();
12714 }
12715 return this;
12716 }
12717
12720 public Builder clearLocalSearchOperators() {
12721 bitField0_ = (bitField0_ & ~0x00000200);
12722 localSearchOperators_ = null;
12723 if (localSearchOperatorsBuilder_ != null) {
12724 localSearchOperatorsBuilder_.dispose();
12725 localSearchOperatorsBuilder_ = null;
12726 }
12727 onChanged();
12728 return this;
12729 }
12730
12734 bitField0_ |= 0x00000200;
12735 onChanged();
12736 return internalGetLocalSearchOperatorsFieldBuilder().getBuilder();
12737 }
12738
12742 if (localSearchOperatorsBuilder_ != null) {
12743 return localSearchOperatorsBuilder_.getMessageOrBuilder();
12744 } else {
12745 return localSearchOperators_ == null ?
12746 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
12747 }
12748 }
12749
12752 private com.google.protobuf.SingleFieldBuilder<
12753 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder>
12754 internalGetLocalSearchOperatorsFieldBuilder() {
12755 if (localSearchOperatorsBuilder_ == null) {
12756 localSearchOperatorsBuilder_ = new com.google.protobuf.SingleFieldBuilder<
12757 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder>(
12759 getParentForChildren(),
12760 isClean());
12761 localSearchOperators_ = null;
12762 }
12763 return localSearchOperatorsBuilder_;
12764 }
12765
12766 private double lsOperatorNeighborsRatio_ ;
12779 @java.lang.Override
12781 return lsOperatorNeighborsRatio_;
12782 }
12783
12796 public Builder setLsOperatorNeighborsRatio(double value) {
12797
12798 lsOperatorNeighborsRatio_ = value;
12799 bitField0_ |= 0x00000400;
12800 onChanged();
12801 return this;
12802 }
12803
12816 bitField0_ = (bitField0_ & ~0x00000400);
12817 lsOperatorNeighborsRatio_ = 0D;
12818 onChanged();
12819 return this;
12820 }
12821
12822 private int lsOperatorMinNeighbors_ ;
12827 @java.lang.Override
12829 return lsOperatorMinNeighbors_;
12830 }
12831
12836 public Builder setLsOperatorMinNeighbors(int value) {
12837
12838 lsOperatorMinNeighbors_ = value;
12839 bitField0_ |= 0x00000800;
12840 onChanged();
12841 return this;
12842 }
12843
12848 bitField0_ = (bitField0_ & ~0x00000800);
12849 lsOperatorMinNeighbors_ = 0;
12850 onChanged();
12851 return this;
12852 }
12853
12854 private boolean useMultiArmedBanditConcatenateOperators_ ;
12865 @java.lang.Override
12867 return useMultiArmedBanditConcatenateOperators_;
12868 }
12869
12880 public Builder setUseMultiArmedBanditConcatenateOperators(boolean value) {
12881
12882 useMultiArmedBanditConcatenateOperators_ = value;
12883 bitField0_ |= 0x00001000;
12884 onChanged();
12885 return this;
12886 }
12887
12898 bitField0_ = (bitField0_ & ~0x00001000);
12899 useMultiArmedBanditConcatenateOperators_ = false;
12900 onChanged();
12901 return this;
12902 }
12903
12904 private double multiArmedBanditCompoundOperatorMemoryCoefficient_ ;
12916 @java.lang.Override
12918 return multiArmedBanditCompoundOperatorMemoryCoefficient_;
12919 }
12920
12933
12934 multiArmedBanditCompoundOperatorMemoryCoefficient_ = value;
12935 bitField0_ |= 0x00002000;
12936 onChanged();
12937 return this;
12938 }
12939
12951 bitField0_ = (bitField0_ & ~0x00002000);
12952 multiArmedBanditCompoundOperatorMemoryCoefficient_ = 0D;
12953 onChanged();
12954 return this;
12955 }
12956
12957 private double multiArmedBanditCompoundOperatorExplorationCoefficient_ ;
12968 @java.lang.Override
12970 return multiArmedBanditCompoundOperatorExplorationCoefficient_;
12971 }
12972
12984
12985 multiArmedBanditCompoundOperatorExplorationCoefficient_ = value;
12986 bitField0_ |= 0x00004000;
12987 onChanged();
12988 return this;
12989 }
12990
13001 bitField0_ = (bitField0_ & ~0x00004000);
13002 multiArmedBanditCompoundOperatorExplorationCoefficient_ = 0D;
13003 onChanged();
13004 return this;
13005 }
13006
13007 private int maxSwapActiveChainSize_ ;
13016 @java.lang.Override
13018 return maxSwapActiveChainSize_;
13019 }
13020
13029 public Builder setMaxSwapActiveChainSize(int value) {
13030
13031 maxSwapActiveChainSize_ = value;
13032 bitField0_ |= 0x00008000;
13033 onChanged();
13034 return this;
13035 }
13036
13045 bitField0_ = (bitField0_ & ~0x00008000);
13046 maxSwapActiveChainSize_ = 0;
13047 onChanged();
13048 return this;
13049 }
13050
13051 private int relocateExpensiveChainNumArcsToConsider_ ;
13066 @java.lang.Override
13068 return relocateExpensiveChainNumArcsToConsider_;
13069 }
13070
13086
13087 relocateExpensiveChainNumArcsToConsider_ = value;
13088 bitField0_ |= 0x00010000;
13089 onChanged();
13090 return this;
13091 }
13092
13107 bitField0_ = (bitField0_ & ~0x00010000);
13108 relocateExpensiveChainNumArcsToConsider_ = 0;
13109 onChanged();
13110 return this;
13111 }
13112
13113 private int heuristicExpensiveChainLnsNumArcsToConsider_ ;
13123 @java.lang.Override
13125 return heuristicExpensiveChainLnsNumArcsToConsider_;
13126 }
13127
13138
13139 heuristicExpensiveChainLnsNumArcsToConsider_ = value;
13140 bitField0_ |= 0x00020000;
13141 onChanged();
13142 return this;
13143 }
13144
13154 bitField0_ = (bitField0_ & ~0x00020000);
13155 heuristicExpensiveChainLnsNumArcsToConsider_ = 0;
13156 onChanged();
13157 return this;
13158 }
13159
13160 private int heuristicCloseNodesLnsNumNodes_ ;
13170 @java.lang.Override
13172 return heuristicCloseNodesLnsNumNodes_;
13173 }
13174
13184 public Builder setHeuristicCloseNodesLnsNumNodes(int value) {
13185
13186 heuristicCloseNodesLnsNumNodes_ = value;
13187 bitField0_ |= 0x00040000;
13188 onChanged();
13189 return this;
13190 }
13191
13201 bitField0_ = (bitField0_ & ~0x00040000);
13202 heuristicCloseNodesLnsNumNodes_ = 0;
13203 onChanged();
13204 return this;
13205 }
13206
13207 private int localSearchMetaheuristic_ = 0;
13216 @java.lang.Override public int getLocalSearchMetaheuristicValue() {
13217 return localSearchMetaheuristic_;
13218 }
13219
13228 public Builder setLocalSearchMetaheuristicValue(int value) {
13229 localSearchMetaheuristic_ = value;
13230 bitField0_ |= 0x00080000;
13231 onChanged();
13232 return this;
13233 }
13234
13242 @java.lang.Override
13244 com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value result = com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.forNumber(localSearchMetaheuristic_);
13246 }
13247
13256 public Builder setLocalSearchMetaheuristic(com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value value) {
13257 if (value == null) { throw new NullPointerException(); }
13258 bitField0_ |= 0x00080000;
13259 localSearchMetaheuristic_ = value.getNumber();
13260 onChanged();
13261 return this;
13262 }
13263
13272 bitField0_ = (bitField0_ & ~0x00080000);
13273 localSearchMetaheuristic_ = 0;
13274 onChanged();
13275 return this;
13276 }
13277
13278 private com.google.protobuf.Internal.IntList localSearchMetaheuristics_ = emptyIntList();
13279 private void ensureLocalSearchMetaheuristicsIsMutable() {
13280 if (!localSearchMetaheuristics_.isModifiable()) {
13281 localSearchMetaheuristics_ = makeMutableCopy(localSearchMetaheuristics_);
13282 }
13283 bitField0_ |= 0x00100000;
13284 }
13296 public java.util.List<com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value> getLocalSearchMetaheuristicsList() {
13297 return new com.google.protobuf.Internal.IntListAdapter<
13298 com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value>(localSearchMetaheuristics_, localSearchMetaheuristics_converter_);
13299 }
13300
13312 return localSearchMetaheuristics_.size();
13313 }
13314
13327 return localSearchMetaheuristics_converter_.convert(localSearchMetaheuristics_.getInt(index));
13328 }
13329
13343 int index, com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value value) {
13344 if (value == null) { throw new NullPointerException(); }
13345 ensureLocalSearchMetaheuristicsIsMutable();
13346 localSearchMetaheuristics_.setInt(index, value.getNumber());
13347 onChanged();
13348 return this;
13349 }
13350
13362 public Builder addLocalSearchMetaheuristics(com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value value) {
13363 if (value == null) { throw new NullPointerException(); }
13364 ensureLocalSearchMetaheuristicsIsMutable();
13365 localSearchMetaheuristics_.addInt(value.getNumber());
13366 onChanged();
13367 return this;
13368 }
13369
13382 java.lang.Iterable<? extends com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value> values) {
13383 ensureLocalSearchMetaheuristicsIsMutable();
13384 for (com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value value : values) {
13385 localSearchMetaheuristics_.addInt(value.getNumber());
13386 }
13387 onChanged();
13388 return this;
13389 }
13390
13402 localSearchMetaheuristics_ = emptyIntList();
13403 bitField0_ = (bitField0_ & ~0x00100000);
13404 onChanged();
13405 return this;
13406 }
13407
13418 public java.util.List<java.lang.Integer>
13420 localSearchMetaheuristics_.makeImmutable();
13421 return localSearchMetaheuristics_;
13422 }
13423
13436 return localSearchMetaheuristics_.getInt(index);
13437 }
13438
13452 int index, int value) {
13453 ensureLocalSearchMetaheuristicsIsMutable();
13454 localSearchMetaheuristics_.setInt(index, value);
13455 onChanged();
13456 return this;
13457 }
13458
13470 public Builder addLocalSearchMetaheuristicsValue(int value) {
13471 ensureLocalSearchMetaheuristicsIsMutable();
13472 localSearchMetaheuristics_.addInt(value);
13473 onChanged();
13474 return this;
13475 }
13476
13489 java.lang.Iterable<java.lang.Integer> values) {
13490 ensureLocalSearchMetaheuristicsIsMutable();
13491 for (int value : values) {
13492 localSearchMetaheuristics_.addInt(value);
13493 }
13494 onChanged();
13495 return this;
13496 }
13497
13498 private int numMaxLocalOptimaBeforeMetaheuristicSwitch_ ;
13503 @java.lang.Override
13505 return numMaxLocalOptimaBeforeMetaheuristicSwitch_;
13506 }
13507
13513
13514 numMaxLocalOptimaBeforeMetaheuristicSwitch_ = value;
13515 bitField0_ |= 0x00200000;
13516 onChanged();
13517 return this;
13518 }
13519
13524 bitField0_ = (bitField0_ & ~0x00200000);
13525 numMaxLocalOptimaBeforeMetaheuristicSwitch_ = 0;
13526 onChanged();
13527 return this;
13528 }
13529
13530 private double guidedLocalSearchLambdaCoefficient_ ;
13542 @java.lang.Override
13544 return guidedLocalSearchLambdaCoefficient_;
13545 }
13546
13558 public Builder setGuidedLocalSearchLambdaCoefficient(double value) {
13559
13560 guidedLocalSearchLambdaCoefficient_ = value;
13561 bitField0_ |= 0x00400000;
13562 onChanged();
13563 return this;
13564 }
13565
13577 bitField0_ = (bitField0_ & ~0x00400000);
13578 guidedLocalSearchLambdaCoefficient_ = 0D;
13579 onChanged();
13580 return this;
13581 }
13582
13583 private boolean guidedLocalSearchResetPenaltiesOnNewBestSolution_ ;
13593 @java.lang.Override
13595 return guidedLocalSearchResetPenaltiesOnNewBestSolution_;
13596 }
13597
13608
13609 guidedLocalSearchResetPenaltiesOnNewBestSolution_ = value;
13610 bitField0_ |= 0x00800000;
13611 onChanged();
13612 return this;
13613 }
13614
13624 bitField0_ = (bitField0_ & ~0x00800000);
13625 guidedLocalSearchResetPenaltiesOnNewBestSolution_ = false;
13626 onChanged();
13627 return this;
13628 }
13629
13630 private boolean guidedLocalSearchPenalizeWithVehicleClasses_ ;
13641 @java.lang.Override
13643 return guidedLocalSearchPenalizeWithVehicleClasses_;
13644 }
13645
13657
13658 guidedLocalSearchPenalizeWithVehicleClasses_ = value;
13659 bitField0_ |= 0x01000000;
13660 onChanged();
13661 return this;
13662 }
13663
13674 bitField0_ = (bitField0_ & ~0x01000000);
13675 guidedLocalSearchPenalizeWithVehicleClasses_ = false;
13676 onChanged();
13677 return this;
13678 }
13679
13680 private boolean useGuidedLocalSearchPenaltiesInLocalSearchOperators_ ;
13690 @java.lang.Override
13692 return useGuidedLocalSearchPenaltiesInLocalSearchOperators_;
13693 }
13694
13705
13706 useGuidedLocalSearchPenaltiesInLocalSearchOperators_ = value;
13707 bitField0_ |= 0x02000000;
13708 onChanged();
13709 return this;
13710 }
13711
13721 bitField0_ = (bitField0_ & ~0x02000000);
13722 useGuidedLocalSearchPenaltiesInLocalSearchOperators_ = false;
13723 onChanged();
13724 return this;
13725 }
13726
13727 private boolean useDepthFirstSearch_ ;
13739 @java.lang.Override
13740 public boolean getUseDepthFirstSearch() {
13741 return useDepthFirstSearch_;
13742 }
13743
13755 public Builder setUseDepthFirstSearch(boolean value) {
13756
13757 useDepthFirstSearch_ = value;
13758 bitField0_ |= 0x04000000;
13759 onChanged();
13760 return this;
13761 }
13762
13773 public Builder clearUseDepthFirstSearch() {
13774 bitField0_ = (bitField0_ & ~0x04000000);
13775 useDepthFirstSearch_ = false;
13776 onChanged();
13777 return this;
13778 }
13779
13780 private int useCp_ = 0;
13791 @java.lang.Override public int getUseCpValue() {
13792 return useCp_;
13793 }
13794
13805 public Builder setUseCpValue(int value) {
13806 useCp_ = value;
13807 bitField0_ |= 0x08000000;
13808 onChanged();
13809 return this;
13810 }
13811
13821 @java.lang.Override
13823 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useCp_);
13824 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
13825 }
13826
13837 public Builder setUseCp(com.google.ortools.util.OptionalBoolean value) {
13838 if (value == null) { throw new NullPointerException(); }
13839 bitField0_ |= 0x08000000;
13840 useCp_ = value.getNumber();
13841 onChanged();
13842 return this;
13843 }
13844
13854 public Builder clearUseCp() {
13855 bitField0_ = (bitField0_ & ~0x08000000);
13856 useCp_ = 0;
13857 onChanged();
13858 return this;
13859 }
13860
13861 private int useCpSat_ = 0;
13873 @java.lang.Override public int getUseCpSatValue() {
13874 return useCpSat_;
13875 }
13876
13888 public Builder setUseCpSatValue(int value) {
13889 useCpSat_ = value;
13890 bitField0_ |= 0x10000000;
13891 onChanged();
13892 return this;
13893 }
13894
13905 @java.lang.Override
13907 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useCpSat_);
13908 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
13909 }
13910
13922 public Builder setUseCpSat(com.google.ortools.util.OptionalBoolean value) {
13923 if (value == null) { throw new NullPointerException(); }
13924 bitField0_ |= 0x10000000;
13925 useCpSat_ = value.getNumber();
13926 onChanged();
13927 return this;
13928 }
13929
13940 public Builder clearUseCpSat() {
13941 bitField0_ = (bitField0_ & ~0x10000000);
13942 useCpSat_ = 0;
13943 onChanged();
13944 return this;
13945 }
13946
13947 private int useGeneralizedCpSat_ = 0;
13959 @java.lang.Override public int getUseGeneralizedCpSatValue() {
13960 return useGeneralizedCpSat_;
13961 }
13962
13974 public Builder setUseGeneralizedCpSatValue(int value) {
13975 useGeneralizedCpSat_ = value;
13976 bitField0_ |= 0x20000000;
13977 onChanged();
13978 return this;
13979 }
13980
13991 @java.lang.Override
13993 com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.forNumber(useGeneralizedCpSat_);
13994 return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
13995 }
13996
14008 public Builder setUseGeneralizedCpSat(com.google.ortools.util.OptionalBoolean value) {
14009 if (value == null) { throw new NullPointerException(); }
14010 bitField0_ |= 0x20000000;
14011 useGeneralizedCpSat_ = value.getNumber();
14012 onChanged();
14013 return this;
14014 }
14015
14026 public Builder clearUseGeneralizedCpSat() {
14027 bitField0_ = (bitField0_ & ~0x20000000);
14028 useGeneralizedCpSat_ = 0;
14029 onChanged();
14030 return this;
14031 }
14032
14033 private com.google.ortools.sat.SatParameters satParameters_;
14034 private com.google.protobuf.SingleFieldBuilder<
14035 com.google.ortools.sat.SatParameters, com.google.ortools.sat.SatParameters.Builder, com.google.ortools.sat.SatParametersOrBuilder> satParametersBuilder_;
14045 public boolean hasSatParameters() {
14046 return ((bitField0_ & 0x40000000) != 0);
14047 }
14048
14058 if (satParametersBuilder_ == null) {
14059 return satParameters_ == null ? com.google.ortools.sat.SatParameters.getDefaultInstance() : satParameters_;
14060 } else {
14061 return satParametersBuilder_.getMessage();
14062 }
14063 }
14064
14072 public Builder setSatParameters(com.google.ortools.sat.SatParameters value) {
14073 if (satParametersBuilder_ == null) {
14074 if (value == null) {
14075 throw new NullPointerException();
14076 }
14077 satParameters_ = value;
14078 } else {
14079 satParametersBuilder_.setMessage(value);
14080 }
14081 bitField0_ |= 0x40000000;
14082 onChanged();
14083 return this;
14084 }
14085
14093 public Builder setSatParameters(
14094 com.google.ortools.sat.SatParameters.Builder builderForValue) {
14095 if (satParametersBuilder_ == null) {
14096 satParameters_ = builderForValue.build();
14097 } else {
14098 satParametersBuilder_.setMessage(builderForValue.build());
14099 }
14100 bitField0_ |= 0x40000000;
14101 onChanged();
14102 return this;
14103 }
14104
14112 public Builder mergeSatParameters(com.google.ortools.sat.SatParameters value) {
14113 if (satParametersBuilder_ == null) {
14114 if (((bitField0_ & 0x40000000) != 0) &&
14115 satParameters_ != null &&
14116 satParameters_ != com.google.ortools.sat.SatParameters.getDefaultInstance()) {
14118 } else {
14119 satParameters_ = value;
14120 }
14121 } else {
14122 satParametersBuilder_.mergeFrom(value);
14123 }
14124 if (satParameters_ != null) {
14125 bitField0_ |= 0x40000000;
14126 onChanged();
14127 }
14128 return this;
14129 }
14130
14138 public Builder clearSatParameters() {
14139 bitField0_ = (bitField0_ & ~0x40000000);
14140 satParameters_ = null;
14141 if (satParametersBuilder_ != null) {
14142 satParametersBuilder_.dispose();
14143 satParametersBuilder_ = null;
14144 }
14145 onChanged();
14146 return this;
14147 }
14148
14157 bitField0_ |= 0x40000000;
14158 onChanged();
14159 return internalGetSatParametersFieldBuilder().getBuilder();
14160 }
14161
14170 if (satParametersBuilder_ != null) {
14171 return satParametersBuilder_.getMessageOrBuilder();
14172 } else {
14173 return satParameters_ == null ?
14174 com.google.ortools.sat.SatParameters.getDefaultInstance() : satParameters_;
14175 }
14176 }
14177
14185 private com.google.protobuf.SingleFieldBuilder<
14186 com.google.ortools.sat.SatParameters, com.google.ortools.sat.SatParameters.Builder, com.google.ortools.sat.SatParametersOrBuilder>
14187 internalGetSatParametersFieldBuilder() {
14188 if (satParametersBuilder_ == null) {
14189 satParametersBuilder_ = new com.google.protobuf.SingleFieldBuilder<
14190 com.google.ortools.sat.SatParameters, com.google.ortools.sat.SatParameters.Builder, com.google.ortools.sat.SatParametersOrBuilder>(
14192 getParentForChildren(),
14193 isClean());
14194 satParameters_ = null;
14195 }
14196 return satParametersBuilder_;
14197 }
14198
14199 private boolean reportIntermediateCpSatSolutions_ ;
14209 @java.lang.Override
14211 return reportIntermediateCpSatSolutions_;
14212 }
14213
14223 public Builder setReportIntermediateCpSatSolutions(boolean value) {
14224
14225 reportIntermediateCpSatSolutions_ = value;
14226 bitField0_ |= 0x80000000;
14227 onChanged();
14228 return this;
14229 }
14230
14240 bitField0_ = (bitField0_ & ~0x80000000);
14241 reportIntermediateCpSatSolutions_ = false;
14242 onChanged();
14243 return this;
14244 }
14245
14246 private int fallbackToCpSatSizeThreshold_ ;
14256 @java.lang.Override
14258 return fallbackToCpSatSizeThreshold_;
14259 }
14260
14270 public Builder setFallbackToCpSatSizeThreshold(int value) {
14271
14272 fallbackToCpSatSizeThreshold_ = value;
14273 bitField1_ |= 0x00000001;
14274 onChanged();
14275 return this;
14276 }
14277
14287 bitField1_ = (bitField1_ & ~0x00000001);
14288 fallbackToCpSatSizeThreshold_ = 0;
14289 onChanged();
14290 return this;
14291 }
14292
14293 private int continuousSchedulingSolver_ = 0;
14298 @java.lang.Override public int getContinuousSchedulingSolverValue() {
14299 return continuousSchedulingSolver_;
14300 }
14301
14306 public Builder setContinuousSchedulingSolverValue(int value) {
14307 continuousSchedulingSolver_ = value;
14308 bitField1_ |= 0x00000002;
14309 onChanged();
14310 return this;
14311 }
14312
14316 @java.lang.Override
14318 com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver result = com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.forNumber(continuousSchedulingSolver_);
14320 }
14321
14326 public Builder setContinuousSchedulingSolver(com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver value) {
14327 if (value == null) { throw new NullPointerException(); }
14328 bitField1_ |= 0x00000002;
14329 continuousSchedulingSolver_ = value.getNumber();
14330 onChanged();
14331 return this;
14332 }
14333
14338 bitField1_ = (bitField1_ & ~0x00000002);
14339 continuousSchedulingSolver_ = 0;
14340 onChanged();
14341 return this;
14342 }
14343
14344 private int mixedIntegerSchedulingSolver_ = 0;
14349 @java.lang.Override public int getMixedIntegerSchedulingSolverValue() {
14350 return mixedIntegerSchedulingSolver_;
14351 }
14352
14357 public Builder setMixedIntegerSchedulingSolverValue(int value) {
14358 mixedIntegerSchedulingSolver_ = value;
14359 bitField1_ |= 0x00000004;
14360 onChanged();
14361 return this;
14362 }
14363
14367 @java.lang.Override
14369 com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver result = com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.forNumber(mixedIntegerSchedulingSolver_);
14371 }
14372
14377 public Builder setMixedIntegerSchedulingSolver(com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver value) {
14378 if (value == null) { throw new NullPointerException(); }
14379 bitField1_ |= 0x00000004;
14380 mixedIntegerSchedulingSolver_ = value.getNumber();
14381 onChanged();
14382 return this;
14383 }
14384
14389 bitField1_ = (bitField1_ & ~0x00000004);
14390 mixedIntegerSchedulingSolver_ = 0;
14391 onChanged();
14392 return this;
14393 }
14394
14395 private boolean disableSchedulingBewareThisMayDegradePerformance_ ;
14405 @java.lang.Override
14407 return ((bitField1_ & 0x00000008) != 0);
14408 }
14409
14418 @java.lang.Override
14420 return disableSchedulingBewareThisMayDegradePerformance_;
14421 }
14422
14433
14434 disableSchedulingBewareThisMayDegradePerformance_ = value;
14435 bitField1_ |= 0x00000008;
14436 onChanged();
14437 return this;
14438 }
14439
14449 bitField1_ = (bitField1_ & ~0x00000008);
14450 disableSchedulingBewareThisMayDegradePerformance_ = false;
14451 onChanged();
14452 return this;
14453 }
14454
14455 private double optimizationStep_ ;
14466 @java.lang.Override
14467 public double getOptimizationStep() {
14468 return optimizationStep_;
14469 }
14470
14481 public Builder setOptimizationStep(double value) {
14482
14483 optimizationStep_ = value;
14484 bitField1_ |= 0x00000010;
14485 onChanged();
14486 return this;
14487 }
14488
14498 public Builder clearOptimizationStep() {
14499 bitField1_ = (bitField1_ & ~0x00000010);
14500 optimizationStep_ = 0D;
14501 onChanged();
14502 return this;
14503 }
14504
14505 private int numberOfSolutionsToCollect_ ;
14515 @java.lang.Override
14517 return numberOfSolutionsToCollect_;
14518 }
14519
14529 public Builder setNumberOfSolutionsToCollect(int value) {
14530
14531 numberOfSolutionsToCollect_ = value;
14532 bitField1_ |= 0x00000020;
14533 onChanged();
14534 return this;
14535 }
14536
14546 bitField1_ = (bitField1_ & ~0x00000020);
14547 numberOfSolutionsToCollect_ = 0;
14548 onChanged();
14549 return this;
14550 }
14551
14552 private long solutionLimit_ ;
14563 @java.lang.Override
14564 public long getSolutionLimit() {
14565 return solutionLimit_;
14566 }
14567
14578 public Builder setSolutionLimit(long value) {
14579
14580 solutionLimit_ = value;
14581 bitField1_ |= 0x00000040;
14582 onChanged();
14583 return this;
14584 }
14585
14595 public Builder clearSolutionLimit() {
14596 bitField1_ = (bitField1_ & ~0x00000040);
14597 solutionLimit_ = 0L;
14598 onChanged();
14599 return this;
14600 }
14601
14602 private com.google.protobuf.Duration timeLimit_;
14603 private com.google.protobuf.SingleFieldBuilder<
14604 com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> timeLimitBuilder_;
14613 public boolean hasTimeLimit() {
14614 return ((bitField1_ & 0x00000080) != 0);
14615 }
14616
14624 public com.google.protobuf.Duration getTimeLimit() {
14625 if (timeLimitBuilder_ == null) {
14626 return timeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
14627 } else {
14628 return timeLimitBuilder_.getMessage();
14629 }
14630 }
14631
14638 public Builder setTimeLimit(com.google.protobuf.Duration value) {
14639 if (timeLimitBuilder_ == null) {
14640 if (value == null) {
14641 throw new NullPointerException();
14642 }
14643 timeLimit_ = value;
14644 } else {
14645 timeLimitBuilder_.setMessage(value);
14646 }
14647 bitField1_ |= 0x00000080;
14648 onChanged();
14649 return this;
14650 }
14651
14658 public Builder setTimeLimit(
14659 com.google.protobuf.Duration.Builder builderForValue) {
14660 if (timeLimitBuilder_ == null) {
14661 timeLimit_ = builderForValue.build();
14662 } else {
14663 timeLimitBuilder_.setMessage(builderForValue.build());
14664 }
14665 bitField1_ |= 0x00000080;
14666 onChanged();
14667 return this;
14668 }
14669
14676 public Builder mergeTimeLimit(com.google.protobuf.Duration value) {
14677 if (timeLimitBuilder_ == null) {
14678 if (((bitField1_ & 0x00000080) != 0) &&
14679 timeLimit_ != null &&
14680 timeLimit_ != com.google.protobuf.Duration.getDefaultInstance()) {
14682 } else {
14683 timeLimit_ = value;
14684 }
14685 } else {
14686 timeLimitBuilder_.mergeFrom(value);
14687 }
14688 if (timeLimit_ != null) {
14689 bitField1_ |= 0x00000080;
14690 onChanged();
14691 }
14692 return this;
14693 }
14694
14701 public Builder clearTimeLimit() {
14702 bitField1_ = (bitField1_ & ~0x00000080);
14703 timeLimit_ = null;
14704 if (timeLimitBuilder_ != null) {
14705 timeLimitBuilder_.dispose();
14706 timeLimitBuilder_ = null;
14707 }
14708 onChanged();
14709 return this;
14710 }
14711
14718 public com.google.protobuf.Duration.Builder getTimeLimitBuilder() {
14719 bitField1_ |= 0x00000080;
14720 onChanged();
14721 return internalGetTimeLimitFieldBuilder().getBuilder();
14722 }
14723
14730 public com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder() {
14731 if (timeLimitBuilder_ != null) {
14732 return timeLimitBuilder_.getMessageOrBuilder();
14733 } else {
14734 return timeLimit_ == null ?
14735 com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
14736 }
14737 }
14738
14745 private com.google.protobuf.SingleFieldBuilder<
14746 com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
14747 internalGetTimeLimitFieldBuilder() {
14748 if (timeLimitBuilder_ == null) {
14749 timeLimitBuilder_ = new com.google.protobuf.SingleFieldBuilder<
14750 com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
14751 getTimeLimit(),
14752 getParentForChildren(),
14753 isClean());
14754 timeLimit_ = null;
14755 }
14756 return timeLimitBuilder_;
14757 }
14758
14759 private com.google.protobuf.Duration lnsTimeLimit_;
14760 private com.google.protobuf.SingleFieldBuilder<
14761 com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> lnsTimeLimitBuilder_;
14771 public boolean hasLnsTimeLimit() {
14772 return ((bitField1_ & 0x00000100) != 0);
14773 }
14774
14783 public com.google.protobuf.Duration getLnsTimeLimit() {
14784 if (lnsTimeLimitBuilder_ == null) {
14785 return lnsTimeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
14786 } else {
14787 return lnsTimeLimitBuilder_.getMessage();
14788 }
14789 }
14790
14798 public Builder setLnsTimeLimit(com.google.protobuf.Duration value) {
14799 if (lnsTimeLimitBuilder_ == null) {
14800 if (value == null) {
14801 throw new NullPointerException();
14802 }
14803 lnsTimeLimit_ = value;
14804 } else {
14805 lnsTimeLimitBuilder_.setMessage(value);
14806 }
14807 bitField1_ |= 0x00000100;
14808 onChanged();
14809 return this;
14810 }
14811
14819 public Builder setLnsTimeLimit(
14820 com.google.protobuf.Duration.Builder builderForValue) {
14821 if (lnsTimeLimitBuilder_ == null) {
14822 lnsTimeLimit_ = builderForValue.build();
14823 } else {
14824 lnsTimeLimitBuilder_.setMessage(builderForValue.build());
14825 }
14826 bitField1_ |= 0x00000100;
14827 onChanged();
14828 return this;
14829 }
14830
14838 public Builder mergeLnsTimeLimit(com.google.protobuf.Duration value) {
14839 if (lnsTimeLimitBuilder_ == null) {
14840 if (((bitField1_ & 0x00000100) != 0) &&
14841 lnsTimeLimit_ != null &&
14842 lnsTimeLimit_ != com.google.protobuf.Duration.getDefaultInstance()) {
14844 } else {
14845 lnsTimeLimit_ = value;
14846 }
14847 } else {
14848 lnsTimeLimitBuilder_.mergeFrom(value);
14849 }
14850 if (lnsTimeLimit_ != null) {
14851 bitField1_ |= 0x00000100;
14852 onChanged();
14853 }
14854 return this;
14855 }
14856
14864 public Builder clearLnsTimeLimit() {
14865 bitField1_ = (bitField1_ & ~0x00000100);
14866 lnsTimeLimit_ = null;
14867 if (lnsTimeLimitBuilder_ != null) {
14868 lnsTimeLimitBuilder_.dispose();
14869 lnsTimeLimitBuilder_ = null;
14870 }
14871 onChanged();
14872 return this;
14873 }
14874
14882 public com.google.protobuf.Duration.Builder getLnsTimeLimitBuilder() {
14883 bitField1_ |= 0x00000100;
14884 onChanged();
14885 return internalGetLnsTimeLimitFieldBuilder().getBuilder();
14886 }
14887
14895 public com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder() {
14896 if (lnsTimeLimitBuilder_ != null) {
14897 return lnsTimeLimitBuilder_.getMessageOrBuilder();
14898 } else {
14899 return lnsTimeLimit_ == null ?
14900 com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
14901 }
14902 }
14903
14911 private com.google.protobuf.SingleFieldBuilder<
14912 com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
14913 internalGetLnsTimeLimitFieldBuilder() {
14914 if (lnsTimeLimitBuilder_ == null) {
14915 lnsTimeLimitBuilder_ = new com.google.protobuf.SingleFieldBuilder<
14916 com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
14918 getParentForChildren(),
14919 isClean());
14920 lnsTimeLimit_ = null;
14921 }
14922 return lnsTimeLimitBuilder_;
14923 }
14924
14925 private double secondaryLsTimeLimitRatio_ ;
14939 @java.lang.Override
14941 return secondaryLsTimeLimitRatio_;
14942 }
14943
14957 public Builder setSecondaryLsTimeLimitRatio(double value) {
14958
14959 secondaryLsTimeLimitRatio_ = value;
14960 bitField1_ |= 0x00000200;
14961 onChanged();
14962 return this;
14963 }
14964
14978 bitField1_ = (bitField1_ & ~0x00000200);
14979 secondaryLsTimeLimitRatio_ = 0D;
14980 onChanged();
14981 return this;
14982 }
14983
14985 private com.google.protobuf.SingleFieldBuilder<
14986 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParametersOrBuilder> improvementLimitParametersBuilder_;
14997 return ((bitField1_ & 0x00000400) != 0);
14998 }
14999
15009 if (improvementLimitParametersBuilder_ == null) {
15010 return improvementLimitParameters_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance() : improvementLimitParameters_;
15011 } else {
15012 return improvementLimitParametersBuilder_.getMessage();
15013 }
15014 }
15015
15023 public Builder setImprovementLimitParameters(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters value) {
15024 if (improvementLimitParametersBuilder_ == null) {
15025 if (value == null) {
15026 throw new NullPointerException();
15027 }
15028 improvementLimitParameters_ = value;
15029 } else {
15030 improvementLimitParametersBuilder_.setMessage(value);
15031 }
15032 bitField1_ |= 0x00000400;
15033 onChanged();
15034 return this;
15035 }
15036
15045 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder builderForValue) {
15046 if (improvementLimitParametersBuilder_ == null) {
15047 improvementLimitParameters_ = builderForValue.build();
15048 } else {
15049 improvementLimitParametersBuilder_.setMessage(builderForValue.build());
15050 }
15051 bitField1_ |= 0x00000400;
15052 onChanged();
15053 return this;
15054 }
15055
15063 public Builder mergeImprovementLimitParameters(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters value) {
15064 if (improvementLimitParametersBuilder_ == null) {
15065 if (((bitField1_ & 0x00000400) != 0) &&
15066 improvementLimitParameters_ != null &&
15067 improvementLimitParameters_ != com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance()) {
15068 getImprovementLimitParametersBuilder().mergeFrom(value);
15069 } else {
15070 improvementLimitParameters_ = value;
15071 }
15072 } else {
15073 improvementLimitParametersBuilder_.mergeFrom(value);
15074 }
15075 if (improvementLimitParameters_ != null) {
15076 bitField1_ |= 0x00000400;
15077 onChanged();
15078 }
15079 return this;
15080 }
15081
15090 bitField1_ = (bitField1_ & ~0x00000400);
15091 improvementLimitParameters_ = null;
15092 if (improvementLimitParametersBuilder_ != null) {
15093 improvementLimitParametersBuilder_.dispose();
15094 improvementLimitParametersBuilder_ = null;
15095 }
15096 onChanged();
15097 return this;
15098 }
15099
15108 bitField1_ |= 0x00000400;
15109 onChanged();
15110 return internalGetImprovementLimitParametersFieldBuilder().getBuilder();
15111 }
15112
15121 if (improvementLimitParametersBuilder_ != null) {
15122 return improvementLimitParametersBuilder_.getMessageOrBuilder();
15123 } else {
15124 return improvementLimitParameters_ == null ?
15125 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance() : improvementLimitParameters_;
15126 }
15127 }
15128
15136 private com.google.protobuf.SingleFieldBuilder<
15137 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParametersOrBuilder>
15138 internalGetImprovementLimitParametersFieldBuilder() {
15139 if (improvementLimitParametersBuilder_ == null) {
15140 improvementLimitParametersBuilder_ = new com.google.protobuf.SingleFieldBuilder<
15141 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParametersOrBuilder>(
15143 getParentForChildren(),
15144 isClean());
15145 improvementLimitParameters_ = null;
15146 }
15147 return improvementLimitParametersBuilder_;
15148 }
15149
15150 private boolean useFullPropagation_ ;
15168 @java.lang.Override
15169 public boolean getUseFullPropagation() {
15170 return useFullPropagation_;
15171 }
15172
15190 public Builder setUseFullPropagation(boolean value) {
15191
15192 useFullPropagation_ = value;
15193 bitField1_ |= 0x00000800;
15194 onChanged();
15195 return this;
15196 }
15197
15214 public Builder clearUseFullPropagation() {
15215 bitField1_ = (bitField1_ & ~0x00000800);
15216 useFullPropagation_ = false;
15217 onChanged();
15218 return this;
15219 }
15220
15221 private boolean logSearch_ ;
15242 @java.lang.Override
15243 public boolean getLogSearch() {
15244 return logSearch_;
15245 }
15246
15267 public Builder setLogSearch(boolean value) {
15268
15269 logSearch_ = value;
15270 bitField1_ |= 0x00001000;
15271 onChanged();
15272 return this;
15273 }
15274
15294 public Builder clearLogSearch() {
15295 bitField1_ = (bitField1_ & ~0x00001000);
15296 logSearch_ = false;
15297 onChanged();
15298 return this;
15299 }
15300
15301 private double logCostScalingFactor_ ;
15311 @java.lang.Override
15312 public double getLogCostScalingFactor() {
15313 return logCostScalingFactor_;
15314 }
15315
15325 public Builder setLogCostScalingFactor(double value) {
15326
15327 logCostScalingFactor_ = value;
15328 bitField1_ |= 0x00002000;
15329 onChanged();
15330 return this;
15331 }
15332
15341 public Builder clearLogCostScalingFactor() {
15342 bitField1_ = (bitField1_ & ~0x00002000);
15343 logCostScalingFactor_ = 0D;
15344 onChanged();
15345 return this;
15346 }
15347
15348 private double logCostOffset_ ;
15353 @java.lang.Override
15354 public double getLogCostOffset() {
15355 return logCostOffset_;
15356 }
15357
15362 public Builder setLogCostOffset(double value) {
15363
15364 logCostOffset_ = value;
15365 bitField1_ |= 0x00004000;
15366 onChanged();
15367 return this;
15368 }
15369
15373 public Builder clearLogCostOffset() {
15374 bitField1_ = (bitField1_ & ~0x00004000);
15375 logCostOffset_ = 0D;
15376 onChanged();
15377 return this;
15378 }
15379
15380 private java.lang.Object logTag_ = "";
15390 public java.lang.String getLogTag() {
15391 java.lang.Object ref = logTag_;
15392 if (!(ref instanceof java.lang.String)) {
15393 com.google.protobuf.ByteString bs =
15394 (com.google.protobuf.ByteString) ref;
15395 java.lang.String s = bs.toStringUtf8();
15396 logTag_ = s;
15397 return s;
15398 } else {
15399 return (java.lang.String) ref;
15400 }
15401 }
15402
15411 public com.google.protobuf.ByteString
15413 java.lang.Object ref = logTag_;
15414 if (ref instanceof String) {
15415 com.google.protobuf.ByteString b =
15416 com.google.protobuf.ByteString.copyFromUtf8(
15417 (java.lang.String) ref);
15418 logTag_ = b;
15419 return b;
15420 } else {
15421 return (com.google.protobuf.ByteString) ref;
15422 }
15423 }
15424
15434 public Builder setLogTag(
15435 java.lang.String value) {
15436 if (value == null) { throw new NullPointerException(); }
15437 logTag_ = value;
15438 bitField1_ |= 0x00008000;
15439 onChanged();
15440 return this;
15441 }
15442
15451 public Builder clearLogTag() {
15452 logTag_ = getDefaultInstance().getLogTag();
15453 bitField1_ = (bitField1_ & ~0x00008000);
15454 onChanged();
15455 return this;
15456 }
15457
15467 public Builder setLogTagBytes(
15468 com.google.protobuf.ByteString value) {
15469 if (value == null) { throw new NullPointerException(); }
15470 checkByteStringIsUtf8(value);
15471 logTag_ = value;
15472 bitField1_ |= 0x00008000;
15473 onChanged();
15474 return this;
15475 }
15476
15477 private boolean useIteratedLocalSearch_ ;
15487 @java.lang.Override
15488 public boolean getUseIteratedLocalSearch() {
15489 return useIteratedLocalSearch_;
15490 }
15491
15501 public Builder setUseIteratedLocalSearch(boolean value) {
15502
15503 useIteratedLocalSearch_ = value;
15504 bitField1_ |= 0x00010000;
15505 onChanged();
15506 return this;
15507 }
15508
15518 bitField1_ = (bitField1_ & ~0x00010000);
15519 useIteratedLocalSearch_ = false;
15520 onChanged();
15521 return this;
15522 }
15523
15524 private com.google.ortools.constraintsolver.IteratedLocalSearchParameters iteratedLocalSearchParameters_;
15525 private com.google.protobuf.SingleFieldBuilder<
15526 com.google.ortools.constraintsolver.IteratedLocalSearchParameters, com.google.ortools.constraintsolver.IteratedLocalSearchParameters.Builder, com.google.ortools.constraintsolver.IteratedLocalSearchParametersOrBuilder> iteratedLocalSearchParametersBuilder_;
15536 return ((bitField1_ & 0x00020000) != 0);
15537 }
15538
15547 if (iteratedLocalSearchParametersBuilder_ == null) {
15548 return iteratedLocalSearchParameters_ == null ? com.google.ortools.constraintsolver.IteratedLocalSearchParameters.getDefaultInstance() : iteratedLocalSearchParameters_;
15549 } else {
15550 return iteratedLocalSearchParametersBuilder_.getMessage();
15551 }
15552 }
15553
15560 public Builder setIteratedLocalSearchParameters(com.google.ortools.constraintsolver.IteratedLocalSearchParameters value) {
15561 if (iteratedLocalSearchParametersBuilder_ == null) {
15562 if (value == null) {
15563 throw new NullPointerException();
15564 }
15565 iteratedLocalSearchParameters_ = value;
15566 } else {
15567 iteratedLocalSearchParametersBuilder_.setMessage(value);
15568 }
15569 bitField1_ |= 0x00020000;
15570 onChanged();
15571 return this;
15572 }
15573
15581 com.google.ortools.constraintsolver.IteratedLocalSearchParameters.Builder builderForValue) {
15582 if (iteratedLocalSearchParametersBuilder_ == null) {
15583 iteratedLocalSearchParameters_ = builderForValue.build();
15584 } else {
15585 iteratedLocalSearchParametersBuilder_.setMessage(builderForValue.build());
15586 }
15587 bitField1_ |= 0x00020000;
15588 onChanged();
15589 return this;
15590 }
15591
15598 public Builder mergeIteratedLocalSearchParameters(com.google.ortools.constraintsolver.IteratedLocalSearchParameters value) {
15599 if (iteratedLocalSearchParametersBuilder_ == null) {
15600 if (((bitField1_ & 0x00020000) != 0) &&
15601 iteratedLocalSearchParameters_ != null &&
15602 iteratedLocalSearchParameters_ != com.google.ortools.constraintsolver.IteratedLocalSearchParameters.getDefaultInstance()) {
15603 getIteratedLocalSearchParametersBuilder().mergeFrom(value);
15604 } else {
15605 iteratedLocalSearchParameters_ = value;
15606 }
15607 } else {
15608 iteratedLocalSearchParametersBuilder_.mergeFrom(value);
15609 }
15610 if (iteratedLocalSearchParameters_ != null) {
15611 bitField1_ |= 0x00020000;
15612 onChanged();
15613 }
15614 return this;
15615 }
15616
15624 bitField1_ = (bitField1_ & ~0x00020000);
15625 iteratedLocalSearchParameters_ = null;
15626 if (iteratedLocalSearchParametersBuilder_ != null) {
15627 iteratedLocalSearchParametersBuilder_.dispose();
15628 iteratedLocalSearchParametersBuilder_ = null;
15629 }
15630 onChanged();
15631 return this;
15632 }
15633
15641 bitField1_ |= 0x00020000;
15642 onChanged();
15643 return internalGetIteratedLocalSearchParametersFieldBuilder().getBuilder();
15644 }
15645
15653 if (iteratedLocalSearchParametersBuilder_ != null) {
15654 return iteratedLocalSearchParametersBuilder_.getMessageOrBuilder();
15655 } else {
15656 return iteratedLocalSearchParameters_ == null ?
15657 com.google.ortools.constraintsolver.IteratedLocalSearchParameters.getDefaultInstance() : iteratedLocalSearchParameters_;
15658 }
15659 }
15660
15667 private com.google.protobuf.SingleFieldBuilder<
15668 com.google.ortools.constraintsolver.IteratedLocalSearchParameters, com.google.ortools.constraintsolver.IteratedLocalSearchParameters.Builder, com.google.ortools.constraintsolver.IteratedLocalSearchParametersOrBuilder>
15669 internalGetIteratedLocalSearchParametersFieldBuilder() {
15670 if (iteratedLocalSearchParametersBuilder_ == null) {
15671 iteratedLocalSearchParametersBuilder_ = new com.google.protobuf.SingleFieldBuilder<
15672 com.google.ortools.constraintsolver.IteratedLocalSearchParameters, com.google.ortools.constraintsolver.IteratedLocalSearchParameters.Builder, com.google.ortools.constraintsolver.IteratedLocalSearchParametersOrBuilder>(
15674 getParentForChildren(),
15675 isClean());
15676 iteratedLocalSearchParameters_ = null;
15677 }
15678 return iteratedLocalSearchParametersBuilder_;
15679 }
15680
15681 // @@protoc_insertion_point(builder_scope:operations_research.RoutingSearchParameters)
15682 }
15683
15684 // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters)
15685 private static final com.google.ortools.constraintsolver.RoutingSearchParameters DEFAULT_INSTANCE;
15686 static {
15687 DEFAULT_INSTANCE = new com.google.ortools.constraintsolver.RoutingSearchParameters();
15688 }
15689
15691 return DEFAULT_INSTANCE;
15692 }
15693
15694 private static final com.google.protobuf.Parser<RoutingSearchParameters>
15695 PARSER = new com.google.protobuf.AbstractParser<RoutingSearchParameters>() {
15696 @java.lang.Override
15697 public RoutingSearchParameters parsePartialFrom(
15698 com.google.protobuf.CodedInputStream input,
15699 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
15700 throws com.google.protobuf.InvalidProtocolBufferException {
15701 Builder builder = newBuilder();
15702 try {
15703 builder.mergeFrom(input, extensionRegistry);
15704 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
15705 throw e.setUnfinishedMessage(builder.buildPartial());
15706 } catch (com.google.protobuf.UninitializedMessageException e) {
15707 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
15708 } catch (java.io.IOException e) {
15709 throw new com.google.protobuf.InvalidProtocolBufferException(e)
15710 .setUnfinishedMessage(builder.buildPartial());
15711 }
15712 return builder.buildPartial();
15713 }
15714 };
15715
15716 public static com.google.protobuf.Parser<RoutingSearchParameters> parser() {
15717 return PARSER;
15718 }
15719
15720 @java.lang.Override
15721 public com.google.protobuf.Parser<RoutingSearchParameters> getParserForType() {
15722 return PARSER;
15723 }
15724
15725 @java.lang.Override
15727 return DEFAULT_INSTANCE;
15728 }
15729
15730}
15731
com.google.ortools.constraintsolver.SavingsParameters getSavingsParameters()
Builder mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters other)
com.google.ortools.constraintsolver.LocalCheapestInsertionParametersOrBuilder getLocalCheapestInsertionParametersOrBuilder()
com.google.ortools.constraintsolver.RoutingSearchParameters buildPartial()
com.google.ortools.constraintsolver.LocalCheapestInsertionParametersOrBuilder getLocalCheapestCostInsertionParametersOrBuilder()
Builder setLnsTimeLimit(com.google.protobuf.Duration.Builder builderForValue)
Builder setImprovementLimitParameters(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters value)
com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value getLocalSearchMetaheuristics(int index)
Builder setLocalCheapestInsertionParameters(com.google.ortools.constraintsolver.LocalCheapestInsertionParameters value)
com.google.ortools.constraintsolver.IteratedLocalSearchParametersOrBuilder getIteratedLocalSearchParametersOrBuilder()
com.google.ortools.constraintsolver.LocalCheapestInsertionParameters getLocalCheapestInsertionParameters()
Builder setGlobalCheapestInsertionFirstSolutionParameters(com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters.Builder builderForValue)
Builder mergeGlobalCheapestInsertionFirstSolutionParameters(com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters value)
Builder setFirstSolutionStrategy(com.google.ortools.constraintsolver.FirstSolutionStrategy.Value value)
com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters.Builder getGlobalCheapestInsertionFirstSolutionParametersBuilder()
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder getLocalSearchOperatorsBuilder()
Builder setLocalCheapestCostInsertionParameters(com.google.ortools.constraintsolver.LocalCheapestInsertionParameters.Builder builderForValue)
Builder setIteratedLocalSearchParameters(com.google.ortools.constraintsolver.IteratedLocalSearchParameters value)
Builder mergeSavingsParameters(com.google.ortools.constraintsolver.SavingsParameters value)
Builder setLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder builderForValue)
com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters getImprovementLimitParameters()
com.google.ortools.constraintsolver.SavingsParametersOrBuilder getSavingsParametersOrBuilder()
com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters getGlobalCheapestInsertionLsOperatorParameters()
com.google.ortools.constraintsolver.RoutingSearchParameters build()
Builder mergeIteratedLocalSearchParameters(com.google.ortools.constraintsolver.IteratedLocalSearchParameters value)
Builder addAllLocalSearchMetaheuristics(java.lang.Iterable<? extends com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value > values)
Builder setGlobalCheapestInsertionFirstSolutionParameters(com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters value)
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)
Builder addLocalSearchMetaheuristics(com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value value)
com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters getGlobalCheapestInsertionFirstSolutionParameters()
Builder setContinuousSchedulingSolver(com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver value)
Builder setLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators value)
com.google.ortools.constraintsolver.SavingsParameters.Builder getSavingsParametersBuilder()
com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
Builder setMixedIntegerSchedulingSolver(com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver value)
Builder setLocalCheapestCostInsertionParameters(com.google.ortools.constraintsolver.LocalCheapestInsertionParameters value)
Builder mergeLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators value)
com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver getContinuousSchedulingSolver()
com.google.ortools.constraintsolver.IteratedLocalSearchParameters getIteratedLocalSearchParameters()
Builder setGlobalCheapestInsertionLsOperatorParameters(com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters.Builder builderForValue)
com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters.Builder getGlobalCheapestInsertionLsOperatorParametersBuilder()
Builder mergeLocalCheapestCostInsertionParameters(com.google.ortools.constraintsolver.LocalCheapestInsertionParameters value)
Builder setUseGeneralizedCpSat(com.google.ortools.util.OptionalBoolean value)
com.google.ortools.constraintsolver.LocalCheapestInsertionParameters.Builder getLocalCheapestInsertionParametersBuilder()
Builder setUseCp(com.google.ortools.util.OptionalBoolean value)
com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value getLocalSearchMetaheuristic()
Builder mergeLocalCheapestInsertionParameters(com.google.ortools.constraintsolver.LocalCheapestInsertionParameters value)
Builder setSatParameters(com.google.ortools.sat.SatParameters value)
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getLocalSearchOperators()
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder getLocalSearchOperatorsOrBuilder()
Builder setLocalCheapestInsertionParameters(com.google.ortools.constraintsolver.LocalCheapestInsertionParameters.Builder builderForValue)
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.LocalCheapestInsertionParameters.Builder getLocalCheapestCostInsertionParametersBuilder()
Builder setLocalSearchMetaheuristics(int index, com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value value)
Builder mergeGlobalCheapestInsertionLsOperatorParameters(com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters value)
com.google.ortools.constraintsolver.GlobalCheapestInsertionParametersOrBuilder getGlobalCheapestInsertionFirstSolutionParametersOrBuilder()
com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParametersOrBuilder getImprovementLimitParametersOrBuilder()
com.google.ortools.constraintsolver.IteratedLocalSearchParameters.Builder getIteratedLocalSearchParametersBuilder()
Builder setGlobalCheapestInsertionLsOperatorParameters(com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters value)
Builder mergeSatParameters(com.google.ortools.sat.SatParameters value)
com.google.ortools.constraintsolver.LocalCheapestInsertionParameters getLocalCheapestCostInsertionParameters()
java.util.List< com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value > getLocalSearchMetaheuristicsList()
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)
Builder addAllLocalSearchMetaheuristicsValue(java.lang.Iterable< java.lang.Integer > values)
com.google.ortools.constraintsolver.GlobalCheapestInsertionParametersOrBuilder getGlobalCheapestInsertionLsOperatorParametersOrBuilder()
Builder setSavingsParameters(com.google.ortools.constraintsolver.SavingsParameters.Builder builderForValue)
Builder setSavingsParameters(com.google.ortools.constraintsolver.SavingsParameters value)
Builder setIteratedLocalSearchParameters(com.google.ortools.constraintsolver.IteratedLocalSearchParameters.Builder builderForValue)
com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters buildPartial()
Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters build()
Builder mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters other)
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)
static com.google.protobuf.Parser< ImprovementSearchLimitParameters > parser()
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators buildPartial()
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getDefaultInstanceForType()
Builder mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators other)
Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
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)
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.LocalCheapestInsertionParameters getLocalCheapestCostInsertionParameters()
com.google.ortools.constraintsolver.RoutingSearchParameters getDefaultInstanceForType()
static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters prototype)
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.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters getImprovementLimitParameters()
com.google.ortools.constraintsolver.LocalCheapestInsertionParametersOrBuilder getLocalCheapestCostInsertionParametersOrBuilder()
com.google.ortools.constraintsolver.IteratedLocalSearchParameters getIteratedLocalSearchParameters()
com.google.ortools.constraintsolver.GlobalCheapestInsertionParametersOrBuilder getGlobalCheapestInsertionLsOperatorParametersOrBuilder()
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)
com.google.ortools.constraintsolver.IteratedLocalSearchParametersOrBuilder getIteratedLocalSearchParametersOrBuilder()
static com.google.ortools.constraintsolver.RoutingSearchParameters getDefaultInstance()
com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver getMixedIntegerSchedulingSolver()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
java.util.List< com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value > getLocalSearchMetaheuristicsList()
com.google.ortools.constraintsolver.FirstSolutionStrategy.Value getFirstSolutionStrategy()
com.google.ortools.sat.SatParametersOrBuilder getSatParametersOrBuilder()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.ortools.constraintsolver.SavingsParametersOrBuilder getSavingsParametersOrBuilder()
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder getLocalSearchOperatorsOrBuilder()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.ByteString data)
com.google.ortools.constraintsolver.GlobalCheapestInsertionParametersOrBuilder getGlobalCheapestInsertionFirstSolutionParametersOrBuilder()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(byte[] data)
com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value getLocalSearchMetaheuristics(int index)
com.google.ortools.constraintsolver.LocalCheapestInsertionParameters getLocalCheapestInsertionParameters()
void writeTo(com.google.protobuf.CodedOutputStream output)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent)
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.LocalCheapestInsertionParametersOrBuilder getLocalCheapestInsertionParametersOrBuilder()
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getLocalSearchOperators()
com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters getGlobalCheapestInsertionFirstSolutionParameters()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.io.InputStream input)
com.google.ortools.constraintsolver.GlobalCheapestInsertionParameters getGlobalCheapestInsertionLsOperatorParameters()
com.google.ortools.constraintsolver.SavingsParameters getSavingsParameters()
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()