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  logTag_ = "";
35  }
36 
37  @java.lang.Override
38  @SuppressWarnings({"unused"})
39  protected java.lang.Object newInstance(
40  UnusedPrivateParameter unused) {
41  return new RoutingSearchParameters();
42  }
43 
44  @java.lang.Override
45  public final com.google.protobuf.UnknownFieldSet
47  return this.unknownFields;
48  }
50  com.google.protobuf.CodedInputStream input,
51  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
52  throws com.google.protobuf.InvalidProtocolBufferException {
53  this();
54  if (extensionRegistry == null) {
55  throw new java.lang.NullPointerException();
56  }
57  com.google.protobuf.UnknownFieldSet.Builder unknownFields =
58  com.google.protobuf.UnknownFieldSet.newBuilder();
59  try {
60  boolean done = false;
61  while (!done) {
62  int tag = input.readTag();
63  switch (tag) {
64  case 0:
65  done = true;
66  break;
67  case 8: {
68  int rawValue = input.readEnum();
69 
70  firstSolutionStrategy_ = rawValue;
71  break;
72  }
73  case 16: {
74 
75  useUnfilteredFirstSolutionStrategy_ = input.readBool();
76  break;
77  }
78  case 26: {
80  if (localSearchOperators_ != null) {
81  subBuilder = localSearchOperators_.toBuilder();
82  }
83  localSearchOperators_ = input.readMessage(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.parser(), extensionRegistry);
84  if (subBuilder != null) {
85  subBuilder.mergeFrom(localSearchOperators_);
86  localSearchOperators_ = subBuilder.buildPartial();
87  }
88 
89  break;
90  }
91  case 32: {
92  int rawValue = input.readEnum();
93 
94  localSearchMetaheuristic_ = rawValue;
95  break;
96  }
97  case 41: {
98 
99  guidedLocalSearchLambdaCoefficient_ = input.readDouble();
100  break;
101  }
102  case 48: {
103 
104  useDepthFirstSearch_ = input.readBool();
105  break;
106  }
107  case 57: {
108 
109  optimizationStep_ = input.readDouble();
110  break;
111  }
112  case 64: {
113 
114  solutionLimit_ = input.readInt64();
115  break;
116  }
117  case 74: {
118  com.google.protobuf.Duration.Builder subBuilder = null;
119  if (timeLimit_ != null) {
120  subBuilder = timeLimit_.toBuilder();
121  }
122  timeLimit_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
123  if (subBuilder != null) {
124  subBuilder.mergeFrom(timeLimit_);
125  timeLimit_ = subBuilder.buildPartial();
126  }
127 
128  break;
129  }
130  case 82: {
131  com.google.protobuf.Duration.Builder subBuilder = null;
132  if (lnsTimeLimit_ != null) {
133  subBuilder = lnsTimeLimit_.toBuilder();
134  }
135  lnsTimeLimit_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
136  if (subBuilder != null) {
137  subBuilder.mergeFrom(lnsTimeLimit_);
138  lnsTimeLimit_ = subBuilder.buildPartial();
139  }
140 
141  break;
142  }
143  case 88: {
144 
145  useFullPropagation_ = input.readBool();
146  break;
147  }
148  case 104: {
149 
150  logSearch_ = input.readBool();
151  break;
152  }
153  case 113: {
154 
155  savingsNeighborsRatio_ = input.readDouble();
156  break;
157  }
158  case 120: {
159 
160  savingsAddReverseArcs_ = input.readBool();
161  break;
162  }
163  case 129: {
164 
165  cheapestInsertionFarthestSeedsRatio_ = input.readDouble();
166  break;
167  }
168  case 136: {
169 
170  numberOfSolutionsToCollect_ = input.readInt32();
171  break;
172  }
173  case 145: {
174 
175  savingsArcCoefficient_ = input.readDouble();
176  break;
177  }
178  case 152: {
179 
180  savingsParallelRoutes_ = input.readBool();
181  break;
182  }
183  case 160: {
184 
185  relocateExpensiveChainNumArcsToConsider_ = input.readInt32();
186  break;
187  }
188  case 169: {
189 
190  cheapestInsertionFirstSolutionNeighborsRatio_ = input.readDouble();
191  break;
192  }
193  case 177: {
194 
195  logCostScalingFactor_ = input.readDouble();
196  break;
197  }
198  case 185: {
199 
200  savingsMaxMemoryUsageBytes_ = input.readDouble();
201  break;
202  }
203  case 216: {
204  int rawValue = input.readEnum();
205 
206  useCpSat_ = rawValue;
207  break;
208  }
209  case 224: {
210  int rawValue = input.readEnum();
211 
212  useCp_ = rawValue;
213  break;
214  }
215  case 233: {
216 
217  logCostOffset_ = input.readDouble();
218  break;
219  }
220  case 240: {
221 
222  christofidesUseMinimumMatching_ = input.readBool();
223  break;
224  }
225  case 249: {
226 
227  cheapestInsertionLsOperatorNeighborsRatio_ = input.readDouble();
228  break;
229  }
230  case 256: {
231 
232  heuristicExpensiveChainLnsNumArcsToConsider_ = input.readInt32();
233  break;
234  }
235  case 264: {
236  int rawValue = input.readEnum();
237 
238  continuousSchedulingSolver_ = rawValue;
239  break;
240  }
241  case 272: {
242  int rawValue = input.readEnum();
243 
244  mixedIntegerSchedulingSolver_ = rawValue;
245  break;
246  }
247  case 280: {
248 
249  heuristicCloseNodesLnsNumNodes_ = input.readInt32();
250  break;
251  }
252  case 290: {
253  java.lang.String s = input.readStringRequireUtf8();
254 
255  logTag_ = s;
256  break;
257  }
258  default: {
259  if (!parseUnknownField(
260  input, unknownFields, extensionRegistry, tag)) {
261  done = true;
262  }
263  break;
264  }
265  }
266  }
267  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
268  throw e.setUnfinishedMessage(this);
269  } catch (java.io.IOException e) {
270  throw new com.google.protobuf.InvalidProtocolBufferException(
271  e).setUnfinishedMessage(this);
272  } finally {
273  this.unknownFields = unknownFields.build();
274  makeExtensionsImmutable();
275  }
276  }
277  public static final com.google.protobuf.Descriptors.Descriptor
279  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
280  }
281 
282  @java.lang.Override
283  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
285  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_fieldAccessorTable
286  .ensureFieldAccessorsInitialized(
288  }
289 
298  public enum SchedulingSolver
299  implements com.google.protobuf.ProtocolMessageEnum {
303  UNSET(0),
307  GLOP(1),
311  CP_SAT(2),
313  ;
314 
318  public static final int UNSET_VALUE = 0;
322  public static final int GLOP_VALUE = 1;
326  public static final int CP_SAT_VALUE = 2;
327 
328 
329  public final int getNumber() {
330  if (this == UNRECOGNIZED) {
331  throw new java.lang.IllegalArgumentException(
332  "Can't get the number of an unknown enum value.");
333  }
334  return value;
335  }
336 
342  @java.lang.Deprecated
343  public static SchedulingSolver valueOf(int value) {
344  return forNumber(value);
345  }
346 
351  public static SchedulingSolver forNumber(int value) {
352  switch (value) {
353  case 0: return UNSET;
354  case 1: return GLOP;
355  case 2: return CP_SAT;
356  default: return null;
357  }
358  }
359 
360  public static com.google.protobuf.Internal.EnumLiteMap<SchedulingSolver>
362  return internalValueMap;
363  }
364  private static final com.google.protobuf.Internal.EnumLiteMap<
365  SchedulingSolver> internalValueMap =
366  new com.google.protobuf.Internal.EnumLiteMap<SchedulingSolver>() {
367  public SchedulingSolver findValueByNumber(int number) {
368  return SchedulingSolver.forNumber(number);
369  }
370  };
371 
372  public final com.google.protobuf.Descriptors.EnumValueDescriptor
374  if (this == UNRECOGNIZED) {
375  throw new java.lang.IllegalStateException(
376  "Can't get the descriptor of an unrecognized enum value.");
377  }
378  return getDescriptor().getValues().get(ordinal());
379  }
380  public final com.google.protobuf.Descriptors.EnumDescriptor
382  return getDescriptor();
383  }
384  public static final com.google.protobuf.Descriptors.EnumDescriptor
387  }
388 
389  private static final SchedulingSolver[] VALUES = values();
390 
391  public static SchedulingSolver valueOf(
392  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
393  if (desc.getType() != getDescriptor()) {
394  throw new java.lang.IllegalArgumentException(
395  "EnumValueDescriptor is not for this type.");
396  }
397  if (desc.getIndex() == -1) {
398  return UNRECOGNIZED;
399  }
400  return VALUES[desc.getIndex()];
401  }
402 
403  private final int value;
404 
405  private SchedulingSolver(int value) {
406  this.value = value;
407  }
408 
409  // @@protoc_insertion_point(enum_scope:operations_research.RoutingSearchParameters.SchedulingSolver)
410  }
411 
413  // @@protoc_insertion_point(interface_extends:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
414  com.google.protobuf.MessageOrBuilder {
415 
450 
485 
516 
577 
618 
649 
680 
701 
736 
755 
792 
829 
868 
893 
922 
953 
990 
1017 
1046 
1073 
1110 
1149 
1182 
1201 
1230 
1253 
1276 
1295 
1320 
1341 
1366 
1387  }
1396  public static final class LocalSearchNeighborhoodOperators extends
1397  com.google.protobuf.GeneratedMessageV3 implements
1398  // @@protoc_insertion_point(message_implements:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
1400  private static final long serialVersionUID = 0L;
1401  // Use LocalSearchNeighborhoodOperators.newBuilder() to construct.
1402  private LocalSearchNeighborhoodOperators(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
1403  super(builder);
1404  }
1406  useRelocate_ = 0;
1407  useRelocatePair_ = 0;
1408  useLightRelocatePair_ = 0;
1409  useRelocateNeighbors_ = 0;
1410  useRelocateSubtrip_ = 0;
1411  useExchange_ = 0;
1412  useExchangePair_ = 0;
1413  useExchangeSubtrip_ = 0;
1414  useCross_ = 0;
1415  useCrossExchange_ = 0;
1416  useRelocateExpensiveChain_ = 0;
1417  useTwoOpt_ = 0;
1418  useOrOpt_ = 0;
1419  useLinKernighan_ = 0;
1420  useTspOpt_ = 0;
1421  useMakeActive_ = 0;
1422  useRelocateAndMakeActive_ = 0;
1423  useMakeInactive_ = 0;
1424  useMakeChainInactive_ = 0;
1425  useSwapActive_ = 0;
1426  useExtendedSwapActive_ = 0;
1427  useNodePairSwapActive_ = 0;
1428  usePathLns_ = 0;
1429  useFullPathLns_ = 0;
1430  useTspLns_ = 0;
1431  useInactiveLns_ = 0;
1432  useGlobalCheapestInsertionPathLns_ = 0;
1433  useLocalCheapestInsertionPathLns_ = 0;
1434  useGlobalCheapestInsertionExpensiveChainLns_ = 0;
1435  useLocalCheapestInsertionExpensiveChainLns_ = 0;
1436  useGlobalCheapestInsertionCloseNodesLns_ = 0;
1437  useLocalCheapestInsertionCloseNodesLns_ = 0;
1438  }
1439 
1440  @java.lang.Override
1441  @SuppressWarnings({"unused"})
1442  protected java.lang.Object newInstance(
1443  UnusedPrivateParameter unused) {
1444  return new LocalSearchNeighborhoodOperators();
1445  }
1446 
1447  @java.lang.Override
1448  public final com.google.protobuf.UnknownFieldSet
1450  return this.unknownFields;
1451  }
1453  com.google.protobuf.CodedInputStream input,
1454  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1455  throws com.google.protobuf.InvalidProtocolBufferException {
1456  this();
1457  if (extensionRegistry == null) {
1458  throw new java.lang.NullPointerException();
1459  }
1460  com.google.protobuf.UnknownFieldSet.Builder unknownFields =
1461  com.google.protobuf.UnknownFieldSet.newBuilder();
1462  try {
1463  boolean done = false;
1464  while (!done) {
1465  int tag = input.readTag();
1466  switch (tag) {
1467  case 0:
1468  done = true;
1469  break;
1470  case 8: {
1471  int rawValue = input.readEnum();
1472 
1473  useRelocate_ = rawValue;
1474  break;
1475  }
1476  case 16: {
1477  int rawValue = input.readEnum();
1478 
1479  useRelocatePair_ = rawValue;
1480  break;
1481  }
1482  case 24: {
1483  int rawValue = input.readEnum();
1484 
1485  useRelocateNeighbors_ = rawValue;
1486  break;
1487  }
1488  case 32: {
1489  int rawValue = input.readEnum();
1490 
1491  useExchange_ = rawValue;
1492  break;
1493  }
1494  case 40: {
1495  int rawValue = input.readEnum();
1496 
1497  useCross_ = rawValue;
1498  break;
1499  }
1500  case 48: {
1501  int rawValue = input.readEnum();
1502 
1503  useCrossExchange_ = rawValue;
1504  break;
1505  }
1506  case 56: {
1507  int rawValue = input.readEnum();
1508 
1509  useTwoOpt_ = rawValue;
1510  break;
1511  }
1512  case 64: {
1513  int rawValue = input.readEnum();
1514 
1515  useOrOpt_ = rawValue;
1516  break;
1517  }
1518  case 72: {
1519  int rawValue = input.readEnum();
1520 
1521  useLinKernighan_ = rawValue;
1522  break;
1523  }
1524  case 80: {
1525  int rawValue = input.readEnum();
1526 
1527  useTspOpt_ = rawValue;
1528  break;
1529  }
1530  case 88: {
1531  int rawValue = input.readEnum();
1532 
1533  useMakeActive_ = rawValue;
1534  break;
1535  }
1536  case 96: {
1537  int rawValue = input.readEnum();
1538 
1539  useMakeInactive_ = rawValue;
1540  break;
1541  }
1542  case 104: {
1543  int rawValue = input.readEnum();
1544 
1545  useMakeChainInactive_ = rawValue;
1546  break;
1547  }
1548  case 112: {
1549  int rawValue = input.readEnum();
1550 
1551  useSwapActive_ = rawValue;
1552  break;
1553  }
1554  case 120: {
1555  int rawValue = input.readEnum();
1556 
1557  useExtendedSwapActive_ = rawValue;
1558  break;
1559  }
1560  case 128: {
1561  int rawValue = input.readEnum();
1562 
1563  usePathLns_ = rawValue;
1564  break;
1565  }
1566  case 136: {
1567  int rawValue = input.readEnum();
1568 
1569  useFullPathLns_ = rawValue;
1570  break;
1571  }
1572  case 144: {
1573  int rawValue = input.readEnum();
1574 
1575  useTspLns_ = rawValue;
1576  break;
1577  }
1578  case 152: {
1579  int rawValue = input.readEnum();
1580 
1581  useInactiveLns_ = rawValue;
1582  break;
1583  }
1584  case 160: {
1585  int rawValue = input.readEnum();
1586 
1587  useNodePairSwapActive_ = rawValue;
1588  break;
1589  }
1590  case 168: {
1591  int rawValue = input.readEnum();
1592 
1593  useRelocateAndMakeActive_ = rawValue;
1594  break;
1595  }
1596  case 176: {
1597  int rawValue = input.readEnum();
1598 
1599  useExchangePair_ = rawValue;
1600  break;
1601  }
1602  case 184: {
1603  int rawValue = input.readEnum();
1604 
1605  useRelocateExpensiveChain_ = rawValue;
1606  break;
1607  }
1608  case 192: {
1609  int rawValue = input.readEnum();
1610 
1611  useLightRelocatePair_ = rawValue;
1612  break;
1613  }
1614  case 200: {
1615  int rawValue = input.readEnum();
1616 
1617  useRelocateSubtrip_ = rawValue;
1618  break;
1619  }
1620  case 208: {
1621  int rawValue = input.readEnum();
1622 
1623  useExchangeSubtrip_ = rawValue;
1624  break;
1625  }
1626  case 216: {
1627  int rawValue = input.readEnum();
1628 
1629  useGlobalCheapestInsertionPathLns_ = rawValue;
1630  break;
1631  }
1632  case 224: {
1633  int rawValue = input.readEnum();
1634 
1635  useLocalCheapestInsertionPathLns_ = rawValue;
1636  break;
1637  }
1638  case 232: {
1639  int rawValue = input.readEnum();
1640 
1641  useGlobalCheapestInsertionExpensiveChainLns_ = rawValue;
1642  break;
1643  }
1644  case 240: {
1645  int rawValue = input.readEnum();
1646 
1647  useLocalCheapestInsertionExpensiveChainLns_ = rawValue;
1648  break;
1649  }
1650  case 248: {
1651  int rawValue = input.readEnum();
1652 
1653  useGlobalCheapestInsertionCloseNodesLns_ = rawValue;
1654  break;
1655  }
1656  case 256: {
1657  int rawValue = input.readEnum();
1658 
1659  useLocalCheapestInsertionCloseNodesLns_ = rawValue;
1660  break;
1661  }
1662  default: {
1663  if (!parseUnknownField(
1664  input, unknownFields, extensionRegistry, tag)) {
1665  done = true;
1666  }
1667  break;
1668  }
1669  }
1670  }
1671  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1672  throw e.setUnfinishedMessage(this);
1673  } catch (java.io.IOException e) {
1674  throw new com.google.protobuf.InvalidProtocolBufferException(
1675  e).setUnfinishedMessage(this);
1676  } finally {
1677  this.unknownFields = unknownFields.build();
1678  makeExtensionsImmutable();
1679  }
1680  }
1681  public static final com.google.protobuf.Descriptors.Descriptor
1683  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
1684  }
1685 
1686  @java.lang.Override
1687  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
1689  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_fieldAccessorTable
1690  .ensureFieldAccessorsInitialized(
1692  }
1693 
1694  public static final int USE_RELOCATE_FIELD_NUMBER = 1;
1695  private int useRelocate_;
1712  @java.lang.Override public int getUseRelocateValue() {
1713  return useRelocate_;
1714  }
1731  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseRelocate() {
1732  @SuppressWarnings("deprecation")
1734  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1735  }
1736 
1737  public static final int USE_RELOCATE_PAIR_FIELD_NUMBER = 2;
1738  private int useRelocatePair_;
1755  @java.lang.Override public int getUseRelocatePairValue() {
1756  return useRelocatePair_;
1757  }
1774  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseRelocatePair() {
1775  @SuppressWarnings("deprecation")
1777  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1778  }
1779 
1780  public static final int USE_LIGHT_RELOCATE_PAIR_FIELD_NUMBER = 24;
1781  private int useLightRelocatePair_;
1796  @java.lang.Override public int getUseLightRelocatePairValue() {
1797  return useLightRelocatePair_;
1798  }
1814  @SuppressWarnings("deprecation")
1816  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1817  }
1818 
1819  public static final int USE_RELOCATE_NEIGHBORS_FIELD_NUMBER = 3;
1820  private int useRelocateNeighbors_;
1850  @java.lang.Override public int getUseRelocateNeighborsValue() {
1851  return useRelocateNeighbors_;
1852  }
1883  @SuppressWarnings("deprecation")
1885  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1886  }
1887 
1888  public static final int USE_RELOCATE_SUBTRIP_FIELD_NUMBER = 25;
1889  private int useRelocateSubtrip_;
1909  @java.lang.Override public int getUseRelocateSubtripValue() {
1910  return useRelocateSubtrip_;
1911  }
1932  @SuppressWarnings("deprecation")
1934  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1935  }
1936 
1937  public static final int USE_EXCHANGE_FIELD_NUMBER = 4;
1938  private int useExchange_;
1953  @java.lang.Override public int getUseExchangeValue() {
1954  return useExchange_;
1955  }
1970  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseExchange() {
1971  @SuppressWarnings("deprecation")
1973  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1974  }
1975 
1976  public static final int USE_EXCHANGE_PAIR_FIELD_NUMBER = 22;
1977  private int useExchangePair_;
1992  @java.lang.Override public int getUseExchangePairValue() {
1993  return useExchangePair_;
1994  }
2009  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseExchangePair() {
2010  @SuppressWarnings("deprecation")
2012  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2013  }
2014 
2015  public static final int USE_EXCHANGE_SUBTRIP_FIELD_NUMBER = 26;
2016  private int useExchangeSubtrip_;
2026  @java.lang.Override public int getUseExchangeSubtripValue() {
2027  return useExchangeSubtrip_;
2028  }
2039  @SuppressWarnings("deprecation")
2041  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2042  }
2043 
2044  public static final int USE_CROSS_FIELD_NUMBER = 5;
2045  private int useCross_;
2062  @java.lang.Override public int getUseCrossValue() {
2063  return useCross_;
2064  }
2081  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseCross() {
2082  @SuppressWarnings("deprecation")
2084  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2085  }
2086 
2087  public static final int USE_CROSS_EXCHANGE_FIELD_NUMBER = 6;
2088  private int useCrossExchange_;
2097  @java.lang.Override public int getUseCrossExchangeValue() {
2098  return useCrossExchange_;
2099  }
2109  @SuppressWarnings("deprecation")
2111  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2112  }
2113 
2114  public static final int USE_RELOCATE_EXPENSIVE_CHAIN_FIELD_NUMBER = 23;
2115  private int useRelocateExpensiveChain_;
2133  @java.lang.Override public int getUseRelocateExpensiveChainValue() {
2134  return useRelocateExpensiveChain_;
2135  }
2154  @SuppressWarnings("deprecation")
2155  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateExpensiveChain_);
2156  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2157  }
2158 
2159  public static final int USE_TWO_OPT_FIELD_NUMBER = 7;
2160  private int useTwoOpt_;
2178  @java.lang.Override public int getUseTwoOptValue() {
2179  return useTwoOpt_;
2180  }
2198  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseTwoOpt() {
2199  @SuppressWarnings("deprecation")
2201  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2202  }
2203 
2204  public static final int USE_OR_OPT_FIELD_NUMBER = 8;
2205  private int useOrOpt_;
2224  @java.lang.Override public int getUseOrOptValue() {
2225  return useOrOpt_;
2226  }
2245  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseOrOpt() {
2246  @SuppressWarnings("deprecation")
2248  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2249  }
2250 
2251  public static final int USE_LIN_KERNIGHAN_FIELD_NUMBER = 9;
2252  private int useLinKernighan_;
2264  @java.lang.Override public int getUseLinKernighanValue() {
2265  return useLinKernighan_;
2266  }
2278  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseLinKernighan() {
2279  @SuppressWarnings("deprecation")
2281  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2282  }
2283 
2284  public static final int USE_TSP_OPT_FIELD_NUMBER = 10;
2285  private int useTspOpt_;
2299  @java.lang.Override public int getUseTspOptValue() {
2300  return useTspOpt_;
2301  }
2315  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseTspOpt() {
2316  @SuppressWarnings("deprecation")
2318  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2319  }
2320 
2321  public static final int USE_MAKE_ACTIVE_FIELD_NUMBER = 11;
2322  private int useMakeActive_;
2337  @java.lang.Override public int getUseMakeActiveValue() {
2338  return useMakeActive_;
2339  }
2354  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseMakeActive() {
2355  @SuppressWarnings("deprecation")
2357  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2358  }
2359 
2360  public static final int USE_RELOCATE_AND_MAKE_ACTIVE_FIELD_NUMBER = 21;
2361  private int useRelocateAndMakeActive_;
2379  @java.lang.Override public int getUseRelocateAndMakeActiveValue() {
2380  return useRelocateAndMakeActive_;
2381  }
2400  @SuppressWarnings("deprecation")
2401  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateAndMakeActive_);
2402  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2403  }
2404 
2405  public static final int USE_MAKE_INACTIVE_FIELD_NUMBER = 12;
2406  private int useMakeInactive_;
2419  @java.lang.Override public int getUseMakeInactiveValue() {
2420  return useMakeInactive_;
2421  }
2434  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseMakeInactive() {
2435  @SuppressWarnings("deprecation")
2437  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2438  }
2439 
2440  public static final int USE_MAKE_CHAIN_INACTIVE_FIELD_NUMBER = 13;
2441  private int useMakeChainInactive_;
2455  @java.lang.Override public int getUseMakeChainInactiveValue() {
2456  return useMakeChainInactive_;
2457  }
2472  @SuppressWarnings("deprecation")
2474  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2475  }
2476 
2477  public static final int USE_SWAP_ACTIVE_FIELD_NUMBER = 14;
2478  private int useSwapActive_;
2491  @java.lang.Override public int getUseSwapActiveValue() {
2492  return useSwapActive_;
2493  }
2506  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseSwapActive() {
2507  @SuppressWarnings("deprecation")
2509  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2510  }
2511 
2512  public static final int USE_EXTENDED_SWAP_ACTIVE_FIELD_NUMBER = 15;
2513  private int useExtendedSwapActive_;
2531  @java.lang.Override public int getUseExtendedSwapActiveValue() {
2532  return useExtendedSwapActive_;
2533  }
2552  @SuppressWarnings("deprecation")
2553  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useExtendedSwapActive_);
2554  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2555  }
2556 
2557  public static final int USE_NODE_PAIR_SWAP_ACTIVE_FIELD_NUMBER = 20;
2558  private int useNodePairSwapActive_;
2577  @java.lang.Override public int getUseNodePairSwapActiveValue() {
2578  return useNodePairSwapActive_;
2579  }
2599  @SuppressWarnings("deprecation")
2600  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useNodePairSwapActive_);
2601  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2602  }
2603 
2604  public static final int USE_PATH_LNS_FIELD_NUMBER = 16;
2605  private int usePathLns_;
2621  @java.lang.Override public int getUsePathLnsValue() {
2622  return usePathLns_;
2623  }
2639  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUsePathLns() {
2640  @SuppressWarnings("deprecation")
2642  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2643  }
2644 
2645  public static final int USE_FULL_PATH_LNS_FIELD_NUMBER = 17;
2646  private int useFullPathLns_;
2655  @java.lang.Override public int getUseFullPathLnsValue() {
2656  return useFullPathLns_;
2657  }
2666  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseFullPathLns() {
2667  @SuppressWarnings("deprecation")
2669  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2670  }
2671 
2672  public static final int USE_TSP_LNS_FIELD_NUMBER = 18;
2673  private int useTspLns_;
2687  @java.lang.Override public int getUseTspLnsValue() {
2688  return useTspLns_;
2689  }
2703  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseTspLns() {
2704  @SuppressWarnings("deprecation")
2706  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2707  }
2708 
2709  public static final int USE_INACTIVE_LNS_FIELD_NUMBER = 19;
2710  private int useInactiveLns_;
2721  @java.lang.Override public int getUseInactiveLnsValue() {
2722  return useInactiveLns_;
2723  }
2734  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseInactiveLns() {
2735  @SuppressWarnings("deprecation")
2737  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2738  }
2739 
2741  private int useGlobalCheapestInsertionPathLns_;
2752  @java.lang.Override public int getUseGlobalCheapestInsertionPathLnsValue() {
2753  return useGlobalCheapestInsertionPathLns_;
2754  }
2766  @SuppressWarnings("deprecation")
2767  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionPathLns_);
2768  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2769  }
2770 
2772  private int useLocalCheapestInsertionPathLns_;
2781  @java.lang.Override public int getUseLocalCheapestInsertionPathLnsValue() {
2782  return useLocalCheapestInsertionPathLns_;
2783  }
2793  @SuppressWarnings("deprecation")
2794  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionPathLns_);
2795  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2796  }
2797 
2799  private int useGlobalCheapestInsertionExpensiveChainLns_;
2811  @java.lang.Override public int getUseGlobalCheapestInsertionExpensiveChainLnsValue() {
2812  return useGlobalCheapestInsertionExpensiveChainLns_;
2813  }
2826  @SuppressWarnings("deprecation")
2827  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionExpensiveChainLns_);
2828  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2829  }
2830 
2832  private int useLocalCheapestInsertionExpensiveChainLns_;
2842  @java.lang.Override public int getUseLocalCheapestInsertionExpensiveChainLnsValue() {
2843  return useLocalCheapestInsertionExpensiveChainLns_;
2844  }
2855  @SuppressWarnings("deprecation")
2856  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionExpensiveChainLns_);
2857  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2858  }
2859 
2861  private int useGlobalCheapestInsertionCloseNodesLns_;
2873  @java.lang.Override public int getUseGlobalCheapestInsertionCloseNodesLnsValue() {
2874  return useGlobalCheapestInsertionCloseNodesLns_;
2875  }
2888  @SuppressWarnings("deprecation")
2889  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionCloseNodesLns_);
2890  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2891  }
2892 
2894  private int useLocalCheapestInsertionCloseNodesLns_;
2904  @java.lang.Override public int getUseLocalCheapestInsertionCloseNodesLnsValue() {
2905  return useLocalCheapestInsertionCloseNodesLns_;
2906  }
2917  @SuppressWarnings("deprecation")
2918  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionCloseNodesLns_);
2919  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2920  }
2921 
2922  private byte memoizedIsInitialized = -1;
2923  @java.lang.Override
2924  public final boolean isInitialized() {
2925  byte isInitialized = memoizedIsInitialized;
2926  if (isInitialized == 1) return true;
2927  if (isInitialized == 0) return false;
2928 
2929  memoizedIsInitialized = 1;
2930  return true;
2931  }
2932 
2933  @java.lang.Override
2934  public void writeTo(com.google.protobuf.CodedOutputStream output)
2935  throws java.io.IOException {
2936  if (useRelocate_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2937  output.writeEnum(1, useRelocate_);
2938  }
2939  if (useRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2940  output.writeEnum(2, useRelocatePair_);
2941  }
2942  if (useRelocateNeighbors_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2943  output.writeEnum(3, useRelocateNeighbors_);
2944  }
2945  if (useExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2946  output.writeEnum(4, useExchange_);
2947  }
2948  if (useCross_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2949  output.writeEnum(5, useCross_);
2950  }
2951  if (useCrossExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2952  output.writeEnum(6, useCrossExchange_);
2953  }
2954  if (useTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2955  output.writeEnum(7, useTwoOpt_);
2956  }
2957  if (useOrOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2958  output.writeEnum(8, useOrOpt_);
2959  }
2960  if (useLinKernighan_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2961  output.writeEnum(9, useLinKernighan_);
2962  }
2963  if (useTspOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2964  output.writeEnum(10, useTspOpt_);
2965  }
2966  if (useMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2967  output.writeEnum(11, useMakeActive_);
2968  }
2969  if (useMakeInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2970  output.writeEnum(12, useMakeInactive_);
2971  }
2972  if (useMakeChainInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2973  output.writeEnum(13, useMakeChainInactive_);
2974  }
2975  if (useSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2976  output.writeEnum(14, useSwapActive_);
2977  }
2978  if (useExtendedSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2979  output.writeEnum(15, useExtendedSwapActive_);
2980  }
2981  if (usePathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2982  output.writeEnum(16, usePathLns_);
2983  }
2984  if (useFullPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2985  output.writeEnum(17, useFullPathLns_);
2986  }
2987  if (useTspLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2988  output.writeEnum(18, useTspLns_);
2989  }
2990  if (useInactiveLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2991  output.writeEnum(19, useInactiveLns_);
2992  }
2993  if (useNodePairSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2994  output.writeEnum(20, useNodePairSwapActive_);
2995  }
2996  if (useRelocateAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2997  output.writeEnum(21, useRelocateAndMakeActive_);
2998  }
2999  if (useExchangePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3000  output.writeEnum(22, useExchangePair_);
3001  }
3002  if (useRelocateExpensiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3003  output.writeEnum(23, useRelocateExpensiveChain_);
3004  }
3005  if (useLightRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3006  output.writeEnum(24, useLightRelocatePair_);
3007  }
3008  if (useRelocateSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3009  output.writeEnum(25, useRelocateSubtrip_);
3010  }
3011  if (useExchangeSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3012  output.writeEnum(26, useExchangeSubtrip_);
3013  }
3014  if (useGlobalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3015  output.writeEnum(27, useGlobalCheapestInsertionPathLns_);
3016  }
3017  if (useLocalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3018  output.writeEnum(28, useLocalCheapestInsertionPathLns_);
3019  }
3020  if (useGlobalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3021  output.writeEnum(29, useGlobalCheapestInsertionExpensiveChainLns_);
3022  }
3023  if (useLocalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3024  output.writeEnum(30, useLocalCheapestInsertionExpensiveChainLns_);
3025  }
3026  if (useGlobalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3027  output.writeEnum(31, useGlobalCheapestInsertionCloseNodesLns_);
3028  }
3029  if (useLocalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3030  output.writeEnum(32, useLocalCheapestInsertionCloseNodesLns_);
3031  }
3032  unknownFields.writeTo(output);
3033  }
3034 
3035  @java.lang.Override
3036  public int getSerializedSize() {
3037  int size = memoizedSize;
3038  if (size != -1) return size;
3039 
3040  size = 0;
3041  if (useRelocate_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3042  size += com.google.protobuf.CodedOutputStream
3043  .computeEnumSize(1, useRelocate_);
3044  }
3045  if (useRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3046  size += com.google.protobuf.CodedOutputStream
3047  .computeEnumSize(2, useRelocatePair_);
3048  }
3049  if (useRelocateNeighbors_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3050  size += com.google.protobuf.CodedOutputStream
3051  .computeEnumSize(3, useRelocateNeighbors_);
3052  }
3053  if (useExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3054  size += com.google.protobuf.CodedOutputStream
3055  .computeEnumSize(4, useExchange_);
3056  }
3057  if (useCross_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3058  size += com.google.protobuf.CodedOutputStream
3059  .computeEnumSize(5, useCross_);
3060  }
3061  if (useCrossExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3062  size += com.google.protobuf.CodedOutputStream
3063  .computeEnumSize(6, useCrossExchange_);
3064  }
3065  if (useTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3066  size += com.google.protobuf.CodedOutputStream
3067  .computeEnumSize(7, useTwoOpt_);
3068  }
3069  if (useOrOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3070  size += com.google.protobuf.CodedOutputStream
3071  .computeEnumSize(8, useOrOpt_);
3072  }
3073  if (useLinKernighan_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3074  size += com.google.protobuf.CodedOutputStream
3075  .computeEnumSize(9, useLinKernighan_);
3076  }
3077  if (useTspOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3078  size += com.google.protobuf.CodedOutputStream
3079  .computeEnumSize(10, useTspOpt_);
3080  }
3081  if (useMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3082  size += com.google.protobuf.CodedOutputStream
3083  .computeEnumSize(11, useMakeActive_);
3084  }
3085  if (useMakeInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3086  size += com.google.protobuf.CodedOutputStream
3087  .computeEnumSize(12, useMakeInactive_);
3088  }
3089  if (useMakeChainInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3090  size += com.google.protobuf.CodedOutputStream
3091  .computeEnumSize(13, useMakeChainInactive_);
3092  }
3093  if (useSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3094  size += com.google.protobuf.CodedOutputStream
3095  .computeEnumSize(14, useSwapActive_);
3096  }
3097  if (useExtendedSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3098  size += com.google.protobuf.CodedOutputStream
3099  .computeEnumSize(15, useExtendedSwapActive_);
3100  }
3101  if (usePathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3102  size += com.google.protobuf.CodedOutputStream
3103  .computeEnumSize(16, usePathLns_);
3104  }
3105  if (useFullPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3106  size += com.google.protobuf.CodedOutputStream
3107  .computeEnumSize(17, useFullPathLns_);
3108  }
3109  if (useTspLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3110  size += com.google.protobuf.CodedOutputStream
3111  .computeEnumSize(18, useTspLns_);
3112  }
3113  if (useInactiveLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3114  size += com.google.protobuf.CodedOutputStream
3115  .computeEnumSize(19, useInactiveLns_);
3116  }
3117  if (useNodePairSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3118  size += com.google.protobuf.CodedOutputStream
3119  .computeEnumSize(20, useNodePairSwapActive_);
3120  }
3121  if (useRelocateAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3122  size += com.google.protobuf.CodedOutputStream
3123  .computeEnumSize(21, useRelocateAndMakeActive_);
3124  }
3125  if (useExchangePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3126  size += com.google.protobuf.CodedOutputStream
3127  .computeEnumSize(22, useExchangePair_);
3128  }
3129  if (useRelocateExpensiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3130  size += com.google.protobuf.CodedOutputStream
3131  .computeEnumSize(23, useRelocateExpensiveChain_);
3132  }
3133  if (useLightRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3134  size += com.google.protobuf.CodedOutputStream
3135  .computeEnumSize(24, useLightRelocatePair_);
3136  }
3137  if (useRelocateSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3138  size += com.google.protobuf.CodedOutputStream
3139  .computeEnumSize(25, useRelocateSubtrip_);
3140  }
3141  if (useExchangeSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3142  size += com.google.protobuf.CodedOutputStream
3143  .computeEnumSize(26, useExchangeSubtrip_);
3144  }
3145  if (useGlobalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3146  size += com.google.protobuf.CodedOutputStream
3147  .computeEnumSize(27, useGlobalCheapestInsertionPathLns_);
3148  }
3149  if (useLocalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3150  size += com.google.protobuf.CodedOutputStream
3151  .computeEnumSize(28, useLocalCheapestInsertionPathLns_);
3152  }
3153  if (useGlobalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3154  size += com.google.protobuf.CodedOutputStream
3155  .computeEnumSize(29, useGlobalCheapestInsertionExpensiveChainLns_);
3156  }
3157  if (useLocalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3158  size += com.google.protobuf.CodedOutputStream
3159  .computeEnumSize(30, useLocalCheapestInsertionExpensiveChainLns_);
3160  }
3161  if (useGlobalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3162  size += com.google.protobuf.CodedOutputStream
3163  .computeEnumSize(31, useGlobalCheapestInsertionCloseNodesLns_);
3164  }
3165  if (useLocalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3166  size += com.google.protobuf.CodedOutputStream
3167  .computeEnumSize(32, useLocalCheapestInsertionCloseNodesLns_);
3168  }
3169  size += unknownFields.getSerializedSize();
3170  memoizedSize = size;
3171  return size;
3172  }
3173 
3174  @java.lang.Override
3175  public boolean equals(final java.lang.Object obj) {
3176  if (obj == this) {
3177  return true;
3178  }
3180  return super.equals(obj);
3181  }
3183 
3184  if (useRelocate_ != other.useRelocate_) return false;
3185  if (useRelocatePair_ != other.useRelocatePair_) return false;
3186  if (useLightRelocatePair_ != other.useLightRelocatePair_) return false;
3187  if (useRelocateNeighbors_ != other.useRelocateNeighbors_) return false;
3188  if (useRelocateSubtrip_ != other.useRelocateSubtrip_) return false;
3189  if (useExchange_ != other.useExchange_) return false;
3190  if (useExchangePair_ != other.useExchangePair_) return false;
3191  if (useExchangeSubtrip_ != other.useExchangeSubtrip_) return false;
3192  if (useCross_ != other.useCross_) return false;
3193  if (useCrossExchange_ != other.useCrossExchange_) return false;
3194  if (useRelocateExpensiveChain_ != other.useRelocateExpensiveChain_) return false;
3195  if (useTwoOpt_ != other.useTwoOpt_) return false;
3196  if (useOrOpt_ != other.useOrOpt_) return false;
3197  if (useLinKernighan_ != other.useLinKernighan_) return false;
3198  if (useTspOpt_ != other.useTspOpt_) return false;
3199  if (useMakeActive_ != other.useMakeActive_) return false;
3200  if (useRelocateAndMakeActive_ != other.useRelocateAndMakeActive_) return false;
3201  if (useMakeInactive_ != other.useMakeInactive_) return false;
3202  if (useMakeChainInactive_ != other.useMakeChainInactive_) return false;
3203  if (useSwapActive_ != other.useSwapActive_) return false;
3204  if (useExtendedSwapActive_ != other.useExtendedSwapActive_) return false;
3205  if (useNodePairSwapActive_ != other.useNodePairSwapActive_) return false;
3206  if (usePathLns_ != other.usePathLns_) return false;
3207  if (useFullPathLns_ != other.useFullPathLns_) return false;
3208  if (useTspLns_ != other.useTspLns_) return false;
3209  if (useInactiveLns_ != other.useInactiveLns_) return false;
3210  if (useGlobalCheapestInsertionPathLns_ != other.useGlobalCheapestInsertionPathLns_) return false;
3211  if (useLocalCheapestInsertionPathLns_ != other.useLocalCheapestInsertionPathLns_) return false;
3212  if (useGlobalCheapestInsertionExpensiveChainLns_ != other.useGlobalCheapestInsertionExpensiveChainLns_) return false;
3213  if (useLocalCheapestInsertionExpensiveChainLns_ != other.useLocalCheapestInsertionExpensiveChainLns_) return false;
3214  if (useGlobalCheapestInsertionCloseNodesLns_ != other.useGlobalCheapestInsertionCloseNodesLns_) return false;
3215  if (useLocalCheapestInsertionCloseNodesLns_ != other.useLocalCheapestInsertionCloseNodesLns_) return false;
3216  if (!unknownFields.equals(other.unknownFields)) return false;
3217  return true;
3218  }
3219 
3220  @java.lang.Override
3221  public int hashCode() {
3222  if (memoizedHashCode != 0) {
3223  return memoizedHashCode;
3224  }
3225  int hash = 41;
3226  hash = (19 * hash) + getDescriptor().hashCode();
3227  hash = (37 * hash) + USE_RELOCATE_FIELD_NUMBER;
3228  hash = (53 * hash) + useRelocate_;
3229  hash = (37 * hash) + USE_RELOCATE_PAIR_FIELD_NUMBER;
3230  hash = (53 * hash) + useRelocatePair_;
3231  hash = (37 * hash) + USE_LIGHT_RELOCATE_PAIR_FIELD_NUMBER;
3232  hash = (53 * hash) + useLightRelocatePair_;
3233  hash = (37 * hash) + USE_RELOCATE_NEIGHBORS_FIELD_NUMBER;
3234  hash = (53 * hash) + useRelocateNeighbors_;
3235  hash = (37 * hash) + USE_RELOCATE_SUBTRIP_FIELD_NUMBER;
3236  hash = (53 * hash) + useRelocateSubtrip_;
3237  hash = (37 * hash) + USE_EXCHANGE_FIELD_NUMBER;
3238  hash = (53 * hash) + useExchange_;
3239  hash = (37 * hash) + USE_EXCHANGE_PAIR_FIELD_NUMBER;
3240  hash = (53 * hash) + useExchangePair_;
3241  hash = (37 * hash) + USE_EXCHANGE_SUBTRIP_FIELD_NUMBER;
3242  hash = (53 * hash) + useExchangeSubtrip_;
3243  hash = (37 * hash) + USE_CROSS_FIELD_NUMBER;
3244  hash = (53 * hash) + useCross_;
3245  hash = (37 * hash) + USE_CROSS_EXCHANGE_FIELD_NUMBER;
3246  hash = (53 * hash) + useCrossExchange_;
3247  hash = (37 * hash) + USE_RELOCATE_EXPENSIVE_CHAIN_FIELD_NUMBER;
3248  hash = (53 * hash) + useRelocateExpensiveChain_;
3249  hash = (37 * hash) + USE_TWO_OPT_FIELD_NUMBER;
3250  hash = (53 * hash) + useTwoOpt_;
3251  hash = (37 * hash) + USE_OR_OPT_FIELD_NUMBER;
3252  hash = (53 * hash) + useOrOpt_;
3253  hash = (37 * hash) + USE_LIN_KERNIGHAN_FIELD_NUMBER;
3254  hash = (53 * hash) + useLinKernighan_;
3255  hash = (37 * hash) + USE_TSP_OPT_FIELD_NUMBER;
3256  hash = (53 * hash) + useTspOpt_;
3257  hash = (37 * hash) + USE_MAKE_ACTIVE_FIELD_NUMBER;
3258  hash = (53 * hash) + useMakeActive_;
3259  hash = (37 * hash) + USE_RELOCATE_AND_MAKE_ACTIVE_FIELD_NUMBER;
3260  hash = (53 * hash) + useRelocateAndMakeActive_;
3261  hash = (37 * hash) + USE_MAKE_INACTIVE_FIELD_NUMBER;
3262  hash = (53 * hash) + useMakeInactive_;
3263  hash = (37 * hash) + USE_MAKE_CHAIN_INACTIVE_FIELD_NUMBER;
3264  hash = (53 * hash) + useMakeChainInactive_;
3265  hash = (37 * hash) + USE_SWAP_ACTIVE_FIELD_NUMBER;
3266  hash = (53 * hash) + useSwapActive_;
3267  hash = (37 * hash) + USE_EXTENDED_SWAP_ACTIVE_FIELD_NUMBER;
3268  hash = (53 * hash) + useExtendedSwapActive_;
3269  hash = (37 * hash) + USE_NODE_PAIR_SWAP_ACTIVE_FIELD_NUMBER;
3270  hash = (53 * hash) + useNodePairSwapActive_;
3271  hash = (37 * hash) + USE_PATH_LNS_FIELD_NUMBER;
3272  hash = (53 * hash) + usePathLns_;
3273  hash = (37 * hash) + USE_FULL_PATH_LNS_FIELD_NUMBER;
3274  hash = (53 * hash) + useFullPathLns_;
3275  hash = (37 * hash) + USE_TSP_LNS_FIELD_NUMBER;
3276  hash = (53 * hash) + useTspLns_;
3277  hash = (37 * hash) + USE_INACTIVE_LNS_FIELD_NUMBER;
3278  hash = (53 * hash) + useInactiveLns_;
3280  hash = (53 * hash) + useGlobalCheapestInsertionPathLns_;
3282  hash = (53 * hash) + useLocalCheapestInsertionPathLns_;
3284  hash = (53 * hash) + useGlobalCheapestInsertionExpensiveChainLns_;
3286  hash = (53 * hash) + useLocalCheapestInsertionExpensiveChainLns_;
3288  hash = (53 * hash) + useGlobalCheapestInsertionCloseNodesLns_;
3290  hash = (53 * hash) + useLocalCheapestInsertionCloseNodesLns_;
3291  hash = (29 * hash) + unknownFields.hashCode();
3292  memoizedHashCode = hash;
3293  return hash;
3294  }
3295 
3297  java.nio.ByteBuffer data)
3298  throws com.google.protobuf.InvalidProtocolBufferException {
3299  return PARSER.parseFrom(data);
3300  }
3302  java.nio.ByteBuffer data,
3303  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3304  throws com.google.protobuf.InvalidProtocolBufferException {
3305  return PARSER.parseFrom(data, extensionRegistry);
3306  }
3308  com.google.protobuf.ByteString data)
3309  throws com.google.protobuf.InvalidProtocolBufferException {
3310  return PARSER.parseFrom(data);
3311  }
3313  com.google.protobuf.ByteString data,
3314  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3315  throws com.google.protobuf.InvalidProtocolBufferException {
3316  return PARSER.parseFrom(data, extensionRegistry);
3317  }
3319  throws com.google.protobuf.InvalidProtocolBufferException {
3320  return PARSER.parseFrom(data);
3321  }
3323  byte[] data,
3324  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3325  throws com.google.protobuf.InvalidProtocolBufferException {
3326  return PARSER.parseFrom(data, extensionRegistry);
3327  }
3329  throws java.io.IOException {
3330  return com.google.protobuf.GeneratedMessageV3
3331  .parseWithIOException(PARSER, input);
3332  }
3334  java.io.InputStream input,
3335  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3336  throws java.io.IOException {
3337  return com.google.protobuf.GeneratedMessageV3
3338  .parseWithIOException(PARSER, input, extensionRegistry);
3339  }
3341  throws java.io.IOException {
3342  return com.google.protobuf.GeneratedMessageV3
3343  .parseDelimitedWithIOException(PARSER, input);
3344  }
3346  java.io.InputStream input,
3347  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3348  throws java.io.IOException {
3349  return com.google.protobuf.GeneratedMessageV3
3350  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
3351  }
3353  com.google.protobuf.CodedInputStream input)
3354  throws java.io.IOException {
3355  return com.google.protobuf.GeneratedMessageV3
3356  .parseWithIOException(PARSER, input);
3357  }
3359  com.google.protobuf.CodedInputStream input,
3360  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3361  throws java.io.IOException {
3362  return com.google.protobuf.GeneratedMessageV3
3363  .parseWithIOException(PARSER, input, extensionRegistry);
3364  }
3365 
3366  @java.lang.Override
3367  public Builder newBuilderForType() { return newBuilder(); }
3368  public static Builder newBuilder() {
3369  return DEFAULT_INSTANCE.toBuilder();
3370  }
3372  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
3373  }
3374  @java.lang.Override
3375  public Builder toBuilder() {
3376  return this == DEFAULT_INSTANCE
3377  ? new Builder() : new Builder().mergeFrom(this);
3378  }
3379 
3380  @java.lang.Override
3382  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
3383  Builder builder = new Builder(parent);
3384  return builder;
3385  }
3394  public static final class Builder extends
3395  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
3396  // @@protoc_insertion_point(builder_implements:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
3398  public static final com.google.protobuf.Descriptors.Descriptor
3400  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
3401  }
3402 
3403  @java.lang.Override
3404  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
3406  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_fieldAccessorTable
3407  .ensureFieldAccessorsInitialized(
3409  }
3410 
3411  // Construct using com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.newBuilder()
3412  private Builder() {
3413  maybeForceBuilderInitialization();
3414  }
3415 
3416  private Builder(
3417  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
3418  super(parent);
3419  maybeForceBuilderInitialization();
3420  }
3421  private void maybeForceBuilderInitialization() {
3422  if (com.google.protobuf.GeneratedMessageV3
3423  .alwaysUseFieldBuilders) {
3424  }
3425  }
3426  @java.lang.Override
3427  public Builder clear() {
3428  super.clear();
3429  useRelocate_ = 0;
3430 
3431  useRelocatePair_ = 0;
3432 
3433  useLightRelocatePair_ = 0;
3434 
3435  useRelocateNeighbors_ = 0;
3436 
3437  useRelocateSubtrip_ = 0;
3438 
3439  useExchange_ = 0;
3440 
3441  useExchangePair_ = 0;
3442 
3443  useExchangeSubtrip_ = 0;
3444 
3445  useCross_ = 0;
3446 
3447  useCrossExchange_ = 0;
3448 
3449  useRelocateExpensiveChain_ = 0;
3450 
3451  useTwoOpt_ = 0;
3452 
3453  useOrOpt_ = 0;
3454 
3455  useLinKernighan_ = 0;
3456 
3457  useTspOpt_ = 0;
3458 
3459  useMakeActive_ = 0;
3460 
3461  useRelocateAndMakeActive_ = 0;
3462 
3463  useMakeInactive_ = 0;
3464 
3465  useMakeChainInactive_ = 0;
3466 
3467  useSwapActive_ = 0;
3468 
3469  useExtendedSwapActive_ = 0;
3470 
3471  useNodePairSwapActive_ = 0;
3472 
3473  usePathLns_ = 0;
3474 
3475  useFullPathLns_ = 0;
3476 
3477  useTspLns_ = 0;
3478 
3479  useInactiveLns_ = 0;
3480 
3481  useGlobalCheapestInsertionPathLns_ = 0;
3482 
3483  useLocalCheapestInsertionPathLns_ = 0;
3484 
3485  useGlobalCheapestInsertionExpensiveChainLns_ = 0;
3486 
3487  useLocalCheapestInsertionExpensiveChainLns_ = 0;
3488 
3489  useGlobalCheapestInsertionCloseNodesLns_ = 0;
3490 
3491  useLocalCheapestInsertionCloseNodesLns_ = 0;
3492 
3493  return this;
3494  }
3495 
3496  @java.lang.Override
3497  public com.google.protobuf.Descriptors.Descriptor
3499  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
3500  }
3501 
3502  @java.lang.Override
3505  }
3506 
3507  @java.lang.Override
3510  if (!result.isInitialized()) {
3511  throw newUninitializedMessageException(result);
3512  }
3513  return result;
3514  }
3515 
3516  @java.lang.Override
3519  result.useRelocate_ = useRelocate_;
3520  result.useRelocatePair_ = useRelocatePair_;
3521  result.useLightRelocatePair_ = useLightRelocatePair_;
3522  result.useRelocateNeighbors_ = useRelocateNeighbors_;
3523  result.useRelocateSubtrip_ = useRelocateSubtrip_;
3524  result.useExchange_ = useExchange_;
3525  result.useExchangePair_ = useExchangePair_;
3526  result.useExchangeSubtrip_ = useExchangeSubtrip_;
3527  result.useCross_ = useCross_;
3528  result.useCrossExchange_ = useCrossExchange_;
3529  result.useRelocateExpensiveChain_ = useRelocateExpensiveChain_;
3530  result.useTwoOpt_ = useTwoOpt_;
3531  result.useOrOpt_ = useOrOpt_;
3532  result.useLinKernighan_ = useLinKernighan_;
3533  result.useTspOpt_ = useTspOpt_;
3534  result.useMakeActive_ = useMakeActive_;
3535  result.useRelocateAndMakeActive_ = useRelocateAndMakeActive_;
3536  result.useMakeInactive_ = useMakeInactive_;
3537  result.useMakeChainInactive_ = useMakeChainInactive_;
3538  result.useSwapActive_ = useSwapActive_;
3539  result.useExtendedSwapActive_ = useExtendedSwapActive_;
3540  result.useNodePairSwapActive_ = useNodePairSwapActive_;
3541  result.usePathLns_ = usePathLns_;
3542  result.useFullPathLns_ = useFullPathLns_;
3543  result.useTspLns_ = useTspLns_;
3544  result.useInactiveLns_ = useInactiveLns_;
3545  result.useGlobalCheapestInsertionPathLns_ = useGlobalCheapestInsertionPathLns_;
3546  result.useLocalCheapestInsertionPathLns_ = useLocalCheapestInsertionPathLns_;
3547  result.useGlobalCheapestInsertionExpensiveChainLns_ = useGlobalCheapestInsertionExpensiveChainLns_;
3548  result.useLocalCheapestInsertionExpensiveChainLns_ = useLocalCheapestInsertionExpensiveChainLns_;
3549  result.useGlobalCheapestInsertionCloseNodesLns_ = useGlobalCheapestInsertionCloseNodesLns_;
3550  result.useLocalCheapestInsertionCloseNodesLns_ = useLocalCheapestInsertionCloseNodesLns_;
3551  onBuilt();
3552  return result;
3553  }
3554 
3555  @java.lang.Override
3556  public Builder clone() {
3557  return super.clone();
3558  }
3559  @java.lang.Override
3561  com.google.protobuf.Descriptors.FieldDescriptor field,
3562  java.lang.Object value) {
3563  return super.setField(field, value);
3564  }
3565  @java.lang.Override
3567  com.google.protobuf.Descriptors.FieldDescriptor field) {
3568  return super.clearField(field);
3569  }
3570  @java.lang.Override
3572  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
3573  return super.clearOneof(oneof);
3574  }
3575  @java.lang.Override
3577  com.google.protobuf.Descriptors.FieldDescriptor field,
3578  int index, java.lang.Object value) {
3579  return super.setRepeatedField(field, index, value);
3580  }
3581  @java.lang.Override
3583  com.google.protobuf.Descriptors.FieldDescriptor field,
3584  java.lang.Object value) {
3585  return super.addRepeatedField(field, value);
3586  }
3587  @java.lang.Override
3588  public Builder mergeFrom(com.google.protobuf.Message other) {
3591  } else {
3592  super.mergeFrom(other);
3593  return this;
3594  }
3595  }
3596 
3599  if (other.useRelocate_ != 0) {
3600  setUseRelocateValue(other.getUseRelocateValue());
3601  }
3602  if (other.useRelocatePair_ != 0) {
3603  setUseRelocatePairValue(other.getUseRelocatePairValue());
3604  }
3605  if (other.useLightRelocatePair_ != 0) {
3606  setUseLightRelocatePairValue(other.getUseLightRelocatePairValue());
3607  }
3608  if (other.useRelocateNeighbors_ != 0) {
3609  setUseRelocateNeighborsValue(other.getUseRelocateNeighborsValue());
3610  }
3611  if (other.useRelocateSubtrip_ != 0) {
3612  setUseRelocateSubtripValue(other.getUseRelocateSubtripValue());
3613  }
3614  if (other.useExchange_ != 0) {
3615  setUseExchangeValue(other.getUseExchangeValue());
3616  }
3617  if (other.useExchangePair_ != 0) {
3618  setUseExchangePairValue(other.getUseExchangePairValue());
3619  }
3620  if (other.useExchangeSubtrip_ != 0) {
3621  setUseExchangeSubtripValue(other.getUseExchangeSubtripValue());
3622  }
3623  if (other.useCross_ != 0) {
3624  setUseCrossValue(other.getUseCrossValue());
3625  }
3626  if (other.useCrossExchange_ != 0) {
3627  setUseCrossExchangeValue(other.getUseCrossExchangeValue());
3628  }
3629  if (other.useRelocateExpensiveChain_ != 0) {
3630  setUseRelocateExpensiveChainValue(other.getUseRelocateExpensiveChainValue());
3631  }
3632  if (other.useTwoOpt_ != 0) {
3633  setUseTwoOptValue(other.getUseTwoOptValue());
3634  }
3635  if (other.useOrOpt_ != 0) {
3636  setUseOrOptValue(other.getUseOrOptValue());
3637  }
3638  if (other.useLinKernighan_ != 0) {
3639  setUseLinKernighanValue(other.getUseLinKernighanValue());
3640  }
3641  if (other.useTspOpt_ != 0) {
3642  setUseTspOptValue(other.getUseTspOptValue());
3643  }
3644  if (other.useMakeActive_ != 0) {
3645  setUseMakeActiveValue(other.getUseMakeActiveValue());
3646  }
3647  if (other.useRelocateAndMakeActive_ != 0) {
3648  setUseRelocateAndMakeActiveValue(other.getUseRelocateAndMakeActiveValue());
3649  }
3650  if (other.useMakeInactive_ != 0) {
3651  setUseMakeInactiveValue(other.getUseMakeInactiveValue());
3652  }
3653  if (other.useMakeChainInactive_ != 0) {
3654  setUseMakeChainInactiveValue(other.getUseMakeChainInactiveValue());
3655  }
3656  if (other.useSwapActive_ != 0) {
3657  setUseSwapActiveValue(other.getUseSwapActiveValue());
3658  }
3659  if (other.useExtendedSwapActive_ != 0) {
3660  setUseExtendedSwapActiveValue(other.getUseExtendedSwapActiveValue());
3661  }
3662  if (other.useNodePairSwapActive_ != 0) {
3663  setUseNodePairSwapActiveValue(other.getUseNodePairSwapActiveValue());
3664  }
3665  if (other.usePathLns_ != 0) {
3666  setUsePathLnsValue(other.getUsePathLnsValue());
3667  }
3668  if (other.useFullPathLns_ != 0) {
3669  setUseFullPathLnsValue(other.getUseFullPathLnsValue());
3670  }
3671  if (other.useTspLns_ != 0) {
3672  setUseTspLnsValue(other.getUseTspLnsValue());
3673  }
3674  if (other.useInactiveLns_ != 0) {
3675  setUseInactiveLnsValue(other.getUseInactiveLnsValue());
3676  }
3677  if (other.useGlobalCheapestInsertionPathLns_ != 0) {
3678  setUseGlobalCheapestInsertionPathLnsValue(other.getUseGlobalCheapestInsertionPathLnsValue());
3679  }
3680  if (other.useLocalCheapestInsertionPathLns_ != 0) {
3681  setUseLocalCheapestInsertionPathLnsValue(other.getUseLocalCheapestInsertionPathLnsValue());
3682  }
3683  if (other.useGlobalCheapestInsertionExpensiveChainLns_ != 0) {
3684  setUseGlobalCheapestInsertionExpensiveChainLnsValue(other.getUseGlobalCheapestInsertionExpensiveChainLnsValue());
3685  }
3686  if (other.useLocalCheapestInsertionExpensiveChainLns_ != 0) {
3687  setUseLocalCheapestInsertionExpensiveChainLnsValue(other.getUseLocalCheapestInsertionExpensiveChainLnsValue());
3688  }
3689  if (other.useGlobalCheapestInsertionCloseNodesLns_ != 0) {
3690  setUseGlobalCheapestInsertionCloseNodesLnsValue(other.getUseGlobalCheapestInsertionCloseNodesLnsValue());
3691  }
3692  if (other.useLocalCheapestInsertionCloseNodesLns_ != 0) {
3693  setUseLocalCheapestInsertionCloseNodesLnsValue(other.getUseLocalCheapestInsertionCloseNodesLnsValue());
3694  }
3695  this.mergeUnknownFields(other.unknownFields);
3696  onChanged();
3697  return this;
3698  }
3699 
3700  @java.lang.Override
3701  public final boolean isInitialized() {
3702  return true;
3703  }
3704 
3705  @java.lang.Override
3707  com.google.protobuf.CodedInputStream input,
3708  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3709  throws java.io.IOException {
3711  try {
3712  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
3713  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3715  throw e.unwrapIOException();
3716  } finally {
3717  if (parsedMessage != null) {
3718  mergeFrom(parsedMessage);
3719  }
3720  }
3721  return this;
3722  }
3723 
3724  private int useRelocate_ = 0;
3741  @java.lang.Override public int getUseRelocateValue() {
3742  return useRelocate_;
3743  }
3761  public Builder setUseRelocateValue(int value) {
3762 
3763  useRelocate_ = value;
3764  onChanged();
3765  return this;
3766  }
3783  @java.lang.Override
3785  @SuppressWarnings("deprecation")
3787  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3788  }
3807  if (value == null) {
3808  throw new NullPointerException();
3809  }
3810 
3811  useRelocate_ = value.getNumber();
3812  onChanged();
3813  return this;
3814  }
3832 
3833  useRelocate_ = 0;
3834  onChanged();
3835  return this;
3836  }
3837 
3838  private int useRelocatePair_ = 0;
3855  @java.lang.Override public int getUseRelocatePairValue() {
3856  return useRelocatePair_;
3857  }
3875  public Builder setUseRelocatePairValue(int value) {
3876 
3877  useRelocatePair_ = value;
3878  onChanged();
3879  return this;
3880  }
3897  @java.lang.Override
3899  @SuppressWarnings("deprecation")
3901  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3902  }
3921  if (value == null) {
3922  throw new NullPointerException();
3923  }
3924 
3925  useRelocatePair_ = value.getNumber();
3926  onChanged();
3927  return this;
3928  }
3946 
3947  useRelocatePair_ = 0;
3948  onChanged();
3949  return this;
3950  }
3951 
3952  private int useLightRelocatePair_ = 0;
3967  @java.lang.Override public int getUseLightRelocatePairValue() {
3968  return useLightRelocatePair_;
3969  }
3986 
3987  useLightRelocatePair_ = value;
3988  onChanged();
3989  return this;
3990  }
4005  @java.lang.Override
4007  @SuppressWarnings("deprecation")
4009  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4010  }
4027  if (value == null) {
4028  throw new NullPointerException();
4029  }
4030 
4031  useLightRelocatePair_ = value.getNumber();
4032  onChanged();
4033  return this;
4034  }
4050 
4051  useLightRelocatePair_ = 0;
4052  onChanged();
4053  return this;
4054  }
4055 
4056  private int useRelocateNeighbors_ = 0;
4086  @java.lang.Override public int getUseRelocateNeighborsValue() {
4087  return useRelocateNeighbors_;
4088  }
4120 
4121  useRelocateNeighbors_ = value;
4122  onChanged();
4123  return this;
4124  }
4154  @java.lang.Override
4156  @SuppressWarnings("deprecation")
4158  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4159  }
4191  if (value == null) {
4192  throw new NullPointerException();
4193  }
4194 
4195  useRelocateNeighbors_ = value.getNumber();
4196  onChanged();
4197  return this;
4198  }
4229 
4230  useRelocateNeighbors_ = 0;
4231  onChanged();
4232  return this;
4233  }
4234 
4235  private int useRelocateSubtrip_ = 0;
4255  @java.lang.Override public int getUseRelocateSubtripValue() {
4256  return useRelocateSubtrip_;
4257  }
4279 
4280  useRelocateSubtrip_ = value;
4281  onChanged();
4282  return this;
4283  }
4303  @java.lang.Override
4305  @SuppressWarnings("deprecation")
4307  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4308  }
4330  if (value == null) {
4331  throw new NullPointerException();
4332  }
4333 
4334  useRelocateSubtrip_ = value.getNumber();
4335  onChanged();
4336  return this;
4337  }
4358 
4359  useRelocateSubtrip_ = 0;
4360  onChanged();
4361  return this;
4362  }
4363 
4364  private int useExchange_ = 0;
4379  @java.lang.Override public int getUseExchangeValue() {
4380  return useExchange_;
4381  }
4397  public Builder setUseExchangeValue(int value) {
4398 
4399  useExchange_ = value;
4400  onChanged();
4401  return this;
4402  }
4417  @java.lang.Override
4419  @SuppressWarnings("deprecation")
4421  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4422  }
4439  if (value == null) {
4440  throw new NullPointerException();
4441  }
4442 
4443  useExchange_ = value.getNumber();
4444  onChanged();
4445  return this;
4446  }
4462 
4463  useExchange_ = 0;
4464  onChanged();
4465  return this;
4466  }
4467 
4468  private int useExchangePair_ = 0;
4483  @java.lang.Override public int getUseExchangePairValue() {
4484  return useExchangePair_;
4485  }
4501  public Builder setUseExchangePairValue(int value) {
4502 
4503  useExchangePair_ = value;
4504  onChanged();
4505  return this;
4506  }
4521  @java.lang.Override
4523  @SuppressWarnings("deprecation")
4525  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4526  }
4543  if (value == null) {
4544  throw new NullPointerException();
4545  }
4546 
4547  useExchangePair_ = value.getNumber();
4548  onChanged();
4549  return this;
4550  }
4566 
4567  useExchangePair_ = 0;
4568  onChanged();
4569  return this;
4570  }
4571 
4572  private int useExchangeSubtrip_ = 0;
4582  @java.lang.Override public int getUseExchangeSubtripValue() {
4583  return useExchangeSubtrip_;
4584  }
4596 
4597  useExchangeSubtrip_ = value;
4598  onChanged();
4599  return this;
4600  }
4610  @java.lang.Override
4612  @SuppressWarnings("deprecation")
4614  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4615  }
4627  if (value == null) {
4628  throw new NullPointerException();
4629  }
4630 
4631  useExchangeSubtrip_ = value.getNumber();
4632  onChanged();
4633  return this;
4634  }
4645 
4646  useExchangeSubtrip_ = 0;
4647  onChanged();
4648  return this;
4649  }
4650 
4651  private int useCross_ = 0;
4668  @java.lang.Override public int getUseCrossValue() {
4669  return useCross_;
4670  }
4688  public Builder setUseCrossValue(int value) {
4689 
4690  useCross_ = value;
4691  onChanged();
4692  return this;
4693  }
4710  @java.lang.Override
4712  @SuppressWarnings("deprecation")
4714  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4715  }
4734  if (value == null) {
4735  throw new NullPointerException();
4736  }
4737 
4738  useCross_ = value.getNumber();
4739  onChanged();
4740  return this;
4741  }
4759 
4760  useCross_ = 0;
4761  onChanged();
4762  return this;
4763  }
4764 
4765  private int useCrossExchange_ = 0;
4774  @java.lang.Override public int getUseCrossExchangeValue() {
4775  return useCrossExchange_;
4776  }
4786  public Builder setUseCrossExchangeValue(int value) {
4787 
4788  useCrossExchange_ = value;
4789  onChanged();
4790  return this;
4791  }
4800  @java.lang.Override
4802  @SuppressWarnings("deprecation")
4804  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4805  }
4816  if (value == null) {
4817  throw new NullPointerException();
4818  }
4819 
4820  useCrossExchange_ = value.getNumber();
4821  onChanged();
4822  return this;
4823  }
4833 
4834  useCrossExchange_ = 0;
4835  onChanged();
4836  return this;
4837  }
4838 
4839  private int useRelocateExpensiveChain_ = 0;
4857  @java.lang.Override public int getUseRelocateExpensiveChainValue() {
4858  return useRelocateExpensiveChain_;
4859  }
4879 
4880  useRelocateExpensiveChain_ = value;
4881  onChanged();
4882  return this;
4883  }
4901  @java.lang.Override
4903  @SuppressWarnings("deprecation")
4904  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateExpensiveChain_);
4905  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4906  }
4926  if (value == null) {
4927  throw new NullPointerException();
4928  }
4929 
4930  useRelocateExpensiveChain_ = value.getNumber();
4931  onChanged();
4932  return this;
4933  }
4952 
4953  useRelocateExpensiveChain_ = 0;
4954  onChanged();
4955  return this;
4956  }
4957 
4958  private int useTwoOpt_ = 0;
4976  @java.lang.Override public int getUseTwoOptValue() {
4977  return useTwoOpt_;
4978  }
4997  public Builder setUseTwoOptValue(int value) {
4998 
4999  useTwoOpt_ = value;
5000  onChanged();
5001  return this;
5002  }
5020  @java.lang.Override
5022  @SuppressWarnings("deprecation")
5024  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5025  }
5045  if (value == null) {
5046  throw new NullPointerException();
5047  }
5048 
5049  useTwoOpt_ = value.getNumber();
5050  onChanged();
5051  return this;
5052  }
5071 
5072  useTwoOpt_ = 0;
5073  onChanged();
5074  return this;
5075  }
5076 
5077  private int useOrOpt_ = 0;
5096  @java.lang.Override public int getUseOrOptValue() {
5097  return useOrOpt_;
5098  }
5118  public Builder setUseOrOptValue(int value) {
5119 
5120  useOrOpt_ = value;
5121  onChanged();
5122  return this;
5123  }
5142  @java.lang.Override
5144  @SuppressWarnings("deprecation")
5146  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5147  }
5168  if (value == null) {
5169  throw new NullPointerException();
5170  }
5171 
5172  useOrOpt_ = value.getNumber();
5173  onChanged();
5174  return this;
5175  }
5195 
5196  useOrOpt_ = 0;
5197  onChanged();
5198  return this;
5199  }
5200 
5201  private int useLinKernighan_ = 0;
5213  @java.lang.Override public int getUseLinKernighanValue() {
5214  return useLinKernighan_;
5215  }
5228  public Builder setUseLinKernighanValue(int value) {
5229 
5230  useLinKernighan_ = value;
5231  onChanged();
5232  return this;
5233  }
5245  @java.lang.Override
5247  @SuppressWarnings("deprecation")
5249  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5250  }
5264  if (value == null) {
5265  throw new NullPointerException();
5266  }
5267 
5268  useLinKernighan_ = value.getNumber();
5269  onChanged();
5270  return this;
5271  }
5284 
5285  useLinKernighan_ = 0;
5286  onChanged();
5287  return this;
5288  }
5289 
5290  private int useTspOpt_ = 0;
5304  @java.lang.Override public int getUseTspOptValue() {
5305  return useTspOpt_;
5306  }
5321  public Builder setUseTspOptValue(int value) {
5322 
5323  useTspOpt_ = value;
5324  onChanged();
5325  return this;
5326  }
5340  @java.lang.Override
5342  @SuppressWarnings("deprecation")
5344  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5345  }
5361  if (value == null) {
5362  throw new NullPointerException();
5363  }
5364 
5365  useTspOpt_ = value.getNumber();
5366  onChanged();
5367  return this;
5368  }
5383 
5384  useTspOpt_ = 0;
5385  onChanged();
5386  return this;
5387  }
5388 
5389  private int useMakeActive_ = 0;
5404  @java.lang.Override public int getUseMakeActiveValue() {
5405  return useMakeActive_;
5406  }
5422  public Builder setUseMakeActiveValue(int value) {
5423 
5424  useMakeActive_ = value;
5425  onChanged();
5426  return this;
5427  }
5442  @java.lang.Override
5444  @SuppressWarnings("deprecation")
5446  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5447  }
5464  if (value == null) {
5465  throw new NullPointerException();
5466  }
5467 
5468  useMakeActive_ = value.getNumber();
5469  onChanged();
5470  return this;
5471  }
5487 
5488  useMakeActive_ = 0;
5489  onChanged();
5490  return this;
5491  }
5492 
5493  private int useRelocateAndMakeActive_ = 0;
5511  @java.lang.Override public int getUseRelocateAndMakeActiveValue() {
5512  return useRelocateAndMakeActive_;
5513  }
5533 
5534  useRelocateAndMakeActive_ = value;
5535  onChanged();
5536  return this;
5537  }
5555  @java.lang.Override
5557  @SuppressWarnings("deprecation")
5558  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateAndMakeActive_);
5559  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5560  }
5580  if (value == null) {
5581  throw new NullPointerException();
5582  }
5583 
5584  useRelocateAndMakeActive_ = value.getNumber();
5585  onChanged();
5586  return this;
5587  }
5606 
5607  useRelocateAndMakeActive_ = 0;
5608  onChanged();
5609  return this;
5610  }
5611 
5612  private int useMakeInactive_ = 0;
5625  @java.lang.Override public int getUseMakeInactiveValue() {
5626  return useMakeInactive_;
5627  }
5641  public Builder setUseMakeInactiveValue(int value) {
5642 
5643  useMakeInactive_ = value;
5644  onChanged();
5645  return this;
5646  }
5659  @java.lang.Override
5661  @SuppressWarnings("deprecation")
5663  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5664  }
5679  if (value == null) {
5680  throw new NullPointerException();
5681  }
5682 
5683  useMakeInactive_ = value.getNumber();
5684  onChanged();
5685  return this;
5686  }
5700 
5701  useMakeInactive_ = 0;
5702  onChanged();
5703  return this;
5704  }
5705 
5706  private int useMakeChainInactive_ = 0;
5720  @java.lang.Override public int getUseMakeChainInactiveValue() {
5721  return useMakeChainInactive_;
5722  }
5738 
5739  useMakeChainInactive_ = value;
5740  onChanged();
5741  return this;
5742  }
5756  @java.lang.Override
5758  @SuppressWarnings("deprecation")
5760  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5761  }
5777  if (value == null) {
5778  throw new NullPointerException();
5779  }
5780 
5781  useMakeChainInactive_ = value.getNumber();
5782  onChanged();
5783  return this;
5784  }
5799 
5800  useMakeChainInactive_ = 0;
5801  onChanged();
5802  return this;
5803  }
5804 
5805  private int useSwapActive_ = 0;
5818  @java.lang.Override public int getUseSwapActiveValue() {
5819  return useSwapActive_;
5820  }
5834  public Builder setUseSwapActiveValue(int value) {
5835 
5836  useSwapActive_ = value;
5837  onChanged();
5838  return this;
5839  }
5852  @java.lang.Override
5854  @SuppressWarnings("deprecation")
5856  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5857  }
5872  if (value == null) {
5873  throw new NullPointerException();
5874  }
5875 
5876  useSwapActive_ = value.getNumber();
5877  onChanged();
5878  return this;
5879  }
5893 
5894  useSwapActive_ = 0;
5895  onChanged();
5896  return this;
5897  }
5898 
5899  private int useExtendedSwapActive_ = 0;
5917  @java.lang.Override public int getUseExtendedSwapActiveValue() {
5918  return useExtendedSwapActive_;
5919  }
5939 
5940  useExtendedSwapActive_ = value;
5941  onChanged();
5942  return this;
5943  }
5961  @java.lang.Override
5963  @SuppressWarnings("deprecation")
5964  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useExtendedSwapActive_);
5965  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5966  }
5986  if (value == null) {
5987  throw new NullPointerException();
5988  }
5989 
5990  useExtendedSwapActive_ = value.getNumber();
5991  onChanged();
5992  return this;
5993  }
6012 
6013  useExtendedSwapActive_ = 0;
6014  onChanged();
6015  return this;
6016  }
6017 
6018  private int useNodePairSwapActive_ = 0;
6037  @java.lang.Override public int getUseNodePairSwapActiveValue() {
6038  return useNodePairSwapActive_;
6039  }
6060 
6061  useNodePairSwapActive_ = value;
6062  onChanged();
6063  return this;
6064  }
6083  @java.lang.Override
6085  @SuppressWarnings("deprecation")
6086  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useNodePairSwapActive_);
6087  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6088  }
6109  if (value == null) {
6110  throw new NullPointerException();
6111  }
6112 
6113  useNodePairSwapActive_ = value.getNumber();
6114  onChanged();
6115  return this;
6116  }
6136 
6137  useNodePairSwapActive_ = 0;
6138  onChanged();
6139  return this;
6140  }
6141 
6142  private int usePathLns_ = 0;
6158  @java.lang.Override public int getUsePathLnsValue() {
6159  return usePathLns_;
6160  }
6177  public Builder setUsePathLnsValue(int value) {
6178 
6179  usePathLns_ = value;
6180  onChanged();
6181  return this;
6182  }
6198  @java.lang.Override
6200  @SuppressWarnings("deprecation")
6202  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6203  }
6221  if (value == null) {
6222  throw new NullPointerException();
6223  }
6224 
6225  usePathLns_ = value.getNumber();
6226  onChanged();
6227  return this;
6228  }
6245 
6246  usePathLns_ = 0;
6247  onChanged();
6248  return this;
6249  }
6250 
6251  private int useFullPathLns_ = 0;
6260  @java.lang.Override public int getUseFullPathLnsValue() {
6261  return useFullPathLns_;
6262  }
6272  public Builder setUseFullPathLnsValue(int value) {
6273 
6274  useFullPathLns_ = value;
6275  onChanged();
6276  return this;
6277  }
6286  @java.lang.Override
6288  @SuppressWarnings("deprecation")
6290  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6291  }
6302  if (value == null) {
6303  throw new NullPointerException();
6304  }
6305 
6306  useFullPathLns_ = value.getNumber();
6307  onChanged();
6308  return this;
6309  }
6319 
6320  useFullPathLns_ = 0;
6321  onChanged();
6322  return this;
6323  }
6324 
6325  private int useTspLns_ = 0;
6339  @java.lang.Override public int getUseTspLnsValue() {
6340  return useTspLns_;
6341  }
6356  public Builder setUseTspLnsValue(int value) {
6357 
6358  useTspLns_ = value;
6359  onChanged();
6360  return this;
6361  }
6375  @java.lang.Override
6377  @SuppressWarnings("deprecation")
6379  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6380  }
6396  if (value == null) {
6397  throw new NullPointerException();
6398  }
6399 
6400  useTspLns_ = value.getNumber();
6401  onChanged();
6402  return this;
6403  }
6418 
6419  useTspLns_ = 0;
6420  onChanged();
6421  return this;
6422  }
6423 
6424  private int useInactiveLns_ = 0;
6435  @java.lang.Override public int getUseInactiveLnsValue() {
6436  return useInactiveLns_;
6437  }
6449  public Builder setUseInactiveLnsValue(int value) {
6450 
6451  useInactiveLns_ = value;
6452  onChanged();
6453  return this;
6454  }
6465  @java.lang.Override
6467  @SuppressWarnings("deprecation")
6469  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6470  }
6483  if (value == null) {
6484  throw new NullPointerException();
6485  }
6486 
6487  useInactiveLns_ = value.getNumber();
6488  onChanged();
6489  return this;
6490  }
6502 
6503  useInactiveLns_ = 0;
6504  onChanged();
6505  return this;
6506  }
6507 
6508  private int useGlobalCheapestInsertionPathLns_ = 0;
6519  @java.lang.Override public int getUseGlobalCheapestInsertionPathLnsValue() {
6520  return useGlobalCheapestInsertionPathLns_;
6521  }
6534 
6535  useGlobalCheapestInsertionPathLns_ = value;
6536  onChanged();
6537  return this;
6538  }
6549  @java.lang.Override
6551  @SuppressWarnings("deprecation")
6552  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionPathLns_);
6553  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6554  }
6567  if (value == null) {
6568  throw new NullPointerException();
6569  }
6570 
6571  useGlobalCheapestInsertionPathLns_ = value.getNumber();
6572  onChanged();
6573  return this;
6574  }
6586 
6587  useGlobalCheapestInsertionPathLns_ = 0;
6588  onChanged();
6589  return this;
6590  }
6591 
6592  private int useLocalCheapestInsertionPathLns_ = 0;
6601  @java.lang.Override public int getUseLocalCheapestInsertionPathLnsValue() {
6602  return useLocalCheapestInsertionPathLns_;
6603  }
6614 
6615  useLocalCheapestInsertionPathLns_ = value;
6616  onChanged();
6617  return this;
6618  }
6627  @java.lang.Override
6629  @SuppressWarnings("deprecation")
6630  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionPathLns_);
6631  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6632  }
6643  if (value == null) {
6644  throw new NullPointerException();
6645  }
6646 
6647  useLocalCheapestInsertionPathLns_ = value.getNumber();
6648  onChanged();
6649  return this;
6650  }
6660 
6661  useLocalCheapestInsertionPathLns_ = 0;
6662  onChanged();
6663  return this;
6664  }
6665 
6666  private int useGlobalCheapestInsertionExpensiveChainLns_ = 0;
6678  @java.lang.Override public int getUseGlobalCheapestInsertionExpensiveChainLnsValue() {
6679  return useGlobalCheapestInsertionExpensiveChainLns_;
6680  }
6694 
6695  useGlobalCheapestInsertionExpensiveChainLns_ = value;
6696  onChanged();
6697  return this;
6698  }
6710  @java.lang.Override
6712  @SuppressWarnings("deprecation")
6713  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionExpensiveChainLns_);
6714  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6715  }
6729  if (value == null) {
6730  throw new NullPointerException();
6731  }
6732 
6733  useGlobalCheapestInsertionExpensiveChainLns_ = value.getNumber();
6734  onChanged();
6735  return this;
6736  }
6749 
6750  useGlobalCheapestInsertionExpensiveChainLns_ = 0;
6751  onChanged();
6752  return this;
6753  }
6754 
6755  private int useLocalCheapestInsertionExpensiveChainLns_ = 0;
6765  @java.lang.Override public int getUseLocalCheapestInsertionExpensiveChainLnsValue() {
6766  return useLocalCheapestInsertionExpensiveChainLns_;
6767  }
6779 
6780  useLocalCheapestInsertionExpensiveChainLns_ = value;
6781  onChanged();
6782  return this;
6783  }
6793  @java.lang.Override
6795  @SuppressWarnings("deprecation")
6796  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionExpensiveChainLns_);
6797  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6798  }
6810  if (value == null) {
6811  throw new NullPointerException();
6812  }
6813 
6814  useLocalCheapestInsertionExpensiveChainLns_ = value.getNumber();
6815  onChanged();
6816  return this;
6817  }
6828 
6829  useLocalCheapestInsertionExpensiveChainLns_ = 0;
6830  onChanged();
6831  return this;
6832  }
6833 
6834  private int useGlobalCheapestInsertionCloseNodesLns_ = 0;
6846  @java.lang.Override public int getUseGlobalCheapestInsertionCloseNodesLnsValue() {
6847  return useGlobalCheapestInsertionCloseNodesLns_;
6848  }
6862 
6863  useGlobalCheapestInsertionCloseNodesLns_ = value;
6864  onChanged();
6865  return this;
6866  }
6878  @java.lang.Override
6880  @SuppressWarnings("deprecation")
6881  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionCloseNodesLns_);
6882  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6883  }
6897  if (value == null) {
6898  throw new NullPointerException();
6899  }
6900 
6901  useGlobalCheapestInsertionCloseNodesLns_ = value.getNumber();
6902  onChanged();
6903  return this;
6904  }
6917 
6918  useGlobalCheapestInsertionCloseNodesLns_ = 0;
6919  onChanged();
6920  return this;
6921  }
6922 
6923  private int useLocalCheapestInsertionCloseNodesLns_ = 0;
6933  @java.lang.Override public int getUseLocalCheapestInsertionCloseNodesLnsValue() {
6934  return useLocalCheapestInsertionCloseNodesLns_;
6935  }
6947 
6948  useLocalCheapestInsertionCloseNodesLns_ = value;
6949  onChanged();
6950  return this;
6951  }
6961  @java.lang.Override
6963  @SuppressWarnings("deprecation")
6964  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionCloseNodesLns_);
6965  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6966  }
6978  if (value == null) {
6979  throw new NullPointerException();
6980  }
6981 
6982  useLocalCheapestInsertionCloseNodesLns_ = value.getNumber();
6983  onChanged();
6984  return this;
6985  }
6996 
6997  useLocalCheapestInsertionCloseNodesLns_ = 0;
6998  onChanged();
6999  return this;
7000  }
7001  @java.lang.Override
7003  final com.google.protobuf.UnknownFieldSet unknownFields) {
7004  return super.setUnknownFields(unknownFields);
7005  }
7006 
7007  @java.lang.Override
7009  final com.google.protobuf.UnknownFieldSet unknownFields) {
7010  return super.mergeUnknownFields(unknownFields);
7011  }
7012 
7013 
7014  // @@protoc_insertion_point(builder_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
7015  }
7016 
7017  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
7019  static {
7021  }
7022 
7024  return DEFAULT_INSTANCE;
7025  }
7026 
7027  private static final com.google.protobuf.Parser<LocalSearchNeighborhoodOperators>
7028  PARSER = new com.google.protobuf.AbstractParser<LocalSearchNeighborhoodOperators>() {
7029  @java.lang.Override
7030  public LocalSearchNeighborhoodOperators parsePartialFrom(
7031  com.google.protobuf.CodedInputStream input,
7032  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7033  throws com.google.protobuf.InvalidProtocolBufferException {
7034  return new LocalSearchNeighborhoodOperators(input, extensionRegistry);
7035  }
7036  };
7037 
7038  public static com.google.protobuf.Parser<LocalSearchNeighborhoodOperators> parser() {
7039  return PARSER;
7040  }
7041 
7042  @java.lang.Override
7044  return PARSER;
7045  }
7046 
7047  @java.lang.Override
7049  return DEFAULT_INSTANCE;
7050  }
7051 
7052  }
7053 
7054  public static final int FIRST_SOLUTION_STRATEGY_FIELD_NUMBER = 1;
7055  private int firstSolutionStrategy_;
7064  @java.lang.Override public int getFirstSolutionStrategyValue() {
7065  return firstSolutionStrategy_;
7066  }
7076  @SuppressWarnings("deprecation")
7078  return result == null ? com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNRECOGNIZED : result;
7079  }
7080 
7082  private boolean useUnfilteredFirstSolutionStrategy_;
7093  @java.lang.Override
7095  return useUnfilteredFirstSolutionStrategy_;
7096  }
7097 
7098  public static final int SAVINGS_NEIGHBORS_RATIO_FIELD_NUMBER = 14;
7099  private double savingsNeighborsRatio_;
7110  @java.lang.Override
7111  public double getSavingsNeighborsRatio() {
7112  return savingsNeighborsRatio_;
7113  }
7114 
7115  public static final int SAVINGS_MAX_MEMORY_USAGE_BYTES_FIELD_NUMBER = 23;
7116  private double savingsMaxMemoryUsageBytes_;
7130  @java.lang.Override
7132  return savingsMaxMemoryUsageBytes_;
7133  }
7134 
7135  public static final int SAVINGS_ADD_REVERSE_ARCS_FIELD_NUMBER = 15;
7136  private boolean savingsAddReverseArcs_;
7146  @java.lang.Override
7147  public boolean getSavingsAddReverseArcs() {
7148  return savingsAddReverseArcs_;
7149  }
7150 
7151  public static final int SAVINGS_ARC_COEFFICIENT_FIELD_NUMBER = 18;
7152  private double savingsArcCoefficient_;
7165  @java.lang.Override
7166  public double getSavingsArcCoefficient() {
7167  return savingsArcCoefficient_;
7168  }
7169 
7170  public static final int SAVINGS_PARALLEL_ROUTES_FIELD_NUMBER = 19;
7171  private boolean savingsParallelRoutes_;
7180  @java.lang.Override
7181  public boolean getSavingsParallelRoutes() {
7182  return savingsParallelRoutes_;
7183  }
7184 
7186  private double cheapestInsertionFarthestSeedsRatio_;
7197  @java.lang.Override
7199  return cheapestInsertionFarthestSeedsRatio_;
7200  }
7201 
7203  private double cheapestInsertionFirstSolutionNeighborsRatio_;
7216  @java.lang.Override
7218  return cheapestInsertionFirstSolutionNeighborsRatio_;
7219  }
7220 
7222  private double cheapestInsertionLsOperatorNeighborsRatio_;
7233  @java.lang.Override
7235  return cheapestInsertionLsOperatorNeighborsRatio_;
7236  }
7237 
7239  private boolean christofidesUseMinimumMatching_;
7249  @java.lang.Override
7251  return christofidesUseMinimumMatching_;
7252  }
7253 
7254  public static final int LOCAL_SEARCH_OPERATORS_FIELD_NUMBER = 3;
7260  @java.lang.Override
7261  public boolean hasLocalSearchOperators() {
7262  return localSearchOperators_ != null;
7263  }
7268  @java.lang.Override
7270  return localSearchOperators_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
7271  }
7275  @java.lang.Override
7277  return getLocalSearchOperators();
7278  }
7279 
7281  private int relocateExpensiveChainNumArcsToConsider_;
7296  @java.lang.Override
7298  return relocateExpensiveChainNumArcsToConsider_;
7299  }
7300 
7302  private int heuristicExpensiveChainLnsNumArcsToConsider_;
7312  @java.lang.Override
7314  return heuristicExpensiveChainLnsNumArcsToConsider_;
7315  }
7316 
7318  private int heuristicCloseNodesLnsNumNodes_;
7328  @java.lang.Override
7330  return heuristicCloseNodesLnsNumNodes_;
7331  }
7332 
7333  public static final int LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER = 4;
7334  private int localSearchMetaheuristic_;
7343  @java.lang.Override public int getLocalSearchMetaheuristicValue() {
7344  return localSearchMetaheuristic_;
7345  }
7355  @SuppressWarnings("deprecation")
7358  }
7359 
7361  private double guidedLocalSearchLambdaCoefficient_;
7373  @java.lang.Override
7375  return guidedLocalSearchLambdaCoefficient_;
7376  }
7377 
7378  public static final int USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER = 6;
7379  private boolean useDepthFirstSearch_;
7390  @java.lang.Override
7391  public boolean getUseDepthFirstSearch() {
7392  return useDepthFirstSearch_;
7393  }
7394 
7395  public static final int USE_CP_FIELD_NUMBER = 28;
7396  private int useCp_;
7407  @java.lang.Override public int getUseCpValue() {
7408  return useCp_;
7409  }
7420  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseCp() {
7421  @SuppressWarnings("deprecation")
7423  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7424  }
7425 
7426  public static final int USE_CP_SAT_FIELD_NUMBER = 27;
7427  private int useCpSat_;
7439  @java.lang.Override public int getUseCpSatValue() {
7440  return useCpSat_;
7441  }
7453  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseCpSat() {
7454  @SuppressWarnings("deprecation")
7456  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7457  }
7458 
7459  public static final int CONTINUOUS_SCHEDULING_SOLVER_FIELD_NUMBER = 33;
7460  private int continuousSchedulingSolver_;
7465  @java.lang.Override public int getContinuousSchedulingSolverValue() {
7466  return continuousSchedulingSolver_;
7467  }
7473  @SuppressWarnings("deprecation")
7476  }
7477 
7478  public static final int MIXED_INTEGER_SCHEDULING_SOLVER_FIELD_NUMBER = 34;
7479  private int mixedIntegerSchedulingSolver_;
7484  @java.lang.Override public int getMixedIntegerSchedulingSolverValue() {
7485  return mixedIntegerSchedulingSolver_;
7486  }
7492  @SuppressWarnings("deprecation")
7495  }
7496 
7497  public static final int OPTIMIZATION_STEP_FIELD_NUMBER = 7;
7498  private double optimizationStep_;
7509  @java.lang.Override
7510  public double getOptimizationStep() {
7511  return optimizationStep_;
7512  }
7513 
7514  public static final int NUMBER_OF_SOLUTIONS_TO_COLLECT_FIELD_NUMBER = 17;
7515  private int numberOfSolutionsToCollect_;
7525  @java.lang.Override
7527  return numberOfSolutionsToCollect_;
7528  }
7529 
7530  public static final int SOLUTION_LIMIT_FIELD_NUMBER = 8;
7531  private long solutionLimit_;
7542  @java.lang.Override
7543  public long getSolutionLimit() {
7544  return solutionLimit_;
7545  }
7546 
7547  public static final int TIME_LIMIT_FIELD_NUMBER = 9;
7548  private com.google.protobuf.Duration timeLimit_;
7557  @java.lang.Override
7558  public boolean hasTimeLimit() {
7559  return timeLimit_ != null;
7560  }
7569  @java.lang.Override
7570  public com.google.protobuf.Duration getTimeLimit() {
7571  return timeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
7572  }
7580  @java.lang.Override
7581  public com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder() {
7582  return getTimeLimit();
7583  }
7584 
7585  public static final int LNS_TIME_LIMIT_FIELD_NUMBER = 10;
7586  private com.google.protobuf.Duration lnsTimeLimit_;
7596  @java.lang.Override
7597  public boolean hasLnsTimeLimit() {
7598  return lnsTimeLimit_ != null;
7599  }
7609  @java.lang.Override
7610  public com.google.protobuf.Duration getLnsTimeLimit() {
7611  return lnsTimeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
7612  }
7621  @java.lang.Override
7622  public com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder() {
7623  return getLnsTimeLimit();
7624  }
7625 
7626  public static final int USE_FULL_PROPAGATION_FIELD_NUMBER = 11;
7627  private boolean useFullPropagation_;
7644  @java.lang.Override
7645  public boolean getUseFullPropagation() {
7646  return useFullPropagation_;
7647  }
7648 
7649  public static final int LOG_SEARCH_FIELD_NUMBER = 13;
7650  private boolean logSearch_;
7670  @java.lang.Override
7671  public boolean getLogSearch() {
7672  return logSearch_;
7673  }
7674 
7675  public static final int LOG_COST_SCALING_FACTOR_FIELD_NUMBER = 22;
7676  private double logCostScalingFactor_;
7686  @java.lang.Override
7687  public double getLogCostScalingFactor() {
7688  return logCostScalingFactor_;
7689  }
7690 
7691  public static final int LOG_COST_OFFSET_FIELD_NUMBER = 29;
7692  private double logCostOffset_;
7697  @java.lang.Override
7698  public double getLogCostOffset() {
7699  return logCostOffset_;
7700  }
7701 
7702  public static final int LOG_TAG_FIELD_NUMBER = 36;
7703  private volatile java.lang.Object logTag_;
7713  @java.lang.Override
7714  public java.lang.String getLogTag() {
7715  java.lang.Object ref = logTag_;
7716  if (ref instanceof java.lang.String) {
7717  return (java.lang.String) ref;
7718  } else {
7719  com.google.protobuf.ByteString bs =
7720  (com.google.protobuf.ByteString) ref;
7721  java.lang.String s = bs.toStringUtf8();
7722  logTag_ = s;
7723  return s;
7724  }
7725  }
7735  @java.lang.Override
7736  public com.google.protobuf.ByteString
7738  java.lang.Object ref = logTag_;
7739  if (ref instanceof java.lang.String) {
7740  com.google.protobuf.ByteString b =
7741  com.google.protobuf.ByteString.copyFromUtf8(
7742  (java.lang.String) ref);
7743  logTag_ = b;
7744  return b;
7745  } else {
7746  return (com.google.protobuf.ByteString) ref;
7747  }
7748  }
7749 
7750  private byte memoizedIsInitialized = -1;
7751  @java.lang.Override
7752  public final boolean isInitialized() {
7753  byte isInitialized = memoizedIsInitialized;
7754  if (isInitialized == 1) return true;
7755  if (isInitialized == 0) return false;
7756 
7757  memoizedIsInitialized = 1;
7758  return true;
7759  }
7760 
7761  @java.lang.Override
7762  public void writeTo(com.google.protobuf.CodedOutputStream output)
7763  throws java.io.IOException {
7764  if (firstSolutionStrategy_ != com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNSET.getNumber()) {
7765  output.writeEnum(1, firstSolutionStrategy_);
7766  }
7767  if (useUnfilteredFirstSolutionStrategy_ != false) {
7768  output.writeBool(2, useUnfilteredFirstSolutionStrategy_);
7769  }
7770  if (localSearchOperators_ != null) {
7771  output.writeMessage(3, getLocalSearchOperators());
7772  }
7773  if (localSearchMetaheuristic_ != com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNSET.getNumber()) {
7774  output.writeEnum(4, localSearchMetaheuristic_);
7775  }
7776  if (guidedLocalSearchLambdaCoefficient_ != 0D) {
7777  output.writeDouble(5, guidedLocalSearchLambdaCoefficient_);
7778  }
7779  if (useDepthFirstSearch_ != false) {
7780  output.writeBool(6, useDepthFirstSearch_);
7781  }
7782  if (optimizationStep_ != 0D) {
7783  output.writeDouble(7, optimizationStep_);
7784  }
7785  if (solutionLimit_ != 0L) {
7786  output.writeInt64(8, solutionLimit_);
7787  }
7788  if (timeLimit_ != null) {
7789  output.writeMessage(9, getTimeLimit());
7790  }
7791  if (lnsTimeLimit_ != null) {
7792  output.writeMessage(10, getLnsTimeLimit());
7793  }
7794  if (useFullPropagation_ != false) {
7795  output.writeBool(11, useFullPropagation_);
7796  }
7797  if (logSearch_ != false) {
7798  output.writeBool(13, logSearch_);
7799  }
7800  if (savingsNeighborsRatio_ != 0D) {
7801  output.writeDouble(14, savingsNeighborsRatio_);
7802  }
7803  if (savingsAddReverseArcs_ != false) {
7804  output.writeBool(15, savingsAddReverseArcs_);
7805  }
7806  if (cheapestInsertionFarthestSeedsRatio_ != 0D) {
7807  output.writeDouble(16, cheapestInsertionFarthestSeedsRatio_);
7808  }
7809  if (numberOfSolutionsToCollect_ != 0) {
7810  output.writeInt32(17, numberOfSolutionsToCollect_);
7811  }
7812  if (savingsArcCoefficient_ != 0D) {
7813  output.writeDouble(18, savingsArcCoefficient_);
7814  }
7815  if (savingsParallelRoutes_ != false) {
7816  output.writeBool(19, savingsParallelRoutes_);
7817  }
7818  if (relocateExpensiveChainNumArcsToConsider_ != 0) {
7819  output.writeInt32(20, relocateExpensiveChainNumArcsToConsider_);
7820  }
7821  if (cheapestInsertionFirstSolutionNeighborsRatio_ != 0D) {
7822  output.writeDouble(21, cheapestInsertionFirstSolutionNeighborsRatio_);
7823  }
7824  if (logCostScalingFactor_ != 0D) {
7825  output.writeDouble(22, logCostScalingFactor_);
7826  }
7827  if (savingsMaxMemoryUsageBytes_ != 0D) {
7828  output.writeDouble(23, savingsMaxMemoryUsageBytes_);
7829  }
7830  if (useCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
7831  output.writeEnum(27, useCpSat_);
7832  }
7833  if (useCp_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
7834  output.writeEnum(28, useCp_);
7835  }
7836  if (logCostOffset_ != 0D) {
7837  output.writeDouble(29, logCostOffset_);
7838  }
7839  if (christofidesUseMinimumMatching_ != false) {
7840  output.writeBool(30, christofidesUseMinimumMatching_);
7841  }
7842  if (cheapestInsertionLsOperatorNeighborsRatio_ != 0D) {
7843  output.writeDouble(31, cheapestInsertionLsOperatorNeighborsRatio_);
7844  }
7845  if (heuristicExpensiveChainLnsNumArcsToConsider_ != 0) {
7846  output.writeInt32(32, heuristicExpensiveChainLnsNumArcsToConsider_);
7847  }
7848  if (continuousSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNSET.getNumber()) {
7849  output.writeEnum(33, continuousSchedulingSolver_);
7850  }
7851  if (mixedIntegerSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNSET.getNumber()) {
7852  output.writeEnum(34, mixedIntegerSchedulingSolver_);
7853  }
7854  if (heuristicCloseNodesLnsNumNodes_ != 0) {
7855  output.writeInt32(35, heuristicCloseNodesLnsNumNodes_);
7856  }
7857  if (!getLogTagBytes().isEmpty()) {
7858  com.google.protobuf.GeneratedMessageV3.writeString(output, 36, logTag_);
7859  }
7860  unknownFields.writeTo(output);
7861  }
7862 
7863  @java.lang.Override
7864  public int getSerializedSize() {
7865  int size = memoizedSize;
7866  if (size != -1) return size;
7867 
7868  size = 0;
7869  if (firstSolutionStrategy_ != com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNSET.getNumber()) {
7870  size += com.google.protobuf.CodedOutputStream
7871  .computeEnumSize(1, firstSolutionStrategy_);
7872  }
7873  if (useUnfilteredFirstSolutionStrategy_ != false) {
7874  size += com.google.protobuf.CodedOutputStream
7875  .computeBoolSize(2, useUnfilteredFirstSolutionStrategy_);
7876  }
7877  if (localSearchOperators_ != null) {
7878  size += com.google.protobuf.CodedOutputStream
7879  .computeMessageSize(3, getLocalSearchOperators());
7880  }
7881  if (localSearchMetaheuristic_ != com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNSET.getNumber()) {
7882  size += com.google.protobuf.CodedOutputStream
7883  .computeEnumSize(4, localSearchMetaheuristic_);
7884  }
7885  if (guidedLocalSearchLambdaCoefficient_ != 0D) {
7886  size += com.google.protobuf.CodedOutputStream
7887  .computeDoubleSize(5, guidedLocalSearchLambdaCoefficient_);
7888  }
7889  if (useDepthFirstSearch_ != false) {
7890  size += com.google.protobuf.CodedOutputStream
7891  .computeBoolSize(6, useDepthFirstSearch_);
7892  }
7893  if (optimizationStep_ != 0D) {
7894  size += com.google.protobuf.CodedOutputStream
7895  .computeDoubleSize(7, optimizationStep_);
7896  }
7897  if (solutionLimit_ != 0L) {
7898  size += com.google.protobuf.CodedOutputStream
7899  .computeInt64Size(8, solutionLimit_);
7900  }
7901  if (timeLimit_ != null) {
7902  size += com.google.protobuf.CodedOutputStream
7903  .computeMessageSize(9, getTimeLimit());
7904  }
7905  if (lnsTimeLimit_ != null) {
7906  size += com.google.protobuf.CodedOutputStream
7907  .computeMessageSize(10, getLnsTimeLimit());
7908  }
7909  if (useFullPropagation_ != false) {
7910  size += com.google.protobuf.CodedOutputStream
7911  .computeBoolSize(11, useFullPropagation_);
7912  }
7913  if (logSearch_ != false) {
7914  size += com.google.protobuf.CodedOutputStream
7915  .computeBoolSize(13, logSearch_);
7916  }
7917  if (savingsNeighborsRatio_ != 0D) {
7918  size += com.google.protobuf.CodedOutputStream
7919  .computeDoubleSize(14, savingsNeighborsRatio_);
7920  }
7921  if (savingsAddReverseArcs_ != false) {
7922  size += com.google.protobuf.CodedOutputStream
7923  .computeBoolSize(15, savingsAddReverseArcs_);
7924  }
7925  if (cheapestInsertionFarthestSeedsRatio_ != 0D) {
7926  size += com.google.protobuf.CodedOutputStream
7927  .computeDoubleSize(16, cheapestInsertionFarthestSeedsRatio_);
7928  }
7929  if (numberOfSolutionsToCollect_ != 0) {
7930  size += com.google.protobuf.CodedOutputStream
7931  .computeInt32Size(17, numberOfSolutionsToCollect_);
7932  }
7933  if (savingsArcCoefficient_ != 0D) {
7934  size += com.google.protobuf.CodedOutputStream
7935  .computeDoubleSize(18, savingsArcCoefficient_);
7936  }
7937  if (savingsParallelRoutes_ != false) {
7938  size += com.google.protobuf.CodedOutputStream
7939  .computeBoolSize(19, savingsParallelRoutes_);
7940  }
7941  if (relocateExpensiveChainNumArcsToConsider_ != 0) {
7942  size += com.google.protobuf.CodedOutputStream
7943  .computeInt32Size(20, relocateExpensiveChainNumArcsToConsider_);
7944  }
7945  if (cheapestInsertionFirstSolutionNeighborsRatio_ != 0D) {
7946  size += com.google.protobuf.CodedOutputStream
7947  .computeDoubleSize(21, cheapestInsertionFirstSolutionNeighborsRatio_);
7948  }
7949  if (logCostScalingFactor_ != 0D) {
7950  size += com.google.protobuf.CodedOutputStream
7951  .computeDoubleSize(22, logCostScalingFactor_);
7952  }
7953  if (savingsMaxMemoryUsageBytes_ != 0D) {
7954  size += com.google.protobuf.CodedOutputStream
7955  .computeDoubleSize(23, savingsMaxMemoryUsageBytes_);
7956  }
7957  if (useCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
7958  size += com.google.protobuf.CodedOutputStream
7959  .computeEnumSize(27, useCpSat_);
7960  }
7961  if (useCp_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
7962  size += com.google.protobuf.CodedOutputStream
7963  .computeEnumSize(28, useCp_);
7964  }
7965  if (logCostOffset_ != 0D) {
7966  size += com.google.protobuf.CodedOutputStream
7967  .computeDoubleSize(29, logCostOffset_);
7968  }
7969  if (christofidesUseMinimumMatching_ != false) {
7970  size += com.google.protobuf.CodedOutputStream
7971  .computeBoolSize(30, christofidesUseMinimumMatching_);
7972  }
7973  if (cheapestInsertionLsOperatorNeighborsRatio_ != 0D) {
7974  size += com.google.protobuf.CodedOutputStream
7975  .computeDoubleSize(31, cheapestInsertionLsOperatorNeighborsRatio_);
7976  }
7977  if (heuristicExpensiveChainLnsNumArcsToConsider_ != 0) {
7978  size += com.google.protobuf.CodedOutputStream
7979  .computeInt32Size(32, heuristicExpensiveChainLnsNumArcsToConsider_);
7980  }
7981  if (continuousSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNSET.getNumber()) {
7982  size += com.google.protobuf.CodedOutputStream
7983  .computeEnumSize(33, continuousSchedulingSolver_);
7984  }
7985  if (mixedIntegerSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNSET.getNumber()) {
7986  size += com.google.protobuf.CodedOutputStream
7987  .computeEnumSize(34, mixedIntegerSchedulingSolver_);
7988  }
7989  if (heuristicCloseNodesLnsNumNodes_ != 0) {
7990  size += com.google.protobuf.CodedOutputStream
7991  .computeInt32Size(35, heuristicCloseNodesLnsNumNodes_);
7992  }
7993  if (!getLogTagBytes().isEmpty()) {
7994  size += com.google.protobuf.GeneratedMessageV3.computeStringSize(36, logTag_);
7995  }
7996  size += unknownFields.getSerializedSize();
7997  memoizedSize = size;
7998  return size;
7999  }
8000 
8001  @java.lang.Override
8002  public boolean equals(final java.lang.Object obj) {
8003  if (obj == this) {
8004  return true;
8005  }
8006  if (!(obj instanceof com.google.ortools.constraintsolver.RoutingSearchParameters)) {
8007  return super.equals(obj);
8008  }
8010 
8011  if (firstSolutionStrategy_ != other.firstSolutionStrategy_) return false;
8013  != other.getUseUnfilteredFirstSolutionStrategy()) return false;
8014  if (java.lang.Double.doubleToLongBits(getSavingsNeighborsRatio())
8015  != java.lang.Double.doubleToLongBits(
8016  other.getSavingsNeighborsRatio())) return false;
8017  if (java.lang.Double.doubleToLongBits(getSavingsMaxMemoryUsageBytes())
8018  != java.lang.Double.doubleToLongBits(
8019  other.getSavingsMaxMemoryUsageBytes())) return false;
8021  != other.getSavingsAddReverseArcs()) return false;
8022  if (java.lang.Double.doubleToLongBits(getSavingsArcCoefficient())
8023  != java.lang.Double.doubleToLongBits(
8024  other.getSavingsArcCoefficient())) return false;
8026  != other.getSavingsParallelRoutes()) return false;
8027  if (java.lang.Double.doubleToLongBits(getCheapestInsertionFarthestSeedsRatio())
8028  != java.lang.Double.doubleToLongBits(
8029  other.getCheapestInsertionFarthestSeedsRatio())) return false;
8030  if (java.lang.Double.doubleToLongBits(getCheapestInsertionFirstSolutionNeighborsRatio())
8031  != java.lang.Double.doubleToLongBits(
8032  other.getCheapestInsertionFirstSolutionNeighborsRatio())) return false;
8033  if (java.lang.Double.doubleToLongBits(getCheapestInsertionLsOperatorNeighborsRatio())
8034  != java.lang.Double.doubleToLongBits(
8035  other.getCheapestInsertionLsOperatorNeighborsRatio())) return false;
8037  != other.getChristofidesUseMinimumMatching()) return false;
8038  if (hasLocalSearchOperators() != other.hasLocalSearchOperators()) return false;
8039  if (hasLocalSearchOperators()) {
8041  .equals(other.getLocalSearchOperators())) return false;
8042  }
8044  != other.getRelocateExpensiveChainNumArcsToConsider()) return false;
8046  != other.getHeuristicExpensiveChainLnsNumArcsToConsider()) return false;
8048  != other.getHeuristicCloseNodesLnsNumNodes()) return false;
8049  if (localSearchMetaheuristic_ != other.localSearchMetaheuristic_) return false;
8050  if (java.lang.Double.doubleToLongBits(getGuidedLocalSearchLambdaCoefficient())
8051  != java.lang.Double.doubleToLongBits(
8052  other.getGuidedLocalSearchLambdaCoefficient())) return false;
8054  != other.getUseDepthFirstSearch()) return false;
8055  if (useCp_ != other.useCp_) return false;
8056  if (useCpSat_ != other.useCpSat_) return false;
8057  if (continuousSchedulingSolver_ != other.continuousSchedulingSolver_) return false;
8058  if (mixedIntegerSchedulingSolver_ != other.mixedIntegerSchedulingSolver_) return false;
8059  if (java.lang.Double.doubleToLongBits(getOptimizationStep())
8060  != java.lang.Double.doubleToLongBits(
8061  other.getOptimizationStep())) return false;
8063  != other.getNumberOfSolutionsToCollect()) return false;
8064  if (getSolutionLimit()
8065  != other.getSolutionLimit()) return false;
8066  if (hasTimeLimit() != other.hasTimeLimit()) return false;
8067  if (hasTimeLimit()) {
8068  if (!getTimeLimit()
8069  .equals(other.getTimeLimit())) return false;
8070  }
8071  if (hasLnsTimeLimit() != other.hasLnsTimeLimit()) return false;
8072  if (hasLnsTimeLimit()) {
8073  if (!getLnsTimeLimit()
8074  .equals(other.getLnsTimeLimit())) return false;
8075  }
8076  if (getUseFullPropagation()
8077  != other.getUseFullPropagation()) return false;
8078  if (getLogSearch()
8079  != other.getLogSearch()) return false;
8080  if (java.lang.Double.doubleToLongBits(getLogCostScalingFactor())
8081  != java.lang.Double.doubleToLongBits(
8082  other.getLogCostScalingFactor())) return false;
8083  if (java.lang.Double.doubleToLongBits(getLogCostOffset())
8084  != java.lang.Double.doubleToLongBits(
8085  other.getLogCostOffset())) return false;
8086  if (!getLogTag()
8087  .equals(other.getLogTag())) return false;
8088  if (!unknownFields.equals(other.unknownFields)) return false;
8089  return true;
8090  }
8091 
8092  @java.lang.Override
8093  public int hashCode() {
8094  if (memoizedHashCode != 0) {
8095  return memoizedHashCode;
8096  }
8097  int hash = 41;
8098  hash = (19 * hash) + getDescriptor().hashCode();
8099  hash = (37 * hash) + FIRST_SOLUTION_STRATEGY_FIELD_NUMBER;
8100  hash = (53 * hash) + firstSolutionStrategy_;
8102  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8104  hash = (37 * hash) + SAVINGS_NEIGHBORS_RATIO_FIELD_NUMBER;
8105  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8106  java.lang.Double.doubleToLongBits(getSavingsNeighborsRatio()));
8107  hash = (37 * hash) + SAVINGS_MAX_MEMORY_USAGE_BYTES_FIELD_NUMBER;
8108  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8109  java.lang.Double.doubleToLongBits(getSavingsMaxMemoryUsageBytes()));
8110  hash = (37 * hash) + SAVINGS_ADD_REVERSE_ARCS_FIELD_NUMBER;
8111  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8113  hash = (37 * hash) + SAVINGS_ARC_COEFFICIENT_FIELD_NUMBER;
8114  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8115  java.lang.Double.doubleToLongBits(getSavingsArcCoefficient()));
8116  hash = (37 * hash) + SAVINGS_PARALLEL_ROUTES_FIELD_NUMBER;
8117  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8120  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8121  java.lang.Double.doubleToLongBits(getCheapestInsertionFarthestSeedsRatio()));
8123  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8124  java.lang.Double.doubleToLongBits(getCheapestInsertionFirstSolutionNeighborsRatio()));
8126  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8127  java.lang.Double.doubleToLongBits(getCheapestInsertionLsOperatorNeighborsRatio()));
8129  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8131  if (hasLocalSearchOperators()) {
8132  hash = (37 * hash) + LOCAL_SEARCH_OPERATORS_FIELD_NUMBER;
8133  hash = (53 * hash) + getLocalSearchOperators().hashCode();
8134  }
8136  hash = (53 * hash) + getRelocateExpensiveChainNumArcsToConsider();
8138  hash = (53 * hash) + getHeuristicExpensiveChainLnsNumArcsToConsider();
8140  hash = (53 * hash) + getHeuristicCloseNodesLnsNumNodes();
8141  hash = (37 * hash) + LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER;
8142  hash = (53 * hash) + localSearchMetaheuristic_;
8144  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8145  java.lang.Double.doubleToLongBits(getGuidedLocalSearchLambdaCoefficient()));
8146  hash = (37 * hash) + USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER;
8147  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8149  hash = (37 * hash) + USE_CP_FIELD_NUMBER;
8150  hash = (53 * hash) + useCp_;
8151  hash = (37 * hash) + USE_CP_SAT_FIELD_NUMBER;
8152  hash = (53 * hash) + useCpSat_;
8153  hash = (37 * hash) + CONTINUOUS_SCHEDULING_SOLVER_FIELD_NUMBER;
8154  hash = (53 * hash) + continuousSchedulingSolver_;
8155  hash = (37 * hash) + MIXED_INTEGER_SCHEDULING_SOLVER_FIELD_NUMBER;
8156  hash = (53 * hash) + mixedIntegerSchedulingSolver_;
8157  hash = (37 * hash) + OPTIMIZATION_STEP_FIELD_NUMBER;
8158  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8159  java.lang.Double.doubleToLongBits(getOptimizationStep()));
8160  hash = (37 * hash) + NUMBER_OF_SOLUTIONS_TO_COLLECT_FIELD_NUMBER;
8161  hash = (53 * hash) + getNumberOfSolutionsToCollect();
8162  hash = (37 * hash) + SOLUTION_LIMIT_FIELD_NUMBER;
8163  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8164  getSolutionLimit());
8165  if (hasTimeLimit()) {
8166  hash = (37 * hash) + TIME_LIMIT_FIELD_NUMBER;
8167  hash = (53 * hash) + getTimeLimit().hashCode();
8168  }
8169  if (hasLnsTimeLimit()) {
8170  hash = (37 * hash) + LNS_TIME_LIMIT_FIELD_NUMBER;
8171  hash = (53 * hash) + getLnsTimeLimit().hashCode();
8172  }
8173  hash = (37 * hash) + USE_FULL_PROPAGATION_FIELD_NUMBER;
8174  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8176  hash = (37 * hash) + LOG_SEARCH_FIELD_NUMBER;
8177  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
8178  getLogSearch());
8179  hash = (37 * hash) + LOG_COST_SCALING_FACTOR_FIELD_NUMBER;
8180  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8181  java.lang.Double.doubleToLongBits(getLogCostScalingFactor()));
8182  hash = (37 * hash) + LOG_COST_OFFSET_FIELD_NUMBER;
8183  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8184  java.lang.Double.doubleToLongBits(getLogCostOffset()));
8185  hash = (37 * hash) + LOG_TAG_FIELD_NUMBER;
8186  hash = (53 * hash) + getLogTag().hashCode();
8187  hash = (29 * hash) + unknownFields.hashCode();
8188  memoizedHashCode = hash;
8189  return hash;
8190  }
8191 
8193  java.nio.ByteBuffer data)
8194  throws com.google.protobuf.InvalidProtocolBufferException {
8195  return PARSER.parseFrom(data);
8196  }
8198  java.nio.ByteBuffer data,
8199  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8200  throws com.google.protobuf.InvalidProtocolBufferException {
8201  return PARSER.parseFrom(data, extensionRegistry);
8202  }
8204  com.google.protobuf.ByteString data)
8205  throws com.google.protobuf.InvalidProtocolBufferException {
8206  return PARSER.parseFrom(data);
8207  }
8209  com.google.protobuf.ByteString data,
8210  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8211  throws com.google.protobuf.InvalidProtocolBufferException {
8212  return PARSER.parseFrom(data, extensionRegistry);
8213  }
8215  throws com.google.protobuf.InvalidProtocolBufferException {
8216  return PARSER.parseFrom(data);
8217  }
8219  byte[] data,
8220  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8221  throws com.google.protobuf.InvalidProtocolBufferException {
8222  return PARSER.parseFrom(data, extensionRegistry);
8223  }
8224  public static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.io.InputStream input)
8225  throws java.io.IOException {
8226  return com.google.protobuf.GeneratedMessageV3
8227  .parseWithIOException(PARSER, input);
8228  }
8230  java.io.InputStream input,
8231  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8232  throws java.io.IOException {
8233  return com.google.protobuf.GeneratedMessageV3
8234  .parseWithIOException(PARSER, input, extensionRegistry);
8235  }
8237  throws java.io.IOException {
8238  return com.google.protobuf.GeneratedMessageV3
8239  .parseDelimitedWithIOException(PARSER, input);
8240  }
8242  java.io.InputStream input,
8243  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8244  throws java.io.IOException {
8245  return com.google.protobuf.GeneratedMessageV3
8246  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
8247  }
8249  com.google.protobuf.CodedInputStream input)
8250  throws java.io.IOException {
8251  return com.google.protobuf.GeneratedMessageV3
8252  .parseWithIOException(PARSER, input);
8253  }
8255  com.google.protobuf.CodedInputStream input,
8256  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8257  throws java.io.IOException {
8258  return com.google.protobuf.GeneratedMessageV3
8259  .parseWithIOException(PARSER, input, extensionRegistry);
8260  }
8261 
8262  @java.lang.Override
8263  public Builder newBuilderForType() { return newBuilder(); }
8264  public static Builder newBuilder() {
8265  return DEFAULT_INSTANCE.toBuilder();
8266  }
8268  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
8269  }
8270  @java.lang.Override
8271  public Builder toBuilder() {
8272  return this == DEFAULT_INSTANCE
8273  ? new Builder() : new Builder().mergeFrom(this);
8274  }
8275 
8276  @java.lang.Override
8278  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
8279  Builder builder = new Builder(parent);
8280  return builder;
8281  }
8294  public static final class Builder extends
8295  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
8296  // @@protoc_insertion_point(builder_implements:operations_research.RoutingSearchParameters)
8297  com.google.ortools.constraintsolver.RoutingSearchParametersOrBuilder {
8298  public static final com.google.protobuf.Descriptors.Descriptor
8300  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
8301  }
8302 
8303  @java.lang.Override
8304  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
8306  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_fieldAccessorTable
8307  .ensureFieldAccessorsInitialized(
8309  }
8310 
8311  // Construct using com.google.ortools.constraintsolver.RoutingSearchParameters.newBuilder()
8312  private Builder() {
8313  maybeForceBuilderInitialization();
8314  }
8315 
8316  private Builder(
8317  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
8318  super(parent);
8319  maybeForceBuilderInitialization();
8320  }
8321  private void maybeForceBuilderInitialization() {
8322  if (com.google.protobuf.GeneratedMessageV3
8323  .alwaysUseFieldBuilders) {
8324  }
8325  }
8326  @java.lang.Override
8327  public Builder clear() {
8328  super.clear();
8329  firstSolutionStrategy_ = 0;
8330 
8331  useUnfilteredFirstSolutionStrategy_ = false;
8332 
8333  savingsNeighborsRatio_ = 0D;
8334 
8335  savingsMaxMemoryUsageBytes_ = 0D;
8336 
8337  savingsAddReverseArcs_ = false;
8338 
8339  savingsArcCoefficient_ = 0D;
8340 
8341  savingsParallelRoutes_ = false;
8342 
8343  cheapestInsertionFarthestSeedsRatio_ = 0D;
8344 
8345  cheapestInsertionFirstSolutionNeighborsRatio_ = 0D;
8346 
8347  cheapestInsertionLsOperatorNeighborsRatio_ = 0D;
8348 
8349  christofidesUseMinimumMatching_ = false;
8350 
8351  if (localSearchOperatorsBuilder_ == null) {
8352  localSearchOperators_ = null;
8353  } else {
8354  localSearchOperators_ = null;
8355  localSearchOperatorsBuilder_ = null;
8356  }
8357  relocateExpensiveChainNumArcsToConsider_ = 0;
8358 
8359  heuristicExpensiveChainLnsNumArcsToConsider_ = 0;
8360 
8361  heuristicCloseNodesLnsNumNodes_ = 0;
8362 
8363  localSearchMetaheuristic_ = 0;
8364 
8365  guidedLocalSearchLambdaCoefficient_ = 0D;
8366 
8367  useDepthFirstSearch_ = false;
8368 
8369  useCp_ = 0;
8370 
8371  useCpSat_ = 0;
8372 
8373  continuousSchedulingSolver_ = 0;
8374 
8375  mixedIntegerSchedulingSolver_ = 0;
8376 
8377  optimizationStep_ = 0D;
8378 
8379  numberOfSolutionsToCollect_ = 0;
8380 
8381  solutionLimit_ = 0L;
8382 
8383  if (timeLimitBuilder_ == null) {
8384  timeLimit_ = null;
8385  } else {
8386  timeLimit_ = null;
8387  timeLimitBuilder_ = null;
8388  }
8389  if (lnsTimeLimitBuilder_ == null) {
8390  lnsTimeLimit_ = null;
8391  } else {
8392  lnsTimeLimit_ = null;
8393  lnsTimeLimitBuilder_ = null;
8394  }
8395  useFullPropagation_ = false;
8396 
8397  logSearch_ = false;
8398 
8399  logCostScalingFactor_ = 0D;
8400 
8401  logCostOffset_ = 0D;
8402 
8403  logTag_ = "";
8404 
8405  return this;
8406  }
8407 
8408  @java.lang.Override
8409  public com.google.protobuf.Descriptors.Descriptor
8411  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
8412  }
8413 
8414  @java.lang.Override
8417  }
8418 
8419  @java.lang.Override
8422  if (!result.isInitialized()) {
8423  throw newUninitializedMessageException(result);
8424  }
8425  return result;
8426  }
8427 
8428  @java.lang.Override
8431  result.firstSolutionStrategy_ = firstSolutionStrategy_;
8432  result.useUnfilteredFirstSolutionStrategy_ = useUnfilteredFirstSolutionStrategy_;
8433  result.savingsNeighborsRatio_ = savingsNeighborsRatio_;
8434  result.savingsMaxMemoryUsageBytes_ = savingsMaxMemoryUsageBytes_;
8435  result.savingsAddReverseArcs_ = savingsAddReverseArcs_;
8436  result.savingsArcCoefficient_ = savingsArcCoefficient_;
8437  result.savingsParallelRoutes_ = savingsParallelRoutes_;
8438  result.cheapestInsertionFarthestSeedsRatio_ = cheapestInsertionFarthestSeedsRatio_;
8439  result.cheapestInsertionFirstSolutionNeighborsRatio_ = cheapestInsertionFirstSolutionNeighborsRatio_;
8440  result.cheapestInsertionLsOperatorNeighborsRatio_ = cheapestInsertionLsOperatorNeighborsRatio_;
8441  result.christofidesUseMinimumMatching_ = christofidesUseMinimumMatching_;
8442  if (localSearchOperatorsBuilder_ == null) {
8443  result.localSearchOperators_ = localSearchOperators_;
8444  } else {
8445  result.localSearchOperators_ = localSearchOperatorsBuilder_.build();
8446  }
8447  result.relocateExpensiveChainNumArcsToConsider_ = relocateExpensiveChainNumArcsToConsider_;
8448  result.heuristicExpensiveChainLnsNumArcsToConsider_ = heuristicExpensiveChainLnsNumArcsToConsider_;
8449  result.heuristicCloseNodesLnsNumNodes_ = heuristicCloseNodesLnsNumNodes_;
8450  result.localSearchMetaheuristic_ = localSearchMetaheuristic_;
8451  result.guidedLocalSearchLambdaCoefficient_ = guidedLocalSearchLambdaCoefficient_;
8452  result.useDepthFirstSearch_ = useDepthFirstSearch_;
8453  result.useCp_ = useCp_;
8454  result.useCpSat_ = useCpSat_;
8455  result.continuousSchedulingSolver_ = continuousSchedulingSolver_;
8456  result.mixedIntegerSchedulingSolver_ = mixedIntegerSchedulingSolver_;
8457  result.optimizationStep_ = optimizationStep_;
8458  result.numberOfSolutionsToCollect_ = numberOfSolutionsToCollect_;
8459  result.solutionLimit_ = solutionLimit_;
8460  if (timeLimitBuilder_ == null) {
8461  result.timeLimit_ = timeLimit_;
8462  } else {
8463  result.timeLimit_ = timeLimitBuilder_.build();
8464  }
8465  if (lnsTimeLimitBuilder_ == null) {
8466  result.lnsTimeLimit_ = lnsTimeLimit_;
8467  } else {
8468  result.lnsTimeLimit_ = lnsTimeLimitBuilder_.build();
8469  }
8470  result.useFullPropagation_ = useFullPropagation_;
8471  result.logSearch_ = logSearch_;
8472  result.logCostScalingFactor_ = logCostScalingFactor_;
8473  result.logCostOffset_ = logCostOffset_;
8474  result.logTag_ = logTag_;
8475  onBuilt();
8476  return result;
8477  }
8478 
8479  @java.lang.Override
8480  public Builder clone() {
8481  return super.clone();
8482  }
8483  @java.lang.Override
8485  com.google.protobuf.Descriptors.FieldDescriptor field,
8486  java.lang.Object value) {
8487  return super.setField(field, value);
8488  }
8489  @java.lang.Override
8491  com.google.protobuf.Descriptors.FieldDescriptor field) {
8492  return super.clearField(field);
8493  }
8494  @java.lang.Override
8496  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
8497  return super.clearOneof(oneof);
8498  }
8499  @java.lang.Override
8501  com.google.protobuf.Descriptors.FieldDescriptor field,
8502  int index, java.lang.Object value) {
8503  return super.setRepeatedField(field, index, value);
8504  }
8505  @java.lang.Override
8507  com.google.protobuf.Descriptors.FieldDescriptor field,
8508  java.lang.Object value) {
8509  return super.addRepeatedField(field, value);
8510  }
8511  @java.lang.Override
8512  public Builder mergeFrom(com.google.protobuf.Message other) {
8515  } else {
8516  super.mergeFrom(other);
8517  return this;
8518  }
8519  }
8520 
8523  if (other.firstSolutionStrategy_ != 0) {
8524  setFirstSolutionStrategyValue(other.getFirstSolutionStrategyValue());
8525  }
8526  if (other.getUseUnfilteredFirstSolutionStrategy() != false) {
8527  setUseUnfilteredFirstSolutionStrategy(other.getUseUnfilteredFirstSolutionStrategy());
8528  }
8529  if (other.getSavingsNeighborsRatio() != 0D) {
8530  setSavingsNeighborsRatio(other.getSavingsNeighborsRatio());
8531  }
8532  if (other.getSavingsMaxMemoryUsageBytes() != 0D) {
8533  setSavingsMaxMemoryUsageBytes(other.getSavingsMaxMemoryUsageBytes());
8534  }
8535  if (other.getSavingsAddReverseArcs() != false) {
8536  setSavingsAddReverseArcs(other.getSavingsAddReverseArcs());
8537  }
8538  if (other.getSavingsArcCoefficient() != 0D) {
8539  setSavingsArcCoefficient(other.getSavingsArcCoefficient());
8540  }
8541  if (other.getSavingsParallelRoutes() != false) {
8542  setSavingsParallelRoutes(other.getSavingsParallelRoutes());
8543  }
8544  if (other.getCheapestInsertionFarthestSeedsRatio() != 0D) {
8545  setCheapestInsertionFarthestSeedsRatio(other.getCheapestInsertionFarthestSeedsRatio());
8546  }
8547  if (other.getCheapestInsertionFirstSolutionNeighborsRatio() != 0D) {
8548  setCheapestInsertionFirstSolutionNeighborsRatio(other.getCheapestInsertionFirstSolutionNeighborsRatio());
8549  }
8550  if (other.getCheapestInsertionLsOperatorNeighborsRatio() != 0D) {
8551  setCheapestInsertionLsOperatorNeighborsRatio(other.getCheapestInsertionLsOperatorNeighborsRatio());
8552  }
8553  if (other.getChristofidesUseMinimumMatching() != false) {
8554  setChristofidesUseMinimumMatching(other.getChristofidesUseMinimumMatching());
8555  }
8556  if (other.hasLocalSearchOperators()) {
8557  mergeLocalSearchOperators(other.getLocalSearchOperators());
8558  }
8559  if (other.getRelocateExpensiveChainNumArcsToConsider() != 0) {
8560  setRelocateExpensiveChainNumArcsToConsider(other.getRelocateExpensiveChainNumArcsToConsider());
8561  }
8562  if (other.getHeuristicExpensiveChainLnsNumArcsToConsider() != 0) {
8563  setHeuristicExpensiveChainLnsNumArcsToConsider(other.getHeuristicExpensiveChainLnsNumArcsToConsider());
8564  }
8565  if (other.getHeuristicCloseNodesLnsNumNodes() != 0) {
8566  setHeuristicCloseNodesLnsNumNodes(other.getHeuristicCloseNodesLnsNumNodes());
8567  }
8568  if (other.localSearchMetaheuristic_ != 0) {
8569  setLocalSearchMetaheuristicValue(other.getLocalSearchMetaheuristicValue());
8570  }
8571  if (other.getGuidedLocalSearchLambdaCoefficient() != 0D) {
8572  setGuidedLocalSearchLambdaCoefficient(other.getGuidedLocalSearchLambdaCoefficient());
8573  }
8574  if (other.getUseDepthFirstSearch() != false) {
8575  setUseDepthFirstSearch(other.getUseDepthFirstSearch());
8576  }
8577  if (other.useCp_ != 0) {
8578  setUseCpValue(other.getUseCpValue());
8579  }
8580  if (other.useCpSat_ != 0) {
8581  setUseCpSatValue(other.getUseCpSatValue());
8582  }
8583  if (other.continuousSchedulingSolver_ != 0) {
8584  setContinuousSchedulingSolverValue(other.getContinuousSchedulingSolverValue());
8585  }
8586  if (other.mixedIntegerSchedulingSolver_ != 0) {
8587  setMixedIntegerSchedulingSolverValue(other.getMixedIntegerSchedulingSolverValue());
8588  }
8589  if (other.getOptimizationStep() != 0D) {
8590  setOptimizationStep(other.getOptimizationStep());
8591  }
8592  if (other.getNumberOfSolutionsToCollect() != 0) {
8593  setNumberOfSolutionsToCollect(other.getNumberOfSolutionsToCollect());
8594  }
8595  if (other.getSolutionLimit() != 0L) {
8596  setSolutionLimit(other.getSolutionLimit());
8597  }
8598  if (other.hasTimeLimit()) {
8599  mergeTimeLimit(other.getTimeLimit());
8600  }
8601  if (other.hasLnsTimeLimit()) {
8602  mergeLnsTimeLimit(other.getLnsTimeLimit());
8603  }
8604  if (other.getUseFullPropagation() != false) {
8605  setUseFullPropagation(other.getUseFullPropagation());
8606  }
8607  if (other.getLogSearch() != false) {
8608  setLogSearch(other.getLogSearch());
8609  }
8610  if (other.getLogCostScalingFactor() != 0D) {
8611  setLogCostScalingFactor(other.getLogCostScalingFactor());
8612  }
8613  if (other.getLogCostOffset() != 0D) {
8614  setLogCostOffset(other.getLogCostOffset());
8615  }
8616  if (!other.getLogTag().isEmpty()) {
8617  logTag_ = other.logTag_;
8618  onChanged();
8619  }
8620  this.mergeUnknownFields(other.unknownFields);
8621  onChanged();
8622  return this;
8623  }
8624 
8625  @java.lang.Override
8626  public final boolean isInitialized() {
8627  return true;
8628  }
8629 
8630  @java.lang.Override
8632  com.google.protobuf.CodedInputStream input,
8633  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8634  throws java.io.IOException {
8636  try {
8637  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
8638  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8639  parsedMessage = (com.google.ortools.constraintsolver.RoutingSearchParameters) e.getUnfinishedMessage();
8640  throw e.unwrapIOException();
8641  } finally {
8642  if (parsedMessage != null) {
8643  mergeFrom(parsedMessage);
8644  }
8645  }
8646  return this;
8647  }
8648 
8649  private int firstSolutionStrategy_ = 0;
8658  @java.lang.Override public int getFirstSolutionStrategyValue() {
8659  return firstSolutionStrategy_;
8660  }
8671 
8672  firstSolutionStrategy_ = value;
8673  onChanged();
8674  return this;
8675  }
8684  @java.lang.Override
8686  @SuppressWarnings("deprecation")
8688  return result == null ? com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNRECOGNIZED : result;
8689  }
8700  if (value == null) {
8701  throw new NullPointerException();
8702  }
8703 
8704  firstSolutionStrategy_ = value.getNumber();
8705  onChanged();
8706  return this;
8707  }
8717 
8718  firstSolutionStrategy_ = 0;
8719  onChanged();
8720  return this;
8721  }
8722 
8723  private boolean useUnfilteredFirstSolutionStrategy_ ;
8734  @java.lang.Override
8736  return useUnfilteredFirstSolutionStrategy_;
8737  }
8750 
8751  useUnfilteredFirstSolutionStrategy_ = value;
8752  onChanged();
8753  return this;
8754  }
8766 
8767  useUnfilteredFirstSolutionStrategy_ = false;
8768  onChanged();
8769  return this;
8770  }
8771 
8772  private double savingsNeighborsRatio_ ;
8783  @java.lang.Override
8784  public double getSavingsNeighborsRatio() {
8785  return savingsNeighborsRatio_;
8786  }
8798  public Builder setSavingsNeighborsRatio(double value) {
8799 
8800  savingsNeighborsRatio_ = value;
8801  onChanged();
8802  return this;
8803  }
8815 
8816  savingsNeighborsRatio_ = 0D;
8817  onChanged();
8818  return this;
8819  }
8820 
8821  private double savingsMaxMemoryUsageBytes_ ;
8835  @java.lang.Override
8837  return savingsMaxMemoryUsageBytes_;
8838  }
8854 
8855  savingsMaxMemoryUsageBytes_ = value;
8856  onChanged();
8857  return this;
8858  }
8873 
8874  savingsMaxMemoryUsageBytes_ = 0D;
8875  onChanged();
8876  return this;
8877  }
8878 
8879  private boolean savingsAddReverseArcs_ ;
8889  @java.lang.Override
8890  public boolean getSavingsAddReverseArcs() {
8891  return savingsAddReverseArcs_;
8892  }
8903  public Builder setSavingsAddReverseArcs(boolean value) {
8904 
8905  savingsAddReverseArcs_ = value;
8906  onChanged();
8907  return this;
8908  }
8919 
8920  savingsAddReverseArcs_ = false;
8921  onChanged();
8922  return this;
8923  }
8924 
8925  private double savingsArcCoefficient_ ;
8938  @java.lang.Override
8939  public double getSavingsArcCoefficient() {
8940  return savingsArcCoefficient_;
8941  }
8955  public Builder setSavingsArcCoefficient(double value) {
8956 
8957  savingsArcCoefficient_ = value;
8958  onChanged();
8959  return this;
8960  }
8974 
8975  savingsArcCoefficient_ = 0D;
8976  onChanged();
8977  return this;
8978  }
8979 
8980  private boolean savingsParallelRoutes_ ;
8989  @java.lang.Override
8990  public boolean getSavingsParallelRoutes() {
8991  return savingsParallelRoutes_;
8992  }
9002  public Builder setSavingsParallelRoutes(boolean value) {
9003 
9004  savingsParallelRoutes_ = value;
9005  onChanged();
9006  return this;
9007  }
9017 
9018  savingsParallelRoutes_ = false;
9019  onChanged();
9020  return this;
9021  }
9022 
9023  private double cheapestInsertionFarthestSeedsRatio_ ;
9034  @java.lang.Override
9036  return cheapestInsertionFarthestSeedsRatio_;
9037  }
9050 
9051  cheapestInsertionFarthestSeedsRatio_ = value;
9052  onChanged();
9053  return this;
9054  }
9066 
9067  cheapestInsertionFarthestSeedsRatio_ = 0D;
9068  onChanged();
9069  return this;
9070  }
9071 
9072  private double cheapestInsertionFirstSolutionNeighborsRatio_ ;
9085  @java.lang.Override
9087  return cheapestInsertionFirstSolutionNeighborsRatio_;
9088  }
9103 
9104  cheapestInsertionFirstSolutionNeighborsRatio_ = value;
9105  onChanged();
9106  return this;
9107  }
9121 
9122  cheapestInsertionFirstSolutionNeighborsRatio_ = 0D;
9123  onChanged();
9124  return this;
9125  }
9126 
9127  private double cheapestInsertionLsOperatorNeighborsRatio_ ;
9138  @java.lang.Override
9140  return cheapestInsertionLsOperatorNeighborsRatio_;
9141  }
9154 
9155  cheapestInsertionLsOperatorNeighborsRatio_ = value;
9156  onChanged();
9157  return this;
9158  }
9170 
9171  cheapestInsertionLsOperatorNeighborsRatio_ = 0D;
9172  onChanged();
9173  return this;
9174  }
9175 
9176  private boolean christofidesUseMinimumMatching_ ;
9186  @java.lang.Override
9188  return christofidesUseMinimumMatching_;
9189  }
9201 
9202  christofidesUseMinimumMatching_ = value;
9203  onChanged();
9204  return this;
9205  }
9216 
9217  christofidesUseMinimumMatching_ = false;
9218  onChanged();
9219  return this;
9220  }
9221 
9223  private com.google.protobuf.SingleFieldBuilderV3<
9229  public boolean hasLocalSearchOperators() {
9230  return localSearchOperatorsBuilder_ != null || localSearchOperators_ != null;
9231  }
9237  if (localSearchOperatorsBuilder_ == null) {
9238  return localSearchOperators_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
9239  } else {
9240  return localSearchOperatorsBuilder_.getMessage();
9241  }
9242  }
9247  if (localSearchOperatorsBuilder_ == null) {
9248  if (value == null) {
9249  throw new NullPointerException();
9250  }
9251  localSearchOperators_ = value;
9252  onChanged();
9253  } else {
9254  localSearchOperatorsBuilder_.setMessage(value);
9255  }
9256 
9257  return this;
9258  }
9264  if (localSearchOperatorsBuilder_ == null) {
9265  localSearchOperators_ = builderForValue.build();
9266  onChanged();
9267  } else {
9268  localSearchOperatorsBuilder_.setMessage(builderForValue.build());
9269  }
9270 
9271  return this;
9272  }
9277  if (localSearchOperatorsBuilder_ == null) {
9278  if (localSearchOperators_ != null) {
9279  localSearchOperators_ =
9281  } else {
9282  localSearchOperators_ = value;
9283  }
9284  onChanged();
9285  } else {
9286  localSearchOperatorsBuilder_.mergeFrom(value);
9287  }
9288 
9289  return this;
9290  }
9295  if (localSearchOperatorsBuilder_ == null) {
9296  localSearchOperators_ = null;
9297  onChanged();
9298  } else {
9299  localSearchOperators_ = null;
9300  localSearchOperatorsBuilder_ = null;
9301  }
9302 
9303  return this;
9304  }
9309 
9310  onChanged();
9311  return getLocalSearchOperatorsFieldBuilder().getBuilder();
9312  }
9317  if (localSearchOperatorsBuilder_ != null) {
9318  return localSearchOperatorsBuilder_.getMessageOrBuilder();
9319  } else {
9320  return localSearchOperators_ == null ?
9322  }
9323  }
9327  private com.google.protobuf.SingleFieldBuilderV3<
9329  getLocalSearchOperatorsFieldBuilder() {
9330  if (localSearchOperatorsBuilder_ == null) {
9331  localSearchOperatorsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
9334  getParentForChildren(),
9335  isClean());
9336  localSearchOperators_ = null;
9337  }
9338  return localSearchOperatorsBuilder_;
9339  }
9340 
9341  private int relocateExpensiveChainNumArcsToConsider_ ;
9356  @java.lang.Override
9358  return relocateExpensiveChainNumArcsToConsider_;
9359  }
9376 
9377  relocateExpensiveChainNumArcsToConsider_ = value;
9378  onChanged();
9379  return this;
9380  }
9396 
9397  relocateExpensiveChainNumArcsToConsider_ = 0;
9398  onChanged();
9399  return this;
9400  }
9401 
9402  private int heuristicExpensiveChainLnsNumArcsToConsider_ ;
9412  @java.lang.Override
9414  return heuristicExpensiveChainLnsNumArcsToConsider_;
9415  }
9427 
9428  heuristicExpensiveChainLnsNumArcsToConsider_ = value;
9429  onChanged();
9430  return this;
9431  }
9442 
9443  heuristicExpensiveChainLnsNumArcsToConsider_ = 0;
9444  onChanged();
9445  return this;
9446  }
9447 
9448  private int heuristicCloseNodesLnsNumNodes_ ;
9458  @java.lang.Override
9460  return heuristicCloseNodesLnsNumNodes_;
9461  }
9473 
9474  heuristicCloseNodesLnsNumNodes_ = value;
9475  onChanged();
9476  return this;
9477  }
9488 
9489  heuristicCloseNodesLnsNumNodes_ = 0;
9490  onChanged();
9491  return this;
9492  }
9493 
9494  private int localSearchMetaheuristic_ = 0;
9503  @java.lang.Override public int getLocalSearchMetaheuristicValue() {
9504  return localSearchMetaheuristic_;
9505  }
9516 
9517  localSearchMetaheuristic_ = value;
9518  onChanged();
9519  return this;
9520  }
9529  @java.lang.Override
9531  @SuppressWarnings("deprecation")
9534  }
9545  if (value == null) {
9546  throw new NullPointerException();
9547  }
9548 
9549  localSearchMetaheuristic_ = value.getNumber();
9550  onChanged();
9551  return this;
9552  }
9562 
9563  localSearchMetaheuristic_ = 0;
9564  onChanged();
9565  return this;
9566  }
9567 
9568  private double guidedLocalSearchLambdaCoefficient_ ;
9580  @java.lang.Override
9582  return guidedLocalSearchLambdaCoefficient_;
9583  }
9597 
9598  guidedLocalSearchLambdaCoefficient_ = value;
9599  onChanged();
9600  return this;
9601  }
9614 
9615  guidedLocalSearchLambdaCoefficient_ = 0D;
9616  onChanged();
9617  return this;
9618  }
9619 
9620  private boolean useDepthFirstSearch_ ;
9631  @java.lang.Override
9632  public boolean getUseDepthFirstSearch() {
9633  return useDepthFirstSearch_;
9634  }
9646  public Builder setUseDepthFirstSearch(boolean value) {
9647 
9648  useDepthFirstSearch_ = value;
9649  onChanged();
9650  return this;
9651  }
9663 
9664  useDepthFirstSearch_ = false;
9665  onChanged();
9666  return this;
9667  }
9668 
9669  private int useCp_ = 0;
9680  @java.lang.Override public int getUseCpValue() {
9681  return useCp_;
9682  }
9694  public Builder setUseCpValue(int value) {
9695 
9696  useCp_ = value;
9697  onChanged();
9698  return this;
9699  }
9710  @java.lang.Override
9712  @SuppressWarnings("deprecation")
9714  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
9715  }
9728  if (value == null) {
9729  throw new NullPointerException();
9730  }
9731 
9732  useCp_ = value.getNumber();
9733  onChanged();
9734  return this;
9735  }
9746  public Builder clearUseCp() {
9747 
9748  useCp_ = 0;
9749  onChanged();
9750  return this;
9751  }
9752 
9753  private int useCpSat_ = 0;
9765  @java.lang.Override public int getUseCpSatValue() {
9766  return useCpSat_;
9767  }
9780  public Builder setUseCpSatValue(int value) {
9781 
9782  useCpSat_ = value;
9783  onChanged();
9784  return this;
9785  }
9797  @java.lang.Override
9799  @SuppressWarnings("deprecation")
9801  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
9802  }
9816  if (value == null) {
9817  throw new NullPointerException();
9818  }
9819 
9820  useCpSat_ = value.getNumber();
9821  onChanged();
9822  return this;
9823  }
9836 
9837  useCpSat_ = 0;
9838  onChanged();
9839  return this;
9840  }
9841 
9842  private int continuousSchedulingSolver_ = 0;
9847  @java.lang.Override public int getContinuousSchedulingSolverValue() {
9848  return continuousSchedulingSolver_;
9849  }
9856 
9857  continuousSchedulingSolver_ = value;
9858  onChanged();
9859  return this;
9860  }
9865  @java.lang.Override
9867  @SuppressWarnings("deprecation")
9870  }
9877  if (value == null) {
9878  throw new NullPointerException();
9879  }
9880 
9881  continuousSchedulingSolver_ = value.getNumber();
9882  onChanged();
9883  return this;
9884  }
9890 
9891  continuousSchedulingSolver_ = 0;
9892  onChanged();
9893  return this;
9894  }
9895 
9896  private int mixedIntegerSchedulingSolver_ = 0;
9901  @java.lang.Override public int getMixedIntegerSchedulingSolverValue() {
9902  return mixedIntegerSchedulingSolver_;
9903  }
9910 
9911  mixedIntegerSchedulingSolver_ = value;
9912  onChanged();
9913  return this;
9914  }
9919  @java.lang.Override
9921  @SuppressWarnings("deprecation")
9924  }
9931  if (value == null) {
9932  throw new NullPointerException();
9933  }
9934 
9935  mixedIntegerSchedulingSolver_ = value.getNumber();
9936  onChanged();
9937  return this;
9938  }
9944 
9945  mixedIntegerSchedulingSolver_ = 0;
9946  onChanged();
9947  return this;
9948  }
9949 
9950  private double optimizationStep_ ;
9961  @java.lang.Override
9962  public double getOptimizationStep() {
9963  return optimizationStep_;
9964  }
9976  public Builder setOptimizationStep(double value) {
9977 
9978  optimizationStep_ = value;
9979  onChanged();
9980  return this;
9981  }
9993 
9994  optimizationStep_ = 0D;
9995  onChanged();
9996  return this;
9997  }
9998 
9999  private int numberOfSolutionsToCollect_ ;
10009  @java.lang.Override
10011  return numberOfSolutionsToCollect_;
10012  }
10024 
10025  numberOfSolutionsToCollect_ = value;
10026  onChanged();
10027  return this;
10028  }
10039 
10040  numberOfSolutionsToCollect_ = 0;
10041  onChanged();
10042  return this;
10043  }
10044 
10045  private long solutionLimit_ ;
10056  @java.lang.Override
10057  public long getSolutionLimit() {
10058  return solutionLimit_;
10059  }
10071  public Builder setSolutionLimit(long value) {
10072 
10073  solutionLimit_ = value;
10074  onChanged();
10075  return this;
10076  }
10088 
10089  solutionLimit_ = 0L;
10090  onChanged();
10091  return this;
10092  }
10093 
10094  private com.google.protobuf.Duration timeLimit_;
10095  private com.google.protobuf.SingleFieldBuilderV3<
10096  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> timeLimitBuilder_;
10105  public boolean hasTimeLimit() {
10106  return timeLimitBuilder_ != null || timeLimit_ != null;
10107  }
10116  public com.google.protobuf.Duration getTimeLimit() {
10117  if (timeLimitBuilder_ == null) {
10118  return timeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
10119  } else {
10120  return timeLimitBuilder_.getMessage();
10121  }
10122  }
10130  public Builder setTimeLimit(com.google.protobuf.Duration value) {
10131  if (timeLimitBuilder_ == null) {
10132  if (value == null) {
10133  throw new NullPointerException();
10134  }
10135  timeLimit_ = value;
10136  onChanged();
10137  } else {
10138  timeLimitBuilder_.setMessage(value);
10139  }
10140 
10141  return this;
10142  }
10151  com.google.protobuf.Duration.Builder builderForValue) {
10152  if (timeLimitBuilder_ == null) {
10153  timeLimit_ = builderForValue.build();
10154  onChanged();
10155  } else {
10156  timeLimitBuilder_.setMessage(builderForValue.build());
10157  }
10158 
10159  return this;
10160  }
10168  public Builder mergeTimeLimit(com.google.protobuf.Duration value) {
10169  if (timeLimitBuilder_ == null) {
10170  if (timeLimit_ != null) {
10171  timeLimit_ =
10172  com.google.protobuf.Duration.newBuilder(timeLimit_).mergeFrom(value).buildPartial();
10173  } else {
10174  timeLimit_ = value;
10175  }
10176  onChanged();
10177  } else {
10178  timeLimitBuilder_.mergeFrom(value);
10179  }
10180 
10181  return this;
10182  }
10191  if (timeLimitBuilder_ == null) {
10192  timeLimit_ = null;
10193  onChanged();
10194  } else {
10195  timeLimit_ = null;
10196  timeLimitBuilder_ = null;
10197  }
10198 
10199  return this;
10200  }
10208  public com.google.protobuf.Duration.Builder getTimeLimitBuilder() {
10209 
10210  onChanged();
10211  return getTimeLimitFieldBuilder().getBuilder();
10212  }
10220  public com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder() {
10221  if (timeLimitBuilder_ != null) {
10222  return timeLimitBuilder_.getMessageOrBuilder();
10223  } else {
10224  return timeLimit_ == null ?
10225  com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
10226  }
10227  }
10235  private com.google.protobuf.SingleFieldBuilderV3<
10236  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
10237  getTimeLimitFieldBuilder() {
10238  if (timeLimitBuilder_ == null) {
10239  timeLimitBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
10240  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
10241  getTimeLimit(),
10242  getParentForChildren(),
10243  isClean());
10244  timeLimit_ = null;
10245  }
10246  return timeLimitBuilder_;
10247  }
10248 
10249  private com.google.protobuf.Duration lnsTimeLimit_;
10250  private com.google.protobuf.SingleFieldBuilderV3<
10251  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> lnsTimeLimitBuilder_;
10261  public boolean hasLnsTimeLimit() {
10262  return lnsTimeLimitBuilder_ != null || lnsTimeLimit_ != null;
10263  }
10273  public com.google.protobuf.Duration getLnsTimeLimit() {
10274  if (lnsTimeLimitBuilder_ == null) {
10275  return lnsTimeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
10276  } else {
10277  return lnsTimeLimitBuilder_.getMessage();
10278  }
10279  }
10288  public Builder setLnsTimeLimit(com.google.protobuf.Duration value) {
10289  if (lnsTimeLimitBuilder_ == null) {
10290  if (value == null) {
10291  throw new NullPointerException();
10292  }
10293  lnsTimeLimit_ = value;
10294  onChanged();
10295  } else {
10296  lnsTimeLimitBuilder_.setMessage(value);
10297  }
10298 
10299  return this;
10300  }
10310  com.google.protobuf.Duration.Builder builderForValue) {
10311  if (lnsTimeLimitBuilder_ == null) {
10312  lnsTimeLimit_ = builderForValue.build();
10313  onChanged();
10314  } else {
10315  lnsTimeLimitBuilder_.setMessage(builderForValue.build());
10316  }
10317 
10318  return this;
10319  }
10328  public Builder mergeLnsTimeLimit(com.google.protobuf.Duration value) {
10329  if (lnsTimeLimitBuilder_ == null) {
10330  if (lnsTimeLimit_ != null) {
10331  lnsTimeLimit_ =
10332  com.google.protobuf.Duration.newBuilder(lnsTimeLimit_).mergeFrom(value).buildPartial();
10333  } else {
10334  lnsTimeLimit_ = value;
10335  }
10336  onChanged();
10337  } else {
10338  lnsTimeLimitBuilder_.mergeFrom(value);
10339  }
10340 
10341  return this;
10342  }
10352  if (lnsTimeLimitBuilder_ == null) {
10353  lnsTimeLimit_ = null;
10354  onChanged();
10355  } else {
10356  lnsTimeLimit_ = null;
10357  lnsTimeLimitBuilder_ = null;
10358  }
10359 
10360  return this;
10361  }
10370  public com.google.protobuf.Duration.Builder getLnsTimeLimitBuilder() {
10371 
10372  onChanged();
10373  return getLnsTimeLimitFieldBuilder().getBuilder();
10374  }
10383  public com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder() {
10384  if (lnsTimeLimitBuilder_ != null) {
10385  return lnsTimeLimitBuilder_.getMessageOrBuilder();
10386  } else {
10387  return lnsTimeLimit_ == null ?
10388  com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
10389  }
10390  }
10399  private com.google.protobuf.SingleFieldBuilderV3<
10400  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
10401  getLnsTimeLimitFieldBuilder() {
10402  if (lnsTimeLimitBuilder_ == null) {
10403  lnsTimeLimitBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
10404  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
10405  getLnsTimeLimit(),
10406  getParentForChildren(),
10407  isClean());
10408  lnsTimeLimit_ = null;
10409  }
10410  return lnsTimeLimitBuilder_;
10411  }
10412 
10413  private boolean useFullPropagation_ ;
10430  @java.lang.Override
10431  public boolean getUseFullPropagation() {
10432  return useFullPropagation_;
10433  }
10451  public Builder setUseFullPropagation(boolean value) {
10452 
10453  useFullPropagation_ = value;
10454  onChanged();
10455  return this;
10456  }
10474 
10475  useFullPropagation_ = false;
10476  onChanged();
10477  return this;
10478  }
10479 
10480  private boolean logSearch_ ;
10500  @java.lang.Override
10501  public boolean getLogSearch() {
10502  return logSearch_;
10503  }
10524  public Builder setLogSearch(boolean value) {
10525 
10526  logSearch_ = value;
10527  onChanged();
10528  return this;
10529  }
10550 
10551  logSearch_ = false;
10552  onChanged();
10553  return this;
10554  }
10555 
10556  private double logCostScalingFactor_ ;
10566  @java.lang.Override
10567  public double getLogCostScalingFactor() {
10568  return logCostScalingFactor_;
10569  }
10580  public Builder setLogCostScalingFactor(double value) {
10581 
10582  logCostScalingFactor_ = value;
10583  onChanged();
10584  return this;
10585  }
10596 
10597  logCostScalingFactor_ = 0D;
10598  onChanged();
10599  return this;
10600  }
10601 
10602  private double logCostOffset_ ;
10607  @java.lang.Override
10608  public double getLogCostOffset() {
10609  return logCostOffset_;
10610  }
10616  public Builder setLogCostOffset(double value) {
10617 
10618  logCostOffset_ = value;
10619  onChanged();
10620  return this;
10621  }
10627 
10628  logCostOffset_ = 0D;
10629  onChanged();
10630  return this;
10631  }
10632 
10633  private java.lang.Object logTag_ = "";
10643  public java.lang.String getLogTag() {
10644  java.lang.Object ref = logTag_;
10645  if (!(ref instanceof java.lang.String)) {
10646  com.google.protobuf.ByteString bs =
10647  (com.google.protobuf.ByteString) ref;
10648  java.lang.String s = bs.toStringUtf8();
10649  logTag_ = s;
10650  return s;
10651  } else {
10652  return (java.lang.String) ref;
10653  }
10654  }
10664  public com.google.protobuf.ByteString
10666  java.lang.Object ref = logTag_;
10667  if (ref instanceof String) {
10668  com.google.protobuf.ByteString b =
10669  com.google.protobuf.ByteString.copyFromUtf8(
10670  (java.lang.String) ref);
10671  logTag_ = b;
10672  return b;
10673  } else {
10674  return (com.google.protobuf.ByteString) ref;
10675  }
10676  }
10688  java.lang.String value) {
10689  if (value == null) {
10690  throw new NullPointerException();
10691  }
10692 
10693  logTag_ = value;
10694  onChanged();
10695  return this;
10696  }
10707 
10708  logTag_ = getDefaultInstance().getLogTag();
10709  onChanged();
10710  return this;
10711  }
10723  com.google.protobuf.ByteString value) {
10724  if (value == null) {
10725  throw new NullPointerException();
10726  }
10727  checkByteStringIsUtf8(value);
10728 
10729  logTag_ = value;
10730  onChanged();
10731  return this;
10732  }
10733  @java.lang.Override
10735  final com.google.protobuf.UnknownFieldSet unknownFields) {
10736  return super.setUnknownFields(unknownFields);
10737  }
10738 
10739  @java.lang.Override
10741  final com.google.protobuf.UnknownFieldSet unknownFields) {
10742  return super.mergeUnknownFields(unknownFields);
10743  }
10744 
10745 
10746  // @@protoc_insertion_point(builder_scope:operations_research.RoutingSearchParameters)
10747  }
10748 
10749  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters)
10750  private static final com.google.ortools.constraintsolver.RoutingSearchParameters DEFAULT_INSTANCE;
10751  static {
10752  DEFAULT_INSTANCE = new com.google.ortools.constraintsolver.RoutingSearchParameters();
10753  }
10754 
10756  return DEFAULT_INSTANCE;
10757  }
10758 
10759  private static final com.google.protobuf.Parser<RoutingSearchParameters>
10760  PARSER = new com.google.protobuf.AbstractParser<RoutingSearchParameters>() {
10761  @java.lang.Override
10762  public RoutingSearchParameters parsePartialFrom(
10763  com.google.protobuf.CodedInputStream input,
10764  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10765  throws com.google.protobuf.InvalidProtocolBufferException {
10766  return new RoutingSearchParameters(input, extensionRegistry);
10767  }
10768  };
10769 
10770  public static com.google.protobuf.Parser<RoutingSearchParameters> parser() {
10771  return PARSER;
10772  }
10773 
10774  @java.lang.Override
10776  return PARSER;
10777  }
10778 
10779  @java.lang.Override
10781  return DEFAULT_INSTANCE;
10782  }
10783 
10784 }
10785 
int getUseInactiveLnsValue()
.lang.Override int getUseTspOptValue()
.lang.Override int getUseLocalCheapestInsertionExpensiveChainLnsValue()
.lang.Override void writeTo(com.google.protobuf.CodedOutputStream output)
int getUseRelocateExpensiveChainValue()
java.lang.String getLogTag()
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 com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionCloseNodesLns()
.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()
Builder setLogTag(java.lang.String value)
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()
static final int HEURISTIC_CLOSE_NODES_LNS_NUM_NODES_FIELD_NUMBER
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)
int getUseLocalCheapestInsertionCloseNodesLnsValue()
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()
Builder setUseGlobalCheapestInsertionCloseNodesLns(com.google.ortools.util.OptionalBoolean value)
.lang.Override com.google.ortools.util.OptionalBoolean getUseLinKernighan()
.lang.Override int getUseGlobalCheapestInsertionCloseNodesLnsValue()
.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)
static final int USE_GLOBAL_CHEAPEST_INSERTION_CLOSE_NODES_LNS_FIELD_NUMBER
.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()
static final int LOG_TAG_FIELD_NUMBER
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)
com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionCloseNodesLns()
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()
.lang.Override int getUseLocalCheapestInsertionCloseNodesLnsValue()
int getUseExtendedSwapActiveValue()
Builder setUseLinKernighan(com.google.ortools.util.OptionalBoolean value)
.lang.Override final boolean isInitialized()
Builder setUseGlobalCheapestInsertionCloseNodesLnsValue(int value)
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 setUseLocalCheapestInsertionCloseNodesLns(com.google.ortools.util.OptionalBoolean value)
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;
Builder setHeuristicCloseNodesLnsNumNodes(int value)
.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()
.lang.Override int getHeuristicCloseNodesLnsNumNodes()
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
Builder clearLogTag()
.lang.Override double getSavingsMaxMemoryUsageBytes()
static final int USE_EXCHANGE_SUBTRIP_FIELD_NUMBER
com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder()
Builder setLogTagBytes(com.google.protobuf.ByteString value)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.CodedInputStream input)
Builder setUseLightRelocatePair(com.google.ortools.util.OptionalBoolean value)
com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionCloseNodesLns()
.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()
Definition: Assignment.java:9
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 int getUseGlobalCheapestInsertionCloseNodesLnsValue()
.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 setUseLocalCheapestInsertionCloseNodesLnsValue(int value)
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 int getHeuristicCloseNodesLnsNumNodes()
.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()
Builder clearUseGlobalCheapestInsertionCloseNodesLns()
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()
.lang.Override int getUseLocalCheapestInsertionCloseNodesLnsValue()
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
Builder clearHeuristicCloseNodesLnsNumNodes()
.lang.Override int getUsePathLnsValue()
.lang.Override com.google.ortools.util.OptionalBoolean getUseMakeInactive()
.lang.Override final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
int getUseGlobalCheapestInsertionCloseNodesLnsValue()
.lang.Override int getUseCrossExchangeValue()
.lang.Override Builder clear()
Builder setFirstSolutionStrategyValue(int value)
.lang.Override java.lang.String getLogTag()
Builder setNumberOfSolutionsToCollect(int value)
Builder setUseSwapActiveValue(int value)
.lang.Override int getUseTwoOptValue()
Builder clearUseFullPathLns()
.lang.Override int getUseCrossValue()
.lang.Override com.google.protobuf.ByteString getLogTagBytes()
.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.util.OptionalBoolean getUseLocalCheapestInsertionCloseNodesLns()
.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)
com.google.protobuf.ByteString getLogTagBytes()
.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
.lang.Override com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionCloseNodesLns()
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 com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionCloseNodesLns()
.lang.Override int getUseCpSatValue()
int getUseSwapActiveValue()
static final int USE_LOCAL_CHEAPEST_INSERTION_CLOSE_NODES_LNS_FIELD_NUMBER
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 ...
Builder clearUseLocalCheapestInsertionCloseNodesLns()
.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()