Java Reference

Java Reference

RoutingSearchParameters.java
Go to the documentation of this file.
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: ortools/constraint_solver/routing_parameters.proto
3 
4 package com.google.ortools.constraintsolver;
5 
18 public final class RoutingSearchParameters extends
19  com.google.protobuf.GeneratedMessageV3 implements
20  // @@protoc_insertion_point(message_implements:operations_research.RoutingSearchParameters)
22 private static final long serialVersionUID = 0L;
23  // Use RoutingSearchParameters.newBuilder() to construct.
24  private RoutingSearchParameters(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
25  super(builder);
26  }
27  private RoutingSearchParameters() {
28  firstSolutionStrategy_ = 0;
29  localSearchMetaheuristic_ = 0;
30  useCp_ = 0;
31  useCpSat_ = 0;
32  continuousSchedulingSolver_ = 0;
33  mixedIntegerSchedulingSolver_ = 0;
34  }
35 
36  @java.lang.Override
37  @SuppressWarnings({"unused"})
38  protected java.lang.Object newInstance(
39  UnusedPrivateParameter unused) {
40  return new RoutingSearchParameters();
41  }
42 
43  @java.lang.Override
44  public final com.google.protobuf.UnknownFieldSet
46  return this.unknownFields;
47  }
49  com.google.protobuf.CodedInputStream input,
50  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
51  throws com.google.protobuf.InvalidProtocolBufferException {
52  this();
53  if (extensionRegistry == null) {
54  throw new java.lang.NullPointerException();
55  }
56  com.google.protobuf.UnknownFieldSet.Builder unknownFields =
57  com.google.protobuf.UnknownFieldSet.newBuilder();
58  try {
59  boolean done = false;
60  while (!done) {
61  int tag = input.readTag();
62  switch (tag) {
63  case 0:
64  done = true;
65  break;
66  case 8: {
67  int rawValue = input.readEnum();
68 
69  firstSolutionStrategy_ = rawValue;
70  break;
71  }
72  case 16: {
73 
74  useUnfilteredFirstSolutionStrategy_ = input.readBool();
75  break;
76  }
77  case 26: {
79  if (localSearchOperators_ != null) {
80  subBuilder = localSearchOperators_.toBuilder();
81  }
82  localSearchOperators_ = input.readMessage(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.parser(), extensionRegistry);
83  if (subBuilder != null) {
84  subBuilder.mergeFrom(localSearchOperators_);
85  localSearchOperators_ = subBuilder.buildPartial();
86  }
87 
88  break;
89  }
90  case 32: {
91  int rawValue = input.readEnum();
92 
93  localSearchMetaheuristic_ = rawValue;
94  break;
95  }
96  case 41: {
97 
98  guidedLocalSearchLambdaCoefficient_ = input.readDouble();
99  break;
100  }
101  case 48: {
102 
103  useDepthFirstSearch_ = input.readBool();
104  break;
105  }
106  case 57: {
107 
108  optimizationStep_ = input.readDouble();
109  break;
110  }
111  case 64: {
112 
113  solutionLimit_ = input.readInt64();
114  break;
115  }
116  case 74: {
117  com.google.protobuf.Duration.Builder subBuilder = null;
118  if (timeLimit_ != null) {
119  subBuilder = timeLimit_.toBuilder();
120  }
121  timeLimit_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
122  if (subBuilder != null) {
123  subBuilder.mergeFrom(timeLimit_);
124  timeLimit_ = subBuilder.buildPartial();
125  }
126 
127  break;
128  }
129  case 82: {
130  com.google.protobuf.Duration.Builder subBuilder = null;
131  if (lnsTimeLimit_ != null) {
132  subBuilder = lnsTimeLimit_.toBuilder();
133  }
134  lnsTimeLimit_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
135  if (subBuilder != null) {
136  subBuilder.mergeFrom(lnsTimeLimit_);
137  lnsTimeLimit_ = subBuilder.buildPartial();
138  }
139 
140  break;
141  }
142  case 88: {
143 
144  useFullPropagation_ = input.readBool();
145  break;
146  }
147  case 104: {
148 
149  logSearch_ = input.readBool();
150  break;
151  }
152  case 113: {
153 
154  savingsNeighborsRatio_ = input.readDouble();
155  break;
156  }
157  case 120: {
158 
159  savingsAddReverseArcs_ = input.readBool();
160  break;
161  }
162  case 129: {
163 
164  cheapestInsertionFarthestSeedsRatio_ = input.readDouble();
165  break;
166  }
167  case 136: {
168 
169  numberOfSolutionsToCollect_ = input.readInt32();
170  break;
171  }
172  case 145: {
173 
174  savingsArcCoefficient_ = input.readDouble();
175  break;
176  }
177  case 152: {
178 
179  savingsParallelRoutes_ = input.readBool();
180  break;
181  }
182  case 160: {
183 
184  relocateExpensiveChainNumArcsToConsider_ = input.readInt32();
185  break;
186  }
187  case 169: {
188 
189  cheapestInsertionFirstSolutionNeighborsRatio_ = input.readDouble();
190  break;
191  }
192  case 177: {
193 
194  logCostScalingFactor_ = input.readDouble();
195  break;
196  }
197  case 185: {
198 
199  savingsMaxMemoryUsageBytes_ = input.readDouble();
200  break;
201  }
202  case 216: {
203  int rawValue = input.readEnum();
204 
205  useCpSat_ = rawValue;
206  break;
207  }
208  case 224: {
209  int rawValue = input.readEnum();
210 
211  useCp_ = rawValue;
212  break;
213  }
214  case 233: {
215 
216  logCostOffset_ = input.readDouble();
217  break;
218  }
219  case 240: {
220 
221  christofidesUseMinimumMatching_ = input.readBool();
222  break;
223  }
224  case 249: {
225 
226  cheapestInsertionLsOperatorNeighborsRatio_ = input.readDouble();
227  break;
228  }
229  case 256: {
230 
231  heuristicExpensiveChainLnsNumArcsToConsider_ = input.readInt32();
232  break;
233  }
234  case 264: {
235  int rawValue = input.readEnum();
236 
237  continuousSchedulingSolver_ = rawValue;
238  break;
239  }
240  case 272: {
241  int rawValue = input.readEnum();
242 
243  mixedIntegerSchedulingSolver_ = rawValue;
244  break;
245  }
246  default: {
247  if (!parseUnknownField(
248  input, unknownFields, extensionRegistry, tag)) {
249  done = true;
250  }
251  break;
252  }
253  }
254  }
255  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
256  throw e.setUnfinishedMessage(this);
257  } catch (java.io.IOException e) {
258  throw new com.google.protobuf.InvalidProtocolBufferException(
259  e).setUnfinishedMessage(this);
260  } finally {
261  this.unknownFields = unknownFields.build();
262  makeExtensionsImmutable();
263  }
264  }
265  public static final com.google.protobuf.Descriptors.Descriptor
267  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
268  }
269 
270  @java.lang.Override
271  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
273  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_fieldAccessorTable
274  .ensureFieldAccessorsInitialized(
276  }
277 
286  public enum SchedulingSolver
287  implements com.google.protobuf.ProtocolMessageEnum {
291  UNSET(0),
295  GLOP(1),
299  CP_SAT(2),
301  ;
302 
306  public static final int UNSET_VALUE = 0;
310  public static final int GLOP_VALUE = 1;
314  public static final int CP_SAT_VALUE = 2;
315 
316 
317  public final int getNumber() {
318  if (this == UNRECOGNIZED) {
319  throw new java.lang.IllegalArgumentException(
320  "Can't get the number of an unknown enum value.");
321  }
322  return value;
323  }
324 
330  @java.lang.Deprecated
331  public static SchedulingSolver valueOf(int value) {
332  return forNumber(value);
333  }
334 
339  public static SchedulingSolver forNumber(int value) {
340  switch (value) {
341  case 0: return UNSET;
342  case 1: return GLOP;
343  case 2: return CP_SAT;
344  default: return null;
345  }
346  }
347 
348  public static com.google.protobuf.Internal.EnumLiteMap<SchedulingSolver>
350  return internalValueMap;
351  }
352  private static final com.google.protobuf.Internal.EnumLiteMap<
353  SchedulingSolver> internalValueMap =
354  new com.google.protobuf.Internal.EnumLiteMap<SchedulingSolver>() {
355  public SchedulingSolver findValueByNumber(int number) {
356  return SchedulingSolver.forNumber(number);
357  }
358  };
359 
360  public final com.google.protobuf.Descriptors.EnumValueDescriptor
362  if (this == UNRECOGNIZED) {
363  throw new java.lang.IllegalStateException(
364  "Can't get the descriptor of an unrecognized enum value.");
365  }
366  return getDescriptor().getValues().get(ordinal());
367  }
368  public final com.google.protobuf.Descriptors.EnumDescriptor
370  return getDescriptor();
371  }
372  public static final com.google.protobuf.Descriptors.EnumDescriptor
375  }
376 
377  private static final SchedulingSolver[] VALUES = values();
378 
379  public static SchedulingSolver valueOf(
380  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
381  if (desc.getType() != getDescriptor()) {
382  throw new java.lang.IllegalArgumentException(
383  "EnumValueDescriptor is not for this type.");
384  }
385  if (desc.getIndex() == -1) {
386  return UNRECOGNIZED;
387  }
388  return VALUES[desc.getIndex()];
389  }
390 
391  private final int value;
392 
393  private SchedulingSolver(int value) {
394  this.value = value;
395  }
396 
397  // @@protoc_insertion_point(enum_scope:operations_research.RoutingSearchParameters.SchedulingSolver)
398  }
399 
401  // @@protoc_insertion_point(interface_extends:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
402  com.google.protobuf.MessageOrBuilder {
403 
438 
473 
504 
565 
606 
637 
668 
689 
724 
743 
780 
817 
856 
881 
910 
941 
978 
1005 
1034 
1061 
1098 
1137 
1170 
1189 
1218 
1241 
1264 
1283 
1308 
1329  }
1338  public static final class LocalSearchNeighborhoodOperators extends
1339  com.google.protobuf.GeneratedMessageV3 implements
1340  // @@protoc_insertion_point(message_implements:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
1342  private static final long serialVersionUID = 0L;
1343  // Use LocalSearchNeighborhoodOperators.newBuilder() to construct.
1344  private LocalSearchNeighborhoodOperators(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
1345  super(builder);
1346  }
1348  useRelocate_ = 0;
1349  useRelocatePair_ = 0;
1350  useLightRelocatePair_ = 0;
1351  useRelocateNeighbors_ = 0;
1352  useRelocateSubtrip_ = 0;
1353  useExchange_ = 0;
1354  useExchangePair_ = 0;
1355  useExchangeSubtrip_ = 0;
1356  useCross_ = 0;
1357  useCrossExchange_ = 0;
1358  useRelocateExpensiveChain_ = 0;
1359  useTwoOpt_ = 0;
1360  useOrOpt_ = 0;
1361  useLinKernighan_ = 0;
1362  useTspOpt_ = 0;
1363  useMakeActive_ = 0;
1364  useRelocateAndMakeActive_ = 0;
1365  useMakeInactive_ = 0;
1366  useMakeChainInactive_ = 0;
1367  useSwapActive_ = 0;
1368  useExtendedSwapActive_ = 0;
1369  useNodePairSwapActive_ = 0;
1370  usePathLns_ = 0;
1371  useFullPathLns_ = 0;
1372  useTspLns_ = 0;
1373  useInactiveLns_ = 0;
1374  useGlobalCheapestInsertionPathLns_ = 0;
1375  useLocalCheapestInsertionPathLns_ = 0;
1376  useGlobalCheapestInsertionExpensiveChainLns_ = 0;
1377  useLocalCheapestInsertionExpensiveChainLns_ = 0;
1378  }
1379 
1380  @java.lang.Override
1381  @SuppressWarnings({"unused"})
1382  protected java.lang.Object newInstance(
1383  UnusedPrivateParameter unused) {
1384  return new LocalSearchNeighborhoodOperators();
1385  }
1386 
1387  @java.lang.Override
1388  public final com.google.protobuf.UnknownFieldSet
1390  return this.unknownFields;
1391  }
1393  com.google.protobuf.CodedInputStream input,
1394  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1395  throws com.google.protobuf.InvalidProtocolBufferException {
1396  this();
1397  if (extensionRegistry == null) {
1398  throw new java.lang.NullPointerException();
1399  }
1400  com.google.protobuf.UnknownFieldSet.Builder unknownFields =
1401  com.google.protobuf.UnknownFieldSet.newBuilder();
1402  try {
1403  boolean done = false;
1404  while (!done) {
1405  int tag = input.readTag();
1406  switch (tag) {
1407  case 0:
1408  done = true;
1409  break;
1410  case 8: {
1411  int rawValue = input.readEnum();
1412 
1413  useRelocate_ = rawValue;
1414  break;
1415  }
1416  case 16: {
1417  int rawValue = input.readEnum();
1418 
1419  useRelocatePair_ = rawValue;
1420  break;
1421  }
1422  case 24: {
1423  int rawValue = input.readEnum();
1424 
1425  useRelocateNeighbors_ = rawValue;
1426  break;
1427  }
1428  case 32: {
1429  int rawValue = input.readEnum();
1430 
1431  useExchange_ = rawValue;
1432  break;
1433  }
1434  case 40: {
1435  int rawValue = input.readEnum();
1436 
1437  useCross_ = rawValue;
1438  break;
1439  }
1440  case 48: {
1441  int rawValue = input.readEnum();
1442 
1443  useCrossExchange_ = rawValue;
1444  break;
1445  }
1446  case 56: {
1447  int rawValue = input.readEnum();
1448 
1449  useTwoOpt_ = rawValue;
1450  break;
1451  }
1452  case 64: {
1453  int rawValue = input.readEnum();
1454 
1455  useOrOpt_ = rawValue;
1456  break;
1457  }
1458  case 72: {
1459  int rawValue = input.readEnum();
1460 
1461  useLinKernighan_ = rawValue;
1462  break;
1463  }
1464  case 80: {
1465  int rawValue = input.readEnum();
1466 
1467  useTspOpt_ = rawValue;
1468  break;
1469  }
1470  case 88: {
1471  int rawValue = input.readEnum();
1472 
1473  useMakeActive_ = rawValue;
1474  break;
1475  }
1476  case 96: {
1477  int rawValue = input.readEnum();
1478 
1479  useMakeInactive_ = rawValue;
1480  break;
1481  }
1482  case 104: {
1483  int rawValue = input.readEnum();
1484 
1485  useMakeChainInactive_ = rawValue;
1486  break;
1487  }
1488  case 112: {
1489  int rawValue = input.readEnum();
1490 
1491  useSwapActive_ = rawValue;
1492  break;
1493  }
1494  case 120: {
1495  int rawValue = input.readEnum();
1496 
1497  useExtendedSwapActive_ = rawValue;
1498  break;
1499  }
1500  case 128: {
1501  int rawValue = input.readEnum();
1502 
1503  usePathLns_ = rawValue;
1504  break;
1505  }
1506  case 136: {
1507  int rawValue = input.readEnum();
1508 
1509  useFullPathLns_ = rawValue;
1510  break;
1511  }
1512  case 144: {
1513  int rawValue = input.readEnum();
1514 
1515  useTspLns_ = rawValue;
1516  break;
1517  }
1518  case 152: {
1519  int rawValue = input.readEnum();
1520 
1521  useInactiveLns_ = rawValue;
1522  break;
1523  }
1524  case 160: {
1525  int rawValue = input.readEnum();
1526 
1527  useNodePairSwapActive_ = rawValue;
1528  break;
1529  }
1530  case 168: {
1531  int rawValue = input.readEnum();
1532 
1533  useRelocateAndMakeActive_ = rawValue;
1534  break;
1535  }
1536  case 176: {
1537  int rawValue = input.readEnum();
1538 
1539  useExchangePair_ = rawValue;
1540  break;
1541  }
1542  case 184: {
1543  int rawValue = input.readEnum();
1544 
1545  useRelocateExpensiveChain_ = rawValue;
1546  break;
1547  }
1548  case 192: {
1549  int rawValue = input.readEnum();
1550 
1551  useLightRelocatePair_ = rawValue;
1552  break;
1553  }
1554  case 200: {
1555  int rawValue = input.readEnum();
1556 
1557  useRelocateSubtrip_ = rawValue;
1558  break;
1559  }
1560  case 208: {
1561  int rawValue = input.readEnum();
1562 
1563  useExchangeSubtrip_ = rawValue;
1564  break;
1565  }
1566  case 216: {
1567  int rawValue = input.readEnum();
1568 
1569  useGlobalCheapestInsertionPathLns_ = rawValue;
1570  break;
1571  }
1572  case 224: {
1573  int rawValue = input.readEnum();
1574 
1575  useLocalCheapestInsertionPathLns_ = rawValue;
1576  break;
1577  }
1578  case 232: {
1579  int rawValue = input.readEnum();
1580 
1581  useGlobalCheapestInsertionExpensiveChainLns_ = rawValue;
1582  break;
1583  }
1584  case 240: {
1585  int rawValue = input.readEnum();
1586 
1587  useLocalCheapestInsertionExpensiveChainLns_ = rawValue;
1588  break;
1589  }
1590  default: {
1591  if (!parseUnknownField(
1592  input, unknownFields, extensionRegistry, tag)) {
1593  done = true;
1594  }
1595  break;
1596  }
1597  }
1598  }
1599  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1600  throw e.setUnfinishedMessage(this);
1601  } catch (java.io.IOException e) {
1602  throw new com.google.protobuf.InvalidProtocolBufferException(
1603  e).setUnfinishedMessage(this);
1604  } finally {
1605  this.unknownFields = unknownFields.build();
1606  makeExtensionsImmutable();
1607  }
1608  }
1609  public static final com.google.protobuf.Descriptors.Descriptor
1611  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
1612  }
1613 
1614  @java.lang.Override
1615  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
1617  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_fieldAccessorTable
1618  .ensureFieldAccessorsInitialized(
1620  }
1621 
1622  public static final int USE_RELOCATE_FIELD_NUMBER = 1;
1623  private int useRelocate_;
1640  @java.lang.Override public int getUseRelocateValue() {
1641  return useRelocate_;
1642  }
1659  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseRelocate() {
1660  @SuppressWarnings("deprecation")
1662  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1663  }
1664 
1665  public static final int USE_RELOCATE_PAIR_FIELD_NUMBER = 2;
1666  private int useRelocatePair_;
1683  @java.lang.Override public int getUseRelocatePairValue() {
1684  return useRelocatePair_;
1685  }
1702  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseRelocatePair() {
1703  @SuppressWarnings("deprecation")
1705  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1706  }
1707 
1708  public static final int USE_LIGHT_RELOCATE_PAIR_FIELD_NUMBER = 24;
1709  private int useLightRelocatePair_;
1724  @java.lang.Override public int getUseLightRelocatePairValue() {
1725  return useLightRelocatePair_;
1726  }
1742  @SuppressWarnings("deprecation")
1744  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1745  }
1746 
1747  public static final int USE_RELOCATE_NEIGHBORS_FIELD_NUMBER = 3;
1748  private int useRelocateNeighbors_;
1778  @java.lang.Override public int getUseRelocateNeighborsValue() {
1779  return useRelocateNeighbors_;
1780  }
1811  @SuppressWarnings("deprecation")
1813  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1814  }
1815 
1816  public static final int USE_RELOCATE_SUBTRIP_FIELD_NUMBER = 25;
1817  private int useRelocateSubtrip_;
1837  @java.lang.Override public int getUseRelocateSubtripValue() {
1838  return useRelocateSubtrip_;
1839  }
1860  @SuppressWarnings("deprecation")
1862  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1863  }
1864 
1865  public static final int USE_EXCHANGE_FIELD_NUMBER = 4;
1866  private int useExchange_;
1881  @java.lang.Override public int getUseExchangeValue() {
1882  return useExchange_;
1883  }
1898  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseExchange() {
1899  @SuppressWarnings("deprecation")
1901  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1902  }
1903 
1904  public static final int USE_EXCHANGE_PAIR_FIELD_NUMBER = 22;
1905  private int useExchangePair_;
1920  @java.lang.Override public int getUseExchangePairValue() {
1921  return useExchangePair_;
1922  }
1937  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseExchangePair() {
1938  @SuppressWarnings("deprecation")
1940  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1941  }
1942 
1943  public static final int USE_EXCHANGE_SUBTRIP_FIELD_NUMBER = 26;
1944  private int useExchangeSubtrip_;
1954  @java.lang.Override public int getUseExchangeSubtripValue() {
1955  return useExchangeSubtrip_;
1956  }
1967  @SuppressWarnings("deprecation")
1969  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1970  }
1971 
1972  public static final int USE_CROSS_FIELD_NUMBER = 5;
1973  private int useCross_;
1990  @java.lang.Override public int getUseCrossValue() {
1991  return useCross_;
1992  }
2009  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseCross() {
2010  @SuppressWarnings("deprecation")
2012  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2013  }
2014 
2015  public static final int USE_CROSS_EXCHANGE_FIELD_NUMBER = 6;
2016  private int useCrossExchange_;
2025  @java.lang.Override public int getUseCrossExchangeValue() {
2026  return useCrossExchange_;
2027  }
2037  @SuppressWarnings("deprecation")
2039  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2040  }
2041 
2042  public static final int USE_RELOCATE_EXPENSIVE_CHAIN_FIELD_NUMBER = 23;
2043  private int useRelocateExpensiveChain_;
2061  @java.lang.Override public int getUseRelocateExpensiveChainValue() {
2062  return useRelocateExpensiveChain_;
2063  }
2082  @SuppressWarnings("deprecation")
2083  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateExpensiveChain_);
2084  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2085  }
2086 
2087  public static final int USE_TWO_OPT_FIELD_NUMBER = 7;
2088  private int useTwoOpt_;
2106  @java.lang.Override public int getUseTwoOptValue() {
2107  return useTwoOpt_;
2108  }
2126  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseTwoOpt() {
2127  @SuppressWarnings("deprecation")
2129  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2130  }
2131 
2132  public static final int USE_OR_OPT_FIELD_NUMBER = 8;
2133  private int useOrOpt_;
2152  @java.lang.Override public int getUseOrOptValue() {
2153  return useOrOpt_;
2154  }
2173  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseOrOpt() {
2174  @SuppressWarnings("deprecation")
2176  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2177  }
2178 
2179  public static final int USE_LIN_KERNIGHAN_FIELD_NUMBER = 9;
2180  private int useLinKernighan_;
2192  @java.lang.Override public int getUseLinKernighanValue() {
2193  return useLinKernighan_;
2194  }
2206  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseLinKernighan() {
2207  @SuppressWarnings("deprecation")
2209  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2210  }
2211 
2212  public static final int USE_TSP_OPT_FIELD_NUMBER = 10;
2213  private int useTspOpt_;
2227  @java.lang.Override public int getUseTspOptValue() {
2228  return useTspOpt_;
2229  }
2243  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseTspOpt() {
2244  @SuppressWarnings("deprecation")
2246  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2247  }
2248 
2249  public static final int USE_MAKE_ACTIVE_FIELD_NUMBER = 11;
2250  private int useMakeActive_;
2265  @java.lang.Override public int getUseMakeActiveValue() {
2266  return useMakeActive_;
2267  }
2282  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseMakeActive() {
2283  @SuppressWarnings("deprecation")
2285  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2286  }
2287 
2288  public static final int USE_RELOCATE_AND_MAKE_ACTIVE_FIELD_NUMBER = 21;
2289  private int useRelocateAndMakeActive_;
2307  @java.lang.Override public int getUseRelocateAndMakeActiveValue() {
2308  return useRelocateAndMakeActive_;
2309  }
2328  @SuppressWarnings("deprecation")
2329  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateAndMakeActive_);
2330  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2331  }
2332 
2333  public static final int USE_MAKE_INACTIVE_FIELD_NUMBER = 12;
2334  private int useMakeInactive_;
2347  @java.lang.Override public int getUseMakeInactiveValue() {
2348  return useMakeInactive_;
2349  }
2362  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseMakeInactive() {
2363  @SuppressWarnings("deprecation")
2365  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2366  }
2367 
2368  public static final int USE_MAKE_CHAIN_INACTIVE_FIELD_NUMBER = 13;
2369  private int useMakeChainInactive_;
2383  @java.lang.Override public int getUseMakeChainInactiveValue() {
2384  return useMakeChainInactive_;
2385  }
2400  @SuppressWarnings("deprecation")
2402  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2403  }
2404 
2405  public static final int USE_SWAP_ACTIVE_FIELD_NUMBER = 14;
2406  private int useSwapActive_;
2419  @java.lang.Override public int getUseSwapActiveValue() {
2420  return useSwapActive_;
2421  }
2434  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseSwapActive() {
2435  @SuppressWarnings("deprecation")
2437  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2438  }
2439 
2440  public static final int USE_EXTENDED_SWAP_ACTIVE_FIELD_NUMBER = 15;
2441  private int useExtendedSwapActive_;
2459  @java.lang.Override public int getUseExtendedSwapActiveValue() {
2460  return useExtendedSwapActive_;
2461  }
2480  @SuppressWarnings("deprecation")
2481  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useExtendedSwapActive_);
2482  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2483  }
2484 
2485  public static final int USE_NODE_PAIR_SWAP_ACTIVE_FIELD_NUMBER = 20;
2486  private int useNodePairSwapActive_;
2505  @java.lang.Override public int getUseNodePairSwapActiveValue() {
2506  return useNodePairSwapActive_;
2507  }
2527  @SuppressWarnings("deprecation")
2528  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useNodePairSwapActive_);
2529  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2530  }
2531 
2532  public static final int USE_PATH_LNS_FIELD_NUMBER = 16;
2533  private int usePathLns_;
2549  @java.lang.Override public int getUsePathLnsValue() {
2550  return usePathLns_;
2551  }
2567  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUsePathLns() {
2568  @SuppressWarnings("deprecation")
2570  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2571  }
2572 
2573  public static final int USE_FULL_PATH_LNS_FIELD_NUMBER = 17;
2574  private int useFullPathLns_;
2583  @java.lang.Override public int getUseFullPathLnsValue() {
2584  return useFullPathLns_;
2585  }
2594  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseFullPathLns() {
2595  @SuppressWarnings("deprecation")
2597  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2598  }
2599 
2600  public static final int USE_TSP_LNS_FIELD_NUMBER = 18;
2601  private int useTspLns_;
2615  @java.lang.Override public int getUseTspLnsValue() {
2616  return useTspLns_;
2617  }
2631  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseTspLns() {
2632  @SuppressWarnings("deprecation")
2634  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2635  }
2636 
2637  public static final int USE_INACTIVE_LNS_FIELD_NUMBER = 19;
2638  private int useInactiveLns_;
2649  @java.lang.Override public int getUseInactiveLnsValue() {
2650  return useInactiveLns_;
2651  }
2662  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseInactiveLns() {
2663  @SuppressWarnings("deprecation")
2665  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2666  }
2667 
2669  private int useGlobalCheapestInsertionPathLns_;
2680  @java.lang.Override public int getUseGlobalCheapestInsertionPathLnsValue() {
2681  return useGlobalCheapestInsertionPathLns_;
2682  }
2694  @SuppressWarnings("deprecation")
2695  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionPathLns_);
2696  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2697  }
2698 
2700  private int useLocalCheapestInsertionPathLns_;
2709  @java.lang.Override public int getUseLocalCheapestInsertionPathLnsValue() {
2710  return useLocalCheapestInsertionPathLns_;
2711  }
2721  @SuppressWarnings("deprecation")
2722  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionPathLns_);
2723  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2724  }
2725 
2727  private int useGlobalCheapestInsertionExpensiveChainLns_;
2739  @java.lang.Override public int getUseGlobalCheapestInsertionExpensiveChainLnsValue() {
2740  return useGlobalCheapestInsertionExpensiveChainLns_;
2741  }
2754  @SuppressWarnings("deprecation")
2755  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionExpensiveChainLns_);
2756  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2757  }
2758 
2760  private int useLocalCheapestInsertionExpensiveChainLns_;
2770  @java.lang.Override public int getUseLocalCheapestInsertionExpensiveChainLnsValue() {
2771  return useLocalCheapestInsertionExpensiveChainLns_;
2772  }
2783  @SuppressWarnings("deprecation")
2784  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionExpensiveChainLns_);
2785  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2786  }
2787 
2788  private byte memoizedIsInitialized = -1;
2789  @java.lang.Override
2790  public final boolean isInitialized() {
2791  byte isInitialized = memoizedIsInitialized;
2792  if (isInitialized == 1) return true;
2793  if (isInitialized == 0) return false;
2794 
2795  memoizedIsInitialized = 1;
2796  return true;
2797  }
2798 
2799  @java.lang.Override
2800  public void writeTo(com.google.protobuf.CodedOutputStream output)
2801  throws java.io.IOException {
2802  if (useRelocate_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2803  output.writeEnum(1, useRelocate_);
2804  }
2805  if (useRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2806  output.writeEnum(2, useRelocatePair_);
2807  }
2808  if (useRelocateNeighbors_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2809  output.writeEnum(3, useRelocateNeighbors_);
2810  }
2811  if (useExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2812  output.writeEnum(4, useExchange_);
2813  }
2814  if (useCross_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2815  output.writeEnum(5, useCross_);
2816  }
2817  if (useCrossExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2818  output.writeEnum(6, useCrossExchange_);
2819  }
2820  if (useTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2821  output.writeEnum(7, useTwoOpt_);
2822  }
2823  if (useOrOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2824  output.writeEnum(8, useOrOpt_);
2825  }
2826  if (useLinKernighan_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2827  output.writeEnum(9, useLinKernighan_);
2828  }
2829  if (useTspOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2830  output.writeEnum(10, useTspOpt_);
2831  }
2832  if (useMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2833  output.writeEnum(11, useMakeActive_);
2834  }
2835  if (useMakeInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2836  output.writeEnum(12, useMakeInactive_);
2837  }
2838  if (useMakeChainInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2839  output.writeEnum(13, useMakeChainInactive_);
2840  }
2841  if (useSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2842  output.writeEnum(14, useSwapActive_);
2843  }
2844  if (useExtendedSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2845  output.writeEnum(15, useExtendedSwapActive_);
2846  }
2847  if (usePathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2848  output.writeEnum(16, usePathLns_);
2849  }
2850  if (useFullPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2851  output.writeEnum(17, useFullPathLns_);
2852  }
2853  if (useTspLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2854  output.writeEnum(18, useTspLns_);
2855  }
2856  if (useInactiveLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2857  output.writeEnum(19, useInactiveLns_);
2858  }
2859  if (useNodePairSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2860  output.writeEnum(20, useNodePairSwapActive_);
2861  }
2862  if (useRelocateAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2863  output.writeEnum(21, useRelocateAndMakeActive_);
2864  }
2865  if (useExchangePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2866  output.writeEnum(22, useExchangePair_);
2867  }
2868  if (useRelocateExpensiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2869  output.writeEnum(23, useRelocateExpensiveChain_);
2870  }
2871  if (useLightRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2872  output.writeEnum(24, useLightRelocatePair_);
2873  }
2874  if (useRelocateSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2875  output.writeEnum(25, useRelocateSubtrip_);
2876  }
2877  if (useExchangeSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2878  output.writeEnum(26, useExchangeSubtrip_);
2879  }
2880  if (useGlobalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2881  output.writeEnum(27, useGlobalCheapestInsertionPathLns_);
2882  }
2883  if (useLocalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2884  output.writeEnum(28, useLocalCheapestInsertionPathLns_);
2885  }
2886  if (useGlobalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2887  output.writeEnum(29, useGlobalCheapestInsertionExpensiveChainLns_);
2888  }
2889  if (useLocalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2890  output.writeEnum(30, useLocalCheapestInsertionExpensiveChainLns_);
2891  }
2892  unknownFields.writeTo(output);
2893  }
2894 
2895  @java.lang.Override
2896  public int getSerializedSize() {
2897  int size = memoizedSize;
2898  if (size != -1) return size;
2899 
2900  size = 0;
2901  if (useRelocate_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2902  size += com.google.protobuf.CodedOutputStream
2903  .computeEnumSize(1, useRelocate_);
2904  }
2905  if (useRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2906  size += com.google.protobuf.CodedOutputStream
2907  .computeEnumSize(2, useRelocatePair_);
2908  }
2909  if (useRelocateNeighbors_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2910  size += com.google.protobuf.CodedOutputStream
2911  .computeEnumSize(3, useRelocateNeighbors_);
2912  }
2913  if (useExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2914  size += com.google.protobuf.CodedOutputStream
2915  .computeEnumSize(4, useExchange_);
2916  }
2917  if (useCross_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2918  size += com.google.protobuf.CodedOutputStream
2919  .computeEnumSize(5, useCross_);
2920  }
2921  if (useCrossExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2922  size += com.google.protobuf.CodedOutputStream
2923  .computeEnumSize(6, useCrossExchange_);
2924  }
2925  if (useTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2926  size += com.google.protobuf.CodedOutputStream
2927  .computeEnumSize(7, useTwoOpt_);
2928  }
2929  if (useOrOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2930  size += com.google.protobuf.CodedOutputStream
2931  .computeEnumSize(8, useOrOpt_);
2932  }
2933  if (useLinKernighan_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2934  size += com.google.protobuf.CodedOutputStream
2935  .computeEnumSize(9, useLinKernighan_);
2936  }
2937  if (useTspOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2938  size += com.google.protobuf.CodedOutputStream
2939  .computeEnumSize(10, useTspOpt_);
2940  }
2941  if (useMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2942  size += com.google.protobuf.CodedOutputStream
2943  .computeEnumSize(11, useMakeActive_);
2944  }
2945  if (useMakeInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2946  size += com.google.protobuf.CodedOutputStream
2947  .computeEnumSize(12, useMakeInactive_);
2948  }
2949  if (useMakeChainInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2950  size += com.google.protobuf.CodedOutputStream
2951  .computeEnumSize(13, useMakeChainInactive_);
2952  }
2953  if (useSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2954  size += com.google.protobuf.CodedOutputStream
2955  .computeEnumSize(14, useSwapActive_);
2956  }
2957  if (useExtendedSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2958  size += com.google.protobuf.CodedOutputStream
2959  .computeEnumSize(15, useExtendedSwapActive_);
2960  }
2961  if (usePathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2962  size += com.google.protobuf.CodedOutputStream
2963  .computeEnumSize(16, usePathLns_);
2964  }
2965  if (useFullPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2966  size += com.google.protobuf.CodedOutputStream
2967  .computeEnumSize(17, useFullPathLns_);
2968  }
2969  if (useTspLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2970  size += com.google.protobuf.CodedOutputStream
2971  .computeEnumSize(18, useTspLns_);
2972  }
2973  if (useInactiveLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2974  size += com.google.protobuf.CodedOutputStream
2975  .computeEnumSize(19, useInactiveLns_);
2976  }
2977  if (useNodePairSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2978  size += com.google.protobuf.CodedOutputStream
2979  .computeEnumSize(20, useNodePairSwapActive_);
2980  }
2981  if (useRelocateAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2982  size += com.google.protobuf.CodedOutputStream
2983  .computeEnumSize(21, useRelocateAndMakeActive_);
2984  }
2985  if (useExchangePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2986  size += com.google.protobuf.CodedOutputStream
2987  .computeEnumSize(22, useExchangePair_);
2988  }
2989  if (useRelocateExpensiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2990  size += com.google.protobuf.CodedOutputStream
2991  .computeEnumSize(23, useRelocateExpensiveChain_);
2992  }
2993  if (useLightRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2994  size += com.google.protobuf.CodedOutputStream
2995  .computeEnumSize(24, useLightRelocatePair_);
2996  }
2997  if (useRelocateSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2998  size += com.google.protobuf.CodedOutputStream
2999  .computeEnumSize(25, useRelocateSubtrip_);
3000  }
3001  if (useExchangeSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3002  size += com.google.protobuf.CodedOutputStream
3003  .computeEnumSize(26, useExchangeSubtrip_);
3004  }
3005  if (useGlobalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3006  size += com.google.protobuf.CodedOutputStream
3007  .computeEnumSize(27, useGlobalCheapestInsertionPathLns_);
3008  }
3009  if (useLocalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3010  size += com.google.protobuf.CodedOutputStream
3011  .computeEnumSize(28, useLocalCheapestInsertionPathLns_);
3012  }
3013  if (useGlobalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3014  size += com.google.protobuf.CodedOutputStream
3015  .computeEnumSize(29, useGlobalCheapestInsertionExpensiveChainLns_);
3016  }
3017  if (useLocalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3018  size += com.google.protobuf.CodedOutputStream
3019  .computeEnumSize(30, useLocalCheapestInsertionExpensiveChainLns_);
3020  }
3021  size += unknownFields.getSerializedSize();
3022  memoizedSize = size;
3023  return size;
3024  }
3025 
3026  @java.lang.Override
3027  public boolean equals(final java.lang.Object obj) {
3028  if (obj == this) {
3029  return true;
3030  }
3032  return super.equals(obj);
3033  }
3035 
3036  if (useRelocate_ != other.useRelocate_) return false;
3037  if (useRelocatePair_ != other.useRelocatePair_) return false;
3038  if (useLightRelocatePair_ != other.useLightRelocatePair_) return false;
3039  if (useRelocateNeighbors_ != other.useRelocateNeighbors_) return false;
3040  if (useRelocateSubtrip_ != other.useRelocateSubtrip_) return false;
3041  if (useExchange_ != other.useExchange_) return false;
3042  if (useExchangePair_ != other.useExchangePair_) return false;
3043  if (useExchangeSubtrip_ != other.useExchangeSubtrip_) return false;
3044  if (useCross_ != other.useCross_) return false;
3045  if (useCrossExchange_ != other.useCrossExchange_) return false;
3046  if (useRelocateExpensiveChain_ != other.useRelocateExpensiveChain_) return false;
3047  if (useTwoOpt_ != other.useTwoOpt_) return false;
3048  if (useOrOpt_ != other.useOrOpt_) return false;
3049  if (useLinKernighan_ != other.useLinKernighan_) return false;
3050  if (useTspOpt_ != other.useTspOpt_) return false;
3051  if (useMakeActive_ != other.useMakeActive_) return false;
3052  if (useRelocateAndMakeActive_ != other.useRelocateAndMakeActive_) return false;
3053  if (useMakeInactive_ != other.useMakeInactive_) return false;
3054  if (useMakeChainInactive_ != other.useMakeChainInactive_) return false;
3055  if (useSwapActive_ != other.useSwapActive_) return false;
3056  if (useExtendedSwapActive_ != other.useExtendedSwapActive_) return false;
3057  if (useNodePairSwapActive_ != other.useNodePairSwapActive_) return false;
3058  if (usePathLns_ != other.usePathLns_) return false;
3059  if (useFullPathLns_ != other.useFullPathLns_) return false;
3060  if (useTspLns_ != other.useTspLns_) return false;
3061  if (useInactiveLns_ != other.useInactiveLns_) return false;
3062  if (useGlobalCheapestInsertionPathLns_ != other.useGlobalCheapestInsertionPathLns_) return false;
3063  if (useLocalCheapestInsertionPathLns_ != other.useLocalCheapestInsertionPathLns_) return false;
3064  if (useGlobalCheapestInsertionExpensiveChainLns_ != other.useGlobalCheapestInsertionExpensiveChainLns_) return false;
3065  if (useLocalCheapestInsertionExpensiveChainLns_ != other.useLocalCheapestInsertionExpensiveChainLns_) return false;
3066  if (!unknownFields.equals(other.unknownFields)) return false;
3067  return true;
3068  }
3069 
3070  @java.lang.Override
3071  public int hashCode() {
3072  if (memoizedHashCode != 0) {
3073  return memoizedHashCode;
3074  }
3075  int hash = 41;
3076  hash = (19 * hash) + getDescriptor().hashCode();
3077  hash = (37 * hash) + USE_RELOCATE_FIELD_NUMBER;
3078  hash = (53 * hash) + useRelocate_;
3079  hash = (37 * hash) + USE_RELOCATE_PAIR_FIELD_NUMBER;
3080  hash = (53 * hash) + useRelocatePair_;
3081  hash = (37 * hash) + USE_LIGHT_RELOCATE_PAIR_FIELD_NUMBER;
3082  hash = (53 * hash) + useLightRelocatePair_;
3083  hash = (37 * hash) + USE_RELOCATE_NEIGHBORS_FIELD_NUMBER;
3084  hash = (53 * hash) + useRelocateNeighbors_;
3085  hash = (37 * hash) + USE_RELOCATE_SUBTRIP_FIELD_NUMBER;
3086  hash = (53 * hash) + useRelocateSubtrip_;
3087  hash = (37 * hash) + USE_EXCHANGE_FIELD_NUMBER;
3088  hash = (53 * hash) + useExchange_;
3089  hash = (37 * hash) + USE_EXCHANGE_PAIR_FIELD_NUMBER;
3090  hash = (53 * hash) + useExchangePair_;
3091  hash = (37 * hash) + USE_EXCHANGE_SUBTRIP_FIELD_NUMBER;
3092  hash = (53 * hash) + useExchangeSubtrip_;
3093  hash = (37 * hash) + USE_CROSS_FIELD_NUMBER;
3094  hash = (53 * hash) + useCross_;
3095  hash = (37 * hash) + USE_CROSS_EXCHANGE_FIELD_NUMBER;
3096  hash = (53 * hash) + useCrossExchange_;
3097  hash = (37 * hash) + USE_RELOCATE_EXPENSIVE_CHAIN_FIELD_NUMBER;
3098  hash = (53 * hash) + useRelocateExpensiveChain_;
3099  hash = (37 * hash) + USE_TWO_OPT_FIELD_NUMBER;
3100  hash = (53 * hash) + useTwoOpt_;
3101  hash = (37 * hash) + USE_OR_OPT_FIELD_NUMBER;
3102  hash = (53 * hash) + useOrOpt_;
3103  hash = (37 * hash) + USE_LIN_KERNIGHAN_FIELD_NUMBER;
3104  hash = (53 * hash) + useLinKernighan_;
3105  hash = (37 * hash) + USE_TSP_OPT_FIELD_NUMBER;
3106  hash = (53 * hash) + useTspOpt_;
3107  hash = (37 * hash) + USE_MAKE_ACTIVE_FIELD_NUMBER;
3108  hash = (53 * hash) + useMakeActive_;
3109  hash = (37 * hash) + USE_RELOCATE_AND_MAKE_ACTIVE_FIELD_NUMBER;
3110  hash = (53 * hash) + useRelocateAndMakeActive_;
3111  hash = (37 * hash) + USE_MAKE_INACTIVE_FIELD_NUMBER;
3112  hash = (53 * hash) + useMakeInactive_;
3113  hash = (37 * hash) + USE_MAKE_CHAIN_INACTIVE_FIELD_NUMBER;
3114  hash = (53 * hash) + useMakeChainInactive_;
3115  hash = (37 * hash) + USE_SWAP_ACTIVE_FIELD_NUMBER;
3116  hash = (53 * hash) + useSwapActive_;
3117  hash = (37 * hash) + USE_EXTENDED_SWAP_ACTIVE_FIELD_NUMBER;
3118  hash = (53 * hash) + useExtendedSwapActive_;
3119  hash = (37 * hash) + USE_NODE_PAIR_SWAP_ACTIVE_FIELD_NUMBER;
3120  hash = (53 * hash) + useNodePairSwapActive_;
3121  hash = (37 * hash) + USE_PATH_LNS_FIELD_NUMBER;
3122  hash = (53 * hash) + usePathLns_;
3123  hash = (37 * hash) + USE_FULL_PATH_LNS_FIELD_NUMBER;
3124  hash = (53 * hash) + useFullPathLns_;
3125  hash = (37 * hash) + USE_TSP_LNS_FIELD_NUMBER;
3126  hash = (53 * hash) + useTspLns_;
3127  hash = (37 * hash) + USE_INACTIVE_LNS_FIELD_NUMBER;
3128  hash = (53 * hash) + useInactiveLns_;
3130  hash = (53 * hash) + useGlobalCheapestInsertionPathLns_;
3132  hash = (53 * hash) + useLocalCheapestInsertionPathLns_;
3134  hash = (53 * hash) + useGlobalCheapestInsertionExpensiveChainLns_;
3136  hash = (53 * hash) + useLocalCheapestInsertionExpensiveChainLns_;
3137  hash = (29 * hash) + unknownFields.hashCode();
3138  memoizedHashCode = hash;
3139  return hash;
3140  }
3141 
3143  java.nio.ByteBuffer data)
3144  throws com.google.protobuf.InvalidProtocolBufferException {
3145  return PARSER.parseFrom(data);
3146  }
3148  java.nio.ByteBuffer data,
3149  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3150  throws com.google.protobuf.InvalidProtocolBufferException {
3151  return PARSER.parseFrom(data, extensionRegistry);
3152  }
3154  com.google.protobuf.ByteString data)
3155  throws com.google.protobuf.InvalidProtocolBufferException {
3156  return PARSER.parseFrom(data);
3157  }
3159  com.google.protobuf.ByteString data,
3160  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3161  throws com.google.protobuf.InvalidProtocolBufferException {
3162  return PARSER.parseFrom(data, extensionRegistry);
3163  }
3165  throws com.google.protobuf.InvalidProtocolBufferException {
3166  return PARSER.parseFrom(data);
3167  }
3169  byte[] data,
3170  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3171  throws com.google.protobuf.InvalidProtocolBufferException {
3172  return PARSER.parseFrom(data, extensionRegistry);
3173  }
3175  throws java.io.IOException {
3176  return com.google.protobuf.GeneratedMessageV3
3177  .parseWithIOException(PARSER, input);
3178  }
3180  java.io.InputStream input,
3181  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3182  throws java.io.IOException {
3183  return com.google.protobuf.GeneratedMessageV3
3184  .parseWithIOException(PARSER, input, extensionRegistry);
3185  }
3187  throws java.io.IOException {
3188  return com.google.protobuf.GeneratedMessageV3
3189  .parseDelimitedWithIOException(PARSER, input);
3190  }
3192  java.io.InputStream input,
3193  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3194  throws java.io.IOException {
3195  return com.google.protobuf.GeneratedMessageV3
3196  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
3197  }
3199  com.google.protobuf.CodedInputStream input)
3200  throws java.io.IOException {
3201  return com.google.protobuf.GeneratedMessageV3
3202  .parseWithIOException(PARSER, input);
3203  }
3205  com.google.protobuf.CodedInputStream input,
3206  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3207  throws java.io.IOException {
3208  return com.google.protobuf.GeneratedMessageV3
3209  .parseWithIOException(PARSER, input, extensionRegistry);
3210  }
3211 
3212  @java.lang.Override
3213  public Builder newBuilderForType() { return newBuilder(); }
3214  public static Builder newBuilder() {
3215  return DEFAULT_INSTANCE.toBuilder();
3216  }
3218  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
3219  }
3220  @java.lang.Override
3221  public Builder toBuilder() {
3222  return this == DEFAULT_INSTANCE
3223  ? new Builder() : new Builder().mergeFrom(this);
3224  }
3225 
3226  @java.lang.Override
3228  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
3229  Builder builder = new Builder(parent);
3230  return builder;
3231  }
3240  public static final class Builder extends
3241  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
3242  // @@protoc_insertion_point(builder_implements:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
3244  public static final com.google.protobuf.Descriptors.Descriptor
3246  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
3247  }
3248 
3249  @java.lang.Override
3250  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
3252  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_fieldAccessorTable
3253  .ensureFieldAccessorsInitialized(
3255  }
3256 
3257  // Construct using com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.newBuilder()
3258  private Builder() {
3259  maybeForceBuilderInitialization();
3260  }
3261 
3262  private Builder(
3263  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
3264  super(parent);
3265  maybeForceBuilderInitialization();
3266  }
3267  private void maybeForceBuilderInitialization() {
3268  if (com.google.protobuf.GeneratedMessageV3
3269  .alwaysUseFieldBuilders) {
3270  }
3271  }
3272  @java.lang.Override
3273  public Builder clear() {
3274  super.clear();
3275  useRelocate_ = 0;
3276 
3277  useRelocatePair_ = 0;
3278 
3279  useLightRelocatePair_ = 0;
3280 
3281  useRelocateNeighbors_ = 0;
3282 
3283  useRelocateSubtrip_ = 0;
3284 
3285  useExchange_ = 0;
3286 
3287  useExchangePair_ = 0;
3288 
3289  useExchangeSubtrip_ = 0;
3290 
3291  useCross_ = 0;
3292 
3293  useCrossExchange_ = 0;
3294 
3295  useRelocateExpensiveChain_ = 0;
3296 
3297  useTwoOpt_ = 0;
3298 
3299  useOrOpt_ = 0;
3300 
3301  useLinKernighan_ = 0;
3302 
3303  useTspOpt_ = 0;
3304 
3305  useMakeActive_ = 0;
3306 
3307  useRelocateAndMakeActive_ = 0;
3308 
3309  useMakeInactive_ = 0;
3310 
3311  useMakeChainInactive_ = 0;
3312 
3313  useSwapActive_ = 0;
3314 
3315  useExtendedSwapActive_ = 0;
3316 
3317  useNodePairSwapActive_ = 0;
3318 
3319  usePathLns_ = 0;
3320 
3321  useFullPathLns_ = 0;
3322 
3323  useTspLns_ = 0;
3324 
3325  useInactiveLns_ = 0;
3326 
3327  useGlobalCheapestInsertionPathLns_ = 0;
3328 
3329  useLocalCheapestInsertionPathLns_ = 0;
3330 
3331  useGlobalCheapestInsertionExpensiveChainLns_ = 0;
3332 
3333  useLocalCheapestInsertionExpensiveChainLns_ = 0;
3334 
3335  return this;
3336  }
3337 
3338  @java.lang.Override
3339  public com.google.protobuf.Descriptors.Descriptor
3341  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
3342  }
3343 
3344  @java.lang.Override
3347  }
3348 
3349  @java.lang.Override
3352  if (!result.isInitialized()) {
3353  throw newUninitializedMessageException(result);
3354  }
3355  return result;
3356  }
3357 
3358  @java.lang.Override
3361  result.useRelocate_ = useRelocate_;
3362  result.useRelocatePair_ = useRelocatePair_;
3363  result.useLightRelocatePair_ = useLightRelocatePair_;
3364  result.useRelocateNeighbors_ = useRelocateNeighbors_;
3365  result.useRelocateSubtrip_ = useRelocateSubtrip_;
3366  result.useExchange_ = useExchange_;
3367  result.useExchangePair_ = useExchangePair_;
3368  result.useExchangeSubtrip_ = useExchangeSubtrip_;
3369  result.useCross_ = useCross_;
3370  result.useCrossExchange_ = useCrossExchange_;
3371  result.useRelocateExpensiveChain_ = useRelocateExpensiveChain_;
3372  result.useTwoOpt_ = useTwoOpt_;
3373  result.useOrOpt_ = useOrOpt_;
3374  result.useLinKernighan_ = useLinKernighan_;
3375  result.useTspOpt_ = useTspOpt_;
3376  result.useMakeActive_ = useMakeActive_;
3377  result.useRelocateAndMakeActive_ = useRelocateAndMakeActive_;
3378  result.useMakeInactive_ = useMakeInactive_;
3379  result.useMakeChainInactive_ = useMakeChainInactive_;
3380  result.useSwapActive_ = useSwapActive_;
3381  result.useExtendedSwapActive_ = useExtendedSwapActive_;
3382  result.useNodePairSwapActive_ = useNodePairSwapActive_;
3383  result.usePathLns_ = usePathLns_;
3384  result.useFullPathLns_ = useFullPathLns_;
3385  result.useTspLns_ = useTspLns_;
3386  result.useInactiveLns_ = useInactiveLns_;
3387  result.useGlobalCheapestInsertionPathLns_ = useGlobalCheapestInsertionPathLns_;
3388  result.useLocalCheapestInsertionPathLns_ = useLocalCheapestInsertionPathLns_;
3389  result.useGlobalCheapestInsertionExpensiveChainLns_ = useGlobalCheapestInsertionExpensiveChainLns_;
3390  result.useLocalCheapestInsertionExpensiveChainLns_ = useLocalCheapestInsertionExpensiveChainLns_;
3391  onBuilt();
3392  return result;
3393  }
3394 
3395  @java.lang.Override
3396  public Builder clone() {
3397  return super.clone();
3398  }
3399  @java.lang.Override
3401  com.google.protobuf.Descriptors.FieldDescriptor field,
3402  java.lang.Object value) {
3403  return super.setField(field, value);
3404  }
3405  @java.lang.Override
3407  com.google.protobuf.Descriptors.FieldDescriptor field) {
3408  return super.clearField(field);
3409  }
3410  @java.lang.Override
3412  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
3413  return super.clearOneof(oneof);
3414  }
3415  @java.lang.Override
3417  com.google.protobuf.Descriptors.FieldDescriptor field,
3418  int index, java.lang.Object value) {
3419  return super.setRepeatedField(field, index, value);
3420  }
3421  @java.lang.Override
3423  com.google.protobuf.Descriptors.FieldDescriptor field,
3424  java.lang.Object value) {
3425  return super.addRepeatedField(field, value);
3426  }
3427  @java.lang.Override
3428  public Builder mergeFrom(com.google.protobuf.Message other) {
3431  } else {
3432  super.mergeFrom(other);
3433  return this;
3434  }
3435  }
3436 
3439  if (other.useRelocate_ != 0) {
3440  setUseRelocateValue(other.getUseRelocateValue());
3441  }
3442  if (other.useRelocatePair_ != 0) {
3443  setUseRelocatePairValue(other.getUseRelocatePairValue());
3444  }
3445  if (other.useLightRelocatePair_ != 0) {
3446  setUseLightRelocatePairValue(other.getUseLightRelocatePairValue());
3447  }
3448  if (other.useRelocateNeighbors_ != 0) {
3449  setUseRelocateNeighborsValue(other.getUseRelocateNeighborsValue());
3450  }
3451  if (other.useRelocateSubtrip_ != 0) {
3452  setUseRelocateSubtripValue(other.getUseRelocateSubtripValue());
3453  }
3454  if (other.useExchange_ != 0) {
3455  setUseExchangeValue(other.getUseExchangeValue());
3456  }
3457  if (other.useExchangePair_ != 0) {
3458  setUseExchangePairValue(other.getUseExchangePairValue());
3459  }
3460  if (other.useExchangeSubtrip_ != 0) {
3461  setUseExchangeSubtripValue(other.getUseExchangeSubtripValue());
3462  }
3463  if (other.useCross_ != 0) {
3464  setUseCrossValue(other.getUseCrossValue());
3465  }
3466  if (other.useCrossExchange_ != 0) {
3467  setUseCrossExchangeValue(other.getUseCrossExchangeValue());
3468  }
3469  if (other.useRelocateExpensiveChain_ != 0) {
3470  setUseRelocateExpensiveChainValue(other.getUseRelocateExpensiveChainValue());
3471  }
3472  if (other.useTwoOpt_ != 0) {
3473  setUseTwoOptValue(other.getUseTwoOptValue());
3474  }
3475  if (other.useOrOpt_ != 0) {
3476  setUseOrOptValue(other.getUseOrOptValue());
3477  }
3478  if (other.useLinKernighan_ != 0) {
3479  setUseLinKernighanValue(other.getUseLinKernighanValue());
3480  }
3481  if (other.useTspOpt_ != 0) {
3482  setUseTspOptValue(other.getUseTspOptValue());
3483  }
3484  if (other.useMakeActive_ != 0) {
3485  setUseMakeActiveValue(other.getUseMakeActiveValue());
3486  }
3487  if (other.useRelocateAndMakeActive_ != 0) {
3488  setUseRelocateAndMakeActiveValue(other.getUseRelocateAndMakeActiveValue());
3489  }
3490  if (other.useMakeInactive_ != 0) {
3491  setUseMakeInactiveValue(other.getUseMakeInactiveValue());
3492  }
3493  if (other.useMakeChainInactive_ != 0) {
3494  setUseMakeChainInactiveValue(other.getUseMakeChainInactiveValue());
3495  }
3496  if (other.useSwapActive_ != 0) {
3497  setUseSwapActiveValue(other.getUseSwapActiveValue());
3498  }
3499  if (other.useExtendedSwapActive_ != 0) {
3500  setUseExtendedSwapActiveValue(other.getUseExtendedSwapActiveValue());
3501  }
3502  if (other.useNodePairSwapActive_ != 0) {
3503  setUseNodePairSwapActiveValue(other.getUseNodePairSwapActiveValue());
3504  }
3505  if (other.usePathLns_ != 0) {
3506  setUsePathLnsValue(other.getUsePathLnsValue());
3507  }
3508  if (other.useFullPathLns_ != 0) {
3509  setUseFullPathLnsValue(other.getUseFullPathLnsValue());
3510  }
3511  if (other.useTspLns_ != 0) {
3512  setUseTspLnsValue(other.getUseTspLnsValue());
3513  }
3514  if (other.useInactiveLns_ != 0) {
3515  setUseInactiveLnsValue(other.getUseInactiveLnsValue());
3516  }
3517  if (other.useGlobalCheapestInsertionPathLns_ != 0) {
3518  setUseGlobalCheapestInsertionPathLnsValue(other.getUseGlobalCheapestInsertionPathLnsValue());
3519  }
3520  if (other.useLocalCheapestInsertionPathLns_ != 0) {
3521  setUseLocalCheapestInsertionPathLnsValue(other.getUseLocalCheapestInsertionPathLnsValue());
3522  }
3523  if (other.useGlobalCheapestInsertionExpensiveChainLns_ != 0) {
3524  setUseGlobalCheapestInsertionExpensiveChainLnsValue(other.getUseGlobalCheapestInsertionExpensiveChainLnsValue());
3525  }
3526  if (other.useLocalCheapestInsertionExpensiveChainLns_ != 0) {
3527  setUseLocalCheapestInsertionExpensiveChainLnsValue(other.getUseLocalCheapestInsertionExpensiveChainLnsValue());
3528  }
3529  this.mergeUnknownFields(other.unknownFields);
3530  onChanged();
3531  return this;
3532  }
3533 
3534  @java.lang.Override
3535  public final boolean isInitialized() {
3536  return true;
3537  }
3538 
3539  @java.lang.Override
3541  com.google.protobuf.CodedInputStream input,
3542  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3543  throws java.io.IOException {
3545  try {
3546  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
3547  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3549  throw e.unwrapIOException();
3550  } finally {
3551  if (parsedMessage != null) {
3552  mergeFrom(parsedMessage);
3553  }
3554  }
3555  return this;
3556  }
3557 
3558  private int useRelocate_ = 0;
3575  @java.lang.Override public int getUseRelocateValue() {
3576  return useRelocate_;
3577  }
3595  public Builder setUseRelocateValue(int value) {
3596 
3597  useRelocate_ = value;
3598  onChanged();
3599  return this;
3600  }
3617  @java.lang.Override
3619  @SuppressWarnings("deprecation")
3621  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3622  }
3641  if (value == null) {
3642  throw new NullPointerException();
3643  }
3644 
3645  useRelocate_ = value.getNumber();
3646  onChanged();
3647  return this;
3648  }
3666 
3667  useRelocate_ = 0;
3668  onChanged();
3669  return this;
3670  }
3671 
3672  private int useRelocatePair_ = 0;
3689  @java.lang.Override public int getUseRelocatePairValue() {
3690  return useRelocatePair_;
3691  }
3709  public Builder setUseRelocatePairValue(int value) {
3710 
3711  useRelocatePair_ = value;
3712  onChanged();
3713  return this;
3714  }
3731  @java.lang.Override
3733  @SuppressWarnings("deprecation")
3735  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3736  }
3755  if (value == null) {
3756  throw new NullPointerException();
3757  }
3758 
3759  useRelocatePair_ = value.getNumber();
3760  onChanged();
3761  return this;
3762  }
3780 
3781  useRelocatePair_ = 0;
3782  onChanged();
3783  return this;
3784  }
3785 
3786  private int useLightRelocatePair_ = 0;
3801  @java.lang.Override public int getUseLightRelocatePairValue() {
3802  return useLightRelocatePair_;
3803  }
3820 
3821  useLightRelocatePair_ = value;
3822  onChanged();
3823  return this;
3824  }
3839  @java.lang.Override
3841  @SuppressWarnings("deprecation")
3843  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3844  }
3861  if (value == null) {
3862  throw new NullPointerException();
3863  }
3864 
3865  useLightRelocatePair_ = value.getNumber();
3866  onChanged();
3867  return this;
3868  }
3884 
3885  useLightRelocatePair_ = 0;
3886  onChanged();
3887  return this;
3888  }
3889 
3890  private int useRelocateNeighbors_ = 0;
3920  @java.lang.Override public int getUseRelocateNeighborsValue() {
3921  return useRelocateNeighbors_;
3922  }
3954 
3955  useRelocateNeighbors_ = value;
3956  onChanged();
3957  return this;
3958  }
3988  @java.lang.Override
3990  @SuppressWarnings("deprecation")
3992  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3993  }
4025  if (value == null) {
4026  throw new NullPointerException();
4027  }
4028 
4029  useRelocateNeighbors_ = value.getNumber();
4030  onChanged();
4031  return this;
4032  }
4063 
4064  useRelocateNeighbors_ = 0;
4065  onChanged();
4066  return this;
4067  }
4068 
4069  private int useRelocateSubtrip_ = 0;
4089  @java.lang.Override public int getUseRelocateSubtripValue() {
4090  return useRelocateSubtrip_;
4091  }
4113 
4114  useRelocateSubtrip_ = value;
4115  onChanged();
4116  return this;
4117  }
4137  @java.lang.Override
4139  @SuppressWarnings("deprecation")
4141  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4142  }
4164  if (value == null) {
4165  throw new NullPointerException();
4166  }
4167 
4168  useRelocateSubtrip_ = value.getNumber();
4169  onChanged();
4170  return this;
4171  }
4192 
4193  useRelocateSubtrip_ = 0;
4194  onChanged();
4195  return this;
4196  }
4197 
4198  private int useExchange_ = 0;
4213  @java.lang.Override public int getUseExchangeValue() {
4214  return useExchange_;
4215  }
4231  public Builder setUseExchangeValue(int value) {
4232 
4233  useExchange_ = value;
4234  onChanged();
4235  return this;
4236  }
4251  @java.lang.Override
4253  @SuppressWarnings("deprecation")
4255  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4256  }
4273  if (value == null) {
4274  throw new NullPointerException();
4275  }
4276 
4277  useExchange_ = value.getNumber();
4278  onChanged();
4279  return this;
4280  }
4296 
4297  useExchange_ = 0;
4298  onChanged();
4299  return this;
4300  }
4301 
4302  private int useExchangePair_ = 0;
4317  @java.lang.Override public int getUseExchangePairValue() {
4318  return useExchangePair_;
4319  }
4335  public Builder setUseExchangePairValue(int value) {
4336 
4337  useExchangePair_ = value;
4338  onChanged();
4339  return this;
4340  }
4355  @java.lang.Override
4357  @SuppressWarnings("deprecation")
4359  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4360  }
4377  if (value == null) {
4378  throw new NullPointerException();
4379  }
4380 
4381  useExchangePair_ = value.getNumber();
4382  onChanged();
4383  return this;
4384  }
4400 
4401  useExchangePair_ = 0;
4402  onChanged();
4403  return this;
4404  }
4405 
4406  private int useExchangeSubtrip_ = 0;
4416  @java.lang.Override public int getUseExchangeSubtripValue() {
4417  return useExchangeSubtrip_;
4418  }
4430 
4431  useExchangeSubtrip_ = value;
4432  onChanged();
4433  return this;
4434  }
4444  @java.lang.Override
4446  @SuppressWarnings("deprecation")
4448  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4449  }
4461  if (value == null) {
4462  throw new NullPointerException();
4463  }
4464 
4465  useExchangeSubtrip_ = value.getNumber();
4466  onChanged();
4467  return this;
4468  }
4479 
4480  useExchangeSubtrip_ = 0;
4481  onChanged();
4482  return this;
4483  }
4484 
4485  private int useCross_ = 0;
4502  @java.lang.Override public int getUseCrossValue() {
4503  return useCross_;
4504  }
4522  public Builder setUseCrossValue(int value) {
4523 
4524  useCross_ = value;
4525  onChanged();
4526  return this;
4527  }
4544  @java.lang.Override
4546  @SuppressWarnings("deprecation")
4548  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4549  }
4568  if (value == null) {
4569  throw new NullPointerException();
4570  }
4571 
4572  useCross_ = value.getNumber();
4573  onChanged();
4574  return this;
4575  }
4593 
4594  useCross_ = 0;
4595  onChanged();
4596  return this;
4597  }
4598 
4599  private int useCrossExchange_ = 0;
4608  @java.lang.Override public int getUseCrossExchangeValue() {
4609  return useCrossExchange_;
4610  }
4620  public Builder setUseCrossExchangeValue(int value) {
4621 
4622  useCrossExchange_ = value;
4623  onChanged();
4624  return this;
4625  }
4634  @java.lang.Override
4636  @SuppressWarnings("deprecation")
4638  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4639  }
4650  if (value == null) {
4651  throw new NullPointerException();
4652  }
4653 
4654  useCrossExchange_ = value.getNumber();
4655  onChanged();
4656  return this;
4657  }
4667 
4668  useCrossExchange_ = 0;
4669  onChanged();
4670  return this;
4671  }
4672 
4673  private int useRelocateExpensiveChain_ = 0;
4691  @java.lang.Override public int getUseRelocateExpensiveChainValue() {
4692  return useRelocateExpensiveChain_;
4693  }
4713 
4714  useRelocateExpensiveChain_ = value;
4715  onChanged();
4716  return this;
4717  }
4735  @java.lang.Override
4737  @SuppressWarnings("deprecation")
4738  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateExpensiveChain_);
4739  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4740  }
4760  if (value == null) {
4761  throw new NullPointerException();
4762  }
4763 
4764  useRelocateExpensiveChain_ = value.getNumber();
4765  onChanged();
4766  return this;
4767  }
4786 
4787  useRelocateExpensiveChain_ = 0;
4788  onChanged();
4789  return this;
4790  }
4791 
4792  private int useTwoOpt_ = 0;
4810  @java.lang.Override public int getUseTwoOptValue() {
4811  return useTwoOpt_;
4812  }
4831  public Builder setUseTwoOptValue(int value) {
4832 
4833  useTwoOpt_ = value;
4834  onChanged();
4835  return this;
4836  }
4854  @java.lang.Override
4856  @SuppressWarnings("deprecation")
4858  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4859  }
4879  if (value == null) {
4880  throw new NullPointerException();
4881  }
4882 
4883  useTwoOpt_ = value.getNumber();
4884  onChanged();
4885  return this;
4886  }
4905 
4906  useTwoOpt_ = 0;
4907  onChanged();
4908  return this;
4909  }
4910 
4911  private int useOrOpt_ = 0;
4930  @java.lang.Override public int getUseOrOptValue() {
4931  return useOrOpt_;
4932  }
4952  public Builder setUseOrOptValue(int value) {
4953 
4954  useOrOpt_ = value;
4955  onChanged();
4956  return this;
4957  }
4976  @java.lang.Override
4978  @SuppressWarnings("deprecation")
4980  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4981  }
5002  if (value == null) {
5003  throw new NullPointerException();
5004  }
5005 
5006  useOrOpt_ = value.getNumber();
5007  onChanged();
5008  return this;
5009  }
5029 
5030  useOrOpt_ = 0;
5031  onChanged();
5032  return this;
5033  }
5034 
5035  private int useLinKernighan_ = 0;
5047  @java.lang.Override public int getUseLinKernighanValue() {
5048  return useLinKernighan_;
5049  }
5062  public Builder setUseLinKernighanValue(int value) {
5063 
5064  useLinKernighan_ = value;
5065  onChanged();
5066  return this;
5067  }
5079  @java.lang.Override
5081  @SuppressWarnings("deprecation")
5083  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5084  }
5098  if (value == null) {
5099  throw new NullPointerException();
5100  }
5101 
5102  useLinKernighan_ = value.getNumber();
5103  onChanged();
5104  return this;
5105  }
5118 
5119  useLinKernighan_ = 0;
5120  onChanged();
5121  return this;
5122  }
5123 
5124  private int useTspOpt_ = 0;
5138  @java.lang.Override public int getUseTspOptValue() {
5139  return useTspOpt_;
5140  }
5155  public Builder setUseTspOptValue(int value) {
5156 
5157  useTspOpt_ = value;
5158  onChanged();
5159  return this;
5160  }
5174  @java.lang.Override
5176  @SuppressWarnings("deprecation")
5178  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5179  }
5195  if (value == null) {
5196  throw new NullPointerException();
5197  }
5198 
5199  useTspOpt_ = value.getNumber();
5200  onChanged();
5201  return this;
5202  }
5217 
5218  useTspOpt_ = 0;
5219  onChanged();
5220  return this;
5221  }
5222 
5223  private int useMakeActive_ = 0;
5238  @java.lang.Override public int getUseMakeActiveValue() {
5239  return useMakeActive_;
5240  }
5256  public Builder setUseMakeActiveValue(int value) {
5257 
5258  useMakeActive_ = value;
5259  onChanged();
5260  return this;
5261  }
5276  @java.lang.Override
5278  @SuppressWarnings("deprecation")
5280  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5281  }
5298  if (value == null) {
5299  throw new NullPointerException();
5300  }
5301 
5302  useMakeActive_ = value.getNumber();
5303  onChanged();
5304  return this;
5305  }
5321 
5322  useMakeActive_ = 0;
5323  onChanged();
5324  return this;
5325  }
5326 
5327  private int useRelocateAndMakeActive_ = 0;
5345  @java.lang.Override public int getUseRelocateAndMakeActiveValue() {
5346  return useRelocateAndMakeActive_;
5347  }
5367 
5368  useRelocateAndMakeActive_ = value;
5369  onChanged();
5370  return this;
5371  }
5389  @java.lang.Override
5391  @SuppressWarnings("deprecation")
5392  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateAndMakeActive_);
5393  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5394  }
5414  if (value == null) {
5415  throw new NullPointerException();
5416  }
5417 
5418  useRelocateAndMakeActive_ = value.getNumber();
5419  onChanged();
5420  return this;
5421  }
5440 
5441  useRelocateAndMakeActive_ = 0;
5442  onChanged();
5443  return this;
5444  }
5445 
5446  private int useMakeInactive_ = 0;
5459  @java.lang.Override public int getUseMakeInactiveValue() {
5460  return useMakeInactive_;
5461  }
5475  public Builder setUseMakeInactiveValue(int value) {
5476 
5477  useMakeInactive_ = value;
5478  onChanged();
5479  return this;
5480  }
5493  @java.lang.Override
5495  @SuppressWarnings("deprecation")
5497  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5498  }
5513  if (value == null) {
5514  throw new NullPointerException();
5515  }
5516 
5517  useMakeInactive_ = value.getNumber();
5518  onChanged();
5519  return this;
5520  }
5534 
5535  useMakeInactive_ = 0;
5536  onChanged();
5537  return this;
5538  }
5539 
5540  private int useMakeChainInactive_ = 0;
5554  @java.lang.Override public int getUseMakeChainInactiveValue() {
5555  return useMakeChainInactive_;
5556  }
5572 
5573  useMakeChainInactive_ = value;
5574  onChanged();
5575  return this;
5576  }
5590  @java.lang.Override
5592  @SuppressWarnings("deprecation")
5594  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5595  }
5611  if (value == null) {
5612  throw new NullPointerException();
5613  }
5614 
5615  useMakeChainInactive_ = value.getNumber();
5616  onChanged();
5617  return this;
5618  }
5633 
5634  useMakeChainInactive_ = 0;
5635  onChanged();
5636  return this;
5637  }
5638 
5639  private int useSwapActive_ = 0;
5652  @java.lang.Override public int getUseSwapActiveValue() {
5653  return useSwapActive_;
5654  }
5668  public Builder setUseSwapActiveValue(int value) {
5669 
5670  useSwapActive_ = value;
5671  onChanged();
5672  return this;
5673  }
5686  @java.lang.Override
5688  @SuppressWarnings("deprecation")
5690  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5691  }
5706  if (value == null) {
5707  throw new NullPointerException();
5708  }
5709 
5710  useSwapActive_ = value.getNumber();
5711  onChanged();
5712  return this;
5713  }
5727 
5728  useSwapActive_ = 0;
5729  onChanged();
5730  return this;
5731  }
5732 
5733  private int useExtendedSwapActive_ = 0;
5751  @java.lang.Override public int getUseExtendedSwapActiveValue() {
5752  return useExtendedSwapActive_;
5753  }
5773 
5774  useExtendedSwapActive_ = value;
5775  onChanged();
5776  return this;
5777  }
5795  @java.lang.Override
5797  @SuppressWarnings("deprecation")
5798  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useExtendedSwapActive_);
5799  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5800  }
5820  if (value == null) {
5821  throw new NullPointerException();
5822  }
5823 
5824  useExtendedSwapActive_ = value.getNumber();
5825  onChanged();
5826  return this;
5827  }
5846 
5847  useExtendedSwapActive_ = 0;
5848  onChanged();
5849  return this;
5850  }
5851 
5852  private int useNodePairSwapActive_ = 0;
5871  @java.lang.Override public int getUseNodePairSwapActiveValue() {
5872  return useNodePairSwapActive_;
5873  }
5894 
5895  useNodePairSwapActive_ = value;
5896  onChanged();
5897  return this;
5898  }
5917  @java.lang.Override
5919  @SuppressWarnings("deprecation")
5920  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useNodePairSwapActive_);
5921  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5922  }
5943  if (value == null) {
5944  throw new NullPointerException();
5945  }
5946 
5947  useNodePairSwapActive_ = value.getNumber();
5948  onChanged();
5949  return this;
5950  }
5970 
5971  useNodePairSwapActive_ = 0;
5972  onChanged();
5973  return this;
5974  }
5975 
5976  private int usePathLns_ = 0;
5992  @java.lang.Override public int getUsePathLnsValue() {
5993  return usePathLns_;
5994  }
6011  public Builder setUsePathLnsValue(int value) {
6012 
6013  usePathLns_ = value;
6014  onChanged();
6015  return this;
6016  }
6032  @java.lang.Override
6034  @SuppressWarnings("deprecation")
6036  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6037  }
6055  if (value == null) {
6056  throw new NullPointerException();
6057  }
6058 
6059  usePathLns_ = value.getNumber();
6060  onChanged();
6061  return this;
6062  }
6079 
6080  usePathLns_ = 0;
6081  onChanged();
6082  return this;
6083  }
6084 
6085  private int useFullPathLns_ = 0;
6094  @java.lang.Override public int getUseFullPathLnsValue() {
6095  return useFullPathLns_;
6096  }
6106  public Builder setUseFullPathLnsValue(int value) {
6107 
6108  useFullPathLns_ = value;
6109  onChanged();
6110  return this;
6111  }
6120  @java.lang.Override
6122  @SuppressWarnings("deprecation")
6124  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6125  }
6136  if (value == null) {
6137  throw new NullPointerException();
6138  }
6139 
6140  useFullPathLns_ = value.getNumber();
6141  onChanged();
6142  return this;
6143  }
6153 
6154  useFullPathLns_ = 0;
6155  onChanged();
6156  return this;
6157  }
6158 
6159  private int useTspLns_ = 0;
6173  @java.lang.Override public int getUseTspLnsValue() {
6174  return useTspLns_;
6175  }
6190  public Builder setUseTspLnsValue(int value) {
6191 
6192  useTspLns_ = value;
6193  onChanged();
6194  return this;
6195  }
6209  @java.lang.Override
6211  @SuppressWarnings("deprecation")
6213  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6214  }
6230  if (value == null) {
6231  throw new NullPointerException();
6232  }
6233 
6234  useTspLns_ = value.getNumber();
6235  onChanged();
6236  return this;
6237  }
6252 
6253  useTspLns_ = 0;
6254  onChanged();
6255  return this;
6256  }
6257 
6258  private int useInactiveLns_ = 0;
6269  @java.lang.Override public int getUseInactiveLnsValue() {
6270  return useInactiveLns_;
6271  }
6283  public Builder setUseInactiveLnsValue(int value) {
6284 
6285  useInactiveLns_ = value;
6286  onChanged();
6287  return this;
6288  }
6299  @java.lang.Override
6301  @SuppressWarnings("deprecation")
6303  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6304  }
6317  if (value == null) {
6318  throw new NullPointerException();
6319  }
6320 
6321  useInactiveLns_ = value.getNumber();
6322  onChanged();
6323  return this;
6324  }
6336 
6337  useInactiveLns_ = 0;
6338  onChanged();
6339  return this;
6340  }
6341 
6342  private int useGlobalCheapestInsertionPathLns_ = 0;
6353  @java.lang.Override public int getUseGlobalCheapestInsertionPathLnsValue() {
6354  return useGlobalCheapestInsertionPathLns_;
6355  }
6368 
6369  useGlobalCheapestInsertionPathLns_ = value;
6370  onChanged();
6371  return this;
6372  }
6383  @java.lang.Override
6385  @SuppressWarnings("deprecation")
6386  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionPathLns_);
6387  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6388  }
6401  if (value == null) {
6402  throw new NullPointerException();
6403  }
6404 
6405  useGlobalCheapestInsertionPathLns_ = value.getNumber();
6406  onChanged();
6407  return this;
6408  }
6420 
6421  useGlobalCheapestInsertionPathLns_ = 0;
6422  onChanged();
6423  return this;
6424  }
6425 
6426  private int useLocalCheapestInsertionPathLns_ = 0;
6435  @java.lang.Override public int getUseLocalCheapestInsertionPathLnsValue() {
6436  return useLocalCheapestInsertionPathLns_;
6437  }
6448 
6449  useLocalCheapestInsertionPathLns_ = value;
6450  onChanged();
6451  return this;
6452  }
6461  @java.lang.Override
6463  @SuppressWarnings("deprecation")
6464  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionPathLns_);
6465  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6466  }
6477  if (value == null) {
6478  throw new NullPointerException();
6479  }
6480 
6481  useLocalCheapestInsertionPathLns_ = value.getNumber();
6482  onChanged();
6483  return this;
6484  }
6494 
6495  useLocalCheapestInsertionPathLns_ = 0;
6496  onChanged();
6497  return this;
6498  }
6499 
6500  private int useGlobalCheapestInsertionExpensiveChainLns_ = 0;
6512  @java.lang.Override public int getUseGlobalCheapestInsertionExpensiveChainLnsValue() {
6513  return useGlobalCheapestInsertionExpensiveChainLns_;
6514  }
6528 
6529  useGlobalCheapestInsertionExpensiveChainLns_ = value;
6530  onChanged();
6531  return this;
6532  }
6544  @java.lang.Override
6546  @SuppressWarnings("deprecation")
6547  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionExpensiveChainLns_);
6548  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6549  }
6563  if (value == null) {
6564  throw new NullPointerException();
6565  }
6566 
6567  useGlobalCheapestInsertionExpensiveChainLns_ = value.getNumber();
6568  onChanged();
6569  return this;
6570  }
6583 
6584  useGlobalCheapestInsertionExpensiveChainLns_ = 0;
6585  onChanged();
6586  return this;
6587  }
6588 
6589  private int useLocalCheapestInsertionExpensiveChainLns_ = 0;
6599  @java.lang.Override public int getUseLocalCheapestInsertionExpensiveChainLnsValue() {
6600  return useLocalCheapestInsertionExpensiveChainLns_;
6601  }
6613 
6614  useLocalCheapestInsertionExpensiveChainLns_ = value;
6615  onChanged();
6616  return this;
6617  }
6627  @java.lang.Override
6629  @SuppressWarnings("deprecation")
6630  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionExpensiveChainLns_);
6631  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6632  }
6644  if (value == null) {
6645  throw new NullPointerException();
6646  }
6647 
6648  useLocalCheapestInsertionExpensiveChainLns_ = value.getNumber();
6649  onChanged();
6650  return this;
6651  }
6662 
6663  useLocalCheapestInsertionExpensiveChainLns_ = 0;
6664  onChanged();
6665  return this;
6666  }
6667  @java.lang.Override
6669  final com.google.protobuf.UnknownFieldSet unknownFields) {
6670  return super.setUnknownFields(unknownFields);
6671  }
6672 
6673  @java.lang.Override
6675  final com.google.protobuf.UnknownFieldSet unknownFields) {
6676  return super.mergeUnknownFields(unknownFields);
6677  }
6678 
6679 
6680  // @@protoc_insertion_point(builder_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
6681  }
6682 
6683  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
6685  static {
6687  }
6688 
6690  return DEFAULT_INSTANCE;
6691  }
6692 
6693  private static final com.google.protobuf.Parser<LocalSearchNeighborhoodOperators>
6694  PARSER = new com.google.protobuf.AbstractParser<LocalSearchNeighborhoodOperators>() {
6695  @java.lang.Override
6696  public LocalSearchNeighborhoodOperators parsePartialFrom(
6697  com.google.protobuf.CodedInputStream input,
6698  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6699  throws com.google.protobuf.InvalidProtocolBufferException {
6700  return new LocalSearchNeighborhoodOperators(input, extensionRegistry);
6701  }
6702  };
6703 
6704  public static com.google.protobuf.Parser<LocalSearchNeighborhoodOperators> parser() {
6705  return PARSER;
6706  }
6707 
6708  @java.lang.Override
6710  return PARSER;
6711  }
6712 
6713  @java.lang.Override
6715  return DEFAULT_INSTANCE;
6716  }
6717 
6718  }
6719 
6720  public static final int FIRST_SOLUTION_STRATEGY_FIELD_NUMBER = 1;
6721  private int firstSolutionStrategy_;
6730  @java.lang.Override public int getFirstSolutionStrategyValue() {
6731  return firstSolutionStrategy_;
6732  }
6742  @SuppressWarnings("deprecation")
6744  return result == null ? com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNRECOGNIZED : result;
6745  }
6746 
6748  private boolean useUnfilteredFirstSolutionStrategy_;
6759  @java.lang.Override
6761  return useUnfilteredFirstSolutionStrategy_;
6762  }
6763 
6764  public static final int SAVINGS_NEIGHBORS_RATIO_FIELD_NUMBER = 14;
6765  private double savingsNeighborsRatio_;
6776  @java.lang.Override
6777  public double getSavingsNeighborsRatio() {
6778  return savingsNeighborsRatio_;
6779  }
6780 
6781  public static final int SAVINGS_MAX_MEMORY_USAGE_BYTES_FIELD_NUMBER = 23;
6782  private double savingsMaxMemoryUsageBytes_;
6796  @java.lang.Override
6798  return savingsMaxMemoryUsageBytes_;
6799  }
6800 
6801  public static final int SAVINGS_ADD_REVERSE_ARCS_FIELD_NUMBER = 15;
6802  private boolean savingsAddReverseArcs_;
6812  @java.lang.Override
6813  public boolean getSavingsAddReverseArcs() {
6814  return savingsAddReverseArcs_;
6815  }
6816 
6817  public static final int SAVINGS_ARC_COEFFICIENT_FIELD_NUMBER = 18;
6818  private double savingsArcCoefficient_;
6831  @java.lang.Override
6832  public double getSavingsArcCoefficient() {
6833  return savingsArcCoefficient_;
6834  }
6835 
6836  public static final int SAVINGS_PARALLEL_ROUTES_FIELD_NUMBER = 19;
6837  private boolean savingsParallelRoutes_;
6846  @java.lang.Override
6847  public boolean getSavingsParallelRoutes() {
6848  return savingsParallelRoutes_;
6849  }
6850 
6852  private double cheapestInsertionFarthestSeedsRatio_;
6863  @java.lang.Override
6865  return cheapestInsertionFarthestSeedsRatio_;
6866  }
6867 
6869  private double cheapestInsertionFirstSolutionNeighborsRatio_;
6882  @java.lang.Override
6884  return cheapestInsertionFirstSolutionNeighborsRatio_;
6885  }
6886 
6888  private double cheapestInsertionLsOperatorNeighborsRatio_;
6899  @java.lang.Override
6901  return cheapestInsertionLsOperatorNeighborsRatio_;
6902  }
6903 
6905  private boolean christofidesUseMinimumMatching_;
6915  @java.lang.Override
6917  return christofidesUseMinimumMatching_;
6918  }
6919 
6920  public static final int LOCAL_SEARCH_OPERATORS_FIELD_NUMBER = 3;
6926  @java.lang.Override
6927  public boolean hasLocalSearchOperators() {
6928  return localSearchOperators_ != null;
6929  }
6934  @java.lang.Override
6936  return localSearchOperators_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
6937  }
6941  @java.lang.Override
6943  return getLocalSearchOperators();
6944  }
6945 
6947  private int relocateExpensiveChainNumArcsToConsider_;
6962  @java.lang.Override
6964  return relocateExpensiveChainNumArcsToConsider_;
6965  }
6966 
6968  private int heuristicExpensiveChainLnsNumArcsToConsider_;
6978  @java.lang.Override
6980  return heuristicExpensiveChainLnsNumArcsToConsider_;
6981  }
6982 
6983  public static final int LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER = 4;
6984  private int localSearchMetaheuristic_;
6993  @java.lang.Override public int getLocalSearchMetaheuristicValue() {
6994  return localSearchMetaheuristic_;
6995  }
7005  @SuppressWarnings("deprecation")
7008  }
7009 
7011  private double guidedLocalSearchLambdaCoefficient_;
7023  @java.lang.Override
7025  return guidedLocalSearchLambdaCoefficient_;
7026  }
7027 
7028  public static final int USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER = 6;
7029  private boolean useDepthFirstSearch_;
7040  @java.lang.Override
7041  public boolean getUseDepthFirstSearch() {
7042  return useDepthFirstSearch_;
7043  }
7044 
7045  public static final int USE_CP_FIELD_NUMBER = 28;
7046  private int useCp_;
7057  @java.lang.Override public int getUseCpValue() {
7058  return useCp_;
7059  }
7070  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseCp() {
7071  @SuppressWarnings("deprecation")
7073  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7074  }
7075 
7076  public static final int USE_CP_SAT_FIELD_NUMBER = 27;
7077  private int useCpSat_;
7089  @java.lang.Override public int getUseCpSatValue() {
7090  return useCpSat_;
7091  }
7103  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseCpSat() {
7104  @SuppressWarnings("deprecation")
7106  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7107  }
7108 
7109  public static final int CONTINUOUS_SCHEDULING_SOLVER_FIELD_NUMBER = 33;
7110  private int continuousSchedulingSolver_;
7115  @java.lang.Override public int getContinuousSchedulingSolverValue() {
7116  return continuousSchedulingSolver_;
7117  }
7123  @SuppressWarnings("deprecation")
7126  }
7127 
7128  public static final int MIXED_INTEGER_SCHEDULING_SOLVER_FIELD_NUMBER = 34;
7129  private int mixedIntegerSchedulingSolver_;
7134  @java.lang.Override public int getMixedIntegerSchedulingSolverValue() {
7135  return mixedIntegerSchedulingSolver_;
7136  }
7142  @SuppressWarnings("deprecation")
7145  }
7146 
7147  public static final int OPTIMIZATION_STEP_FIELD_NUMBER = 7;
7148  private double optimizationStep_;
7159  @java.lang.Override
7160  public double getOptimizationStep() {
7161  return optimizationStep_;
7162  }
7163 
7164  public static final int NUMBER_OF_SOLUTIONS_TO_COLLECT_FIELD_NUMBER = 17;
7165  private int numberOfSolutionsToCollect_;
7175  @java.lang.Override
7177  return numberOfSolutionsToCollect_;
7178  }
7179 
7180  public static final int SOLUTION_LIMIT_FIELD_NUMBER = 8;
7181  private long solutionLimit_;
7192  @java.lang.Override
7193  public long getSolutionLimit() {
7194  return solutionLimit_;
7195  }
7196 
7197  public static final int TIME_LIMIT_FIELD_NUMBER = 9;
7198  private com.google.protobuf.Duration timeLimit_;
7207  @java.lang.Override
7208  public boolean hasTimeLimit() {
7209  return timeLimit_ != null;
7210  }
7219  @java.lang.Override
7220  public com.google.protobuf.Duration getTimeLimit() {
7221  return timeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
7222  }
7230  @java.lang.Override
7231  public com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder() {
7232  return getTimeLimit();
7233  }
7234 
7235  public static final int LNS_TIME_LIMIT_FIELD_NUMBER = 10;
7236  private com.google.protobuf.Duration lnsTimeLimit_;
7246  @java.lang.Override
7247  public boolean hasLnsTimeLimit() {
7248  return lnsTimeLimit_ != null;
7249  }
7259  @java.lang.Override
7260  public com.google.protobuf.Duration getLnsTimeLimit() {
7261  return lnsTimeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
7262  }
7271  @java.lang.Override
7272  public com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder() {
7273  return getLnsTimeLimit();
7274  }
7275 
7276  public static final int USE_FULL_PROPAGATION_FIELD_NUMBER = 11;
7277  private boolean useFullPropagation_;
7294  @java.lang.Override
7295  public boolean getUseFullPropagation() {
7296  return useFullPropagation_;
7297  }
7298 
7299  public static final int LOG_SEARCH_FIELD_NUMBER = 13;
7300  private boolean logSearch_;
7320  @java.lang.Override
7321  public boolean getLogSearch() {
7322  return logSearch_;
7323  }
7324 
7325  public static final int LOG_COST_SCALING_FACTOR_FIELD_NUMBER = 22;
7326  private double logCostScalingFactor_;
7336  @java.lang.Override
7337  public double getLogCostScalingFactor() {
7338  return logCostScalingFactor_;
7339  }
7340 
7341  public static final int LOG_COST_OFFSET_FIELD_NUMBER = 29;
7342  private double logCostOffset_;
7347  @java.lang.Override
7348  public double getLogCostOffset() {
7349  return logCostOffset_;
7350  }
7351 
7352  private byte memoizedIsInitialized = -1;
7353  @java.lang.Override
7354  public final boolean isInitialized() {
7355  byte isInitialized = memoizedIsInitialized;
7356  if (isInitialized == 1) return true;
7357  if (isInitialized == 0) return false;
7358 
7359  memoizedIsInitialized = 1;
7360  return true;
7361  }
7362 
7363  @java.lang.Override
7364  public void writeTo(com.google.protobuf.CodedOutputStream output)
7365  throws java.io.IOException {
7366  if (firstSolutionStrategy_ != com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNSET.getNumber()) {
7367  output.writeEnum(1, firstSolutionStrategy_);
7368  }
7369  if (useUnfilteredFirstSolutionStrategy_ != false) {
7370  output.writeBool(2, useUnfilteredFirstSolutionStrategy_);
7371  }
7372  if (localSearchOperators_ != null) {
7373  output.writeMessage(3, getLocalSearchOperators());
7374  }
7375  if (localSearchMetaheuristic_ != com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNSET.getNumber()) {
7376  output.writeEnum(4, localSearchMetaheuristic_);
7377  }
7378  if (guidedLocalSearchLambdaCoefficient_ != 0D) {
7379  output.writeDouble(5, guidedLocalSearchLambdaCoefficient_);
7380  }
7381  if (useDepthFirstSearch_ != false) {
7382  output.writeBool(6, useDepthFirstSearch_);
7383  }
7384  if (optimizationStep_ != 0D) {
7385  output.writeDouble(7, optimizationStep_);
7386  }
7387  if (solutionLimit_ != 0L) {
7388  output.writeInt64(8, solutionLimit_);
7389  }
7390  if (timeLimit_ != null) {
7391  output.writeMessage(9, getTimeLimit());
7392  }
7393  if (lnsTimeLimit_ != null) {
7394  output.writeMessage(10, getLnsTimeLimit());
7395  }
7396  if (useFullPropagation_ != false) {
7397  output.writeBool(11, useFullPropagation_);
7398  }
7399  if (logSearch_ != false) {
7400  output.writeBool(13, logSearch_);
7401  }
7402  if (savingsNeighborsRatio_ != 0D) {
7403  output.writeDouble(14, savingsNeighborsRatio_);
7404  }
7405  if (savingsAddReverseArcs_ != false) {
7406  output.writeBool(15, savingsAddReverseArcs_);
7407  }
7408  if (cheapestInsertionFarthestSeedsRatio_ != 0D) {
7409  output.writeDouble(16, cheapestInsertionFarthestSeedsRatio_);
7410  }
7411  if (numberOfSolutionsToCollect_ != 0) {
7412  output.writeInt32(17, numberOfSolutionsToCollect_);
7413  }
7414  if (savingsArcCoefficient_ != 0D) {
7415  output.writeDouble(18, savingsArcCoefficient_);
7416  }
7417  if (savingsParallelRoutes_ != false) {
7418  output.writeBool(19, savingsParallelRoutes_);
7419  }
7420  if (relocateExpensiveChainNumArcsToConsider_ != 0) {
7421  output.writeInt32(20, relocateExpensiveChainNumArcsToConsider_);
7422  }
7423  if (cheapestInsertionFirstSolutionNeighborsRatio_ != 0D) {
7424  output.writeDouble(21, cheapestInsertionFirstSolutionNeighborsRatio_);
7425  }
7426  if (logCostScalingFactor_ != 0D) {
7427  output.writeDouble(22, logCostScalingFactor_);
7428  }
7429  if (savingsMaxMemoryUsageBytes_ != 0D) {
7430  output.writeDouble(23, savingsMaxMemoryUsageBytes_);
7431  }
7432  if (useCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
7433  output.writeEnum(27, useCpSat_);
7434  }
7435  if (useCp_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
7436  output.writeEnum(28, useCp_);
7437  }
7438  if (logCostOffset_ != 0D) {
7439  output.writeDouble(29, logCostOffset_);
7440  }
7441  if (christofidesUseMinimumMatching_ != false) {
7442  output.writeBool(30, christofidesUseMinimumMatching_);
7443  }
7444  if (cheapestInsertionLsOperatorNeighborsRatio_ != 0D) {
7445  output.writeDouble(31, cheapestInsertionLsOperatorNeighborsRatio_);
7446  }
7447  if (heuristicExpensiveChainLnsNumArcsToConsider_ != 0) {
7448  output.writeInt32(32, heuristicExpensiveChainLnsNumArcsToConsider_);
7449  }
7450  if (continuousSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNSET.getNumber()) {
7451  output.writeEnum(33, continuousSchedulingSolver_);
7452  }
7453  if (mixedIntegerSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNSET.getNumber()) {
7454  output.writeEnum(34, mixedIntegerSchedulingSolver_);
7455  }
7456  unknownFields.writeTo(output);
7457  }
7458 
7459  @java.lang.Override
7460  public int getSerializedSize() {
7461  int size = memoizedSize;
7462  if (size != -1) return size;
7463 
7464  size = 0;
7465  if (firstSolutionStrategy_ != com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNSET.getNumber()) {
7466  size += com.google.protobuf.CodedOutputStream
7467  .computeEnumSize(1, firstSolutionStrategy_);
7468  }
7469  if (useUnfilteredFirstSolutionStrategy_ != false) {
7470  size += com.google.protobuf.CodedOutputStream
7471  .computeBoolSize(2, useUnfilteredFirstSolutionStrategy_);
7472  }
7473  if (localSearchOperators_ != null) {
7474  size += com.google.protobuf.CodedOutputStream
7475  .computeMessageSize(3, getLocalSearchOperators());
7476  }
7477  if (localSearchMetaheuristic_ != com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNSET.getNumber()) {
7478  size += com.google.protobuf.CodedOutputStream
7479  .computeEnumSize(4, localSearchMetaheuristic_);
7480  }
7481  if (guidedLocalSearchLambdaCoefficient_ != 0D) {
7482  size += com.google.protobuf.CodedOutputStream
7483  .computeDoubleSize(5, guidedLocalSearchLambdaCoefficient_);
7484  }
7485  if (useDepthFirstSearch_ != false) {
7486  size += com.google.protobuf.CodedOutputStream
7487  .computeBoolSize(6, useDepthFirstSearch_);
7488  }
7489  if (optimizationStep_ != 0D) {
7490  size += com.google.protobuf.CodedOutputStream
7491  .computeDoubleSize(7, optimizationStep_);
7492  }
7493  if (solutionLimit_ != 0L) {
7494  size += com.google.protobuf.CodedOutputStream
7495  .computeInt64Size(8, solutionLimit_);
7496  }
7497  if (timeLimit_ != null) {
7498  size += com.google.protobuf.CodedOutputStream
7499  .computeMessageSize(9, getTimeLimit());
7500  }
7501  if (lnsTimeLimit_ != null) {
7502  size += com.google.protobuf.CodedOutputStream
7503  .computeMessageSize(10, getLnsTimeLimit());
7504  }
7505  if (useFullPropagation_ != false) {
7506  size += com.google.protobuf.CodedOutputStream
7507  .computeBoolSize(11, useFullPropagation_);
7508  }
7509  if (logSearch_ != false) {
7510  size += com.google.protobuf.CodedOutputStream
7511  .computeBoolSize(13, logSearch_);
7512  }
7513  if (savingsNeighborsRatio_ != 0D) {
7514  size += com.google.protobuf.CodedOutputStream
7515  .computeDoubleSize(14, savingsNeighborsRatio_);
7516  }
7517  if (savingsAddReverseArcs_ != false) {
7518  size += com.google.protobuf.CodedOutputStream
7519  .computeBoolSize(15, savingsAddReverseArcs_);
7520  }
7521  if (cheapestInsertionFarthestSeedsRatio_ != 0D) {
7522  size += com.google.protobuf.CodedOutputStream
7523  .computeDoubleSize(16, cheapestInsertionFarthestSeedsRatio_);
7524  }
7525  if (numberOfSolutionsToCollect_ != 0) {
7526  size += com.google.protobuf.CodedOutputStream
7527  .computeInt32Size(17, numberOfSolutionsToCollect_);
7528  }
7529  if (savingsArcCoefficient_ != 0D) {
7530  size += com.google.protobuf.CodedOutputStream
7531  .computeDoubleSize(18, savingsArcCoefficient_);
7532  }
7533  if (savingsParallelRoutes_ != false) {
7534  size += com.google.protobuf.CodedOutputStream
7535  .computeBoolSize(19, savingsParallelRoutes_);
7536  }
7537  if (relocateExpensiveChainNumArcsToConsider_ != 0) {
7538  size += com.google.protobuf.CodedOutputStream
7539  .computeInt32Size(20, relocateExpensiveChainNumArcsToConsider_);
7540  }
7541  if (cheapestInsertionFirstSolutionNeighborsRatio_ != 0D) {
7542  size += com.google.protobuf.CodedOutputStream
7543  .computeDoubleSize(21, cheapestInsertionFirstSolutionNeighborsRatio_);
7544  }
7545  if (logCostScalingFactor_ != 0D) {
7546  size += com.google.protobuf.CodedOutputStream
7547  .computeDoubleSize(22, logCostScalingFactor_);
7548  }
7549  if (savingsMaxMemoryUsageBytes_ != 0D) {
7550  size += com.google.protobuf.CodedOutputStream
7551  .computeDoubleSize(23, savingsMaxMemoryUsageBytes_);
7552  }
7553  if (useCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
7554  size += com.google.protobuf.CodedOutputStream
7555  .computeEnumSize(27, useCpSat_);
7556  }
7557  if (useCp_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
7558  size += com.google.protobuf.CodedOutputStream
7559  .computeEnumSize(28, useCp_);
7560  }
7561  if (logCostOffset_ != 0D) {
7562  size += com.google.protobuf.CodedOutputStream
7563  .computeDoubleSize(29, logCostOffset_);
7564  }
7565  if (christofidesUseMinimumMatching_ != false) {
7566  size += com.google.protobuf.CodedOutputStream
7567  .computeBoolSize(30, christofidesUseMinimumMatching_);
7568  }
7569  if (cheapestInsertionLsOperatorNeighborsRatio_ != 0D) {
7570  size += com.google.protobuf.CodedOutputStream
7571  .computeDoubleSize(31, cheapestInsertionLsOperatorNeighborsRatio_);
7572  }
7573  if (heuristicExpensiveChainLnsNumArcsToConsider_ != 0) {
7574  size += com.google.protobuf.CodedOutputStream
7575  .computeInt32Size(32, heuristicExpensiveChainLnsNumArcsToConsider_);
7576  }
7577  if (continuousSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNSET.getNumber()) {
7578  size += com.google.protobuf.CodedOutputStream
7579  .computeEnumSize(33, continuousSchedulingSolver_);
7580  }
7581  if (mixedIntegerSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNSET.getNumber()) {
7582  size += com.google.protobuf.CodedOutputStream
7583  .computeEnumSize(34, mixedIntegerSchedulingSolver_);
7584  }
7585  size += unknownFields.getSerializedSize();
7586  memoizedSize = size;
7587  return size;
7588  }
7589 
7590  @java.lang.Override
7591  public boolean equals(final java.lang.Object obj) {
7592  if (obj == this) {
7593  return true;
7594  }
7595  if (!(obj instanceof com.google.ortools.constraintsolver.RoutingSearchParameters)) {
7596  return super.equals(obj);
7597  }
7599 
7600  if (firstSolutionStrategy_ != other.firstSolutionStrategy_) return false;
7602  != other.getUseUnfilteredFirstSolutionStrategy()) return false;
7603  if (java.lang.Double.doubleToLongBits(getSavingsNeighborsRatio())
7604  != java.lang.Double.doubleToLongBits(
7605  other.getSavingsNeighborsRatio())) return false;
7606  if (java.lang.Double.doubleToLongBits(getSavingsMaxMemoryUsageBytes())
7607  != java.lang.Double.doubleToLongBits(
7608  other.getSavingsMaxMemoryUsageBytes())) return false;
7610  != other.getSavingsAddReverseArcs()) return false;
7611  if (java.lang.Double.doubleToLongBits(getSavingsArcCoefficient())
7612  != java.lang.Double.doubleToLongBits(
7613  other.getSavingsArcCoefficient())) return false;
7615  != other.getSavingsParallelRoutes()) return false;
7616  if (java.lang.Double.doubleToLongBits(getCheapestInsertionFarthestSeedsRatio())
7617  != java.lang.Double.doubleToLongBits(
7618  other.getCheapestInsertionFarthestSeedsRatio())) return false;
7619  if (java.lang.Double.doubleToLongBits(getCheapestInsertionFirstSolutionNeighborsRatio())
7620  != java.lang.Double.doubleToLongBits(
7621  other.getCheapestInsertionFirstSolutionNeighborsRatio())) return false;
7622  if (java.lang.Double.doubleToLongBits(getCheapestInsertionLsOperatorNeighborsRatio())
7623  != java.lang.Double.doubleToLongBits(
7624  other.getCheapestInsertionLsOperatorNeighborsRatio())) return false;
7626  != other.getChristofidesUseMinimumMatching()) return false;
7627  if (hasLocalSearchOperators() != other.hasLocalSearchOperators()) return false;
7628  if (hasLocalSearchOperators()) {
7630  .equals(other.getLocalSearchOperators())) return false;
7631  }
7633  != other.getRelocateExpensiveChainNumArcsToConsider()) return false;
7635  != other.getHeuristicExpensiveChainLnsNumArcsToConsider()) return false;
7636  if (localSearchMetaheuristic_ != other.localSearchMetaheuristic_) return false;
7637  if (java.lang.Double.doubleToLongBits(getGuidedLocalSearchLambdaCoefficient())
7638  != java.lang.Double.doubleToLongBits(
7639  other.getGuidedLocalSearchLambdaCoefficient())) return false;
7641  != other.getUseDepthFirstSearch()) return false;
7642  if (useCp_ != other.useCp_) return false;
7643  if (useCpSat_ != other.useCpSat_) return false;
7644  if (continuousSchedulingSolver_ != other.continuousSchedulingSolver_) return false;
7645  if (mixedIntegerSchedulingSolver_ != other.mixedIntegerSchedulingSolver_) return false;
7646  if (java.lang.Double.doubleToLongBits(getOptimizationStep())
7647  != java.lang.Double.doubleToLongBits(
7648  other.getOptimizationStep())) return false;
7650  != other.getNumberOfSolutionsToCollect()) return false;
7651  if (getSolutionLimit()
7652  != other.getSolutionLimit()) return false;
7653  if (hasTimeLimit() != other.hasTimeLimit()) return false;
7654  if (hasTimeLimit()) {
7655  if (!getTimeLimit()
7656  .equals(other.getTimeLimit())) return false;
7657  }
7658  if (hasLnsTimeLimit() != other.hasLnsTimeLimit()) return false;
7659  if (hasLnsTimeLimit()) {
7660  if (!getLnsTimeLimit()
7661  .equals(other.getLnsTimeLimit())) return false;
7662  }
7663  if (getUseFullPropagation()
7664  != other.getUseFullPropagation()) return false;
7665  if (getLogSearch()
7666  != other.getLogSearch()) return false;
7667  if (java.lang.Double.doubleToLongBits(getLogCostScalingFactor())
7668  != java.lang.Double.doubleToLongBits(
7669  other.getLogCostScalingFactor())) return false;
7670  if (java.lang.Double.doubleToLongBits(getLogCostOffset())
7671  != java.lang.Double.doubleToLongBits(
7672  other.getLogCostOffset())) return false;
7673  if (!unknownFields.equals(other.unknownFields)) return false;
7674  return true;
7675  }
7676 
7677  @java.lang.Override
7678  public int hashCode() {
7679  if (memoizedHashCode != 0) {
7680  return memoizedHashCode;
7681  }
7682  int hash = 41;
7683  hash = (19 * hash) + getDescriptor().hashCode();
7684  hash = (37 * hash) + FIRST_SOLUTION_STRATEGY_FIELD_NUMBER;
7685  hash = (53 * hash) + firstSolutionStrategy_;
7687  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
7689  hash = (37 * hash) + SAVINGS_NEIGHBORS_RATIO_FIELD_NUMBER;
7690  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7691  java.lang.Double.doubleToLongBits(getSavingsNeighborsRatio()));
7692  hash = (37 * hash) + SAVINGS_MAX_MEMORY_USAGE_BYTES_FIELD_NUMBER;
7693  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7694  java.lang.Double.doubleToLongBits(getSavingsMaxMemoryUsageBytes()));
7695  hash = (37 * hash) + SAVINGS_ADD_REVERSE_ARCS_FIELD_NUMBER;
7696  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
7698  hash = (37 * hash) + SAVINGS_ARC_COEFFICIENT_FIELD_NUMBER;
7699  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7700  java.lang.Double.doubleToLongBits(getSavingsArcCoefficient()));
7701  hash = (37 * hash) + SAVINGS_PARALLEL_ROUTES_FIELD_NUMBER;
7702  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
7705  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7706  java.lang.Double.doubleToLongBits(getCheapestInsertionFarthestSeedsRatio()));
7708  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7709  java.lang.Double.doubleToLongBits(getCheapestInsertionFirstSolutionNeighborsRatio()));
7711  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7712  java.lang.Double.doubleToLongBits(getCheapestInsertionLsOperatorNeighborsRatio()));
7714  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
7716  if (hasLocalSearchOperators()) {
7717  hash = (37 * hash) + LOCAL_SEARCH_OPERATORS_FIELD_NUMBER;
7718  hash = (53 * hash) + getLocalSearchOperators().hashCode();
7719  }
7721  hash = (53 * hash) + getRelocateExpensiveChainNumArcsToConsider();
7723  hash = (53 * hash) + getHeuristicExpensiveChainLnsNumArcsToConsider();
7724  hash = (37 * hash) + LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER;
7725  hash = (53 * hash) + localSearchMetaheuristic_;
7727  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7728  java.lang.Double.doubleToLongBits(getGuidedLocalSearchLambdaCoefficient()));
7729  hash = (37 * hash) + USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER;
7730  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
7732  hash = (37 * hash) + USE_CP_FIELD_NUMBER;
7733  hash = (53 * hash) + useCp_;
7734  hash = (37 * hash) + USE_CP_SAT_FIELD_NUMBER;
7735  hash = (53 * hash) + useCpSat_;
7736  hash = (37 * hash) + CONTINUOUS_SCHEDULING_SOLVER_FIELD_NUMBER;
7737  hash = (53 * hash) + continuousSchedulingSolver_;
7738  hash = (37 * hash) + MIXED_INTEGER_SCHEDULING_SOLVER_FIELD_NUMBER;
7739  hash = (53 * hash) + mixedIntegerSchedulingSolver_;
7740  hash = (37 * hash) + OPTIMIZATION_STEP_FIELD_NUMBER;
7741  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7742  java.lang.Double.doubleToLongBits(getOptimizationStep()));
7743  hash = (37 * hash) + NUMBER_OF_SOLUTIONS_TO_COLLECT_FIELD_NUMBER;
7744  hash = (53 * hash) + getNumberOfSolutionsToCollect();
7745  hash = (37 * hash) + SOLUTION_LIMIT_FIELD_NUMBER;
7746  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7747  getSolutionLimit());
7748  if (hasTimeLimit()) {
7749  hash = (37 * hash) + TIME_LIMIT_FIELD_NUMBER;
7750  hash = (53 * hash) + getTimeLimit().hashCode();
7751  }
7752  if (hasLnsTimeLimit()) {
7753  hash = (37 * hash) + LNS_TIME_LIMIT_FIELD_NUMBER;
7754  hash = (53 * hash) + getLnsTimeLimit().hashCode();
7755  }
7756  hash = (37 * hash) + USE_FULL_PROPAGATION_FIELD_NUMBER;
7757  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
7759  hash = (37 * hash) + LOG_SEARCH_FIELD_NUMBER;
7760  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
7761  getLogSearch());
7762  hash = (37 * hash) + LOG_COST_SCALING_FACTOR_FIELD_NUMBER;
7763  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7764  java.lang.Double.doubleToLongBits(getLogCostScalingFactor()));
7765  hash = (37 * hash) + LOG_COST_OFFSET_FIELD_NUMBER;
7766  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7767  java.lang.Double.doubleToLongBits(getLogCostOffset()));
7768  hash = (29 * hash) + unknownFields.hashCode();
7769  memoizedHashCode = hash;
7770  return hash;
7771  }
7772 
7774  java.nio.ByteBuffer data)
7775  throws com.google.protobuf.InvalidProtocolBufferException {
7776  return PARSER.parseFrom(data);
7777  }
7779  java.nio.ByteBuffer data,
7780  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7781  throws com.google.protobuf.InvalidProtocolBufferException {
7782  return PARSER.parseFrom(data, extensionRegistry);
7783  }
7785  com.google.protobuf.ByteString data)
7786  throws com.google.protobuf.InvalidProtocolBufferException {
7787  return PARSER.parseFrom(data);
7788  }
7790  com.google.protobuf.ByteString data,
7791  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7792  throws com.google.protobuf.InvalidProtocolBufferException {
7793  return PARSER.parseFrom(data, extensionRegistry);
7794  }
7796  throws com.google.protobuf.InvalidProtocolBufferException {
7797  return PARSER.parseFrom(data);
7798  }
7800  byte[] data,
7801  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7802  throws com.google.protobuf.InvalidProtocolBufferException {
7803  return PARSER.parseFrom(data, extensionRegistry);
7804  }
7805  public static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.io.InputStream input)
7806  throws java.io.IOException {
7807  return com.google.protobuf.GeneratedMessageV3
7808  .parseWithIOException(PARSER, input);
7809  }
7811  java.io.InputStream input,
7812  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7813  throws java.io.IOException {
7814  return com.google.protobuf.GeneratedMessageV3
7815  .parseWithIOException(PARSER, input, extensionRegistry);
7816  }
7818  throws java.io.IOException {
7819  return com.google.protobuf.GeneratedMessageV3
7820  .parseDelimitedWithIOException(PARSER, input);
7821  }
7823  java.io.InputStream input,
7824  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7825  throws java.io.IOException {
7826  return com.google.protobuf.GeneratedMessageV3
7827  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
7828  }
7830  com.google.protobuf.CodedInputStream input)
7831  throws java.io.IOException {
7832  return com.google.protobuf.GeneratedMessageV3
7833  .parseWithIOException(PARSER, input);
7834  }
7836  com.google.protobuf.CodedInputStream input,
7837  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7838  throws java.io.IOException {
7839  return com.google.protobuf.GeneratedMessageV3
7840  .parseWithIOException(PARSER, input, extensionRegistry);
7841  }
7842 
7843  @java.lang.Override
7844  public Builder newBuilderForType() { return newBuilder(); }
7845  public static Builder newBuilder() {
7846  return DEFAULT_INSTANCE.toBuilder();
7847  }
7849  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
7850  }
7851  @java.lang.Override
7852  public Builder toBuilder() {
7853  return this == DEFAULT_INSTANCE
7854  ? new Builder() : new Builder().mergeFrom(this);
7855  }
7856 
7857  @java.lang.Override
7859  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
7860  Builder builder = new Builder(parent);
7861  return builder;
7862  }
7875  public static final class Builder extends
7876  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
7877  // @@protoc_insertion_point(builder_implements:operations_research.RoutingSearchParameters)
7878  com.google.ortools.constraintsolver.RoutingSearchParametersOrBuilder {
7879  public static final com.google.protobuf.Descriptors.Descriptor
7881  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
7882  }
7883 
7884  @java.lang.Override
7885  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
7887  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_fieldAccessorTable
7888  .ensureFieldAccessorsInitialized(
7890  }
7891 
7892  // Construct using com.google.ortools.constraintsolver.RoutingSearchParameters.newBuilder()
7893  private Builder() {
7894  maybeForceBuilderInitialization();
7895  }
7896 
7897  private Builder(
7898  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
7899  super(parent);
7900  maybeForceBuilderInitialization();
7901  }
7902  private void maybeForceBuilderInitialization() {
7903  if (com.google.protobuf.GeneratedMessageV3
7904  .alwaysUseFieldBuilders) {
7905  }
7906  }
7907  @java.lang.Override
7908  public Builder clear() {
7909  super.clear();
7910  firstSolutionStrategy_ = 0;
7911 
7912  useUnfilteredFirstSolutionStrategy_ = false;
7913 
7914  savingsNeighborsRatio_ = 0D;
7915 
7916  savingsMaxMemoryUsageBytes_ = 0D;
7917 
7918  savingsAddReverseArcs_ = false;
7919 
7920  savingsArcCoefficient_ = 0D;
7921 
7922  savingsParallelRoutes_ = false;
7923 
7924  cheapestInsertionFarthestSeedsRatio_ = 0D;
7925 
7926  cheapestInsertionFirstSolutionNeighborsRatio_ = 0D;
7927 
7928  cheapestInsertionLsOperatorNeighborsRatio_ = 0D;
7929 
7930  christofidesUseMinimumMatching_ = false;
7931 
7932  if (localSearchOperatorsBuilder_ == null) {
7933  localSearchOperators_ = null;
7934  } else {
7935  localSearchOperators_ = null;
7936  localSearchOperatorsBuilder_ = null;
7937  }
7938  relocateExpensiveChainNumArcsToConsider_ = 0;
7939 
7940  heuristicExpensiveChainLnsNumArcsToConsider_ = 0;
7941 
7942  localSearchMetaheuristic_ = 0;
7943 
7944  guidedLocalSearchLambdaCoefficient_ = 0D;
7945 
7946  useDepthFirstSearch_ = false;
7947 
7948  useCp_ = 0;
7949 
7950  useCpSat_ = 0;
7951 
7952  continuousSchedulingSolver_ = 0;
7953 
7954  mixedIntegerSchedulingSolver_ = 0;
7955 
7956  optimizationStep_ = 0D;
7957 
7958  numberOfSolutionsToCollect_ = 0;
7959 
7960  solutionLimit_ = 0L;
7961 
7962  if (timeLimitBuilder_ == null) {
7963  timeLimit_ = null;
7964  } else {
7965  timeLimit_ = null;
7966  timeLimitBuilder_ = null;
7967  }
7968  if (lnsTimeLimitBuilder_ == null) {
7969  lnsTimeLimit_ = null;
7970  } else {
7971  lnsTimeLimit_ = null;
7972  lnsTimeLimitBuilder_ = null;
7973  }
7974  useFullPropagation_ = false;
7975 
7976  logSearch_ = false;
7977 
7978  logCostScalingFactor_ = 0D;
7979 
7980  logCostOffset_ = 0D;
7981 
7982  return this;
7983  }
7984 
7985  @java.lang.Override
7986  public com.google.protobuf.Descriptors.Descriptor
7988  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
7989  }
7990 
7991  @java.lang.Override
7994  }
7995 
7996  @java.lang.Override
7999  if (!result.isInitialized()) {
8000  throw newUninitializedMessageException(result);
8001  }
8002  return result;
8003  }
8004 
8005  @java.lang.Override
8008  result.firstSolutionStrategy_ = firstSolutionStrategy_;
8009  result.useUnfilteredFirstSolutionStrategy_ = useUnfilteredFirstSolutionStrategy_;
8010  result.savingsNeighborsRatio_ = savingsNeighborsRatio_;
8011  result.savingsMaxMemoryUsageBytes_ = savingsMaxMemoryUsageBytes_;
8012  result.savingsAddReverseArcs_ = savingsAddReverseArcs_;
8013  result.savingsArcCoefficient_ = savingsArcCoefficient_;
8014  result.savingsParallelRoutes_ = savingsParallelRoutes_;
8015  result.cheapestInsertionFarthestSeedsRatio_ = cheapestInsertionFarthestSeedsRatio_;
8016  result.cheapestInsertionFirstSolutionNeighborsRatio_ = cheapestInsertionFirstSolutionNeighborsRatio_;
8017  result.cheapestInsertionLsOperatorNeighborsRatio_ = cheapestInsertionLsOperatorNeighborsRatio_;
8018  result.christofidesUseMinimumMatching_ = christofidesUseMinimumMatching_;
8019  if (localSearchOperatorsBuilder_ == null) {
8020  result.localSearchOperators_ = localSearchOperators_;
8021  } else {
8022  result.localSearchOperators_ = localSearchOperatorsBuilder_.build();
8023  }
8024  result.relocateExpensiveChainNumArcsToConsider_ = relocateExpensiveChainNumArcsToConsider_;
8025  result.heuristicExpensiveChainLnsNumArcsToConsider_ = heuristicExpensiveChainLnsNumArcsToConsider_;
8026  result.localSearchMetaheuristic_ = localSearchMetaheuristic_;
8027  result.guidedLocalSearchLambdaCoefficient_ = guidedLocalSearchLambdaCoefficient_;
8028  result.useDepthFirstSearch_ = useDepthFirstSearch_;
8029  result.useCp_ = useCp_;
8030  result.useCpSat_ = useCpSat_;
8031  result.continuousSchedulingSolver_ = continuousSchedulingSolver_;
8032  result.mixedIntegerSchedulingSolver_ = mixedIntegerSchedulingSolver_;
8033  result.optimizationStep_ = optimizationStep_;
8034  result.numberOfSolutionsToCollect_ = numberOfSolutionsToCollect_;
8035  result.solutionLimit_ = solutionLimit_;
8036  if (timeLimitBuilder_ == null) {
8037  result.timeLimit_ = timeLimit_;
8038  } else {
8039  result.timeLimit_ = timeLimitBuilder_.build();
8040  }
8041  if (lnsTimeLimitBuilder_ == null) {
8042  result.lnsTimeLimit_ = lnsTimeLimit_;
8043  } else {
8044  result.lnsTimeLimit_ = lnsTimeLimitBuilder_.build();
8045  }
8046  result.useFullPropagation_ = useFullPropagation_;
8047  result.logSearch_ = logSearch_;
8048  result.logCostScalingFactor_ = logCostScalingFactor_;
8049  result.logCostOffset_ = logCostOffset_;
8050  onBuilt();
8051  return result;
8052  }
8053 
8054  @java.lang.Override
8055  public Builder clone() {
8056  return super.clone();
8057  }
8058  @java.lang.Override
8060  com.google.protobuf.Descriptors.FieldDescriptor field,
8061  java.lang.Object value) {
8062  return super.setField(field, value);
8063  }
8064  @java.lang.Override
8066  com.google.protobuf.Descriptors.FieldDescriptor field) {
8067  return super.clearField(field);
8068  }
8069  @java.lang.Override
8071  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
8072  return super.clearOneof(oneof);
8073  }
8074  @java.lang.Override
8076  com.google.protobuf.Descriptors.FieldDescriptor field,
8077  int index, java.lang.Object value) {
8078  return super.setRepeatedField(field, index, value);
8079  }
8080  @java.lang.Override
8082  com.google.protobuf.Descriptors.FieldDescriptor field,
8083  java.lang.Object value) {
8084  return super.addRepeatedField(field, value);
8085  }
8086  @java.lang.Override
8087  public Builder mergeFrom(com.google.protobuf.Message other) {
8090  } else {
8091  super.mergeFrom(other);
8092  return this;
8093  }
8094  }
8095 
8098  if (other.firstSolutionStrategy_ != 0) {
8099  setFirstSolutionStrategyValue(other.getFirstSolutionStrategyValue());
8100  }
8101  if (other.getUseUnfilteredFirstSolutionStrategy() != false) {
8102  setUseUnfilteredFirstSolutionStrategy(other.getUseUnfilteredFirstSolutionStrategy());
8103  }
8104  if (other.getSavingsNeighborsRatio() != 0D) {
8105  setSavingsNeighborsRatio(other.getSavingsNeighborsRatio());
8106  }
8107  if (other.getSavingsMaxMemoryUsageBytes() != 0D) {
8108  setSavingsMaxMemoryUsageBytes(other.getSavingsMaxMemoryUsageBytes());
8109  }
8110  if (other.getSavingsAddReverseArcs() != false) {
8111  setSavingsAddReverseArcs(other.getSavingsAddReverseArcs());
8112  }
8113  if (other.getSavingsArcCoefficient() != 0D) {
8114  setSavingsArcCoefficient(other.getSavingsArcCoefficient());
8115  }
8116  if (other.getSavingsParallelRoutes() != false) {
8117  setSavingsParallelRoutes(other.getSavingsParallelRoutes());
8118  }
8119  if (other.getCheapestInsertionFarthestSeedsRatio() != 0D) {
8120  setCheapestInsertionFarthestSeedsRatio(other.getCheapestInsertionFarthestSeedsRatio());
8121  }
8122  if (other.getCheapestInsertionFirstSolutionNeighborsRatio() != 0D) {
8123  setCheapestInsertionFirstSolutionNeighborsRatio(other.getCheapestInsertionFirstSolutionNeighborsRatio());
8124  }
8125  if (other.getCheapestInsertionLsOperatorNeighborsRatio() != 0D) {
8126  setCheapestInsertionLsOperatorNeighborsRatio(other.getCheapestInsertionLsOperatorNeighborsRatio());
8127  }
8128  if (other.getChristofidesUseMinimumMatching() != false) {
8129  setChristofidesUseMinimumMatching(other.getChristofidesUseMinimumMatching());
8130  }
8131  if (other.hasLocalSearchOperators()) {
8132  mergeLocalSearchOperators(other.getLocalSearchOperators());
8133  }
8134  if (other.getRelocateExpensiveChainNumArcsToConsider() != 0) {
8135  setRelocateExpensiveChainNumArcsToConsider(other.getRelocateExpensiveChainNumArcsToConsider());
8136  }
8137  if (other.getHeuristicExpensiveChainLnsNumArcsToConsider() != 0) {
8138  setHeuristicExpensiveChainLnsNumArcsToConsider(other.getHeuristicExpensiveChainLnsNumArcsToConsider());
8139  }
8140  if (other.localSearchMetaheuristic_ != 0) {
8141  setLocalSearchMetaheuristicValue(other.getLocalSearchMetaheuristicValue());
8142  }
8143  if (other.getGuidedLocalSearchLambdaCoefficient() != 0D) {
8144  setGuidedLocalSearchLambdaCoefficient(other.getGuidedLocalSearchLambdaCoefficient());
8145  }
8146  if (other.getUseDepthFirstSearch() != false) {
8147  setUseDepthFirstSearch(other.getUseDepthFirstSearch());
8148  }
8149  if (other.useCp_ != 0) {
8150  setUseCpValue(other.getUseCpValue());
8151  }
8152  if (other.useCpSat_ != 0) {
8153  setUseCpSatValue(other.getUseCpSatValue());
8154  }
8155  if (other.continuousSchedulingSolver_ != 0) {
8156  setContinuousSchedulingSolverValue(other.getContinuousSchedulingSolverValue());
8157  }
8158  if (other.mixedIntegerSchedulingSolver_ != 0) {
8159  setMixedIntegerSchedulingSolverValue(other.getMixedIntegerSchedulingSolverValue());
8160  }
8161  if (other.getOptimizationStep() != 0D) {
8162  setOptimizationStep(other.getOptimizationStep());
8163  }
8164  if (other.getNumberOfSolutionsToCollect() != 0) {
8165  setNumberOfSolutionsToCollect(other.getNumberOfSolutionsToCollect());
8166  }
8167  if (other.getSolutionLimit() != 0L) {
8168  setSolutionLimit(other.getSolutionLimit());
8169  }
8170  if (other.hasTimeLimit()) {
8171  mergeTimeLimit(other.getTimeLimit());
8172  }
8173  if (other.hasLnsTimeLimit()) {
8174  mergeLnsTimeLimit(other.getLnsTimeLimit());
8175  }
8176  if (other.getUseFullPropagation() != false) {
8177  setUseFullPropagation(other.getUseFullPropagation());
8178  }
8179  if (other.getLogSearch() != false) {
8180  setLogSearch(other.getLogSearch());
8181  }
8182  if (other.getLogCostScalingFactor() != 0D) {
8183  setLogCostScalingFactor(other.getLogCostScalingFactor());
8184  }
8185  if (other.getLogCostOffset() != 0D) {
8186  setLogCostOffset(other.getLogCostOffset());
8187  }
8188  this.mergeUnknownFields(other.unknownFields);
8189  onChanged();
8190  return this;
8191  }
8192 
8193  @java.lang.Override
8194  public final boolean isInitialized() {
8195  return true;
8196  }
8197 
8198  @java.lang.Override
8200  com.google.protobuf.CodedInputStream input,
8201  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8202  throws java.io.IOException {
8204  try {
8205  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
8206  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8207  parsedMessage = (com.google.ortools.constraintsolver.RoutingSearchParameters) e.getUnfinishedMessage();
8208  throw e.unwrapIOException();
8209  } finally {
8210  if (parsedMessage != null) {
8211  mergeFrom(parsedMessage);
8212  }
8213  }
8214  return this;
8215  }
8216 
8217  private int firstSolutionStrategy_ = 0;
8226  @java.lang.Override public int getFirstSolutionStrategyValue() {
8227  return firstSolutionStrategy_;
8228  }
8239 
8240  firstSolutionStrategy_ = value;
8241  onChanged();
8242  return this;
8243  }
8252  @java.lang.Override
8254  @SuppressWarnings("deprecation")
8256  return result == null ? com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNRECOGNIZED : result;
8257  }
8268  if (value == null) {
8269  throw new NullPointerException();
8270  }
8271 
8272  firstSolutionStrategy_ = value.getNumber();
8273  onChanged();
8274  return this;
8275  }
8285 
8286  firstSolutionStrategy_ = 0;
8287  onChanged();
8288  return this;
8289  }
8290 
8291  private boolean useUnfilteredFirstSolutionStrategy_ ;
8302  @java.lang.Override
8304  return useUnfilteredFirstSolutionStrategy_;
8305  }
8318 
8319  useUnfilteredFirstSolutionStrategy_ = value;
8320  onChanged();
8321  return this;
8322  }
8334 
8335  useUnfilteredFirstSolutionStrategy_ = false;
8336  onChanged();
8337  return this;
8338  }
8339 
8340  private double savingsNeighborsRatio_ ;
8351  @java.lang.Override
8352  public double getSavingsNeighborsRatio() {
8353  return savingsNeighborsRatio_;
8354  }
8366  public Builder setSavingsNeighborsRatio(double value) {
8367 
8368  savingsNeighborsRatio_ = value;
8369  onChanged();
8370  return this;
8371  }
8383 
8384  savingsNeighborsRatio_ = 0D;
8385  onChanged();
8386  return this;
8387  }
8388 
8389  private double savingsMaxMemoryUsageBytes_ ;
8403  @java.lang.Override
8405  return savingsMaxMemoryUsageBytes_;
8406  }
8422 
8423  savingsMaxMemoryUsageBytes_ = value;
8424  onChanged();
8425  return this;
8426  }
8441 
8442  savingsMaxMemoryUsageBytes_ = 0D;
8443  onChanged();
8444  return this;
8445  }
8446 
8447  private boolean savingsAddReverseArcs_ ;
8457  @java.lang.Override
8458  public boolean getSavingsAddReverseArcs() {
8459  return savingsAddReverseArcs_;
8460  }
8471  public Builder setSavingsAddReverseArcs(boolean value) {
8472 
8473  savingsAddReverseArcs_ = value;
8474  onChanged();
8475  return this;
8476  }
8487 
8488  savingsAddReverseArcs_ = false;
8489  onChanged();
8490  return this;
8491  }
8492 
8493  private double savingsArcCoefficient_ ;
8506  @java.lang.Override
8507  public double getSavingsArcCoefficient() {
8508  return savingsArcCoefficient_;
8509  }
8523  public Builder setSavingsArcCoefficient(double value) {
8524 
8525  savingsArcCoefficient_ = value;
8526  onChanged();
8527  return this;
8528  }
8542 
8543  savingsArcCoefficient_ = 0D;
8544  onChanged();
8545  return this;
8546  }
8547 
8548  private boolean savingsParallelRoutes_ ;
8557  @java.lang.Override
8558  public boolean getSavingsParallelRoutes() {
8559  return savingsParallelRoutes_;
8560  }
8570  public Builder setSavingsParallelRoutes(boolean value) {
8571 
8572  savingsParallelRoutes_ = value;
8573  onChanged();
8574  return this;
8575  }
8585 
8586  savingsParallelRoutes_ = false;
8587  onChanged();
8588  return this;
8589  }
8590 
8591  private double cheapestInsertionFarthestSeedsRatio_ ;
8602  @java.lang.Override
8604  return cheapestInsertionFarthestSeedsRatio_;
8605  }
8618 
8619  cheapestInsertionFarthestSeedsRatio_ = value;
8620  onChanged();
8621  return this;
8622  }
8634 
8635  cheapestInsertionFarthestSeedsRatio_ = 0D;
8636  onChanged();
8637  return this;
8638  }
8639 
8640  private double cheapestInsertionFirstSolutionNeighborsRatio_ ;
8653  @java.lang.Override
8655  return cheapestInsertionFirstSolutionNeighborsRatio_;
8656  }
8671 
8672  cheapestInsertionFirstSolutionNeighborsRatio_ = value;
8673  onChanged();
8674  return this;
8675  }
8689 
8690  cheapestInsertionFirstSolutionNeighborsRatio_ = 0D;
8691  onChanged();
8692  return this;
8693  }
8694 
8695  private double cheapestInsertionLsOperatorNeighborsRatio_ ;
8706  @java.lang.Override
8708  return cheapestInsertionLsOperatorNeighborsRatio_;
8709  }
8722 
8723  cheapestInsertionLsOperatorNeighborsRatio_ = value;
8724  onChanged();
8725  return this;
8726  }
8738 
8739  cheapestInsertionLsOperatorNeighborsRatio_ = 0D;
8740  onChanged();
8741  return this;
8742  }
8743 
8744  private boolean christofidesUseMinimumMatching_ ;
8754  @java.lang.Override
8756  return christofidesUseMinimumMatching_;
8757  }
8769 
8770  christofidesUseMinimumMatching_ = value;
8771  onChanged();
8772  return this;
8773  }
8784 
8785  christofidesUseMinimumMatching_ = false;
8786  onChanged();
8787  return this;
8788  }
8789 
8791  private com.google.protobuf.SingleFieldBuilderV3<
8797  public boolean hasLocalSearchOperators() {
8798  return localSearchOperatorsBuilder_ != null || localSearchOperators_ != null;
8799  }
8805  if (localSearchOperatorsBuilder_ == null) {
8806  return localSearchOperators_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
8807  } else {
8808  return localSearchOperatorsBuilder_.getMessage();
8809  }
8810  }
8815  if (localSearchOperatorsBuilder_ == null) {
8816  if (value == null) {
8817  throw new NullPointerException();
8818  }
8819  localSearchOperators_ = value;
8820  onChanged();
8821  } else {
8822  localSearchOperatorsBuilder_.setMessage(value);
8823  }
8824 
8825  return this;
8826  }
8832  if (localSearchOperatorsBuilder_ == null) {
8833  localSearchOperators_ = builderForValue.build();
8834  onChanged();
8835  } else {
8836  localSearchOperatorsBuilder_.setMessage(builderForValue.build());
8837  }
8838 
8839  return this;
8840  }
8845  if (localSearchOperatorsBuilder_ == null) {
8846  if (localSearchOperators_ != null) {
8847  localSearchOperators_ =
8849  } else {
8850  localSearchOperators_ = value;
8851  }
8852  onChanged();
8853  } else {
8854  localSearchOperatorsBuilder_.mergeFrom(value);
8855  }
8856 
8857  return this;
8858  }
8863  if (localSearchOperatorsBuilder_ == null) {
8864  localSearchOperators_ = null;
8865  onChanged();
8866  } else {
8867  localSearchOperators_ = null;
8868  localSearchOperatorsBuilder_ = null;
8869  }
8870 
8871  return this;
8872  }
8877 
8878  onChanged();
8879  return getLocalSearchOperatorsFieldBuilder().getBuilder();
8880  }
8885  if (localSearchOperatorsBuilder_ != null) {
8886  return localSearchOperatorsBuilder_.getMessageOrBuilder();
8887  } else {
8888  return localSearchOperators_ == null ?
8890  }
8891  }
8895  private com.google.protobuf.SingleFieldBuilderV3<
8897  getLocalSearchOperatorsFieldBuilder() {
8898  if (localSearchOperatorsBuilder_ == null) {
8899  localSearchOperatorsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
8902  getParentForChildren(),
8903  isClean());
8904  localSearchOperators_ = null;
8905  }
8906  return localSearchOperatorsBuilder_;
8907  }
8908 
8909  private int relocateExpensiveChainNumArcsToConsider_ ;
8924  @java.lang.Override
8926  return relocateExpensiveChainNumArcsToConsider_;
8927  }
8944 
8945  relocateExpensiveChainNumArcsToConsider_ = value;
8946  onChanged();
8947  return this;
8948  }
8964 
8965  relocateExpensiveChainNumArcsToConsider_ = 0;
8966  onChanged();
8967  return this;
8968  }
8969 
8970  private int heuristicExpensiveChainLnsNumArcsToConsider_ ;
8980  @java.lang.Override
8982  return heuristicExpensiveChainLnsNumArcsToConsider_;
8983  }
8995 
8996  heuristicExpensiveChainLnsNumArcsToConsider_ = value;
8997  onChanged();
8998  return this;
8999  }
9010 
9011  heuristicExpensiveChainLnsNumArcsToConsider_ = 0;
9012  onChanged();
9013  return this;
9014  }
9015 
9016  private int localSearchMetaheuristic_ = 0;
9025  @java.lang.Override public int getLocalSearchMetaheuristicValue() {
9026  return localSearchMetaheuristic_;
9027  }
9038 
9039  localSearchMetaheuristic_ = value;
9040  onChanged();
9041  return this;
9042  }
9051  @java.lang.Override
9053  @SuppressWarnings("deprecation")
9056  }
9067  if (value == null) {
9068  throw new NullPointerException();
9069  }
9070 
9071  localSearchMetaheuristic_ = value.getNumber();
9072  onChanged();
9073  return this;
9074  }
9084 
9085  localSearchMetaheuristic_ = 0;
9086  onChanged();
9087  return this;
9088  }
9089 
9090  private double guidedLocalSearchLambdaCoefficient_ ;
9102  @java.lang.Override
9104  return guidedLocalSearchLambdaCoefficient_;
9105  }
9119 
9120  guidedLocalSearchLambdaCoefficient_ = value;
9121  onChanged();
9122  return this;
9123  }
9136 
9137  guidedLocalSearchLambdaCoefficient_ = 0D;
9138  onChanged();
9139  return this;
9140  }
9141 
9142  private boolean useDepthFirstSearch_ ;
9153  @java.lang.Override
9154  public boolean getUseDepthFirstSearch() {
9155  return useDepthFirstSearch_;
9156  }
9168  public Builder setUseDepthFirstSearch(boolean value) {
9169 
9170  useDepthFirstSearch_ = value;
9171  onChanged();
9172  return this;
9173  }
9185 
9186  useDepthFirstSearch_ = false;
9187  onChanged();
9188  return this;
9189  }
9190 
9191  private int useCp_ = 0;
9202  @java.lang.Override public int getUseCpValue() {
9203  return useCp_;
9204  }
9216  public Builder setUseCpValue(int value) {
9217 
9218  useCp_ = value;
9219  onChanged();
9220  return this;
9221  }
9232  @java.lang.Override
9234  @SuppressWarnings("deprecation")
9236  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
9237  }
9250  if (value == null) {
9251  throw new NullPointerException();
9252  }
9253 
9254  useCp_ = value.getNumber();
9255  onChanged();
9256  return this;
9257  }
9268  public Builder clearUseCp() {
9269 
9270  useCp_ = 0;
9271  onChanged();
9272  return this;
9273  }
9274 
9275  private int useCpSat_ = 0;
9287  @java.lang.Override public int getUseCpSatValue() {
9288  return useCpSat_;
9289  }
9302  public Builder setUseCpSatValue(int value) {
9303 
9304  useCpSat_ = value;
9305  onChanged();
9306  return this;
9307  }
9319  @java.lang.Override
9321  @SuppressWarnings("deprecation")
9323  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
9324  }
9338  if (value == null) {
9339  throw new NullPointerException();
9340  }
9341 
9342  useCpSat_ = value.getNumber();
9343  onChanged();
9344  return this;
9345  }
9358 
9359  useCpSat_ = 0;
9360  onChanged();
9361  return this;
9362  }
9363 
9364  private int continuousSchedulingSolver_ = 0;
9369  @java.lang.Override public int getContinuousSchedulingSolverValue() {
9370  return continuousSchedulingSolver_;
9371  }
9378 
9379  continuousSchedulingSolver_ = value;
9380  onChanged();
9381  return this;
9382  }
9387  @java.lang.Override
9389  @SuppressWarnings("deprecation")
9392  }
9399  if (value == null) {
9400  throw new NullPointerException();
9401  }
9402 
9403  continuousSchedulingSolver_ = value.getNumber();
9404  onChanged();
9405  return this;
9406  }
9412 
9413  continuousSchedulingSolver_ = 0;
9414  onChanged();
9415  return this;
9416  }
9417 
9418  private int mixedIntegerSchedulingSolver_ = 0;
9423  @java.lang.Override public int getMixedIntegerSchedulingSolverValue() {
9424  return mixedIntegerSchedulingSolver_;
9425  }
9432 
9433  mixedIntegerSchedulingSolver_ = value;
9434  onChanged();
9435  return this;
9436  }
9441  @java.lang.Override
9443  @SuppressWarnings("deprecation")
9446  }
9453  if (value == null) {
9454  throw new NullPointerException();
9455  }
9456 
9457  mixedIntegerSchedulingSolver_ = value.getNumber();
9458  onChanged();
9459  return this;
9460  }
9466 
9467  mixedIntegerSchedulingSolver_ = 0;
9468  onChanged();
9469  return this;
9470  }
9471 
9472  private double optimizationStep_ ;
9483  @java.lang.Override
9484  public double getOptimizationStep() {
9485  return optimizationStep_;
9486  }
9498  public Builder setOptimizationStep(double value) {
9499 
9500  optimizationStep_ = value;
9501  onChanged();
9502  return this;
9503  }
9515 
9516  optimizationStep_ = 0D;
9517  onChanged();
9518  return this;
9519  }
9520 
9521  private int numberOfSolutionsToCollect_ ;
9531  @java.lang.Override
9533  return numberOfSolutionsToCollect_;
9534  }
9546 
9547  numberOfSolutionsToCollect_ = value;
9548  onChanged();
9549  return this;
9550  }
9561 
9562  numberOfSolutionsToCollect_ = 0;
9563  onChanged();
9564  return this;
9565  }
9566 
9567  private long solutionLimit_ ;
9578  @java.lang.Override
9579  public long getSolutionLimit() {
9580  return solutionLimit_;
9581  }
9593  public Builder setSolutionLimit(long value) {
9594 
9595  solutionLimit_ = value;
9596  onChanged();
9597  return this;
9598  }
9610 
9611  solutionLimit_ = 0L;
9612  onChanged();
9613  return this;
9614  }
9615 
9616  private com.google.protobuf.Duration timeLimit_;
9617  private com.google.protobuf.SingleFieldBuilderV3<
9618  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> timeLimitBuilder_;
9627  public boolean hasTimeLimit() {
9628  return timeLimitBuilder_ != null || timeLimit_ != null;
9629  }
9638  public com.google.protobuf.Duration getTimeLimit() {
9639  if (timeLimitBuilder_ == null) {
9640  return timeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
9641  } else {
9642  return timeLimitBuilder_.getMessage();
9643  }
9644  }
9652  public Builder setTimeLimit(com.google.protobuf.Duration value) {
9653  if (timeLimitBuilder_ == null) {
9654  if (value == null) {
9655  throw new NullPointerException();
9656  }
9657  timeLimit_ = value;
9658  onChanged();
9659  } else {
9660  timeLimitBuilder_.setMessage(value);
9661  }
9662 
9663  return this;
9664  }
9673  com.google.protobuf.Duration.Builder builderForValue) {
9674  if (timeLimitBuilder_ == null) {
9675  timeLimit_ = builderForValue.build();
9676  onChanged();
9677  } else {
9678  timeLimitBuilder_.setMessage(builderForValue.build());
9679  }
9680 
9681  return this;
9682  }
9690  public Builder mergeTimeLimit(com.google.protobuf.Duration value) {
9691  if (timeLimitBuilder_ == null) {
9692  if (timeLimit_ != null) {
9693  timeLimit_ =
9694  com.google.protobuf.Duration.newBuilder(timeLimit_).mergeFrom(value).buildPartial();
9695  } else {
9696  timeLimit_ = value;
9697  }
9698  onChanged();
9699  } else {
9700  timeLimitBuilder_.mergeFrom(value);
9701  }
9702 
9703  return this;
9704  }
9713  if (timeLimitBuilder_ == null) {
9714  timeLimit_ = null;
9715  onChanged();
9716  } else {
9717  timeLimit_ = null;
9718  timeLimitBuilder_ = null;
9719  }
9720 
9721  return this;
9722  }
9730  public com.google.protobuf.Duration.Builder getTimeLimitBuilder() {
9731 
9732  onChanged();
9733  return getTimeLimitFieldBuilder().getBuilder();
9734  }
9742  public com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder() {
9743  if (timeLimitBuilder_ != null) {
9744  return timeLimitBuilder_.getMessageOrBuilder();
9745  } else {
9746  return timeLimit_ == null ?
9747  com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
9748  }
9749  }
9757  private com.google.protobuf.SingleFieldBuilderV3<
9758  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
9759  getTimeLimitFieldBuilder() {
9760  if (timeLimitBuilder_ == null) {
9761  timeLimitBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
9762  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
9763  getTimeLimit(),
9764  getParentForChildren(),
9765  isClean());
9766  timeLimit_ = null;
9767  }
9768  return timeLimitBuilder_;
9769  }
9770 
9771  private com.google.protobuf.Duration lnsTimeLimit_;
9772  private com.google.protobuf.SingleFieldBuilderV3<
9773  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> lnsTimeLimitBuilder_;
9783  public boolean hasLnsTimeLimit() {
9784  return lnsTimeLimitBuilder_ != null || lnsTimeLimit_ != null;
9785  }
9795  public com.google.protobuf.Duration getLnsTimeLimit() {
9796  if (lnsTimeLimitBuilder_ == null) {
9797  return lnsTimeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
9798  } else {
9799  return lnsTimeLimitBuilder_.getMessage();
9800  }
9801  }
9810  public Builder setLnsTimeLimit(com.google.protobuf.Duration value) {
9811  if (lnsTimeLimitBuilder_ == null) {
9812  if (value == null) {
9813  throw new NullPointerException();
9814  }
9815  lnsTimeLimit_ = value;
9816  onChanged();
9817  } else {
9818  lnsTimeLimitBuilder_.setMessage(value);
9819  }
9820 
9821  return this;
9822  }
9832  com.google.protobuf.Duration.Builder builderForValue) {
9833  if (lnsTimeLimitBuilder_ == null) {
9834  lnsTimeLimit_ = builderForValue.build();
9835  onChanged();
9836  } else {
9837  lnsTimeLimitBuilder_.setMessage(builderForValue.build());
9838  }
9839 
9840  return this;
9841  }
9850  public Builder mergeLnsTimeLimit(com.google.protobuf.Duration value) {
9851  if (lnsTimeLimitBuilder_ == null) {
9852  if (lnsTimeLimit_ != null) {
9853  lnsTimeLimit_ =
9854  com.google.protobuf.Duration.newBuilder(lnsTimeLimit_).mergeFrom(value).buildPartial();
9855  } else {
9856  lnsTimeLimit_ = value;
9857  }
9858  onChanged();
9859  } else {
9860  lnsTimeLimitBuilder_.mergeFrom(value);
9861  }
9862 
9863  return this;
9864  }
9874  if (lnsTimeLimitBuilder_ == null) {
9875  lnsTimeLimit_ = null;
9876  onChanged();
9877  } else {
9878  lnsTimeLimit_ = null;
9879  lnsTimeLimitBuilder_ = null;
9880  }
9881 
9882  return this;
9883  }
9892  public com.google.protobuf.Duration.Builder getLnsTimeLimitBuilder() {
9893 
9894  onChanged();
9895  return getLnsTimeLimitFieldBuilder().getBuilder();
9896  }
9905  public com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder() {
9906  if (lnsTimeLimitBuilder_ != null) {
9907  return lnsTimeLimitBuilder_.getMessageOrBuilder();
9908  } else {
9909  return lnsTimeLimit_ == null ?
9910  com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
9911  }
9912  }
9921  private com.google.protobuf.SingleFieldBuilderV3<
9922  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
9923  getLnsTimeLimitFieldBuilder() {
9924  if (lnsTimeLimitBuilder_ == null) {
9925  lnsTimeLimitBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
9926  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
9927  getLnsTimeLimit(),
9928  getParentForChildren(),
9929  isClean());
9930  lnsTimeLimit_ = null;
9931  }
9932  return lnsTimeLimitBuilder_;
9933  }
9934 
9935  private boolean useFullPropagation_ ;
9952  @java.lang.Override
9953  public boolean getUseFullPropagation() {
9954  return useFullPropagation_;
9955  }
9973  public Builder setUseFullPropagation(boolean value) {
9974 
9975  useFullPropagation_ = value;
9976  onChanged();
9977  return this;
9978  }
9996 
9997  useFullPropagation_ = false;
9998  onChanged();
9999  return this;
10000  }
10001 
10002  private boolean logSearch_ ;
10022  @java.lang.Override
10023  public boolean getLogSearch() {
10024  return logSearch_;
10025  }
10046  public Builder setLogSearch(boolean value) {
10047 
10048  logSearch_ = value;
10049  onChanged();
10050  return this;
10051  }
10072 
10073  logSearch_ = false;
10074  onChanged();
10075  return this;
10076  }
10077 
10078  private double logCostScalingFactor_ ;
10088  @java.lang.Override
10089  public double getLogCostScalingFactor() {
10090  return logCostScalingFactor_;
10091  }
10102  public Builder setLogCostScalingFactor(double value) {
10103 
10104  logCostScalingFactor_ = value;
10105  onChanged();
10106  return this;
10107  }
10118 
10119  logCostScalingFactor_ = 0D;
10120  onChanged();
10121  return this;
10122  }
10123 
10124  private double logCostOffset_ ;
10129  @java.lang.Override
10130  public double getLogCostOffset() {
10131  return logCostOffset_;
10132  }
10138  public Builder setLogCostOffset(double value) {
10139 
10140  logCostOffset_ = value;
10141  onChanged();
10142  return this;
10143  }
10149 
10150  logCostOffset_ = 0D;
10151  onChanged();
10152  return this;
10153  }
10154  @java.lang.Override
10156  final com.google.protobuf.UnknownFieldSet unknownFields) {
10157  return super.setUnknownFields(unknownFields);
10158  }
10159 
10160  @java.lang.Override
10162  final com.google.protobuf.UnknownFieldSet unknownFields) {
10163  return super.mergeUnknownFields(unknownFields);
10164  }
10165 
10166 
10167  // @@protoc_insertion_point(builder_scope:operations_research.RoutingSearchParameters)
10168  }
10169 
10170  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters)
10171  private static final com.google.ortools.constraintsolver.RoutingSearchParameters DEFAULT_INSTANCE;
10172  static {
10173  DEFAULT_INSTANCE = new com.google.ortools.constraintsolver.RoutingSearchParameters();
10174  }
10175 
10177  return DEFAULT_INSTANCE;
10178  }
10179 
10180  private static final com.google.protobuf.Parser<RoutingSearchParameters>
10181  PARSER = new com.google.protobuf.AbstractParser<RoutingSearchParameters>() {
10182  @java.lang.Override
10183  public RoutingSearchParameters parsePartialFrom(
10184  com.google.protobuf.CodedInputStream input,
10185  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10186  throws com.google.protobuf.InvalidProtocolBufferException {
10187  return new RoutingSearchParameters(input, extensionRegistry);
10188  }
10189  };
10190 
10191  public static com.google.protobuf.Parser<RoutingSearchParameters> parser() {
10192  return PARSER;
10193  }
10194 
10195  @java.lang.Override
10197  return PARSER;
10198  }
10199 
10200  @java.lang.Override
10202  return DEFAULT_INSTANCE;
10203  }
10204 
10205 }
10206 
int getUseInactiveLnsValue()
.lang.Override int getUseTspOptValue()
.lang.Override int getUseLocalCheapestInsertionExpensiveChainLnsValue()
.lang.Override void writeTo(com.google.protobuf.CodedOutputStream output)
int getUseRelocateExpensiveChainValue()
Builder setLogCostOffset(double value)
double log_cost_offset = 29;
Builder clearUseTwoOpt()
boolean hasTimeLimit()
Builder setUseLocalCheapestInsertionPathLnsValue(int value)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver getContinuousSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
.lang.Override com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionExpensiveChainLns()
.lang.Override Builder mergeFrom(com.google.protobuf.Message other)
.lang.Override int getUseCpSatValue()
.lang.Override com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value getLocalSearchMetaheuristic()
Builder clearLogCostOffset()
double log_cost_offset = 29;
static final int USE_FULL_PROPAGATION_FIELD_NUMBER
com.google.ortools.util.OptionalBoolean getUseOrOpt()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseDelimitedFrom(java.io.InputStream input)
.lang.Override com.google.ortools.util.OptionalBoolean getUseMakeActive()
Builder clearUseInactiveLns()
int getUseLocalCheapestInsertionPathLnsValue()
.lang.Override int getContinuousSchedulingSolverValue()
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
Builder setUseRelocatePairValue(int value)
.lang.Override com.google.ortools.util.OptionalBoolean getUseExtendedSwapActive()
.lang.Override com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder()
com.google.protobuf.Duration.Builder getTimeLimitBuilder()
static final int LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER
.lang.Override void writeTo(com.google.protobuf.CodedOutputStream output)
Builder clearRelocateExpensiveChainNumArcsToConsider()
.lang.Override Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
.lang.Override double getCheapestInsertionLsOperatorNeighborsRatio()
int getUseRelocateValue()
.lang.Override int getUseLinKernighanValue()
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocateExpensiveChain()
.lang.Override com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionPathLns()
Builder setUseMakeChainInactive(com.google.ortools.util.OptionalBoolean value)
.lang.Override boolean getSavingsAddReverseArcs()
static final int USE_MAKE_CHAIN_INACTIVE_FIELD_NUMBER
Builder setUseOrOpt(com.google.ortools.util.OptionalBoolean value)
com.google.ortools.util.OptionalBoolean getUseNodePairSwapActive()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Builder setUseLocalCheapestInsertionPathLns(com.google.ortools.util.OptionalBoolean value)
.lang.Override int getUseLocalCheapestInsertionExpensiveChainLnsValue()
.lang.Override com.google.ortools.util.OptionalBoolean getUseLightRelocatePair()
.lang.Override com.google.ortools.util.OptionalBoolean getUseExchange()
com.google.protobuf.Duration getTimeLimit()
int getUseExchangePairValue()
Builder setSolutionLimit(long value)
Builder setUseExchangeSubtrip(com.google.ortools.util.OptionalBoolean value)
com.google.ortools.util.OptionalBoolean getUseRelocateAndMakeActive()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
Builder clearUseCross()
static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators prototype)
int getUseGlobalCheapestInsertionExpensiveChainLnsValue()
boolean hasLnsTimeLimit()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters build()
.lang.Override double getSavingsNeighborsRatio()
Builder setLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder builderForValue)
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
com.google.ortools.util.OptionalBoolean getUseRelocateSubtrip()
Builder clearHeuristicExpensiveChainLnsNumArcsToConsider()
.lang.Override final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override int getUseRelocateValue()
.lang.Override int getUseExchangePairValue()
com.google.ortools.util.OptionalBoolean getUseExchangePair()
static final int LOG_COST_SCALING_FACTOR_FIELD_NUMBER
static final int SOLUTION_LIMIT_FIELD_NUMBER
Builder setOptimizationStep(double value)
Builder clearUseRelocateSubtrip()
static SchedulingSolver valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static final int USE_TSP_OPT_FIELD_NUMBER
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
.lang.Override int getUseExtendedSwapActiveValue()
.lang.Override int getUseRelocatePairValue()
.lang.Override boolean getUseFullPropagation()
.lang.Override com.google.ortools.util.OptionalBoolean getUseTspOpt()
int getUseLinKernighanValue()
Builder setUseGlobalCheapestInsertionPathLnsValue(int value)
.lang.Override int getHeuristicExpensiveChainLnsNumArcsToConsider()
Builder setLocalSearchMetaheuristicValue(int value)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.io.InputStream input)
.lang.Override int getSerializedSize()
int getUseMakeInactiveValue()
Builder setUseTspLns(com.google.ortools.util.OptionalBoolean value)
.lang.Override Builder newBuilderForType()
static final int USE_LIGHT_RELOCATE_PAIR_FIELD_NUMBER
.lang.Override int getUseLocalCheapestInsertionPathLnsValue()
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocateSubtrip()
.lang.Override int getUseRelocateSubtripValue()
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Builder clearGuidedLocalSearchLambdaCoefficient()
Builder setUseMakeInactiveValue(int value)
Builder setUseMakeChainInactiveValue(int value)
.lang.Override double getCheapestInsertionFarthestSeedsRatio()
Builder clearUseExtendedSwapActive()
Builder clearSavingsNeighborsRatio()
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocatePair()
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder getLocalSearchOperatorsBuilder()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
.lang.Override final com.google.protobuf.UnknownFieldSet getUnknownFields()
.lang.Deprecated static SchedulingSolver valueOf(int value)
static final int LOG_COST_OFFSET_FIELD_NUMBER
.lang.Override int getUseFullPathLnsValue()
.lang.Override com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
Builder setUsePathLnsValue(int value)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.CodedInputStream input)
Builder setUseRelocateExpensiveChain(com.google.ortools.util.OptionalBoolean value)
.lang.Override boolean getSavingsAddReverseArcs()
.lang.Override final boolean isInitialized()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override int getUseCrossValue()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder setUseInactiveLns(com.google.ortools.util.OptionalBoolean value)
Builder setLocalSearchMetaheuristic(com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value value)
.lang.Override com.google.ortools.util.OptionalBoolean getUseMakeActive()
static final int USE_LOCAL_CHEAPEST_INSERTION_PATH_LNS_FIELD_NUMBER
.lang.Override final com.google.protobuf.UnknownFieldSet getUnknownFields()
Builder setUseRelocateSubtripValue(int value)
com.google.ortools.util.OptionalBoolean getUseExchange()
.lang.Override com.google.ortools.util.OptionalBoolean getUseExchangePair()
Builder setUseInactiveLnsValue(int value)
Builder setRelocateExpensiveChainNumArcsToConsider(int value)
Builder setUseMakeActive(com.google.ortools.util.OptionalBoolean value)
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocateNeighbors()
.lang.Override int getUseTwoOptValue()
.lang.Override com.google.protobuf.Duration getLnsTimeLimit()
static final int LOCAL_SEARCH_OPERATORS_FIELD_NUMBER
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Builder setSavingsAddReverseArcs(boolean value)
.lang.Override com.google.protobuf.Parser< RoutingSearchParameters > getParserForType()
static final int USE_SWAP_ACTIVE_FIELD_NUMBER
Builder clearUseOrOpt()
Builder clearUseExchangePair()
static final int USE_EXTENDED_SWAP_ACTIVE_FIELD_NUMBER
.lang.Override java.lang.Object newInstance(UnusedPrivateParameter unused)
.lang.Override double getCheapestInsertionFirstSolutionNeighborsRatio()
.lang.Override Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
static SchedulingSolver forNumber(int value)
.lang.Override int getUseRelocateExpensiveChainValue()
static final int USE_INACTIVE_LNS_FIELD_NUMBER
Builder setSavingsArcCoefficient(double value)
Builder setUseRelocateValue(int value)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators buildPartial()
static final int OPTIMIZATION_STEP_FIELD_NUMBER
Builder clearUseRelocateExpensiveChain()
com.google.ortools.util.OptionalBoolean getUseLightRelocatePair()
.lang.Override com.google.ortools.util.OptionalBoolean getUseLinKernighan()
.lang.Override com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
.lang.Override int getUseMakeActiveValue()
Builder clearUseLocalCheapestInsertionPathLns()
.lang.Override Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.nio.ByteBuffer data)
.lang.Override com.google.ortools.util.OptionalBoolean getUseMakeInactive()
.lang.Override int getUseMakeInactiveValue()
Builder clearUseLightRelocatePair()
int getUseTspOptValue()
Builder setUseLocalCheapestInsertionExpensiveChainLns(com.google.ortools.util.OptionalBoolean value)
com.google.protobuf.Duration.Builder getLnsTimeLimitBuilder()
com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionExpensiveChainLns()
.lang.Override com.google.ortools.util.OptionalBoolean getUseTwoOpt()
static Builder newBuilder()
.lang.Override boolean getLogSearch()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final int USE_LIN_KERNIGHAN_FIELD_NUMBER
.lang.Override final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
Builder clearUseMakeActive()
.lang.Override int getRelocateExpensiveChainNumArcsToConsider()
static Builder newBuilder()
.lang.Override int getUseExchangePairValue()
int getUseExtendedSwapActiveValue()
Builder setUseLinKernighan(com.google.ortools.util.OptionalBoolean value)
.lang.Override final boolean isInitialized()
Builder setChristofidesUseMinimumMatching(boolean value)
.lang.Override boolean hasLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
Builder clearContinuousSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.ortools.util.OptionalBoolean getUseLinKernighan()
.lang.Override java.lang.Object newInstance(UnusedPrivateParameter unused)
Builder mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters other)
.lang.Override int getUseLocalCheapestInsertionPathLnsValue()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.ByteString data)
.lang.Override int hashCode()
static final int TIME_LIMIT_FIELD_NUMBER
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocateExpensiveChain()
Builder setMixedIntegerSchedulingSolver(com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver value)
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
.lang.Override int getLocalSearchMetaheuristicValue()
Builder clearLnsTimeLimit()
.lang.Override int getUseRelocateNeighborsValue()
.lang.Override double getLogCostOffset()
double log_cost_offset = 29;
Builder clearUseCpSat()
Builder clearChristofidesUseMinimumMatching()
.lang.Override boolean getUseDepthFirstSearch()
static final int USE_LOCAL_CHEAPEST_INSERTION_EXPENSIVE_CHAIN_LNS_FIELD_NUMBER
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getDefaultInstanceForType()
.lang.Override com.google.ortools.util.OptionalBoolean getUseNodePairSwapActive()
Builder setUseCross(com.google.ortools.util.OptionalBoolean value)
CP_SAT
CP_SAT = 2;
Builder clearUseLocalCheapestInsertionExpensiveChainLns()
.lang.Override double getOptimizationStep()
.lang.Override int getUseSwapActiveValue()
Builder setCheapestInsertionLsOperatorNeighborsRatio(double value)
Builder clearUseGlobalCheapestInsertionPathLns()
.lang.Override int hashCode()
.lang.Override int getUseSwapActiveValue()
.lang.Override int getUseExchangeSubtripValue()
int getUseExchangeValue()
.lang.Override int getUseMakeChainInactiveValue()
Builder clearOptimizationStep()
static final int CONTINUOUS_SCHEDULING_SOLVER_FIELD_NUMBER
Builder clearUseNodePairSwapActive()
UNSET
UNSET = 0;
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators build()
com.google.ortools.util.OptionalBoolean getUseTwoOpt()
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocateNeighbors()
Builder clearUseRelocateNeighbors()
com.google.ortools.util.OptionalBoolean getUseCross()
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocatePair()
Builder clearLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
static com.google.ortools.constraintsolver.RoutingSearchParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.ortools.util.OptionalBoolean getUseTwoOpt()
static com.google.protobuf.Parser< RoutingSearchParameters > parser()
.lang.Override boolean getUseFullPropagation()
Builder setUseRelocateAndMakeActive(com.google.ortools.util.OptionalBoolean value)
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
Builder setUsePathLns(com.google.ortools.util.OptionalBoolean value)
.lang.Override double getSavingsMaxMemoryUsageBytes()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocate()
Builder clearUseFullPropagation()
Builder setUseTspOpt(com.google.ortools.util.OptionalBoolean value)
.lang.Override Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
static final int NUMBER_OF_SOLUTIONS_TO_COLLECT_FIELD_NUMBER
static final int RELOCATE_EXPENSIVE_CHAIN_NUM_ARCS_TO_CONSIDER_FIELD_NUMBER
static final int FIRST_SOLUTION_STRATEGY_FIELD_NUMBER
Builder setSavingsMaxMemoryUsageBytes(double value)
Builder setHeuristicExpensiveChainLnsNumArcsToConsider(int value)
com.google.ortools.util.OptionalBoolean getUseRelocate()
.lang.Override int getUseRelocateAndMakeActiveValue()
Builder setLnsTimeLimit(com.google.protobuf.Duration.Builder builderForValue)
.lang.Override com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionExpensiveChainLns()
com.google.ortools.util.OptionalBoolean getUseRelocateExpensiveChain()
.lang.Override Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionPathLns()
com.google.ortools.util.OptionalBoolean getUseSwapActive()
Builder clearTimeLimit()
static final int SAVINGS_PARALLEL_ROUTES_FIELD_NUMBER
Builder setUseLightRelocatePairValue(int value)
int getUsePathLnsValue()
Builder setUseGlobalCheapestInsertionPathLns(com.google.ortools.util.OptionalBoolean value)
BOOL_UNSPECIFIED
BOOL_UNSPECIFIED = 0;
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final int USE_FULL_PATH_LNS_FIELD_NUMBER
.lang.Override double getSavingsMaxMemoryUsageBytes()
static final int USE_EXCHANGE_SUBTRIP_FIELD_NUMBER
com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.CodedInputStream input)
Builder setUseLightRelocatePair(com.google.ortools.util.OptionalBoolean value)
.lang.Override com.google.ortools.util.OptionalBoolean getUseCpSat()
.lang.Override com.google.protobuf.Parser< LocalSearchNeighborhoodOperators > getParserForType()
.lang.Deprecated static OptionalBoolean valueOf(int value)
Builder clearCheapestInsertionLsOperatorNeighborsRatio()
Builder setLogSearch(boolean value)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseDelimitedFrom(java.io.InputStream input)
Builder setUseDepthFirstSearch(boolean value)
.lang.Override com.google.protobuf.Duration getTimeLimit()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver getMixedIntegerSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
.lang.Override int getUseInactiveLnsValue()
Builder setUseSwapActive(com.google.ortools.util.OptionalBoolean value)
.lang.Override com.google.ortools.util.OptionalBoolean getUsePathLns()
static final int CHEAPEST_INSERTION_FARTHEST_SEEDS_RATIO_FIELD_NUMBER
Builder clearSavingsParallelRoutes()
.lang.Override int getContinuousSchedulingSolverValue()
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
.lang.Override int getUseFullPathLnsValue()
Builder setUseFullPathLns(com.google.ortools.util.OptionalBoolean value)
.lang.Override int getUseGlobalCheapestInsertionPathLnsValue()
.lang.Override com.google.ortools.constraintsolver.FirstSolutionStrategy.Value getFirstSolutionStrategy()
.lang.Override Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionPathLns()
Builder setUseCpSat(com.google.ortools.util.OptionalBoolean value)
Builder clearFirstSolutionStrategy()
com.google.ortools.util.OptionalBoolean getUseTspLns()
.lang.Override com.google.ortools.util.OptionalBoolean getUseExchange()
Builder clearUseRelocate()
.lang.Override double getSavingsArcCoefficient()
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocateAndMakeActive()
static com.google.ortools.constraintsolver.RoutingSearchParameters getDefaultInstance()
Builder setUseLocalCheapestInsertionExpensiveChainLnsValue(int value)
.lang.Override com.google.ortools.util.OptionalBoolean getUseOrOpt()
.lang.Override double getGuidedLocalSearchLambdaCoefficient()
Builder setUseExchange(com.google.ortools.util.OptionalBoolean value)
Protobuf enum.
.lang.Override com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionPathLns()
int getUseRelocatePairValue()
.lang.Override com.google.ortools.util.OptionalBoolean getUseCrossExchange()
Builder setUseNodePairSwapActive(com.google.ortools.util.OptionalBoolean value)
.lang.Override final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override com.google.ortools.util.OptionalBoolean getUseFullPathLns()
.lang.Override boolean getSavingsParallelRoutes()
.lang.Override com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionExpensiveChainLns()
Builder setUseCrossExchange(com.google.ortools.util.OptionalBoolean value)
Protobuf enum.
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
com.google.ortools.util.OptionalBoolean getUseExtendedSwapActive()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Builder setSavingsNeighborsRatio(double value)
static final int SAVINGS_ARC_COEFFICIENT_FIELD_NUMBER
.lang.Override int getUseCrossExchangeValue()
int getUseRelocateNeighborsValue()
Builder clearSavingsArcCoefficient()
Builder clearUseExchangeSubtrip()
static final int GUIDED_LOCAL_SEARCH_LAMBDA_COEFFICIENT_FIELD_NUMBER
UNRECOGNIZED
.lang.Override com.google.ortools.util.OptionalBoolean getUseLightRelocatePair()
static final int USE_TSP_LNS_FIELD_NUMBER
static final int USE_RELOCATE_EXPENSIVE_CHAIN_FIELD_NUMBER
.lang.Override com.google.ortools.util.OptionalBoolean getUseOrOpt()
.lang.Override boolean getChristofidesUseMinimumMatching()
Builder setUseRelocateExpensiveChainValue(int value)
static final int USE_OR_OPT_FIELD_NUMBER
static final int CHEAPEST_INSERTION_FIRST_SOLUTION_NEIGHBORS_RATIO_FIELD_NUMBER
.lang.Override int getUseMakeChainInactiveValue()
static final int USE_GLOBAL_CHEAPEST_INSERTION_EXPENSIVE_CHAIN_LNS_FIELD_NUMBER
com.google.ortools.util.OptionalBoolean getUseMakeActive()
Builder setUseExchangePair(com.google.ortools.util.OptionalBoolean value)
int getUseLightRelocatePairValue()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.io.InputStream input)
UNSET
.lang.Override int getFirstSolutionStrategyValue()
.lang.Override double getCheapestInsertionFirstSolutionNeighborsRatio()
.lang.Override com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override int getUseRelocateExpensiveChainValue()
int getUseExchangeSubtripValue()
Builder setSavingsParallelRoutes(boolean value)
com.google.ortools.util.OptionalBoolean getUseFullPathLns()
Builder setTimeLimit(com.google.protobuf.Duration value)
static final int USE_CP_SAT_FIELD_NUMBER
.lang.Override double getCheapestInsertionFarthestSeedsRatio()
.lang.Override double getLogCostScalingFactor()
.lang.Override com.google.ortools.util.OptionalBoolean getUseCross()
static final int SAVINGS_NEIGHBORS_RATIO_FIELD_NUMBER
int getUseMakeChainInactiveValue()
.lang.Override int getUseGlobalCheapestInsertionExpensiveChainLnsValue()
.lang.Override int getUseTspLnsValue()
static final int USE_RELOCATE_SUBTRIP_FIELD_NUMBER
GLOP
GLOP = 1;
Builder setUseGlobalCheapestInsertionExpensiveChainLnsValue(int value)
.lang.Override com.google.ortools.util.OptionalBoolean getUseCross()
Builder setUseMakeActiveValue(int value)
int getUseRelocateSubtripValue()
static final int CHEAPEST_INSERTION_LS_OPERATOR_NEIGHBORS_RATIO_FIELD_NUMBER
.lang.Override int getUseNodePairSwapActiveValue()
.lang.Override long getSolutionLimit()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder getLocalSearchOperatorsOrBuilder()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
int getUseNodePairSwapActiveValue()
Builder setMixedIntegerSchedulingSolverValue(int value)
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
static final int USE_CP_FIELD_NUMBER
Builder setUseFullPropagation(boolean value)
Builder clearUseRelocateAndMakeActive()
.lang.Override int getUseExtendedSwapActiveValue()
Builder setUseGlobalCheapestInsertionExpensiveChainLns(com.google.ortools.util.OptionalBoolean value)
.lang.Override int getUseLightRelocatePairValue()
.lang.Override com.google.ortools.util.OptionalBoolean getUseCp()
.lang.Override boolean getUseDepthFirstSearch()
Builder clearLogSearch()
.lang.Override com.google.ortools.util.OptionalBoolean getUseCp()
int getUseCrossValue()
Builder clearUseRelocatePair()
.lang.Override com.google.ortools.constraintsolver.FirstSolutionStrategy.Value getFirstSolutionStrategy()
Builder clearUseExchange()
Builder setCheapestInsertionFirstSolutionNeighborsRatio(double value)
.lang.Override boolean getChristofidesUseMinimumMatching()
.lang.Override int getUseMakeInactiveValue()
.lang.Override com.google.ortools.util.OptionalBoolean getUseFullPathLns()
Builder setUseCpSatValue(int value)
.lang.Override int getUseMakeActiveValue()
.lang.Override double getCheapestInsertionLsOperatorNeighborsRatio()
.lang.Override int getUseOrOptValue()
.lang.Override com.google.ortools.util.OptionalBoolean getUseTspOpt()
.lang.Override Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
Builder clearLogCostScalingFactor()
static final int USE_EXCHANGE_PAIR_FIELD_NUMBER
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override Builder clone()
Builder clearUseTspLns()
.lang.Override com.google.ortools.util.OptionalBoolean getUseInactiveLns()
static final int SAVINGS_ADD_REVERSE_ARCS_FIELD_NUMBER
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override double getGuidedLocalSearchLambdaCoefficient()
.lang.Override boolean equals(final java.lang.Object obj)
Builder clearMixedIntegerSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
Builder setUseRelocateNeighbors(com.google.ortools.util.OptionalBoolean value)
.lang.Override com.google.ortools.util.OptionalBoolean getUseTspLns()
.lang.Override com.google.ortools.util.OptionalBoolean getUseSwapActive()
Builder mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators other)
static final int USE_CROSS_FIELD_NUMBER
.lang.Override int getSerializedSize()
static final int USE_RELOCATE_NEIGHBORS_FIELD_NUMBER
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
.lang.Override Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
com.google.protobuf.Duration getLnsTimeLimit()
.lang.Override Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
.lang.Override final boolean isInitialized()
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocateSubtrip()
.lang.Override int getUseRelocateValue()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.nio.ByteBuffer data)
.lang.Override boolean equals(final java.lang.Object obj)
Builder clearUseMakeInactive()
Builder setUseTwoOpt(com.google.ortools.util.OptionalBoolean value)
.lang.Override Builder toBuilder()
UNRECOGNIZED
.lang.Override Builder newBuilderForType()
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
static final int USE_NODE_PAIR_SWAP_ACTIVE_FIELD_NUMBER
Builder setUseOrOptValue(int value)
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocateAndMakeActive()
Builder clearUseSwapActive()
.lang.Override Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
Builder setUseRelocateSubtrip(com.google.ortools.util.OptionalBoolean value)
Builder clearCheapestInsertionFirstSolutionNeighborsRatio()
Builder mergeLnsTimeLimit(com.google.protobuf.Duration value)
.lang.Override com.google.ortools.util.OptionalBoolean getUseMakeChainInactive()
Builder setUseFullPathLnsValue(int value)
Builder setUseRelocateAndMakeActiveValue(int value)
com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionExpensiveChainLns()
.lang.Override int getUseTspLnsValue()
.lang.Override int getUseNodePairSwapActiveValue()
static final int USE_MAKE_ACTIVE_FIELD_NUMBER
static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters prototype)
Builder clearLocalSearchMetaheuristic()
.lang.Override int getUseCpValue()
Builder clearUseLinKernighan()
.lang.Override com.google.ortools.util.OptionalBoolean getUseCrossExchange()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(byte[] data)
Builder setUseUnfilteredFirstSolutionStrategy(boolean value)
Builder setGuidedLocalSearchLambdaCoefficient(double value)
Builder setTimeLimit(com.google.protobuf.Duration.Builder builderForValue)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(byte[] data)
static final int USE_MAKE_INACTIVE_FIELD_NUMBER
.lang.Override int getUsePathLnsValue()
.lang.Override com.google.ortools.util.OptionalBoolean getUseMakeInactive()
.lang.Override final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override int getUseCrossExchangeValue()
.lang.Override Builder clear()
Builder setFirstSolutionStrategyValue(int value)
Builder setNumberOfSolutionsToCollect(int value)
Builder setUseSwapActiveValue(int value)
.lang.Override int getUseTwoOptValue()
Builder clearUseFullPathLns()
.lang.Override int getUseCrossValue()
.lang.Override Builder mergeFrom(com.google.protobuf.Message other)
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
static final int CHRISTOFIDES_USE_MINIMUM_MATCHING_FIELD_NUMBER
Builder setContinuousSchedulingSolver(com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver value)
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
static final int USE_UNFILTERED_FIRST_SOLUTION_STRATEGY_FIELD_NUMBER
Builder setUseRelocateNeighborsValue(int value)
Builder clearUsePathLns()
.lang.Override final boolean isInitialized()
static com.google.protobuf.Internal.EnumLiteMap< SchedulingSolver > internalGetValueMap()
.lang.Override boolean getUseUnfilteredFirstSolutionStrategy()
Builder setUseRelocate(com.google.ortools.util.OptionalBoolean value)
static final int USE_PATH_LNS_FIELD_NUMBER
.lang.Override com.google.ortools.util.OptionalBoolean getUseCpSat()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters buildPartial()
.lang.Override Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
.lang.Override int getMixedIntegerSchedulingSolverValue()
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
Builder setUseExtendedSwapActive(com.google.ortools.util.OptionalBoolean value)
.lang.Override com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionExpensiveChainLns()
Builder clearUseTspOpt()
Builder setUseCp(com.google.ortools.util.OptionalBoolean value)
Builder setLnsTimeLimit(com.google.protobuf.Duration value)
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final int USE_RELOCATE_AND_MAKE_ACTIVE_FIELD_NUMBER
.lang.Override int getUseExchangeValue()
com.google.ortools.util.OptionalBoolean getUseExchangeSubtrip()
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Builder setFirstSolutionStrategy(com.google.ortools.constraintsolver.FirstSolutionStrategy.Value value)
.lang.Override com.google.ortools.util.OptionalBoolean getUseNodePairSwapActive()
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocate()
int getUseMakeActiveValue()
Builder setUseTwoOptValue(int value)
Builder clearUseCrossExchange()
com.google.ortools.util.OptionalBoolean getUsePathLns()
.lang.Override int getUseRelocateSubtripValue()
static final int USE_TWO_OPT_FIELD_NUMBER
.lang.Override int getUseCpValue()
.lang.Override int getUseLinKernighanValue()
.lang.Override Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Builder clearUseGlobalCheapestInsertionExpensiveChainLns()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver getMixedIntegerSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
.lang.Override int getUseExchangeSubtripValue()
Builder setContinuousSchedulingSolverValue(int value)
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
.lang.Override int getUseLightRelocatePairValue()
int getUseTspLnsValue()
static final int LNS_TIME_LIMIT_FIELD_NUMBER
final int getNumber()
Builder clearSavingsAddReverseArcs()
Builder setUseExchangeValue(int value)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getDefaultInstanceForType()
Builder setUseExchangeSubtripValue(int value)
com.google.ortools.util.OptionalBoolean getUseMakeInactive()
.lang.Override int getUseGlobalCheapestInsertionPathLnsValue()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters getDefaultInstanceForType()
com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionPathLns()
Builder setUseTspLnsValue(int value)
static final int USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER
.lang.Deprecated static Value valueOf(int value)
UNSET
boolean hasLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder()
Builder clearUseMakeChainInactive()
.lang.Override Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
com.google.ortools.util.OptionalBoolean getUseInactiveLns()
Builder clearCheapestInsertionFarthestSeedsRatio()
Builder setUseCpValue(int value)
.lang.Override int getNumberOfSolutionsToCollect()
.lang.Override int getMixedIntegerSchedulingSolverValue()
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
Definition: Domain.java:9
.lang.Override com.google.ortools.util.OptionalBoolean getUseMakeChainInactive()
Builder setUseLinKernighanValue(int value)
Builder mergeLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators value)
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
.lang.Override com.google.ortools.util.OptionalBoolean getUseSwapActive()
.lang.Override Builder clear()
int getUseGlobalCheapestInsertionPathLnsValue()
Builder clearUseUnfilteredFirstSolutionStrategy()
UNRECOGNIZED
static final int USE_CROSS_EXCHANGE_FIELD_NUMBER
.lang.Override int getFirstSolutionStrategyValue()
.lang.Override double getSavingsNeighborsRatio()
UNRECOGNIZED
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder getLocalSearchOperatorsOrBuilder()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
int getUseCrossExchangeValue()
.lang.Override int getUsePathLnsValue()
.lang.Override int getNumberOfSolutionsToCollect()
.lang.Override com.google.ortools.util.OptionalBoolean getUseExchangeSubtrip()
.lang.Override com.google.ortools.util.OptionalBoolean getUseInactiveLns()
int getUseLocalCheapestInsertionExpensiveChainLnsValue()
.lang.Override int getUseOrOptValue()
.lang.Override int getUseRelocateNeighborsValue()
.lang.Override int getUseTspOptValue()
Builder setUseRelocatePair(com.google.ortools.util.OptionalBoolean value)
.lang.Override long getSolutionLimit()
Builder clearSolutionLimit()
Builder clearUseCp()
Builder clearNumberOfSolutionsToCollect()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getDefaultInstance()
static final int USE_RELOCATE_PAIR_FIELD_NUMBER
.lang.Override boolean hasTimeLimit()
static com.google.protobuf.Parser< LocalSearchNeighborhoodOperators > parser()
.lang.Override boolean getLogSearch()
.lang.Override com.google.ortools.util.OptionalBoolean getUsePathLns()
.lang.Override com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionPathLns()
Builder setUseTspOptValue(int value)
.lang.Override com.google.ortools.util.OptionalBoolean getUseExchangePair()
.lang.Override int getRelocateExpensiveChainNumArcsToConsider()
Builder setUseExtendedSwapActiveValue(int value)
com.google.ortools.util.OptionalBoolean getUseTspOpt()
int getUseFullPathLnsValue()
.lang.Override int getUseExchangeValue()
static final int MIXED_INTEGER_SCHEDULING_SOLVER_FIELD_NUMBER
static final int LOG_SEARCH_FIELD_NUMBER
int getUseRelocateAndMakeActiveValue()
.lang.Deprecated static Value valueOf(int value)
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters getDefaultInstanceForType()
Builder setCheapestInsertionFarthestSeedsRatio(double value)
.lang.Override com.google.ortools.util.OptionalBoolean getUseLinKernighan()
Builder setUseMakeInactive(com.google.ortools.util.OptionalBoolean value)
.lang.Override int getLocalSearchMetaheuristicValue()
.lang.Override double getSavingsArcCoefficient()
.lang.Override double getLogCostOffset()
double log_cost_offset = 29;
static final int SAVINGS_MAX_MEMORY_USAGE_BYTES_FIELD_NUMBER
Builder mergeTimeLimit(com.google.protobuf.Duration value)
com.google.ortools.util.OptionalBoolean getUseCrossExchange()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.ByteString data)
com.google.ortools.util.OptionalBoolean getUseRelocateNeighbors()
.lang.Override int getUseCpSatValue()
int getUseSwapActiveValue()
com.google.ortools.util.OptionalBoolean getUseMakeChainInactive()
Builder clearUseDepthFirstSearch()
.lang.Override int getUseInactiveLnsValue()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver getContinuousSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
.lang.Override int getUseRelocatePairValue()
.lang.Override double getOptimizationStep()
.lang.Override Builder clone()
.lang.Override double getLogCostScalingFactor()
Builder setUseCrossExchangeValue(int value)
.lang.Override int getHeuristicExpensiveChainLnsNumArcsToConsider()
.lang.Override com.google.ortools.util.OptionalBoolean getUseExchangeSubtrip()
Builder setLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators value)
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
.lang.Override boolean hasLnsTimeLimit()
.lang.Override boolean getUseUnfilteredFirstSolutionStrategy()
Builder setUseCrossValue(int value)
.lang.Override int getUseRelocateAndMakeActiveValue()
static final int USE_EXCHANGE_FIELD_NUMBER
.lang.Override Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
.lang.Override Builder toBuilder()
com.google.ortools.util.OptionalBoolean getUseRelocatePair()
static final int HEURISTIC_EXPENSIVE_CHAIN_LNS_NUM_ARCS_TO_CONSIDER_FIELD_NUMBER
.lang.Override com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value getLocalSearchMetaheuristic()
static final int USE_RELOCATE_FIELD_NUMBER
.lang.Override boolean getSavingsParallelRoutes()
Builder setUseExchangePairValue(int value)
int getUseTwoOptValue()
.lang.Override int getUseGlobalCheapestInsertionExpensiveChainLnsValue()
Builder setLogCostScalingFactor(double value)
Builder setUseNodePairSwapActiveValue(int value)
Builder clearSavingsMaxMemoryUsageBytes()
int getUseOrOptValue()
.lang.Override com.google.ortools.util.OptionalBoolean getUseTspLns()
static final int USE_GLOBAL_CHEAPEST_INSERTION_PATH_LNS_FIELD_NUMBER
.lang.Override com.google.ortools.util.OptionalBoolean getUseExtendedSwapActive()