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  useGeneralizedCpSat_ = 0;
33  continuousSchedulingSolver_ = 0;
34  mixedIntegerSchedulingSolver_ = 0;
35  logTag_ = "";
36  }
37 
38  @java.lang.Override
39  @SuppressWarnings({"unused"})
40  protected java.lang.Object newInstance(
41  UnusedPrivateParameter unused) {
42  return new RoutingSearchParameters();
43  }
44 
45  @java.lang.Override
46  public final com.google.protobuf.UnknownFieldSet
48  return this.unknownFields;
49  }
51  com.google.protobuf.CodedInputStream input,
52  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
53  throws com.google.protobuf.InvalidProtocolBufferException {
54  this();
55  if (extensionRegistry == null) {
56  throw new java.lang.NullPointerException();
57  }
58  com.google.protobuf.UnknownFieldSet.Builder unknownFields =
59  com.google.protobuf.UnknownFieldSet.newBuilder();
60  try {
61  boolean done = false;
62  while (!done) {
63  int tag = input.readTag();
64  switch (tag) {
65  case 0:
66  done = true;
67  break;
68  case 8: {
69  int rawValue = input.readEnum();
70 
71  firstSolutionStrategy_ = rawValue;
72  break;
73  }
74  case 16: {
75 
76  useUnfilteredFirstSolutionStrategy_ = input.readBool();
77  break;
78  }
79  case 26: {
81  if (localSearchOperators_ != null) {
82  subBuilder = localSearchOperators_.toBuilder();
83  }
84  localSearchOperators_ = input.readMessage(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.parser(), extensionRegistry);
85  if (subBuilder != null) {
86  subBuilder.mergeFrom(localSearchOperators_);
87  localSearchOperators_ = subBuilder.buildPartial();
88  }
89 
90  break;
91  }
92  case 32: {
93  int rawValue = input.readEnum();
94 
95  localSearchMetaheuristic_ = rawValue;
96  break;
97  }
98  case 41: {
99 
100  guidedLocalSearchLambdaCoefficient_ = input.readDouble();
101  break;
102  }
103  case 48: {
104 
105  useDepthFirstSearch_ = input.readBool();
106  break;
107  }
108  case 57: {
109 
110  optimizationStep_ = input.readDouble();
111  break;
112  }
113  case 64: {
114 
115  solutionLimit_ = input.readInt64();
116  break;
117  }
118  case 74: {
119  com.google.protobuf.Duration.Builder subBuilder = null;
120  if (timeLimit_ != null) {
121  subBuilder = timeLimit_.toBuilder();
122  }
123  timeLimit_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
124  if (subBuilder != null) {
125  subBuilder.mergeFrom(timeLimit_);
126  timeLimit_ = subBuilder.buildPartial();
127  }
128 
129  break;
130  }
131  case 82: {
132  com.google.protobuf.Duration.Builder subBuilder = null;
133  if (lnsTimeLimit_ != null) {
134  subBuilder = lnsTimeLimit_.toBuilder();
135  }
136  lnsTimeLimit_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
137  if (subBuilder != null) {
138  subBuilder.mergeFrom(lnsTimeLimit_);
139  lnsTimeLimit_ = subBuilder.buildPartial();
140  }
141 
142  break;
143  }
144  case 88: {
145 
146  useFullPropagation_ = input.readBool();
147  break;
148  }
149  case 104: {
150 
151  logSearch_ = input.readBool();
152  break;
153  }
154  case 113: {
155 
156  savingsNeighborsRatio_ = input.readDouble();
157  break;
158  }
159  case 120: {
160 
161  savingsAddReverseArcs_ = input.readBool();
162  break;
163  }
164  case 129: {
165 
166  cheapestInsertionFarthestSeedsRatio_ = input.readDouble();
167  break;
168  }
169  case 136: {
170 
171  numberOfSolutionsToCollect_ = input.readInt32();
172  break;
173  }
174  case 145: {
175 
176  savingsArcCoefficient_ = input.readDouble();
177  break;
178  }
179  case 152: {
180 
181  savingsParallelRoutes_ = input.readBool();
182  break;
183  }
184  case 160: {
185 
186  relocateExpensiveChainNumArcsToConsider_ = input.readInt32();
187  break;
188  }
189  case 169: {
190 
191  cheapestInsertionFirstSolutionNeighborsRatio_ = input.readDouble();
192  break;
193  }
194  case 177: {
195 
196  logCostScalingFactor_ = input.readDouble();
197  break;
198  }
199  case 185: {
200 
201  savingsMaxMemoryUsageBytes_ = input.readDouble();
202  break;
203  }
204  case 216: {
205  int rawValue = input.readEnum();
206 
207  useCpSat_ = rawValue;
208  break;
209  }
210  case 224: {
211  int rawValue = input.readEnum();
212 
213  useCp_ = rawValue;
214  break;
215  }
216  case 233: {
217 
218  logCostOffset_ = input.readDouble();
219  break;
220  }
221  case 240: {
222 
223  christofidesUseMinimumMatching_ = input.readBool();
224  break;
225  }
226  case 249: {
227 
228  cheapestInsertionLsOperatorNeighborsRatio_ = input.readDouble();
229  break;
230  }
231  case 256: {
232 
233  heuristicExpensiveChainLnsNumArcsToConsider_ = input.readInt32();
234  break;
235  }
236  case 264: {
237  int rawValue = input.readEnum();
238 
239  continuousSchedulingSolver_ = rawValue;
240  break;
241  }
242  case 272: {
243  int rawValue = input.readEnum();
244 
245  mixedIntegerSchedulingSolver_ = rawValue;
246  break;
247  }
248  case 280: {
249 
250  heuristicCloseNodesLnsNumNodes_ = input.readInt32();
251  break;
252  }
253  case 290: {
254  java.lang.String s = input.readStringRequireUtf8();
255 
256  logTag_ = s;
257  break;
258  }
259  case 298: {
261  if (improvementLimitParameters_ != null) {
262  subBuilder = improvementLimitParameters_.toBuilder();
263  }
264  improvementLimitParameters_ = input.readMessage(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.parser(), extensionRegistry);
265  if (subBuilder != null) {
266  subBuilder.mergeFrom(improvementLimitParameters_);
267  improvementLimitParameters_ = subBuilder.buildPartial();
268  }
269 
270  break;
271  }
272  case 320: {
273 
274  cheapestInsertionAddUnperformedEntries_ = input.readBool();
275  break;
276  }
277  case 328: {
278 
279  useMultiArmedBanditConcatenateOperators_ = input.readBool();
280  break;
281  }
282  case 337: {
283 
284  multiArmedBanditCompoundOperatorMemoryCoefficient_ = input.readDouble();
285  break;
286  }
287  case 345: {
288 
289  multiArmedBanditCompoundOperatorExplorationCoefficient_ = input.readDouble();
290  break;
291  }
292  case 352: {
293 
294  cheapestInsertionFirstSolutionMinNeighbors_ = input.readInt32();
295  break;
296  }
297  case 360: {
298 
299  cheapestInsertionLsOperatorMinNeighbors_ = input.readInt32();
300  break;
301  }
302  case 368: {
303 
304  cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ = input.readBool();
305  break;
306  }
307  case 376: {
308  int rawValue = input.readEnum();
309 
310  useGeneralizedCpSat_ = rawValue;
311  break;
312  }
313  case 386: {
314  com.google.ortools.sat.SatParameters.Builder subBuilder = null;
315  if (satParameters_ != null) {
316  subBuilder = satParameters_.toBuilder();
317  }
318  satParameters_ = input.readMessage(com.google.ortools.sat.SatParameters.PARSER, extensionRegistry);
319  if (subBuilder != null) {
320  subBuilder.mergeFrom(satParameters_);
321  satParameters_ = subBuilder.buildPartial();
322  }
323 
324  break;
325  }
326  default: {
327  if (!parseUnknownField(
328  input, unknownFields, extensionRegistry, tag)) {
329  done = true;
330  }
331  break;
332  }
333  }
334  }
335  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
336  throw e.setUnfinishedMessage(this);
337  } catch (java.io.IOException e) {
338  throw new com.google.protobuf.InvalidProtocolBufferException(
339  e).setUnfinishedMessage(this);
340  } finally {
341  this.unknownFields = unknownFields.build();
342  makeExtensionsImmutable();
343  }
344  }
345  public static final com.google.protobuf.Descriptors.Descriptor
347  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
348  }
349 
350  @java.lang.Override
351  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
353  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_fieldAccessorTable
354  .ensureFieldAccessorsInitialized(
356  }
357 
366  public enum SchedulingSolver
367  implements com.google.protobuf.ProtocolMessageEnum {
371  UNSET(0),
375  GLOP(1),
379  CP_SAT(2),
381  ;
382 
386  public static final int UNSET_VALUE = 0;
390  public static final int GLOP_VALUE = 1;
394  public static final int CP_SAT_VALUE = 2;
395 
396 
397  public final int getNumber() {
398  if (this == UNRECOGNIZED) {
399  throw new java.lang.IllegalArgumentException(
400  "Can't get the number of an unknown enum value.");
401  }
402  return value;
403  }
404 
410  @java.lang.Deprecated
411  public static SchedulingSolver valueOf(int value) {
412  return forNumber(value);
413  }
414 
419  public static SchedulingSolver forNumber(int value) {
420  switch (value) {
421  case 0: return UNSET;
422  case 1: return GLOP;
423  case 2: return CP_SAT;
424  default: return null;
425  }
426  }
427 
428  public static com.google.protobuf.Internal.EnumLiteMap<SchedulingSolver>
430  return internalValueMap;
431  }
432  private static final com.google.protobuf.Internal.EnumLiteMap<
433  SchedulingSolver> internalValueMap =
434  new com.google.protobuf.Internal.EnumLiteMap<SchedulingSolver>() {
435  public SchedulingSolver findValueByNumber(int number) {
436  return SchedulingSolver.forNumber(number);
437  }
438  };
439 
440  public final com.google.protobuf.Descriptors.EnumValueDescriptor
442  if (this == UNRECOGNIZED) {
443  throw new java.lang.IllegalStateException(
444  "Can't get the descriptor of an unrecognized enum value.");
445  }
446  return getDescriptor().getValues().get(ordinal());
447  }
448  public final com.google.protobuf.Descriptors.EnumDescriptor
450  return getDescriptor();
451  }
452  public static final com.google.protobuf.Descriptors.EnumDescriptor
455  }
456 
457  private static final SchedulingSolver[] VALUES = values();
458 
459  public static SchedulingSolver valueOf(
460  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
461  if (desc.getType() != getDescriptor()) {
462  throw new java.lang.IllegalArgumentException(
463  "EnumValueDescriptor is not for this type.");
464  }
465  if (desc.getIndex() == -1) {
466  return UNRECOGNIZED;
467  }
468  return VALUES[desc.getIndex()];
469  }
470 
471  private final int value;
472 
473  private SchedulingSolver(int value) {
474  this.value = value;
475  }
476 
477  // @@protoc_insertion_point(enum_scope:operations_research.RoutingSearchParameters.SchedulingSolver)
478  }
479 
481  // @@protoc_insertion_point(interface_extends:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
482  com.google.protobuf.MessageOrBuilder {
483 
500  int getUseRelocateValue();
518 
553 
584 
645 
686 
701  int getUseExchangeValue();
717 
748 
769 
786  int getUseCrossValue();
804 
823 
860 
878  int getUseTwoOptValue();
897 
916  int getUseOrOptValue();
936 
961 
975  int getUseTspOptValue();
990 
1005  int getUseMakeActiveValue();
1021 
1058 
1085 
1114 
1127  int getUseSwapActiveValue();
1141 
1178 
1217 
1233  int getUsePathLnsValue();
1250 
1259  int getUseFullPathLnsValue();
1269 
1283  int getUseTspLnsValue();
1298 
1309  int getUseInactiveLnsValue();
1321 
1344 
1363 
1386 
1411 
1432 
1457 
1478  }
1487  public static final class LocalSearchNeighborhoodOperators extends
1488  com.google.protobuf.GeneratedMessageV3 implements
1489  // @@protoc_insertion_point(message_implements:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
1491  private static final long serialVersionUID = 0L;
1492  // Use LocalSearchNeighborhoodOperators.newBuilder() to construct.
1493  private LocalSearchNeighborhoodOperators(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
1494  super(builder);
1495  }
1497  useRelocate_ = 0;
1498  useRelocatePair_ = 0;
1499  useLightRelocatePair_ = 0;
1500  useRelocateNeighbors_ = 0;
1501  useRelocateSubtrip_ = 0;
1502  useExchange_ = 0;
1503  useExchangePair_ = 0;
1504  useExchangeSubtrip_ = 0;
1505  useCross_ = 0;
1506  useCrossExchange_ = 0;
1507  useRelocateExpensiveChain_ = 0;
1508  useTwoOpt_ = 0;
1509  useOrOpt_ = 0;
1510  useLinKernighan_ = 0;
1511  useTspOpt_ = 0;
1512  useMakeActive_ = 0;
1513  useRelocateAndMakeActive_ = 0;
1514  useMakeInactive_ = 0;
1515  useMakeChainInactive_ = 0;
1516  useSwapActive_ = 0;
1517  useExtendedSwapActive_ = 0;
1518  useNodePairSwapActive_ = 0;
1519  usePathLns_ = 0;
1520  useFullPathLns_ = 0;
1521  useTspLns_ = 0;
1522  useInactiveLns_ = 0;
1523  useGlobalCheapestInsertionPathLns_ = 0;
1524  useLocalCheapestInsertionPathLns_ = 0;
1525  useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
1526  useGlobalCheapestInsertionExpensiveChainLns_ = 0;
1527  useLocalCheapestInsertionExpensiveChainLns_ = 0;
1528  useGlobalCheapestInsertionCloseNodesLns_ = 0;
1529  useLocalCheapestInsertionCloseNodesLns_ = 0;
1530  }
1531 
1532  @java.lang.Override
1533  @SuppressWarnings({"unused"})
1534  protected java.lang.Object newInstance(
1535  UnusedPrivateParameter unused) {
1536  return new LocalSearchNeighborhoodOperators();
1537  }
1538 
1539  @java.lang.Override
1540  public final com.google.protobuf.UnknownFieldSet
1542  return this.unknownFields;
1543  }
1545  com.google.protobuf.CodedInputStream input,
1546  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1547  throws com.google.protobuf.InvalidProtocolBufferException {
1548  this();
1549  if (extensionRegistry == null) {
1550  throw new java.lang.NullPointerException();
1551  }
1552  com.google.protobuf.UnknownFieldSet.Builder unknownFields =
1553  com.google.protobuf.UnknownFieldSet.newBuilder();
1554  try {
1555  boolean done = false;
1556  while (!done) {
1557  int tag = input.readTag();
1558  switch (tag) {
1559  case 0:
1560  done = true;
1561  break;
1562  case 8: {
1563  int rawValue = input.readEnum();
1564 
1565  useRelocate_ = rawValue;
1566  break;
1567  }
1568  case 16: {
1569  int rawValue = input.readEnum();
1570 
1571  useRelocatePair_ = rawValue;
1572  break;
1573  }
1574  case 24: {
1575  int rawValue = input.readEnum();
1576 
1577  useRelocateNeighbors_ = rawValue;
1578  break;
1579  }
1580  case 32: {
1581  int rawValue = input.readEnum();
1582 
1583  useExchange_ = rawValue;
1584  break;
1585  }
1586  case 40: {
1587  int rawValue = input.readEnum();
1588 
1589  useCross_ = rawValue;
1590  break;
1591  }
1592  case 48: {
1593  int rawValue = input.readEnum();
1594 
1595  useCrossExchange_ = rawValue;
1596  break;
1597  }
1598  case 56: {
1599  int rawValue = input.readEnum();
1600 
1601  useTwoOpt_ = rawValue;
1602  break;
1603  }
1604  case 64: {
1605  int rawValue = input.readEnum();
1606 
1607  useOrOpt_ = rawValue;
1608  break;
1609  }
1610  case 72: {
1611  int rawValue = input.readEnum();
1612 
1613  useLinKernighan_ = rawValue;
1614  break;
1615  }
1616  case 80: {
1617  int rawValue = input.readEnum();
1618 
1619  useTspOpt_ = rawValue;
1620  break;
1621  }
1622  case 88: {
1623  int rawValue = input.readEnum();
1624 
1625  useMakeActive_ = rawValue;
1626  break;
1627  }
1628  case 96: {
1629  int rawValue = input.readEnum();
1630 
1631  useMakeInactive_ = rawValue;
1632  break;
1633  }
1634  case 104: {
1635  int rawValue = input.readEnum();
1636 
1637  useMakeChainInactive_ = rawValue;
1638  break;
1639  }
1640  case 112: {
1641  int rawValue = input.readEnum();
1642 
1643  useSwapActive_ = rawValue;
1644  break;
1645  }
1646  case 120: {
1647  int rawValue = input.readEnum();
1648 
1649  useExtendedSwapActive_ = rawValue;
1650  break;
1651  }
1652  case 128: {
1653  int rawValue = input.readEnum();
1654 
1655  usePathLns_ = rawValue;
1656  break;
1657  }
1658  case 136: {
1659  int rawValue = input.readEnum();
1660 
1661  useFullPathLns_ = rawValue;
1662  break;
1663  }
1664  case 144: {
1665  int rawValue = input.readEnum();
1666 
1667  useTspLns_ = rawValue;
1668  break;
1669  }
1670  case 152: {
1671  int rawValue = input.readEnum();
1672 
1673  useInactiveLns_ = rawValue;
1674  break;
1675  }
1676  case 160: {
1677  int rawValue = input.readEnum();
1678 
1679  useNodePairSwapActive_ = rawValue;
1680  break;
1681  }
1682  case 168: {
1683  int rawValue = input.readEnum();
1684 
1685  useRelocateAndMakeActive_ = rawValue;
1686  break;
1687  }
1688  case 176: {
1689  int rawValue = input.readEnum();
1690 
1691  useExchangePair_ = rawValue;
1692  break;
1693  }
1694  case 184: {
1695  int rawValue = input.readEnum();
1696 
1697  useRelocateExpensiveChain_ = rawValue;
1698  break;
1699  }
1700  case 192: {
1701  int rawValue = input.readEnum();
1702 
1703  useLightRelocatePair_ = rawValue;
1704  break;
1705  }
1706  case 200: {
1707  int rawValue = input.readEnum();
1708 
1709  useRelocateSubtrip_ = rawValue;
1710  break;
1711  }
1712  case 208: {
1713  int rawValue = input.readEnum();
1714 
1715  useExchangeSubtrip_ = rawValue;
1716  break;
1717  }
1718  case 216: {
1719  int rawValue = input.readEnum();
1720 
1721  useGlobalCheapestInsertionPathLns_ = rawValue;
1722  break;
1723  }
1724  case 224: {
1725  int rawValue = input.readEnum();
1726 
1727  useLocalCheapestInsertionPathLns_ = rawValue;
1728  break;
1729  }
1730  case 232: {
1731  int rawValue = input.readEnum();
1732 
1733  useGlobalCheapestInsertionExpensiveChainLns_ = rawValue;
1734  break;
1735  }
1736  case 240: {
1737  int rawValue = input.readEnum();
1738 
1739  useLocalCheapestInsertionExpensiveChainLns_ = rawValue;
1740  break;
1741  }
1742  case 248: {
1743  int rawValue = input.readEnum();
1744 
1745  useGlobalCheapestInsertionCloseNodesLns_ = rawValue;
1746  break;
1747  }
1748  case 256: {
1749  int rawValue = input.readEnum();
1750 
1751  useLocalCheapestInsertionCloseNodesLns_ = rawValue;
1752  break;
1753  }
1754  case 264: {
1755  int rawValue = input.readEnum();
1756 
1757  useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = rawValue;
1758  break;
1759  }
1760  default: {
1761  if (!parseUnknownField(
1762  input, unknownFields, extensionRegistry, tag)) {
1763  done = true;
1764  }
1765  break;
1766  }
1767  }
1768  }
1769  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1770  throw e.setUnfinishedMessage(this);
1771  } catch (java.io.IOException e) {
1772  throw new com.google.protobuf.InvalidProtocolBufferException(
1773  e).setUnfinishedMessage(this);
1774  } finally {
1775  this.unknownFields = unknownFields.build();
1776  makeExtensionsImmutable();
1777  }
1778  }
1779  public static final com.google.protobuf.Descriptors.Descriptor
1781  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
1782  }
1783 
1784  @java.lang.Override
1785  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
1787  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_fieldAccessorTable
1788  .ensureFieldAccessorsInitialized(
1790  }
1791 
1792  public static final int USE_RELOCATE_FIELD_NUMBER = 1;
1793  private int useRelocate_;
1810  @java.lang.Override public int getUseRelocateValue() {
1811  return useRelocate_;
1812  }
1829  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseRelocate() {
1830  @SuppressWarnings("deprecation")
1832  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1833  }
1834 
1835  public static final int USE_RELOCATE_PAIR_FIELD_NUMBER = 2;
1836  private int useRelocatePair_;
1853  @java.lang.Override public int getUseRelocatePairValue() {
1854  return useRelocatePair_;
1855  }
1872  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseRelocatePair() {
1873  @SuppressWarnings("deprecation")
1875  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1876  }
1877 
1878  public static final int USE_LIGHT_RELOCATE_PAIR_FIELD_NUMBER = 24;
1879  private int useLightRelocatePair_;
1894  @java.lang.Override public int getUseLightRelocatePairValue() {
1895  return useLightRelocatePair_;
1896  }
1912  @SuppressWarnings("deprecation")
1914  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1915  }
1916 
1917  public static final int USE_RELOCATE_NEIGHBORS_FIELD_NUMBER = 3;
1918  private int useRelocateNeighbors_;
1948  @java.lang.Override public int getUseRelocateNeighborsValue() {
1949  return useRelocateNeighbors_;
1950  }
1981  @SuppressWarnings("deprecation")
1983  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1984  }
1985 
1986  public static final int USE_RELOCATE_SUBTRIP_FIELD_NUMBER = 25;
1987  private int useRelocateSubtrip_;
2007  @java.lang.Override public int getUseRelocateSubtripValue() {
2008  return useRelocateSubtrip_;
2009  }
2030  @SuppressWarnings("deprecation")
2032  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2033  }
2034 
2035  public static final int USE_EXCHANGE_FIELD_NUMBER = 4;
2036  private int useExchange_;
2051  @java.lang.Override public int getUseExchangeValue() {
2052  return useExchange_;
2053  }
2068  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseExchange() {
2069  @SuppressWarnings("deprecation")
2071  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2072  }
2073 
2074  public static final int USE_EXCHANGE_PAIR_FIELD_NUMBER = 22;
2075  private int useExchangePair_;
2090  @java.lang.Override public int getUseExchangePairValue() {
2091  return useExchangePair_;
2092  }
2107  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseExchangePair() {
2108  @SuppressWarnings("deprecation")
2110  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2111  }
2112 
2113  public static final int USE_EXCHANGE_SUBTRIP_FIELD_NUMBER = 26;
2114  private int useExchangeSubtrip_;
2124  @java.lang.Override public int getUseExchangeSubtripValue() {
2125  return useExchangeSubtrip_;
2126  }
2137  @SuppressWarnings("deprecation")
2139  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2140  }
2141 
2142  public static final int USE_CROSS_FIELD_NUMBER = 5;
2143  private int useCross_;
2160  @java.lang.Override public int getUseCrossValue() {
2161  return useCross_;
2162  }
2179  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseCross() {
2180  @SuppressWarnings("deprecation")
2182  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2183  }
2184 
2185  public static final int USE_CROSS_EXCHANGE_FIELD_NUMBER = 6;
2186  private int useCrossExchange_;
2195  @java.lang.Override public int getUseCrossExchangeValue() {
2196  return useCrossExchange_;
2197  }
2207  @SuppressWarnings("deprecation")
2209  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2210  }
2211 
2212  public static final int USE_RELOCATE_EXPENSIVE_CHAIN_FIELD_NUMBER = 23;
2213  private int useRelocateExpensiveChain_;
2231  @java.lang.Override public int getUseRelocateExpensiveChainValue() {
2232  return useRelocateExpensiveChain_;
2233  }
2252  @SuppressWarnings("deprecation")
2253  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateExpensiveChain_);
2254  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2255  }
2256 
2257  public static final int USE_TWO_OPT_FIELD_NUMBER = 7;
2258  private int useTwoOpt_;
2276  @java.lang.Override public int getUseTwoOptValue() {
2277  return useTwoOpt_;
2278  }
2296  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseTwoOpt() {
2297  @SuppressWarnings("deprecation")
2299  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2300  }
2301 
2302  public static final int USE_OR_OPT_FIELD_NUMBER = 8;
2303  private int useOrOpt_;
2322  @java.lang.Override public int getUseOrOptValue() {
2323  return useOrOpt_;
2324  }
2343  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseOrOpt() {
2344  @SuppressWarnings("deprecation")
2346  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2347  }
2348 
2349  public static final int USE_LIN_KERNIGHAN_FIELD_NUMBER = 9;
2350  private int useLinKernighan_;
2362  @java.lang.Override public int getUseLinKernighanValue() {
2363  return useLinKernighan_;
2364  }
2376  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseLinKernighan() {
2377  @SuppressWarnings("deprecation")
2379  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2380  }
2381 
2382  public static final int USE_TSP_OPT_FIELD_NUMBER = 10;
2383  private int useTspOpt_;
2397  @java.lang.Override public int getUseTspOptValue() {
2398  return useTspOpt_;
2399  }
2413  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseTspOpt() {
2414  @SuppressWarnings("deprecation")
2416  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2417  }
2418 
2419  public static final int USE_MAKE_ACTIVE_FIELD_NUMBER = 11;
2420  private int useMakeActive_;
2435  @java.lang.Override public int getUseMakeActiveValue() {
2436  return useMakeActive_;
2437  }
2452  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseMakeActive() {
2453  @SuppressWarnings("deprecation")
2455  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2456  }
2457 
2458  public static final int USE_RELOCATE_AND_MAKE_ACTIVE_FIELD_NUMBER = 21;
2459  private int useRelocateAndMakeActive_;
2477  @java.lang.Override public int getUseRelocateAndMakeActiveValue() {
2478  return useRelocateAndMakeActive_;
2479  }
2498  @SuppressWarnings("deprecation")
2499  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateAndMakeActive_);
2500  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2501  }
2502 
2503  public static final int USE_MAKE_INACTIVE_FIELD_NUMBER = 12;
2504  private int useMakeInactive_;
2517  @java.lang.Override public int getUseMakeInactiveValue() {
2518  return useMakeInactive_;
2519  }
2532  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseMakeInactive() {
2533  @SuppressWarnings("deprecation")
2535  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2536  }
2537 
2538  public static final int USE_MAKE_CHAIN_INACTIVE_FIELD_NUMBER = 13;
2539  private int useMakeChainInactive_;
2553  @java.lang.Override public int getUseMakeChainInactiveValue() {
2554  return useMakeChainInactive_;
2555  }
2570  @SuppressWarnings("deprecation")
2572  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2573  }
2574 
2575  public static final int USE_SWAP_ACTIVE_FIELD_NUMBER = 14;
2576  private int useSwapActive_;
2589  @java.lang.Override public int getUseSwapActiveValue() {
2590  return useSwapActive_;
2591  }
2604  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseSwapActive() {
2605  @SuppressWarnings("deprecation")
2607  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2608  }
2609 
2610  public static final int USE_EXTENDED_SWAP_ACTIVE_FIELD_NUMBER = 15;
2611  private int useExtendedSwapActive_;
2629  @java.lang.Override public int getUseExtendedSwapActiveValue() {
2630  return useExtendedSwapActive_;
2631  }
2650  @SuppressWarnings("deprecation")
2651  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useExtendedSwapActive_);
2652  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2653  }
2654 
2655  public static final int USE_NODE_PAIR_SWAP_ACTIVE_FIELD_NUMBER = 20;
2656  private int useNodePairSwapActive_;
2675  @java.lang.Override public int getUseNodePairSwapActiveValue() {
2676  return useNodePairSwapActive_;
2677  }
2697  @SuppressWarnings("deprecation")
2698  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useNodePairSwapActive_);
2699  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2700  }
2701 
2702  public static final int USE_PATH_LNS_FIELD_NUMBER = 16;
2703  private int usePathLns_;
2719  @java.lang.Override public int getUsePathLnsValue() {
2720  return usePathLns_;
2721  }
2737  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUsePathLns() {
2738  @SuppressWarnings("deprecation")
2740  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2741  }
2742 
2743  public static final int USE_FULL_PATH_LNS_FIELD_NUMBER = 17;
2744  private int useFullPathLns_;
2753  @java.lang.Override public int getUseFullPathLnsValue() {
2754  return useFullPathLns_;
2755  }
2764  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseFullPathLns() {
2765  @SuppressWarnings("deprecation")
2767  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2768  }
2769 
2770  public static final int USE_TSP_LNS_FIELD_NUMBER = 18;
2771  private int useTspLns_;
2785  @java.lang.Override public int getUseTspLnsValue() {
2786  return useTspLns_;
2787  }
2801  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseTspLns() {
2802  @SuppressWarnings("deprecation")
2804  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2805  }
2806 
2807  public static final int USE_INACTIVE_LNS_FIELD_NUMBER = 19;
2808  private int useInactiveLns_;
2819  @java.lang.Override public int getUseInactiveLnsValue() {
2820  return useInactiveLns_;
2821  }
2832  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseInactiveLns() {
2833  @SuppressWarnings("deprecation")
2835  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2836  }
2837 
2839  private int useGlobalCheapestInsertionPathLns_;
2850  @java.lang.Override public int getUseGlobalCheapestInsertionPathLnsValue() {
2851  return useGlobalCheapestInsertionPathLns_;
2852  }
2864  @SuppressWarnings("deprecation")
2865  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionPathLns_);
2866  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2867  }
2868 
2870  private int useLocalCheapestInsertionPathLns_;
2879  @java.lang.Override public int getUseLocalCheapestInsertionPathLnsValue() {
2880  return useLocalCheapestInsertionPathLns_;
2881  }
2891  @SuppressWarnings("deprecation")
2892  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionPathLns_);
2893  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2894  }
2895 
2897  private int useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
2909  return useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
2910  }
2922  @SuppressWarnings("deprecation")
2923  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocatePathGlobalCheapestInsertionInsertUnperformed_);
2924  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2925  }
2926 
2928  private int useGlobalCheapestInsertionExpensiveChainLns_;
2940  @java.lang.Override public int getUseGlobalCheapestInsertionExpensiveChainLnsValue() {
2941  return useGlobalCheapestInsertionExpensiveChainLns_;
2942  }
2955  @SuppressWarnings("deprecation")
2956  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionExpensiveChainLns_);
2957  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2958  }
2959 
2961  private int useLocalCheapestInsertionExpensiveChainLns_;
2971  @java.lang.Override public int getUseLocalCheapestInsertionExpensiveChainLnsValue() {
2972  return useLocalCheapestInsertionExpensiveChainLns_;
2973  }
2984  @SuppressWarnings("deprecation")
2985  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionExpensiveChainLns_);
2986  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2987  }
2988 
2990  private int useGlobalCheapestInsertionCloseNodesLns_;
3002  @java.lang.Override public int getUseGlobalCheapestInsertionCloseNodesLnsValue() {
3003  return useGlobalCheapestInsertionCloseNodesLns_;
3004  }
3017  @SuppressWarnings("deprecation")
3018  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionCloseNodesLns_);
3019  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3020  }
3021 
3023  private int useLocalCheapestInsertionCloseNodesLns_;
3033  @java.lang.Override public int getUseLocalCheapestInsertionCloseNodesLnsValue() {
3034  return useLocalCheapestInsertionCloseNodesLns_;
3035  }
3046  @SuppressWarnings("deprecation")
3047  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionCloseNodesLns_);
3048  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3049  }
3050 
3051  private byte memoizedIsInitialized = -1;
3052  @java.lang.Override
3053  public final boolean isInitialized() {
3054  byte isInitialized = memoizedIsInitialized;
3055  if (isInitialized == 1) return true;
3056  if (isInitialized == 0) return false;
3057 
3058  memoizedIsInitialized = 1;
3059  return true;
3060  }
3061 
3062  @java.lang.Override
3063  public void writeTo(com.google.protobuf.CodedOutputStream output)
3064  throws java.io.IOException {
3065  if (useRelocate_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3066  output.writeEnum(1, useRelocate_);
3067  }
3068  if (useRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3069  output.writeEnum(2, useRelocatePair_);
3070  }
3071  if (useRelocateNeighbors_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3072  output.writeEnum(3, useRelocateNeighbors_);
3073  }
3074  if (useExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3075  output.writeEnum(4, useExchange_);
3076  }
3077  if (useCross_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3078  output.writeEnum(5, useCross_);
3079  }
3080  if (useCrossExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3081  output.writeEnum(6, useCrossExchange_);
3082  }
3083  if (useTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3084  output.writeEnum(7, useTwoOpt_);
3085  }
3086  if (useOrOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3087  output.writeEnum(8, useOrOpt_);
3088  }
3089  if (useLinKernighan_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3090  output.writeEnum(9, useLinKernighan_);
3091  }
3092  if (useTspOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3093  output.writeEnum(10, useTspOpt_);
3094  }
3095  if (useMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3096  output.writeEnum(11, useMakeActive_);
3097  }
3098  if (useMakeInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3099  output.writeEnum(12, useMakeInactive_);
3100  }
3101  if (useMakeChainInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3102  output.writeEnum(13, useMakeChainInactive_);
3103  }
3104  if (useSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3105  output.writeEnum(14, useSwapActive_);
3106  }
3107  if (useExtendedSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3108  output.writeEnum(15, useExtendedSwapActive_);
3109  }
3110  if (usePathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3111  output.writeEnum(16, usePathLns_);
3112  }
3113  if (useFullPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3114  output.writeEnum(17, useFullPathLns_);
3115  }
3116  if (useTspLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3117  output.writeEnum(18, useTspLns_);
3118  }
3119  if (useInactiveLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3120  output.writeEnum(19, useInactiveLns_);
3121  }
3122  if (useNodePairSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3123  output.writeEnum(20, useNodePairSwapActive_);
3124  }
3125  if (useRelocateAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3126  output.writeEnum(21, useRelocateAndMakeActive_);
3127  }
3128  if (useExchangePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3129  output.writeEnum(22, useExchangePair_);
3130  }
3131  if (useRelocateExpensiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3132  output.writeEnum(23, useRelocateExpensiveChain_);
3133  }
3134  if (useLightRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3135  output.writeEnum(24, useLightRelocatePair_);
3136  }
3137  if (useRelocateSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3138  output.writeEnum(25, useRelocateSubtrip_);
3139  }
3140  if (useExchangeSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3141  output.writeEnum(26, useExchangeSubtrip_);
3142  }
3143  if (useGlobalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3144  output.writeEnum(27, useGlobalCheapestInsertionPathLns_);
3145  }
3146  if (useLocalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3147  output.writeEnum(28, useLocalCheapestInsertionPathLns_);
3148  }
3149  if (useGlobalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3150  output.writeEnum(29, useGlobalCheapestInsertionExpensiveChainLns_);
3151  }
3152  if (useLocalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3153  output.writeEnum(30, useLocalCheapestInsertionExpensiveChainLns_);
3154  }
3155  if (useGlobalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3156  output.writeEnum(31, useGlobalCheapestInsertionCloseNodesLns_);
3157  }
3158  if (useLocalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3159  output.writeEnum(32, useLocalCheapestInsertionCloseNodesLns_);
3160  }
3161  if (useRelocatePathGlobalCheapestInsertionInsertUnperformed_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3162  output.writeEnum(33, useRelocatePathGlobalCheapestInsertionInsertUnperformed_);
3163  }
3164  unknownFields.writeTo(output);
3165  }
3166 
3167  @java.lang.Override
3168  public int getSerializedSize() {
3169  int size = memoizedSize;
3170  if (size != -1) return size;
3171 
3172  size = 0;
3173  if (useRelocate_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3174  size += com.google.protobuf.CodedOutputStream
3175  .computeEnumSize(1, useRelocate_);
3176  }
3177  if (useRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3178  size += com.google.protobuf.CodedOutputStream
3179  .computeEnumSize(2, useRelocatePair_);
3180  }
3181  if (useRelocateNeighbors_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3182  size += com.google.protobuf.CodedOutputStream
3183  .computeEnumSize(3, useRelocateNeighbors_);
3184  }
3185  if (useExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3186  size += com.google.protobuf.CodedOutputStream
3187  .computeEnumSize(4, useExchange_);
3188  }
3189  if (useCross_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3190  size += com.google.protobuf.CodedOutputStream
3191  .computeEnumSize(5, useCross_);
3192  }
3193  if (useCrossExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3194  size += com.google.protobuf.CodedOutputStream
3195  .computeEnumSize(6, useCrossExchange_);
3196  }
3197  if (useTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3198  size += com.google.protobuf.CodedOutputStream
3199  .computeEnumSize(7, useTwoOpt_);
3200  }
3201  if (useOrOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3202  size += com.google.protobuf.CodedOutputStream
3203  .computeEnumSize(8, useOrOpt_);
3204  }
3205  if (useLinKernighan_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3206  size += com.google.protobuf.CodedOutputStream
3207  .computeEnumSize(9, useLinKernighan_);
3208  }
3209  if (useTspOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3210  size += com.google.protobuf.CodedOutputStream
3211  .computeEnumSize(10, useTspOpt_);
3212  }
3213  if (useMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3214  size += com.google.protobuf.CodedOutputStream
3215  .computeEnumSize(11, useMakeActive_);
3216  }
3217  if (useMakeInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3218  size += com.google.protobuf.CodedOutputStream
3219  .computeEnumSize(12, useMakeInactive_);
3220  }
3221  if (useMakeChainInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3222  size += com.google.protobuf.CodedOutputStream
3223  .computeEnumSize(13, useMakeChainInactive_);
3224  }
3225  if (useSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3226  size += com.google.protobuf.CodedOutputStream
3227  .computeEnumSize(14, useSwapActive_);
3228  }
3229  if (useExtendedSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3230  size += com.google.protobuf.CodedOutputStream
3231  .computeEnumSize(15, useExtendedSwapActive_);
3232  }
3233  if (usePathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3234  size += com.google.protobuf.CodedOutputStream
3235  .computeEnumSize(16, usePathLns_);
3236  }
3237  if (useFullPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3238  size += com.google.protobuf.CodedOutputStream
3239  .computeEnumSize(17, useFullPathLns_);
3240  }
3241  if (useTspLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3242  size += com.google.protobuf.CodedOutputStream
3243  .computeEnumSize(18, useTspLns_);
3244  }
3245  if (useInactiveLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3246  size += com.google.protobuf.CodedOutputStream
3247  .computeEnumSize(19, useInactiveLns_);
3248  }
3249  if (useNodePairSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3250  size += com.google.protobuf.CodedOutputStream
3251  .computeEnumSize(20, useNodePairSwapActive_);
3252  }
3253  if (useRelocateAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3254  size += com.google.protobuf.CodedOutputStream
3255  .computeEnumSize(21, useRelocateAndMakeActive_);
3256  }
3257  if (useExchangePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3258  size += com.google.protobuf.CodedOutputStream
3259  .computeEnumSize(22, useExchangePair_);
3260  }
3261  if (useRelocateExpensiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3262  size += com.google.protobuf.CodedOutputStream
3263  .computeEnumSize(23, useRelocateExpensiveChain_);
3264  }
3265  if (useLightRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3266  size += com.google.protobuf.CodedOutputStream
3267  .computeEnumSize(24, useLightRelocatePair_);
3268  }
3269  if (useRelocateSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3270  size += com.google.protobuf.CodedOutputStream
3271  .computeEnumSize(25, useRelocateSubtrip_);
3272  }
3273  if (useExchangeSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3274  size += com.google.protobuf.CodedOutputStream
3275  .computeEnumSize(26, useExchangeSubtrip_);
3276  }
3277  if (useGlobalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3278  size += com.google.protobuf.CodedOutputStream
3279  .computeEnumSize(27, useGlobalCheapestInsertionPathLns_);
3280  }
3281  if (useLocalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3282  size += com.google.protobuf.CodedOutputStream
3283  .computeEnumSize(28, useLocalCheapestInsertionPathLns_);
3284  }
3285  if (useGlobalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3286  size += com.google.protobuf.CodedOutputStream
3287  .computeEnumSize(29, useGlobalCheapestInsertionExpensiveChainLns_);
3288  }
3289  if (useLocalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3290  size += com.google.protobuf.CodedOutputStream
3291  .computeEnumSize(30, useLocalCheapestInsertionExpensiveChainLns_);
3292  }
3293  if (useGlobalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3294  size += com.google.protobuf.CodedOutputStream
3295  .computeEnumSize(31, useGlobalCheapestInsertionCloseNodesLns_);
3296  }
3297  if (useLocalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3298  size += com.google.protobuf.CodedOutputStream
3299  .computeEnumSize(32, useLocalCheapestInsertionCloseNodesLns_);
3300  }
3301  if (useRelocatePathGlobalCheapestInsertionInsertUnperformed_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3302  size += com.google.protobuf.CodedOutputStream
3303  .computeEnumSize(33, useRelocatePathGlobalCheapestInsertionInsertUnperformed_);
3304  }
3305  size += unknownFields.getSerializedSize();
3306  memoizedSize = size;
3307  return size;
3308  }
3309 
3310  @java.lang.Override
3311  public boolean equals(final java.lang.Object obj) {
3312  if (obj == this) {
3313  return true;
3314  }
3316  return super.equals(obj);
3317  }
3319 
3320  if (useRelocate_ != other.useRelocate_) return false;
3321  if (useRelocatePair_ != other.useRelocatePair_) return false;
3322  if (useLightRelocatePair_ != other.useLightRelocatePair_) return false;
3323  if (useRelocateNeighbors_ != other.useRelocateNeighbors_) return false;
3324  if (useRelocateSubtrip_ != other.useRelocateSubtrip_) return false;
3325  if (useExchange_ != other.useExchange_) return false;
3326  if (useExchangePair_ != other.useExchangePair_) return false;
3327  if (useExchangeSubtrip_ != other.useExchangeSubtrip_) return false;
3328  if (useCross_ != other.useCross_) return false;
3329  if (useCrossExchange_ != other.useCrossExchange_) return false;
3330  if (useRelocateExpensiveChain_ != other.useRelocateExpensiveChain_) return false;
3331  if (useTwoOpt_ != other.useTwoOpt_) return false;
3332  if (useOrOpt_ != other.useOrOpt_) return false;
3333  if (useLinKernighan_ != other.useLinKernighan_) return false;
3334  if (useTspOpt_ != other.useTspOpt_) return false;
3335  if (useMakeActive_ != other.useMakeActive_) return false;
3336  if (useRelocateAndMakeActive_ != other.useRelocateAndMakeActive_) return false;
3337  if (useMakeInactive_ != other.useMakeInactive_) return false;
3338  if (useMakeChainInactive_ != other.useMakeChainInactive_) return false;
3339  if (useSwapActive_ != other.useSwapActive_) return false;
3340  if (useExtendedSwapActive_ != other.useExtendedSwapActive_) return false;
3341  if (useNodePairSwapActive_ != other.useNodePairSwapActive_) return false;
3342  if (usePathLns_ != other.usePathLns_) return false;
3343  if (useFullPathLns_ != other.useFullPathLns_) return false;
3344  if (useTspLns_ != other.useTspLns_) return false;
3345  if (useInactiveLns_ != other.useInactiveLns_) return false;
3346  if (useGlobalCheapestInsertionPathLns_ != other.useGlobalCheapestInsertionPathLns_) return false;
3347  if (useLocalCheapestInsertionPathLns_ != other.useLocalCheapestInsertionPathLns_) return false;
3348  if (useRelocatePathGlobalCheapestInsertionInsertUnperformed_ != other.useRelocatePathGlobalCheapestInsertionInsertUnperformed_) return false;
3349  if (useGlobalCheapestInsertionExpensiveChainLns_ != other.useGlobalCheapestInsertionExpensiveChainLns_) return false;
3350  if (useLocalCheapestInsertionExpensiveChainLns_ != other.useLocalCheapestInsertionExpensiveChainLns_) return false;
3351  if (useGlobalCheapestInsertionCloseNodesLns_ != other.useGlobalCheapestInsertionCloseNodesLns_) return false;
3352  if (useLocalCheapestInsertionCloseNodesLns_ != other.useLocalCheapestInsertionCloseNodesLns_) return false;
3353  if (!unknownFields.equals(other.unknownFields)) return false;
3354  return true;
3355  }
3356 
3357  @java.lang.Override
3358  public int hashCode() {
3359  if (memoizedHashCode != 0) {
3360  return memoizedHashCode;
3361  }
3362  int hash = 41;
3363  hash = (19 * hash) + getDescriptor().hashCode();
3364  hash = (37 * hash) + USE_RELOCATE_FIELD_NUMBER;
3365  hash = (53 * hash) + useRelocate_;
3366  hash = (37 * hash) + USE_RELOCATE_PAIR_FIELD_NUMBER;
3367  hash = (53 * hash) + useRelocatePair_;
3368  hash = (37 * hash) + USE_LIGHT_RELOCATE_PAIR_FIELD_NUMBER;
3369  hash = (53 * hash) + useLightRelocatePair_;
3370  hash = (37 * hash) + USE_RELOCATE_NEIGHBORS_FIELD_NUMBER;
3371  hash = (53 * hash) + useRelocateNeighbors_;
3372  hash = (37 * hash) + USE_RELOCATE_SUBTRIP_FIELD_NUMBER;
3373  hash = (53 * hash) + useRelocateSubtrip_;
3374  hash = (37 * hash) + USE_EXCHANGE_FIELD_NUMBER;
3375  hash = (53 * hash) + useExchange_;
3376  hash = (37 * hash) + USE_EXCHANGE_PAIR_FIELD_NUMBER;
3377  hash = (53 * hash) + useExchangePair_;
3378  hash = (37 * hash) + USE_EXCHANGE_SUBTRIP_FIELD_NUMBER;
3379  hash = (53 * hash) + useExchangeSubtrip_;
3380  hash = (37 * hash) + USE_CROSS_FIELD_NUMBER;
3381  hash = (53 * hash) + useCross_;
3382  hash = (37 * hash) + USE_CROSS_EXCHANGE_FIELD_NUMBER;
3383  hash = (53 * hash) + useCrossExchange_;
3384  hash = (37 * hash) + USE_RELOCATE_EXPENSIVE_CHAIN_FIELD_NUMBER;
3385  hash = (53 * hash) + useRelocateExpensiveChain_;
3386  hash = (37 * hash) + USE_TWO_OPT_FIELD_NUMBER;
3387  hash = (53 * hash) + useTwoOpt_;
3388  hash = (37 * hash) + USE_OR_OPT_FIELD_NUMBER;
3389  hash = (53 * hash) + useOrOpt_;
3390  hash = (37 * hash) + USE_LIN_KERNIGHAN_FIELD_NUMBER;
3391  hash = (53 * hash) + useLinKernighan_;
3392  hash = (37 * hash) + USE_TSP_OPT_FIELD_NUMBER;
3393  hash = (53 * hash) + useTspOpt_;
3394  hash = (37 * hash) + USE_MAKE_ACTIVE_FIELD_NUMBER;
3395  hash = (53 * hash) + useMakeActive_;
3396  hash = (37 * hash) + USE_RELOCATE_AND_MAKE_ACTIVE_FIELD_NUMBER;
3397  hash = (53 * hash) + useRelocateAndMakeActive_;
3398  hash = (37 * hash) + USE_MAKE_INACTIVE_FIELD_NUMBER;
3399  hash = (53 * hash) + useMakeInactive_;
3400  hash = (37 * hash) + USE_MAKE_CHAIN_INACTIVE_FIELD_NUMBER;
3401  hash = (53 * hash) + useMakeChainInactive_;
3402  hash = (37 * hash) + USE_SWAP_ACTIVE_FIELD_NUMBER;
3403  hash = (53 * hash) + useSwapActive_;
3404  hash = (37 * hash) + USE_EXTENDED_SWAP_ACTIVE_FIELD_NUMBER;
3405  hash = (53 * hash) + useExtendedSwapActive_;
3406  hash = (37 * hash) + USE_NODE_PAIR_SWAP_ACTIVE_FIELD_NUMBER;
3407  hash = (53 * hash) + useNodePairSwapActive_;
3408  hash = (37 * hash) + USE_PATH_LNS_FIELD_NUMBER;
3409  hash = (53 * hash) + usePathLns_;
3410  hash = (37 * hash) + USE_FULL_PATH_LNS_FIELD_NUMBER;
3411  hash = (53 * hash) + useFullPathLns_;
3412  hash = (37 * hash) + USE_TSP_LNS_FIELD_NUMBER;
3413  hash = (53 * hash) + useTspLns_;
3414  hash = (37 * hash) + USE_INACTIVE_LNS_FIELD_NUMBER;
3415  hash = (53 * hash) + useInactiveLns_;
3417  hash = (53 * hash) + useGlobalCheapestInsertionPathLns_;
3419  hash = (53 * hash) + useLocalCheapestInsertionPathLns_;
3421  hash = (53 * hash) + useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
3423  hash = (53 * hash) + useGlobalCheapestInsertionExpensiveChainLns_;
3425  hash = (53 * hash) + useLocalCheapestInsertionExpensiveChainLns_;
3427  hash = (53 * hash) + useGlobalCheapestInsertionCloseNodesLns_;
3429  hash = (53 * hash) + useLocalCheapestInsertionCloseNodesLns_;
3430  hash = (29 * hash) + unknownFields.hashCode();
3431  memoizedHashCode = hash;
3432  return hash;
3433  }
3434 
3436  java.nio.ByteBuffer data)
3437  throws com.google.protobuf.InvalidProtocolBufferException {
3438  return PARSER.parseFrom(data);
3439  }
3441  java.nio.ByteBuffer data,
3442  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3443  throws com.google.protobuf.InvalidProtocolBufferException {
3444  return PARSER.parseFrom(data, extensionRegistry);
3445  }
3447  com.google.protobuf.ByteString data)
3448  throws com.google.protobuf.InvalidProtocolBufferException {
3449  return PARSER.parseFrom(data);
3450  }
3452  com.google.protobuf.ByteString data,
3453  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3454  throws com.google.protobuf.InvalidProtocolBufferException {
3455  return PARSER.parseFrom(data, extensionRegistry);
3456  }
3458  throws com.google.protobuf.InvalidProtocolBufferException {
3459  return PARSER.parseFrom(data);
3460  }
3462  byte[] data,
3463  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3464  throws com.google.protobuf.InvalidProtocolBufferException {
3465  return PARSER.parseFrom(data, extensionRegistry);
3466  }
3468  throws java.io.IOException {
3469  return com.google.protobuf.GeneratedMessageV3
3470  .parseWithIOException(PARSER, input);
3471  }
3473  java.io.InputStream input,
3474  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3475  throws java.io.IOException {
3476  return com.google.protobuf.GeneratedMessageV3
3477  .parseWithIOException(PARSER, input, extensionRegistry);
3478  }
3480  throws java.io.IOException {
3481  return com.google.protobuf.GeneratedMessageV3
3482  .parseDelimitedWithIOException(PARSER, input);
3483  }
3485  java.io.InputStream input,
3486  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3487  throws java.io.IOException {
3488  return com.google.protobuf.GeneratedMessageV3
3489  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
3490  }
3492  com.google.protobuf.CodedInputStream input)
3493  throws java.io.IOException {
3494  return com.google.protobuf.GeneratedMessageV3
3495  .parseWithIOException(PARSER, input);
3496  }
3498  com.google.protobuf.CodedInputStream input,
3499  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3500  throws java.io.IOException {
3501  return com.google.protobuf.GeneratedMessageV3
3502  .parseWithIOException(PARSER, input, extensionRegistry);
3503  }
3504 
3505  @java.lang.Override
3506  public Builder newBuilderForType() { return newBuilder(); }
3507  public static Builder newBuilder() {
3508  return DEFAULT_INSTANCE.toBuilder();
3509  }
3511  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
3512  }
3513  @java.lang.Override
3514  public Builder toBuilder() {
3515  return this == DEFAULT_INSTANCE
3516  ? new Builder() : new Builder().mergeFrom(this);
3517  }
3518 
3519  @java.lang.Override
3521  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
3522  Builder builder = new Builder(parent);
3523  return builder;
3524  }
3533  public static final class Builder extends
3534  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
3535  // @@protoc_insertion_point(builder_implements:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
3537  public static final com.google.protobuf.Descriptors.Descriptor
3539  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
3540  }
3541 
3542  @java.lang.Override
3543  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
3545  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_fieldAccessorTable
3546  .ensureFieldAccessorsInitialized(
3548  }
3549 
3550  // Construct using com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.newBuilder()
3551  private Builder() {
3552  maybeForceBuilderInitialization();
3553  }
3554 
3555  private Builder(
3556  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
3557  super(parent);
3558  maybeForceBuilderInitialization();
3559  }
3560  private void maybeForceBuilderInitialization() {
3561  if (com.google.protobuf.GeneratedMessageV3
3562  .alwaysUseFieldBuilders) {
3563  }
3564  }
3565  @java.lang.Override
3566  public Builder clear() {
3567  super.clear();
3568  useRelocate_ = 0;
3569 
3570  useRelocatePair_ = 0;
3571 
3572  useLightRelocatePair_ = 0;
3573 
3574  useRelocateNeighbors_ = 0;
3575 
3576  useRelocateSubtrip_ = 0;
3577 
3578  useExchange_ = 0;
3579 
3580  useExchangePair_ = 0;
3581 
3582  useExchangeSubtrip_ = 0;
3583 
3584  useCross_ = 0;
3585 
3586  useCrossExchange_ = 0;
3587 
3588  useRelocateExpensiveChain_ = 0;
3589 
3590  useTwoOpt_ = 0;
3591 
3592  useOrOpt_ = 0;
3593 
3594  useLinKernighan_ = 0;
3595 
3596  useTspOpt_ = 0;
3597 
3598  useMakeActive_ = 0;
3599 
3600  useRelocateAndMakeActive_ = 0;
3601 
3602  useMakeInactive_ = 0;
3603 
3604  useMakeChainInactive_ = 0;
3605 
3606  useSwapActive_ = 0;
3607 
3608  useExtendedSwapActive_ = 0;
3609 
3610  useNodePairSwapActive_ = 0;
3611 
3612  usePathLns_ = 0;
3613 
3614  useFullPathLns_ = 0;
3615 
3616  useTspLns_ = 0;
3617 
3618  useInactiveLns_ = 0;
3619 
3620  useGlobalCheapestInsertionPathLns_ = 0;
3621 
3622  useLocalCheapestInsertionPathLns_ = 0;
3623 
3624  useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
3625 
3626  useGlobalCheapestInsertionExpensiveChainLns_ = 0;
3627 
3628  useLocalCheapestInsertionExpensiveChainLns_ = 0;
3629 
3630  useGlobalCheapestInsertionCloseNodesLns_ = 0;
3631 
3632  useLocalCheapestInsertionCloseNodesLns_ = 0;
3633 
3634  return this;
3635  }
3636 
3637  @java.lang.Override
3638  public com.google.protobuf.Descriptors.Descriptor
3640  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
3641  }
3642 
3643  @java.lang.Override
3646  }
3647 
3648  @java.lang.Override
3651  if (!result.isInitialized()) {
3652  throw newUninitializedMessageException(result);
3653  }
3654  return result;
3655  }
3656 
3657  @java.lang.Override
3660  result.useRelocate_ = useRelocate_;
3661  result.useRelocatePair_ = useRelocatePair_;
3662  result.useLightRelocatePair_ = useLightRelocatePair_;
3663  result.useRelocateNeighbors_ = useRelocateNeighbors_;
3664  result.useRelocateSubtrip_ = useRelocateSubtrip_;
3665  result.useExchange_ = useExchange_;
3666  result.useExchangePair_ = useExchangePair_;
3667  result.useExchangeSubtrip_ = useExchangeSubtrip_;
3668  result.useCross_ = useCross_;
3669  result.useCrossExchange_ = useCrossExchange_;
3670  result.useRelocateExpensiveChain_ = useRelocateExpensiveChain_;
3671  result.useTwoOpt_ = useTwoOpt_;
3672  result.useOrOpt_ = useOrOpt_;
3673  result.useLinKernighan_ = useLinKernighan_;
3674  result.useTspOpt_ = useTspOpt_;
3675  result.useMakeActive_ = useMakeActive_;
3676  result.useRelocateAndMakeActive_ = useRelocateAndMakeActive_;
3677  result.useMakeInactive_ = useMakeInactive_;
3678  result.useMakeChainInactive_ = useMakeChainInactive_;
3679  result.useSwapActive_ = useSwapActive_;
3680  result.useExtendedSwapActive_ = useExtendedSwapActive_;
3681  result.useNodePairSwapActive_ = useNodePairSwapActive_;
3682  result.usePathLns_ = usePathLns_;
3683  result.useFullPathLns_ = useFullPathLns_;
3684  result.useTspLns_ = useTspLns_;
3685  result.useInactiveLns_ = useInactiveLns_;
3686  result.useGlobalCheapestInsertionPathLns_ = useGlobalCheapestInsertionPathLns_;
3687  result.useLocalCheapestInsertionPathLns_ = useLocalCheapestInsertionPathLns_;
3688  result.useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
3689  result.useGlobalCheapestInsertionExpensiveChainLns_ = useGlobalCheapestInsertionExpensiveChainLns_;
3690  result.useLocalCheapestInsertionExpensiveChainLns_ = useLocalCheapestInsertionExpensiveChainLns_;
3691  result.useGlobalCheapestInsertionCloseNodesLns_ = useGlobalCheapestInsertionCloseNodesLns_;
3692  result.useLocalCheapestInsertionCloseNodesLns_ = useLocalCheapestInsertionCloseNodesLns_;
3693  onBuilt();
3694  return result;
3695  }
3696 
3697  @java.lang.Override
3698  public Builder clone() {
3699  return super.clone();
3700  }
3701  @java.lang.Override
3703  com.google.protobuf.Descriptors.FieldDescriptor field,
3704  java.lang.Object value) {
3705  return super.setField(field, value);
3706  }
3707  @java.lang.Override
3709  com.google.protobuf.Descriptors.FieldDescriptor field) {
3710  return super.clearField(field);
3711  }
3712  @java.lang.Override
3714  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
3715  return super.clearOneof(oneof);
3716  }
3717  @java.lang.Override
3719  com.google.protobuf.Descriptors.FieldDescriptor field,
3720  int index, java.lang.Object value) {
3721  return super.setRepeatedField(field, index, value);
3722  }
3723  @java.lang.Override
3725  com.google.protobuf.Descriptors.FieldDescriptor field,
3726  java.lang.Object value) {
3727  return super.addRepeatedField(field, value);
3728  }
3729  @java.lang.Override
3730  public Builder mergeFrom(com.google.protobuf.Message other) {
3733  } else {
3734  super.mergeFrom(other);
3735  return this;
3736  }
3737  }
3738 
3741  if (other.useRelocate_ != 0) {
3742  setUseRelocateValue(other.getUseRelocateValue());
3743  }
3744  if (other.useRelocatePair_ != 0) {
3745  setUseRelocatePairValue(other.getUseRelocatePairValue());
3746  }
3747  if (other.useLightRelocatePair_ != 0) {
3748  setUseLightRelocatePairValue(other.getUseLightRelocatePairValue());
3749  }
3750  if (other.useRelocateNeighbors_ != 0) {
3751  setUseRelocateNeighborsValue(other.getUseRelocateNeighborsValue());
3752  }
3753  if (other.useRelocateSubtrip_ != 0) {
3754  setUseRelocateSubtripValue(other.getUseRelocateSubtripValue());
3755  }
3756  if (other.useExchange_ != 0) {
3757  setUseExchangeValue(other.getUseExchangeValue());
3758  }
3759  if (other.useExchangePair_ != 0) {
3760  setUseExchangePairValue(other.getUseExchangePairValue());
3761  }
3762  if (other.useExchangeSubtrip_ != 0) {
3763  setUseExchangeSubtripValue(other.getUseExchangeSubtripValue());
3764  }
3765  if (other.useCross_ != 0) {
3766  setUseCrossValue(other.getUseCrossValue());
3767  }
3768  if (other.useCrossExchange_ != 0) {
3769  setUseCrossExchangeValue(other.getUseCrossExchangeValue());
3770  }
3771  if (other.useRelocateExpensiveChain_ != 0) {
3772  setUseRelocateExpensiveChainValue(other.getUseRelocateExpensiveChainValue());
3773  }
3774  if (other.useTwoOpt_ != 0) {
3775  setUseTwoOptValue(other.getUseTwoOptValue());
3776  }
3777  if (other.useOrOpt_ != 0) {
3778  setUseOrOptValue(other.getUseOrOptValue());
3779  }
3780  if (other.useLinKernighan_ != 0) {
3781  setUseLinKernighanValue(other.getUseLinKernighanValue());
3782  }
3783  if (other.useTspOpt_ != 0) {
3784  setUseTspOptValue(other.getUseTspOptValue());
3785  }
3786  if (other.useMakeActive_ != 0) {
3787  setUseMakeActiveValue(other.getUseMakeActiveValue());
3788  }
3789  if (other.useRelocateAndMakeActive_ != 0) {
3790  setUseRelocateAndMakeActiveValue(other.getUseRelocateAndMakeActiveValue());
3791  }
3792  if (other.useMakeInactive_ != 0) {
3793  setUseMakeInactiveValue(other.getUseMakeInactiveValue());
3794  }
3795  if (other.useMakeChainInactive_ != 0) {
3796  setUseMakeChainInactiveValue(other.getUseMakeChainInactiveValue());
3797  }
3798  if (other.useSwapActive_ != 0) {
3799  setUseSwapActiveValue(other.getUseSwapActiveValue());
3800  }
3801  if (other.useExtendedSwapActive_ != 0) {
3802  setUseExtendedSwapActiveValue(other.getUseExtendedSwapActiveValue());
3803  }
3804  if (other.useNodePairSwapActive_ != 0) {
3805  setUseNodePairSwapActiveValue(other.getUseNodePairSwapActiveValue());
3806  }
3807  if (other.usePathLns_ != 0) {
3808  setUsePathLnsValue(other.getUsePathLnsValue());
3809  }
3810  if (other.useFullPathLns_ != 0) {
3811  setUseFullPathLnsValue(other.getUseFullPathLnsValue());
3812  }
3813  if (other.useTspLns_ != 0) {
3814  setUseTspLnsValue(other.getUseTspLnsValue());
3815  }
3816  if (other.useInactiveLns_ != 0) {
3817  setUseInactiveLnsValue(other.getUseInactiveLnsValue());
3818  }
3819  if (other.useGlobalCheapestInsertionPathLns_ != 0) {
3820  setUseGlobalCheapestInsertionPathLnsValue(other.getUseGlobalCheapestInsertionPathLnsValue());
3821  }
3822  if (other.useLocalCheapestInsertionPathLns_ != 0) {
3823  setUseLocalCheapestInsertionPathLnsValue(other.getUseLocalCheapestInsertionPathLnsValue());
3824  }
3825  if (other.useRelocatePathGlobalCheapestInsertionInsertUnperformed_ != 0) {
3826  setUseRelocatePathGlobalCheapestInsertionInsertUnperformedValue(other.getUseRelocatePathGlobalCheapestInsertionInsertUnperformedValue());
3827  }
3828  if (other.useGlobalCheapestInsertionExpensiveChainLns_ != 0) {
3829  setUseGlobalCheapestInsertionExpensiveChainLnsValue(other.getUseGlobalCheapestInsertionExpensiveChainLnsValue());
3830  }
3831  if (other.useLocalCheapestInsertionExpensiveChainLns_ != 0) {
3832  setUseLocalCheapestInsertionExpensiveChainLnsValue(other.getUseLocalCheapestInsertionExpensiveChainLnsValue());
3833  }
3834  if (other.useGlobalCheapestInsertionCloseNodesLns_ != 0) {
3835  setUseGlobalCheapestInsertionCloseNodesLnsValue(other.getUseGlobalCheapestInsertionCloseNodesLnsValue());
3836  }
3837  if (other.useLocalCheapestInsertionCloseNodesLns_ != 0) {
3838  setUseLocalCheapestInsertionCloseNodesLnsValue(other.getUseLocalCheapestInsertionCloseNodesLnsValue());
3839  }
3840  this.mergeUnknownFields(other.unknownFields);
3841  onChanged();
3842  return this;
3843  }
3844 
3845  @java.lang.Override
3846  public final boolean isInitialized() {
3847  return true;
3848  }
3849 
3850  @java.lang.Override
3852  com.google.protobuf.CodedInputStream input,
3853  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3854  throws java.io.IOException {
3856  try {
3857  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
3858  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3860  throw e.unwrapIOException();
3861  } finally {
3862  if (parsedMessage != null) {
3863  mergeFrom(parsedMessage);
3864  }
3865  }
3866  return this;
3867  }
3868 
3869  private int useRelocate_ = 0;
3886  @java.lang.Override public int getUseRelocateValue() {
3887  return useRelocate_;
3888  }
3906  public Builder setUseRelocateValue(int value) {
3907 
3908  useRelocate_ = value;
3909  onChanged();
3910  return this;
3911  }
3928  @java.lang.Override
3930  @SuppressWarnings("deprecation")
3932  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3933  }
3952  if (value == null) {
3953  throw new NullPointerException();
3954  }
3955 
3956  useRelocate_ = value.getNumber();
3957  onChanged();
3958  return this;
3959  }
3977 
3978  useRelocate_ = 0;
3979  onChanged();
3980  return this;
3981  }
3982 
3983  private int useRelocatePair_ = 0;
4000  @java.lang.Override public int getUseRelocatePairValue() {
4001  return useRelocatePair_;
4002  }
4020  public Builder setUseRelocatePairValue(int value) {
4021 
4022  useRelocatePair_ = value;
4023  onChanged();
4024  return this;
4025  }
4042  @java.lang.Override
4044  @SuppressWarnings("deprecation")
4046  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4047  }
4066  if (value == null) {
4067  throw new NullPointerException();
4068  }
4069 
4070  useRelocatePair_ = value.getNumber();
4071  onChanged();
4072  return this;
4073  }
4091 
4092  useRelocatePair_ = 0;
4093  onChanged();
4094  return this;
4095  }
4096 
4097  private int useLightRelocatePair_ = 0;
4112  @java.lang.Override public int getUseLightRelocatePairValue() {
4113  return useLightRelocatePair_;
4114  }
4131 
4132  useLightRelocatePair_ = value;
4133  onChanged();
4134  return this;
4135  }
4150  @java.lang.Override
4152  @SuppressWarnings("deprecation")
4154  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4155  }
4172  if (value == null) {
4173  throw new NullPointerException();
4174  }
4175 
4176  useLightRelocatePair_ = value.getNumber();
4177  onChanged();
4178  return this;
4179  }
4195 
4196  useLightRelocatePair_ = 0;
4197  onChanged();
4198  return this;
4199  }
4200 
4201  private int useRelocateNeighbors_ = 0;
4231  @java.lang.Override public int getUseRelocateNeighborsValue() {
4232  return useRelocateNeighbors_;
4233  }
4265 
4266  useRelocateNeighbors_ = value;
4267  onChanged();
4268  return this;
4269  }
4299  @java.lang.Override
4301  @SuppressWarnings("deprecation")
4303  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4304  }
4336  if (value == null) {
4337  throw new NullPointerException();
4338  }
4339 
4340  useRelocateNeighbors_ = value.getNumber();
4341  onChanged();
4342  return this;
4343  }
4374 
4375  useRelocateNeighbors_ = 0;
4376  onChanged();
4377  return this;
4378  }
4379 
4380  private int useRelocateSubtrip_ = 0;
4400  @java.lang.Override public int getUseRelocateSubtripValue() {
4401  return useRelocateSubtrip_;
4402  }
4424 
4425  useRelocateSubtrip_ = value;
4426  onChanged();
4427  return this;
4428  }
4448  @java.lang.Override
4450  @SuppressWarnings("deprecation")
4452  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4453  }
4475  if (value == null) {
4476  throw new NullPointerException();
4477  }
4478 
4479  useRelocateSubtrip_ = value.getNumber();
4480  onChanged();
4481  return this;
4482  }
4503 
4504  useRelocateSubtrip_ = 0;
4505  onChanged();
4506  return this;
4507  }
4508 
4509  private int useExchange_ = 0;
4524  @java.lang.Override public int getUseExchangeValue() {
4525  return useExchange_;
4526  }
4542  public Builder setUseExchangeValue(int value) {
4543 
4544  useExchange_ = value;
4545  onChanged();
4546  return this;
4547  }
4562  @java.lang.Override
4564  @SuppressWarnings("deprecation")
4566  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4567  }
4584  if (value == null) {
4585  throw new NullPointerException();
4586  }
4587 
4588  useExchange_ = value.getNumber();
4589  onChanged();
4590  return this;
4591  }
4607 
4608  useExchange_ = 0;
4609  onChanged();
4610  return this;
4611  }
4612 
4613  private int useExchangePair_ = 0;
4628  @java.lang.Override public int getUseExchangePairValue() {
4629  return useExchangePair_;
4630  }
4646  public Builder setUseExchangePairValue(int value) {
4647 
4648  useExchangePair_ = value;
4649  onChanged();
4650  return this;
4651  }
4666  @java.lang.Override
4668  @SuppressWarnings("deprecation")
4670  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4671  }
4688  if (value == null) {
4689  throw new NullPointerException();
4690  }
4691 
4692  useExchangePair_ = value.getNumber();
4693  onChanged();
4694  return this;
4695  }
4711 
4712  useExchangePair_ = 0;
4713  onChanged();
4714  return this;
4715  }
4716 
4717  private int useExchangeSubtrip_ = 0;
4727  @java.lang.Override public int getUseExchangeSubtripValue() {
4728  return useExchangeSubtrip_;
4729  }
4741 
4742  useExchangeSubtrip_ = value;
4743  onChanged();
4744  return this;
4745  }
4755  @java.lang.Override
4757  @SuppressWarnings("deprecation")
4759  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4760  }
4772  if (value == null) {
4773  throw new NullPointerException();
4774  }
4775 
4776  useExchangeSubtrip_ = value.getNumber();
4777  onChanged();
4778  return this;
4779  }
4790 
4791  useExchangeSubtrip_ = 0;
4792  onChanged();
4793  return this;
4794  }
4795 
4796  private int useCross_ = 0;
4813  @java.lang.Override public int getUseCrossValue() {
4814  return useCross_;
4815  }
4833  public Builder setUseCrossValue(int value) {
4834 
4835  useCross_ = value;
4836  onChanged();
4837  return this;
4838  }
4855  @java.lang.Override
4857  @SuppressWarnings("deprecation")
4859  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4860  }
4879  if (value == null) {
4880  throw new NullPointerException();
4881  }
4882 
4883  useCross_ = value.getNumber();
4884  onChanged();
4885  return this;
4886  }
4904 
4905  useCross_ = 0;
4906  onChanged();
4907  return this;
4908  }
4909 
4910  private int useCrossExchange_ = 0;
4919  @java.lang.Override public int getUseCrossExchangeValue() {
4920  return useCrossExchange_;
4921  }
4931  public Builder setUseCrossExchangeValue(int value) {
4932 
4933  useCrossExchange_ = value;
4934  onChanged();
4935  return this;
4936  }
4945  @java.lang.Override
4947  @SuppressWarnings("deprecation")
4949  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4950  }
4961  if (value == null) {
4962  throw new NullPointerException();
4963  }
4964 
4965  useCrossExchange_ = value.getNumber();
4966  onChanged();
4967  return this;
4968  }
4978 
4979  useCrossExchange_ = 0;
4980  onChanged();
4981  return this;
4982  }
4983 
4984  private int useRelocateExpensiveChain_ = 0;
5002  @java.lang.Override public int getUseRelocateExpensiveChainValue() {
5003  return useRelocateExpensiveChain_;
5004  }
5024 
5025  useRelocateExpensiveChain_ = value;
5026  onChanged();
5027  return this;
5028  }
5046  @java.lang.Override
5048  @SuppressWarnings("deprecation")
5049  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateExpensiveChain_);
5050  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5051  }
5071  if (value == null) {
5072  throw new NullPointerException();
5073  }
5074 
5075  useRelocateExpensiveChain_ = value.getNumber();
5076  onChanged();
5077  return this;
5078  }
5097 
5098  useRelocateExpensiveChain_ = 0;
5099  onChanged();
5100  return this;
5101  }
5102 
5103  private int useTwoOpt_ = 0;
5121  @java.lang.Override public int getUseTwoOptValue() {
5122  return useTwoOpt_;
5123  }
5142  public Builder setUseTwoOptValue(int value) {
5143 
5144  useTwoOpt_ = value;
5145  onChanged();
5146  return this;
5147  }
5165  @java.lang.Override
5167  @SuppressWarnings("deprecation")
5169  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5170  }
5190  if (value == null) {
5191  throw new NullPointerException();
5192  }
5193 
5194  useTwoOpt_ = value.getNumber();
5195  onChanged();
5196  return this;
5197  }
5216 
5217  useTwoOpt_ = 0;
5218  onChanged();
5219  return this;
5220  }
5221 
5222  private int useOrOpt_ = 0;
5241  @java.lang.Override public int getUseOrOptValue() {
5242  return useOrOpt_;
5243  }
5263  public Builder setUseOrOptValue(int value) {
5264 
5265  useOrOpt_ = value;
5266  onChanged();
5267  return this;
5268  }
5287  @java.lang.Override
5289  @SuppressWarnings("deprecation")
5291  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5292  }
5313  if (value == null) {
5314  throw new NullPointerException();
5315  }
5316 
5317  useOrOpt_ = value.getNumber();
5318  onChanged();
5319  return this;
5320  }
5340 
5341  useOrOpt_ = 0;
5342  onChanged();
5343  return this;
5344  }
5345 
5346  private int useLinKernighan_ = 0;
5358  @java.lang.Override public int getUseLinKernighanValue() {
5359  return useLinKernighan_;
5360  }
5373  public Builder setUseLinKernighanValue(int value) {
5374 
5375  useLinKernighan_ = value;
5376  onChanged();
5377  return this;
5378  }
5390  @java.lang.Override
5392  @SuppressWarnings("deprecation")
5394  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5395  }
5409  if (value == null) {
5410  throw new NullPointerException();
5411  }
5412 
5413  useLinKernighan_ = value.getNumber();
5414  onChanged();
5415  return this;
5416  }
5429 
5430  useLinKernighan_ = 0;
5431  onChanged();
5432  return this;
5433  }
5434 
5435  private int useTspOpt_ = 0;
5449  @java.lang.Override public int getUseTspOptValue() {
5450  return useTspOpt_;
5451  }
5466  public Builder setUseTspOptValue(int value) {
5467 
5468  useTspOpt_ = value;
5469  onChanged();
5470  return this;
5471  }
5485  @java.lang.Override
5487  @SuppressWarnings("deprecation")
5489  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5490  }
5506  if (value == null) {
5507  throw new NullPointerException();
5508  }
5509 
5510  useTspOpt_ = value.getNumber();
5511  onChanged();
5512  return this;
5513  }
5528 
5529  useTspOpt_ = 0;
5530  onChanged();
5531  return this;
5532  }
5533 
5534  private int useMakeActive_ = 0;
5549  @java.lang.Override public int getUseMakeActiveValue() {
5550  return useMakeActive_;
5551  }
5567  public Builder setUseMakeActiveValue(int value) {
5568 
5569  useMakeActive_ = value;
5570  onChanged();
5571  return this;
5572  }
5587  @java.lang.Override
5589  @SuppressWarnings("deprecation")
5591  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5592  }
5609  if (value == null) {
5610  throw new NullPointerException();
5611  }
5612 
5613  useMakeActive_ = value.getNumber();
5614  onChanged();
5615  return this;
5616  }
5632 
5633  useMakeActive_ = 0;
5634  onChanged();
5635  return this;
5636  }
5637 
5638  private int useRelocateAndMakeActive_ = 0;
5656  @java.lang.Override public int getUseRelocateAndMakeActiveValue() {
5657  return useRelocateAndMakeActive_;
5658  }
5678 
5679  useRelocateAndMakeActive_ = value;
5680  onChanged();
5681  return this;
5682  }
5700  @java.lang.Override
5702  @SuppressWarnings("deprecation")
5703  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateAndMakeActive_);
5704  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5705  }
5725  if (value == null) {
5726  throw new NullPointerException();
5727  }
5728 
5729  useRelocateAndMakeActive_ = value.getNumber();
5730  onChanged();
5731  return this;
5732  }
5751 
5752  useRelocateAndMakeActive_ = 0;
5753  onChanged();
5754  return this;
5755  }
5756 
5757  private int useMakeInactive_ = 0;
5770  @java.lang.Override public int getUseMakeInactiveValue() {
5771  return useMakeInactive_;
5772  }
5786  public Builder setUseMakeInactiveValue(int value) {
5787 
5788  useMakeInactive_ = value;
5789  onChanged();
5790  return this;
5791  }
5804  @java.lang.Override
5806  @SuppressWarnings("deprecation")
5808  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5809  }
5824  if (value == null) {
5825  throw new NullPointerException();
5826  }
5827 
5828  useMakeInactive_ = value.getNumber();
5829  onChanged();
5830  return this;
5831  }
5845 
5846  useMakeInactive_ = 0;
5847  onChanged();
5848  return this;
5849  }
5850 
5851  private int useMakeChainInactive_ = 0;
5865  @java.lang.Override public int getUseMakeChainInactiveValue() {
5866  return useMakeChainInactive_;
5867  }
5883 
5884  useMakeChainInactive_ = value;
5885  onChanged();
5886  return this;
5887  }
5901  @java.lang.Override
5903  @SuppressWarnings("deprecation")
5905  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5906  }
5922  if (value == null) {
5923  throw new NullPointerException();
5924  }
5925 
5926  useMakeChainInactive_ = value.getNumber();
5927  onChanged();
5928  return this;
5929  }
5944 
5945  useMakeChainInactive_ = 0;
5946  onChanged();
5947  return this;
5948  }
5949 
5950  private int useSwapActive_ = 0;
5963  @java.lang.Override public int getUseSwapActiveValue() {
5964  return useSwapActive_;
5965  }
5979  public Builder setUseSwapActiveValue(int value) {
5980 
5981  useSwapActive_ = value;
5982  onChanged();
5983  return this;
5984  }
5997  @java.lang.Override
5999  @SuppressWarnings("deprecation")
6001  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6002  }
6017  if (value == null) {
6018  throw new NullPointerException();
6019  }
6020 
6021  useSwapActive_ = value.getNumber();
6022  onChanged();
6023  return this;
6024  }
6038 
6039  useSwapActive_ = 0;
6040  onChanged();
6041  return this;
6042  }
6043 
6044  private int useExtendedSwapActive_ = 0;
6062  @java.lang.Override public int getUseExtendedSwapActiveValue() {
6063  return useExtendedSwapActive_;
6064  }
6084 
6085  useExtendedSwapActive_ = value;
6086  onChanged();
6087  return this;
6088  }
6106  @java.lang.Override
6108  @SuppressWarnings("deprecation")
6109  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useExtendedSwapActive_);
6110  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6111  }
6131  if (value == null) {
6132  throw new NullPointerException();
6133  }
6134 
6135  useExtendedSwapActive_ = value.getNumber();
6136  onChanged();
6137  return this;
6138  }
6157 
6158  useExtendedSwapActive_ = 0;
6159  onChanged();
6160  return this;
6161  }
6162 
6163  private int useNodePairSwapActive_ = 0;
6182  @java.lang.Override public int getUseNodePairSwapActiveValue() {
6183  return useNodePairSwapActive_;
6184  }
6205 
6206  useNodePairSwapActive_ = value;
6207  onChanged();
6208  return this;
6209  }
6228  @java.lang.Override
6230  @SuppressWarnings("deprecation")
6231  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useNodePairSwapActive_);
6232  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6233  }
6254  if (value == null) {
6255  throw new NullPointerException();
6256  }
6257 
6258  useNodePairSwapActive_ = value.getNumber();
6259  onChanged();
6260  return this;
6261  }
6281 
6282  useNodePairSwapActive_ = 0;
6283  onChanged();
6284  return this;
6285  }
6286 
6287  private int usePathLns_ = 0;
6303  @java.lang.Override public int getUsePathLnsValue() {
6304  return usePathLns_;
6305  }
6322  public Builder setUsePathLnsValue(int value) {
6323 
6324  usePathLns_ = value;
6325  onChanged();
6326  return this;
6327  }
6343  @java.lang.Override
6345  @SuppressWarnings("deprecation")
6347  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6348  }
6366  if (value == null) {
6367  throw new NullPointerException();
6368  }
6369 
6370  usePathLns_ = value.getNumber();
6371  onChanged();
6372  return this;
6373  }
6390 
6391  usePathLns_ = 0;
6392  onChanged();
6393  return this;
6394  }
6395 
6396  private int useFullPathLns_ = 0;
6405  @java.lang.Override public int getUseFullPathLnsValue() {
6406  return useFullPathLns_;
6407  }
6417  public Builder setUseFullPathLnsValue(int value) {
6418 
6419  useFullPathLns_ = value;
6420  onChanged();
6421  return this;
6422  }
6431  @java.lang.Override
6433  @SuppressWarnings("deprecation")
6435  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6436  }
6447  if (value == null) {
6448  throw new NullPointerException();
6449  }
6450 
6451  useFullPathLns_ = value.getNumber();
6452  onChanged();
6453  return this;
6454  }
6464 
6465  useFullPathLns_ = 0;
6466  onChanged();
6467  return this;
6468  }
6469 
6470  private int useTspLns_ = 0;
6484  @java.lang.Override public int getUseTspLnsValue() {
6485  return useTspLns_;
6486  }
6501  public Builder setUseTspLnsValue(int value) {
6502 
6503  useTspLns_ = value;
6504  onChanged();
6505  return this;
6506  }
6520  @java.lang.Override
6522  @SuppressWarnings("deprecation")
6524  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6525  }
6541  if (value == null) {
6542  throw new NullPointerException();
6543  }
6544 
6545  useTspLns_ = value.getNumber();
6546  onChanged();
6547  return this;
6548  }
6563 
6564  useTspLns_ = 0;
6565  onChanged();
6566  return this;
6567  }
6568 
6569  private int useInactiveLns_ = 0;
6580  @java.lang.Override public int getUseInactiveLnsValue() {
6581  return useInactiveLns_;
6582  }
6594  public Builder setUseInactiveLnsValue(int value) {
6595 
6596  useInactiveLns_ = value;
6597  onChanged();
6598  return this;
6599  }
6610  @java.lang.Override
6612  @SuppressWarnings("deprecation")
6614  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6615  }
6628  if (value == null) {
6629  throw new NullPointerException();
6630  }
6631 
6632  useInactiveLns_ = value.getNumber();
6633  onChanged();
6634  return this;
6635  }
6647 
6648  useInactiveLns_ = 0;
6649  onChanged();
6650  return this;
6651  }
6652 
6653  private int useGlobalCheapestInsertionPathLns_ = 0;
6664  @java.lang.Override public int getUseGlobalCheapestInsertionPathLnsValue() {
6665  return useGlobalCheapestInsertionPathLns_;
6666  }
6679 
6680  useGlobalCheapestInsertionPathLns_ = value;
6681  onChanged();
6682  return this;
6683  }
6694  @java.lang.Override
6696  @SuppressWarnings("deprecation")
6697  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionPathLns_);
6698  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6699  }
6712  if (value == null) {
6713  throw new NullPointerException();
6714  }
6715 
6716  useGlobalCheapestInsertionPathLns_ = value.getNumber();
6717  onChanged();
6718  return this;
6719  }
6731 
6732  useGlobalCheapestInsertionPathLns_ = 0;
6733  onChanged();
6734  return this;
6735  }
6736 
6737  private int useLocalCheapestInsertionPathLns_ = 0;
6746  @java.lang.Override public int getUseLocalCheapestInsertionPathLnsValue() {
6747  return useLocalCheapestInsertionPathLns_;
6748  }
6759 
6760  useLocalCheapestInsertionPathLns_ = value;
6761  onChanged();
6762  return this;
6763  }
6772  @java.lang.Override
6774  @SuppressWarnings("deprecation")
6775  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionPathLns_);
6776  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6777  }
6788  if (value == null) {
6789  throw new NullPointerException();
6790  }
6791 
6792  useLocalCheapestInsertionPathLns_ = value.getNumber();
6793  onChanged();
6794  return this;
6795  }
6805 
6806  useLocalCheapestInsertionPathLns_ = 0;
6807  onChanged();
6808  return this;
6809  }
6810 
6811  private int useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
6823  return useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
6824  }
6837 
6838  useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = value;
6839  onChanged();
6840  return this;
6841  }
6852  @java.lang.Override
6854  @SuppressWarnings("deprecation")
6855  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocatePathGlobalCheapestInsertionInsertUnperformed_);
6856  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6857  }
6870  if (value == null) {
6871  throw new NullPointerException();
6872  }
6873 
6874  useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = value.getNumber();
6875  onChanged();
6876  return this;
6877  }
6889 
6890  useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
6891  onChanged();
6892  return this;
6893  }
6894 
6895  private int useGlobalCheapestInsertionExpensiveChainLns_ = 0;
6907  @java.lang.Override public int getUseGlobalCheapestInsertionExpensiveChainLnsValue() {
6908  return useGlobalCheapestInsertionExpensiveChainLns_;
6909  }
6923 
6924  useGlobalCheapestInsertionExpensiveChainLns_ = value;
6925  onChanged();
6926  return this;
6927  }
6939  @java.lang.Override
6941  @SuppressWarnings("deprecation")
6942  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionExpensiveChainLns_);
6943  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6944  }
6958  if (value == null) {
6959  throw new NullPointerException();
6960  }
6961 
6962  useGlobalCheapestInsertionExpensiveChainLns_ = value.getNumber();
6963  onChanged();
6964  return this;
6965  }
6978 
6979  useGlobalCheapestInsertionExpensiveChainLns_ = 0;
6980  onChanged();
6981  return this;
6982  }
6983 
6984  private int useLocalCheapestInsertionExpensiveChainLns_ = 0;
6994  @java.lang.Override public int getUseLocalCheapestInsertionExpensiveChainLnsValue() {
6995  return useLocalCheapestInsertionExpensiveChainLns_;
6996  }
7008 
7009  useLocalCheapestInsertionExpensiveChainLns_ = value;
7010  onChanged();
7011  return this;
7012  }
7022  @java.lang.Override
7024  @SuppressWarnings("deprecation")
7025  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionExpensiveChainLns_);
7026  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7027  }
7039  if (value == null) {
7040  throw new NullPointerException();
7041  }
7042 
7043  useLocalCheapestInsertionExpensiveChainLns_ = value.getNumber();
7044  onChanged();
7045  return this;
7046  }
7057 
7058  useLocalCheapestInsertionExpensiveChainLns_ = 0;
7059  onChanged();
7060  return this;
7061  }
7062 
7063  private int useGlobalCheapestInsertionCloseNodesLns_ = 0;
7075  @java.lang.Override public int getUseGlobalCheapestInsertionCloseNodesLnsValue() {
7076  return useGlobalCheapestInsertionCloseNodesLns_;
7077  }
7091 
7092  useGlobalCheapestInsertionCloseNodesLns_ = value;
7093  onChanged();
7094  return this;
7095  }
7107  @java.lang.Override
7109  @SuppressWarnings("deprecation")
7110  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionCloseNodesLns_);
7111  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7112  }
7126  if (value == null) {
7127  throw new NullPointerException();
7128  }
7129 
7130  useGlobalCheapestInsertionCloseNodesLns_ = value.getNumber();
7131  onChanged();
7132  return this;
7133  }
7146 
7147  useGlobalCheapestInsertionCloseNodesLns_ = 0;
7148  onChanged();
7149  return this;
7150  }
7151 
7152  private int useLocalCheapestInsertionCloseNodesLns_ = 0;
7162  @java.lang.Override public int getUseLocalCheapestInsertionCloseNodesLnsValue() {
7163  return useLocalCheapestInsertionCloseNodesLns_;
7164  }
7176 
7177  useLocalCheapestInsertionCloseNodesLns_ = value;
7178  onChanged();
7179  return this;
7180  }
7190  @java.lang.Override
7192  @SuppressWarnings("deprecation")
7193  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionCloseNodesLns_);
7194  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7195  }
7207  if (value == null) {
7208  throw new NullPointerException();
7209  }
7210 
7211  useLocalCheapestInsertionCloseNodesLns_ = value.getNumber();
7212  onChanged();
7213  return this;
7214  }
7225 
7226  useLocalCheapestInsertionCloseNodesLns_ = 0;
7227  onChanged();
7228  return this;
7229  }
7230  @java.lang.Override
7232  final com.google.protobuf.UnknownFieldSet unknownFields) {
7233  return super.setUnknownFields(unknownFields);
7234  }
7235 
7236  @java.lang.Override
7238  final com.google.protobuf.UnknownFieldSet unknownFields) {
7239  return super.mergeUnknownFields(unknownFields);
7240  }
7241 
7242 
7243  // @@protoc_insertion_point(builder_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
7244  }
7245 
7246  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
7248  static {
7250  }
7251 
7253  return DEFAULT_INSTANCE;
7254  }
7255 
7256  private static final com.google.protobuf.Parser<LocalSearchNeighborhoodOperators>
7257  PARSER = new com.google.protobuf.AbstractParser<LocalSearchNeighborhoodOperators>() {
7258  @java.lang.Override
7259  public LocalSearchNeighborhoodOperators parsePartialFrom(
7260  com.google.protobuf.CodedInputStream input,
7261  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7262  throws com.google.protobuf.InvalidProtocolBufferException {
7263  return new LocalSearchNeighborhoodOperators(input, extensionRegistry);
7264  }
7265  };
7266 
7267  public static com.google.protobuf.Parser<LocalSearchNeighborhoodOperators> parser() {
7268  return PARSER;
7269  }
7270 
7271  @java.lang.Override
7273  return PARSER;
7274  }
7275 
7276  @java.lang.Override
7278  return DEFAULT_INSTANCE;
7279  }
7280 
7281  }
7282 
7284  // @@protoc_insertion_point(interface_extends:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
7285  com.google.protobuf.MessageOrBuilder {
7286 
7298 
7312  }
7320  public static final class ImprovementSearchLimitParameters extends
7321  com.google.protobuf.GeneratedMessageV3 implements
7322  // @@protoc_insertion_point(message_implements:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
7324  private static final long serialVersionUID = 0L;
7325  // Use ImprovementSearchLimitParameters.newBuilder() to construct.
7326  private ImprovementSearchLimitParameters(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
7327  super(builder);
7328  }
7330  }
7331 
7332  @java.lang.Override
7333  @SuppressWarnings({"unused"})
7334  protected java.lang.Object newInstance(
7335  UnusedPrivateParameter unused) {
7336  return new ImprovementSearchLimitParameters();
7337  }
7338 
7339  @java.lang.Override
7340  public final com.google.protobuf.UnknownFieldSet
7342  return this.unknownFields;
7343  }
7345  com.google.protobuf.CodedInputStream input,
7346  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7347  throws com.google.protobuf.InvalidProtocolBufferException {
7348  this();
7349  if (extensionRegistry == null) {
7350  throw new java.lang.NullPointerException();
7351  }
7352  com.google.protobuf.UnknownFieldSet.Builder unknownFields =
7353  com.google.protobuf.UnknownFieldSet.newBuilder();
7354  try {
7355  boolean done = false;
7356  while (!done) {
7357  int tag = input.readTag();
7358  switch (tag) {
7359  case 0:
7360  done = true;
7361  break;
7362  case 305: {
7363 
7364  improvementRateCoefficient_ = input.readDouble();
7365  break;
7366  }
7367  case 312: {
7368 
7369  improvementRateSolutionsDistance_ = input.readInt32();
7370  break;
7371  }
7372  default: {
7373  if (!parseUnknownField(
7374  input, unknownFields, extensionRegistry, tag)) {
7375  done = true;
7376  }
7377  break;
7378  }
7379  }
7380  }
7381  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7382  throw e.setUnfinishedMessage(this);
7383  } catch (java.io.IOException e) {
7384  throw new com.google.protobuf.InvalidProtocolBufferException(
7385  e).setUnfinishedMessage(this);
7386  } finally {
7387  this.unknownFields = unknownFields.build();
7388  makeExtensionsImmutable();
7389  }
7390  }
7391  public static final com.google.protobuf.Descriptors.Descriptor
7393  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_descriptor;
7394  }
7395 
7396  @java.lang.Override
7397  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
7399  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_fieldAccessorTable
7400  .ensureFieldAccessorsInitialized(
7402  }
7403 
7404  public static final int IMPROVEMENT_RATE_COEFFICIENT_FIELD_NUMBER = 38;
7405  private double improvementRateCoefficient_;
7416  @java.lang.Override
7418  return improvementRateCoefficient_;
7419  }
7420 
7422  private int improvementRateSolutionsDistance_;
7435  @java.lang.Override
7437  return improvementRateSolutionsDistance_;
7438  }
7439 
7440  private byte memoizedIsInitialized = -1;
7441  @java.lang.Override
7442  public final boolean isInitialized() {
7443  byte isInitialized = memoizedIsInitialized;
7444  if (isInitialized == 1) return true;
7445  if (isInitialized == 0) return false;
7446 
7447  memoizedIsInitialized = 1;
7448  return true;
7449  }
7450 
7451  @java.lang.Override
7452  public void writeTo(com.google.protobuf.CodedOutputStream output)
7453  throws java.io.IOException {
7454  if (java.lang.Double.doubleToRawLongBits(improvementRateCoefficient_) != 0) {
7455  output.writeDouble(38, improvementRateCoefficient_);
7456  }
7457  if (improvementRateSolutionsDistance_ != 0) {
7458  output.writeInt32(39, improvementRateSolutionsDistance_);
7459  }
7460  unknownFields.writeTo(output);
7461  }
7462 
7463  @java.lang.Override
7464  public int getSerializedSize() {
7465  int size = memoizedSize;
7466  if (size != -1) return size;
7467 
7468  size = 0;
7469  if (java.lang.Double.doubleToRawLongBits(improvementRateCoefficient_) != 0) {
7470  size += com.google.protobuf.CodedOutputStream
7471  .computeDoubleSize(38, improvementRateCoefficient_);
7472  }
7473  if (improvementRateSolutionsDistance_ != 0) {
7474  size += com.google.protobuf.CodedOutputStream
7475  .computeInt32Size(39, improvementRateSolutionsDistance_);
7476  }
7477  size += unknownFields.getSerializedSize();
7478  memoizedSize = size;
7479  return size;
7480  }
7481 
7482  @java.lang.Override
7483  public boolean equals(final java.lang.Object obj) {
7484  if (obj == this) {
7485  return true;
7486  }
7488  return super.equals(obj);
7489  }
7491 
7492  if (java.lang.Double.doubleToLongBits(getImprovementRateCoefficient())
7493  != java.lang.Double.doubleToLongBits(
7494  other.getImprovementRateCoefficient())) return false;
7496  != other.getImprovementRateSolutionsDistance()) return false;
7497  if (!unknownFields.equals(other.unknownFields)) return false;
7498  return true;
7499  }
7500 
7501  @java.lang.Override
7502  public int hashCode() {
7503  if (memoizedHashCode != 0) {
7504  return memoizedHashCode;
7505  }
7506  int hash = 41;
7507  hash = (19 * hash) + getDescriptor().hashCode();
7508  hash = (37 * hash) + IMPROVEMENT_RATE_COEFFICIENT_FIELD_NUMBER;
7509  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7510  java.lang.Double.doubleToLongBits(getImprovementRateCoefficient()));
7512  hash = (53 * hash) + getImprovementRateSolutionsDistance();
7513  hash = (29 * hash) + unknownFields.hashCode();
7514  memoizedHashCode = hash;
7515  return hash;
7516  }
7517 
7519  java.nio.ByteBuffer data)
7520  throws com.google.protobuf.InvalidProtocolBufferException {
7521  return PARSER.parseFrom(data);
7522  }
7524  java.nio.ByteBuffer data,
7525  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7526  throws com.google.protobuf.InvalidProtocolBufferException {
7527  return PARSER.parseFrom(data, extensionRegistry);
7528  }
7530  com.google.protobuf.ByteString data)
7531  throws com.google.protobuf.InvalidProtocolBufferException {
7532  return PARSER.parseFrom(data);
7533  }
7535  com.google.protobuf.ByteString data,
7536  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7537  throws com.google.protobuf.InvalidProtocolBufferException {
7538  return PARSER.parseFrom(data, extensionRegistry);
7539  }
7541  throws com.google.protobuf.InvalidProtocolBufferException {
7542  return PARSER.parseFrom(data);
7543  }
7545  byte[] data,
7546  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7547  throws com.google.protobuf.InvalidProtocolBufferException {
7548  return PARSER.parseFrom(data, extensionRegistry);
7549  }
7551  throws java.io.IOException {
7552  return com.google.protobuf.GeneratedMessageV3
7553  .parseWithIOException(PARSER, input);
7554  }
7556  java.io.InputStream input,
7557  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7558  throws java.io.IOException {
7559  return com.google.protobuf.GeneratedMessageV3
7560  .parseWithIOException(PARSER, input, extensionRegistry);
7561  }
7563  throws java.io.IOException {
7564  return com.google.protobuf.GeneratedMessageV3
7565  .parseDelimitedWithIOException(PARSER, input);
7566  }
7568  java.io.InputStream input,
7569  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7570  throws java.io.IOException {
7571  return com.google.protobuf.GeneratedMessageV3
7572  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
7573  }
7575  com.google.protobuf.CodedInputStream input)
7576  throws java.io.IOException {
7577  return com.google.protobuf.GeneratedMessageV3
7578  .parseWithIOException(PARSER, input);
7579  }
7581  com.google.protobuf.CodedInputStream input,
7582  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7583  throws java.io.IOException {
7584  return com.google.protobuf.GeneratedMessageV3
7585  .parseWithIOException(PARSER, input, extensionRegistry);
7586  }
7587 
7588  @java.lang.Override
7589  public Builder newBuilderForType() { return newBuilder(); }
7590  public static Builder newBuilder() {
7591  return DEFAULT_INSTANCE.toBuilder();
7592  }
7594  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
7595  }
7596  @java.lang.Override
7597  public Builder toBuilder() {
7598  return this == DEFAULT_INSTANCE
7599  ? new Builder() : new Builder().mergeFrom(this);
7600  }
7601 
7602  @java.lang.Override
7604  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
7605  Builder builder = new Builder(parent);
7606  return builder;
7607  }
7615  public static final class Builder extends
7616  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
7617  // @@protoc_insertion_point(builder_implements:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
7619  public static final com.google.protobuf.Descriptors.Descriptor
7621  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_descriptor;
7622  }
7623 
7624  @java.lang.Override
7625  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
7627  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_fieldAccessorTable
7628  .ensureFieldAccessorsInitialized(
7630  }
7631 
7632  // Construct using com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.newBuilder()
7633  private Builder() {
7634  maybeForceBuilderInitialization();
7635  }
7636 
7637  private Builder(
7638  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
7639  super(parent);
7640  maybeForceBuilderInitialization();
7641  }
7642  private void maybeForceBuilderInitialization() {
7643  if (com.google.protobuf.GeneratedMessageV3
7644  .alwaysUseFieldBuilders) {
7645  }
7646  }
7647  @java.lang.Override
7648  public Builder clear() {
7649  super.clear();
7650  improvementRateCoefficient_ = 0D;
7651 
7652  improvementRateSolutionsDistance_ = 0;
7653 
7654  return this;
7655  }
7656 
7657  @java.lang.Override
7658  public com.google.protobuf.Descriptors.Descriptor
7660  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_descriptor;
7661  }
7662 
7663  @java.lang.Override
7666  }
7667 
7668  @java.lang.Override
7671  if (!result.isInitialized()) {
7672  throw newUninitializedMessageException(result);
7673  }
7674  return result;
7675  }
7676 
7677  @java.lang.Override
7680  result.improvementRateCoefficient_ = improvementRateCoefficient_;
7681  result.improvementRateSolutionsDistance_ = improvementRateSolutionsDistance_;
7682  onBuilt();
7683  return result;
7684  }
7685 
7686  @java.lang.Override
7687  public Builder clone() {
7688  return super.clone();
7689  }
7690  @java.lang.Override
7692  com.google.protobuf.Descriptors.FieldDescriptor field,
7693  java.lang.Object value) {
7694  return super.setField(field, value);
7695  }
7696  @java.lang.Override
7698  com.google.protobuf.Descriptors.FieldDescriptor field) {
7699  return super.clearField(field);
7700  }
7701  @java.lang.Override
7703  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
7704  return super.clearOneof(oneof);
7705  }
7706  @java.lang.Override
7708  com.google.protobuf.Descriptors.FieldDescriptor field,
7709  int index, java.lang.Object value) {
7710  return super.setRepeatedField(field, index, value);
7711  }
7712  @java.lang.Override
7714  com.google.protobuf.Descriptors.FieldDescriptor field,
7715  java.lang.Object value) {
7716  return super.addRepeatedField(field, value);
7717  }
7718  @java.lang.Override
7719  public Builder mergeFrom(com.google.protobuf.Message other) {
7722  } else {
7723  super.mergeFrom(other);
7724  return this;
7725  }
7726  }
7727 
7730  if (other.getImprovementRateCoefficient() != 0D) {
7731  setImprovementRateCoefficient(other.getImprovementRateCoefficient());
7732  }
7733  if (other.getImprovementRateSolutionsDistance() != 0) {
7734  setImprovementRateSolutionsDistance(other.getImprovementRateSolutionsDistance());
7735  }
7736  this.mergeUnknownFields(other.unknownFields);
7737  onChanged();
7738  return this;
7739  }
7740 
7741  @java.lang.Override
7742  public final boolean isInitialized() {
7743  return true;
7744  }
7745 
7746  @java.lang.Override
7748  com.google.protobuf.CodedInputStream input,
7749  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7750  throws java.io.IOException {
7752  try {
7753  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
7754  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7756  throw e.unwrapIOException();
7757  } finally {
7758  if (parsedMessage != null) {
7759  mergeFrom(parsedMessage);
7760  }
7761  }
7762  return this;
7763  }
7764 
7765  private double improvementRateCoefficient_ ;
7776  @java.lang.Override
7778  return improvementRateCoefficient_;
7779  }
7792 
7793  improvementRateCoefficient_ = value;
7794  onChanged();
7795  return this;
7796  }
7808 
7809  improvementRateCoefficient_ = 0D;
7810  onChanged();
7811  return this;
7812  }
7813 
7814  private int improvementRateSolutionsDistance_ ;
7827  @java.lang.Override
7829  return improvementRateSolutionsDistance_;
7830  }
7845 
7846  improvementRateSolutionsDistance_ = value;
7847  onChanged();
7848  return this;
7849  }
7863 
7864  improvementRateSolutionsDistance_ = 0;
7865  onChanged();
7866  return this;
7867  }
7868  @java.lang.Override
7870  final com.google.protobuf.UnknownFieldSet unknownFields) {
7871  return super.setUnknownFields(unknownFields);
7872  }
7873 
7874  @java.lang.Override
7876  final com.google.protobuf.UnknownFieldSet unknownFields) {
7877  return super.mergeUnknownFields(unknownFields);
7878  }
7879 
7880 
7881  // @@protoc_insertion_point(builder_scope:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
7882  }
7883 
7884  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
7886  static {
7888  }
7889 
7891  return DEFAULT_INSTANCE;
7892  }
7893 
7894  private static final com.google.protobuf.Parser<ImprovementSearchLimitParameters>
7895  PARSER = new com.google.protobuf.AbstractParser<ImprovementSearchLimitParameters>() {
7896  @java.lang.Override
7897  public ImprovementSearchLimitParameters parsePartialFrom(
7898  com.google.protobuf.CodedInputStream input,
7899  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7900  throws com.google.protobuf.InvalidProtocolBufferException {
7901  return new ImprovementSearchLimitParameters(input, extensionRegistry);
7902  }
7903  };
7904 
7905  public static com.google.protobuf.Parser<ImprovementSearchLimitParameters> parser() {
7906  return PARSER;
7907  }
7908 
7909  @java.lang.Override
7911  return PARSER;
7912  }
7913 
7914  @java.lang.Override
7916  return DEFAULT_INSTANCE;
7917  }
7918 
7919  }
7920 
7921  public static final int FIRST_SOLUTION_STRATEGY_FIELD_NUMBER = 1;
7922  private int firstSolutionStrategy_;
7931  @java.lang.Override public int getFirstSolutionStrategyValue() {
7932  return firstSolutionStrategy_;
7933  }
7943  @SuppressWarnings("deprecation")
7945  return result == null ? com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNRECOGNIZED : result;
7946  }
7947 
7949  private boolean useUnfilteredFirstSolutionStrategy_;
7960  @java.lang.Override
7962  return useUnfilteredFirstSolutionStrategy_;
7963  }
7964 
7965  public static final int SAVINGS_NEIGHBORS_RATIO_FIELD_NUMBER = 14;
7966  private double savingsNeighborsRatio_;
7977  @java.lang.Override
7978  public double getSavingsNeighborsRatio() {
7979  return savingsNeighborsRatio_;
7980  }
7981 
7982  public static final int SAVINGS_MAX_MEMORY_USAGE_BYTES_FIELD_NUMBER = 23;
7983  private double savingsMaxMemoryUsageBytes_;
7997  @java.lang.Override
7999  return savingsMaxMemoryUsageBytes_;
8000  }
8001 
8002  public static final int SAVINGS_ADD_REVERSE_ARCS_FIELD_NUMBER = 15;
8003  private boolean savingsAddReverseArcs_;
8013  @java.lang.Override
8014  public boolean getSavingsAddReverseArcs() {
8015  return savingsAddReverseArcs_;
8016  }
8017 
8018  public static final int SAVINGS_ARC_COEFFICIENT_FIELD_NUMBER = 18;
8019  private double savingsArcCoefficient_;
8032  @java.lang.Override
8033  public double getSavingsArcCoefficient() {
8034  return savingsArcCoefficient_;
8035  }
8036 
8037  public static final int SAVINGS_PARALLEL_ROUTES_FIELD_NUMBER = 19;
8038  private boolean savingsParallelRoutes_;
8047  @java.lang.Override
8048  public boolean getSavingsParallelRoutes() {
8049  return savingsParallelRoutes_;
8050  }
8051 
8053  private double cheapestInsertionFarthestSeedsRatio_;
8064  @java.lang.Override
8066  return cheapestInsertionFarthestSeedsRatio_;
8067  }
8068 
8070  private double cheapestInsertionFirstSolutionNeighborsRatio_;
8092  @java.lang.Override
8094  return cheapestInsertionFirstSolutionNeighborsRatio_;
8095  }
8096 
8098  private int cheapestInsertionFirstSolutionMinNeighbors_;
8103  @java.lang.Override
8105  return cheapestInsertionFirstSolutionMinNeighbors_;
8106  }
8107 
8109  private double cheapestInsertionLsOperatorNeighborsRatio_;
8121  @java.lang.Override
8123  return cheapestInsertionLsOperatorNeighborsRatio_;
8124  }
8125 
8127  private int cheapestInsertionLsOperatorMinNeighbors_;
8132  @java.lang.Override
8134  return cheapestInsertionLsOperatorMinNeighbors_;
8135  }
8136 
8138  private boolean cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_;
8148  @java.lang.Override
8150  return cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_;
8151  }
8152 
8154  private boolean cheapestInsertionAddUnperformedEntries_;
8164  @java.lang.Override
8166  return cheapestInsertionAddUnperformedEntries_;
8167  }
8168 
8170  private boolean christofidesUseMinimumMatching_;
8180  @java.lang.Override
8182  return christofidesUseMinimumMatching_;
8183  }
8184 
8185  public static final int LOCAL_SEARCH_OPERATORS_FIELD_NUMBER = 3;
8191  @java.lang.Override
8192  public boolean hasLocalSearchOperators() {
8193  return localSearchOperators_ != null;
8194  }
8199  @java.lang.Override
8201  return localSearchOperators_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
8202  }
8206  @java.lang.Override
8208  return getLocalSearchOperators();
8209  }
8210 
8212  private boolean useMultiArmedBanditConcatenateOperators_;
8223  @java.lang.Override
8225  return useMultiArmedBanditConcatenateOperators_;
8226  }
8227 
8229  private double multiArmedBanditCompoundOperatorMemoryCoefficient_;
8241  @java.lang.Override
8243  return multiArmedBanditCompoundOperatorMemoryCoefficient_;
8244  }
8245 
8247  private double multiArmedBanditCompoundOperatorExplorationCoefficient_;
8258  @java.lang.Override
8260  return multiArmedBanditCompoundOperatorExplorationCoefficient_;
8261  }
8262 
8264  private int relocateExpensiveChainNumArcsToConsider_;
8279  @java.lang.Override
8281  return relocateExpensiveChainNumArcsToConsider_;
8282  }
8283 
8285  private int heuristicExpensiveChainLnsNumArcsToConsider_;
8295  @java.lang.Override
8297  return heuristicExpensiveChainLnsNumArcsToConsider_;
8298  }
8299 
8301  private int heuristicCloseNodesLnsNumNodes_;
8311  @java.lang.Override
8313  return heuristicCloseNodesLnsNumNodes_;
8314  }
8315 
8316  public static final int LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER = 4;
8317  private int localSearchMetaheuristic_;
8326  @java.lang.Override public int getLocalSearchMetaheuristicValue() {
8327  return localSearchMetaheuristic_;
8328  }
8338  @SuppressWarnings("deprecation")
8341  }
8342 
8344  private double guidedLocalSearchLambdaCoefficient_;
8356  @java.lang.Override
8358  return guidedLocalSearchLambdaCoefficient_;
8359  }
8360 
8361  public static final int USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER = 6;
8362  private boolean useDepthFirstSearch_;
8373  @java.lang.Override
8374  public boolean getUseDepthFirstSearch() {
8375  return useDepthFirstSearch_;
8376  }
8377 
8378  public static final int USE_CP_FIELD_NUMBER = 28;
8379  private int useCp_;
8390  @java.lang.Override public int getUseCpValue() {
8391  return useCp_;
8392  }
8403  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseCp() {
8404  @SuppressWarnings("deprecation")
8406  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
8407  }
8408 
8409  public static final int USE_CP_SAT_FIELD_NUMBER = 27;
8410  private int useCpSat_;
8422  @java.lang.Override public int getUseCpSatValue() {
8423  return useCpSat_;
8424  }
8436  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseCpSat() {
8437  @SuppressWarnings("deprecation")
8439  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
8440  }
8441 
8442  public static final int USE_GENERALIZED_CP_SAT_FIELD_NUMBER = 47;
8443  private int useGeneralizedCpSat_;
8455  @java.lang.Override public int getUseGeneralizedCpSatValue() {
8456  return useGeneralizedCpSat_;
8457  }
8470  @SuppressWarnings("deprecation")
8472  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
8473  }
8474 
8475  public static final int SAT_PARAMETERS_FIELD_NUMBER = 48;
8476  private com.google.ortools.sat.SatParameters satParameters_;
8486  @java.lang.Override
8487  public boolean hasSatParameters() {
8488  return satParameters_ != null;
8489  }
8499  @java.lang.Override
8501  return satParameters_ == null ? com.google.ortools.sat.SatParameters.getDefaultInstance() : satParameters_;
8502  }
8511  @java.lang.Override
8513  return getSatParameters();
8514  }
8515 
8516  public static final int CONTINUOUS_SCHEDULING_SOLVER_FIELD_NUMBER = 33;
8517  private int continuousSchedulingSolver_;
8522  @java.lang.Override public int getContinuousSchedulingSolverValue() {
8523  return continuousSchedulingSolver_;
8524  }
8530  @SuppressWarnings("deprecation")
8533  }
8534 
8535  public static final int MIXED_INTEGER_SCHEDULING_SOLVER_FIELD_NUMBER = 34;
8536  private int mixedIntegerSchedulingSolver_;
8541  @java.lang.Override public int getMixedIntegerSchedulingSolverValue() {
8542  return mixedIntegerSchedulingSolver_;
8543  }
8549  @SuppressWarnings("deprecation")
8552  }
8553 
8554  public static final int OPTIMIZATION_STEP_FIELD_NUMBER = 7;
8555  private double optimizationStep_;
8566  @java.lang.Override
8567  public double getOptimizationStep() {
8568  return optimizationStep_;
8569  }
8570 
8571  public static final int NUMBER_OF_SOLUTIONS_TO_COLLECT_FIELD_NUMBER = 17;
8572  private int numberOfSolutionsToCollect_;
8582  @java.lang.Override
8584  return numberOfSolutionsToCollect_;
8585  }
8586 
8587  public static final int SOLUTION_LIMIT_FIELD_NUMBER = 8;
8588  private long solutionLimit_;
8599  @java.lang.Override
8600  public long getSolutionLimit() {
8601  return solutionLimit_;
8602  }
8603 
8604  public static final int TIME_LIMIT_FIELD_NUMBER = 9;
8605  private com.google.protobuf.Duration timeLimit_;
8614  @java.lang.Override
8615  public boolean hasTimeLimit() {
8616  return timeLimit_ != null;
8617  }
8626  @java.lang.Override
8627  public com.google.protobuf.Duration getTimeLimit() {
8628  return timeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
8629  }
8637  @java.lang.Override
8638  public com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder() {
8639  return getTimeLimit();
8640  }
8641 
8642  public static final int LNS_TIME_LIMIT_FIELD_NUMBER = 10;
8643  private com.google.protobuf.Duration lnsTimeLimit_;
8653  @java.lang.Override
8654  public boolean hasLnsTimeLimit() {
8655  return lnsTimeLimit_ != null;
8656  }
8666  @java.lang.Override
8667  public com.google.protobuf.Duration getLnsTimeLimit() {
8668  return lnsTimeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
8669  }
8678  @java.lang.Override
8679  public com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder() {
8680  return getLnsTimeLimit();
8681  }
8682 
8683  public static final int IMPROVEMENT_LIMIT_PARAMETERS_FIELD_NUMBER = 37;
8694  @java.lang.Override
8696  return improvementLimitParameters_ != null;
8697  }
8707  @java.lang.Override
8709  return improvementLimitParameters_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance() : improvementLimitParameters_;
8710  }
8719  @java.lang.Override
8722  }
8723 
8724  public static final int USE_FULL_PROPAGATION_FIELD_NUMBER = 11;
8725  private boolean useFullPropagation_;
8742  @java.lang.Override
8743  public boolean getUseFullPropagation() {
8744  return useFullPropagation_;
8745  }
8746 
8747  public static final int LOG_SEARCH_FIELD_NUMBER = 13;
8748  private boolean logSearch_;
8768  @java.lang.Override
8769  public boolean getLogSearch() {
8770  return logSearch_;
8771  }
8772 
8773  public static final int LOG_COST_SCALING_FACTOR_FIELD_NUMBER = 22;
8774  private double logCostScalingFactor_;
8784  @java.lang.Override
8785  public double getLogCostScalingFactor() {
8786  return logCostScalingFactor_;
8787  }
8788 
8789  public static final int LOG_COST_OFFSET_FIELD_NUMBER = 29;
8790  private double logCostOffset_;
8795  @java.lang.Override
8796  public double getLogCostOffset() {
8797  return logCostOffset_;
8798  }
8799 
8800  public static final int LOG_TAG_FIELD_NUMBER = 36;
8801  private volatile java.lang.Object logTag_;
8811  @java.lang.Override
8812  public java.lang.String getLogTag() {
8813  java.lang.Object ref = logTag_;
8814  if (ref instanceof java.lang.String) {
8815  return (java.lang.String) ref;
8816  } else {
8817  com.google.protobuf.ByteString bs =
8818  (com.google.protobuf.ByteString) ref;
8819  java.lang.String s = bs.toStringUtf8();
8820  logTag_ = s;
8821  return s;
8822  }
8823  }
8833  @java.lang.Override
8834  public com.google.protobuf.ByteString
8836  java.lang.Object ref = logTag_;
8837  if (ref instanceof java.lang.String) {
8838  com.google.protobuf.ByteString b =
8839  com.google.protobuf.ByteString.copyFromUtf8(
8840  (java.lang.String) ref);
8841  logTag_ = b;
8842  return b;
8843  } else {
8844  return (com.google.protobuf.ByteString) ref;
8845  }
8846  }
8847 
8848  private byte memoizedIsInitialized = -1;
8849  @java.lang.Override
8850  public final boolean isInitialized() {
8851  byte isInitialized = memoizedIsInitialized;
8852  if (isInitialized == 1) return true;
8853  if (isInitialized == 0) return false;
8854 
8855  memoizedIsInitialized = 1;
8856  return true;
8857  }
8858 
8859  @java.lang.Override
8860  public void writeTo(com.google.protobuf.CodedOutputStream output)
8861  throws java.io.IOException {
8862  if (firstSolutionStrategy_ != com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNSET.getNumber()) {
8863  output.writeEnum(1, firstSolutionStrategy_);
8864  }
8865  if (useUnfilteredFirstSolutionStrategy_ != false) {
8866  output.writeBool(2, useUnfilteredFirstSolutionStrategy_);
8867  }
8868  if (localSearchOperators_ != null) {
8869  output.writeMessage(3, getLocalSearchOperators());
8870  }
8871  if (localSearchMetaheuristic_ != com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNSET.getNumber()) {
8872  output.writeEnum(4, localSearchMetaheuristic_);
8873  }
8874  if (java.lang.Double.doubleToRawLongBits(guidedLocalSearchLambdaCoefficient_) != 0) {
8875  output.writeDouble(5, guidedLocalSearchLambdaCoefficient_);
8876  }
8877  if (useDepthFirstSearch_ != false) {
8878  output.writeBool(6, useDepthFirstSearch_);
8879  }
8880  if (java.lang.Double.doubleToRawLongBits(optimizationStep_) != 0) {
8881  output.writeDouble(7, optimizationStep_);
8882  }
8883  if (solutionLimit_ != 0L) {
8884  output.writeInt64(8, solutionLimit_);
8885  }
8886  if (timeLimit_ != null) {
8887  output.writeMessage(9, getTimeLimit());
8888  }
8889  if (lnsTimeLimit_ != null) {
8890  output.writeMessage(10, getLnsTimeLimit());
8891  }
8892  if (useFullPropagation_ != false) {
8893  output.writeBool(11, useFullPropagation_);
8894  }
8895  if (logSearch_ != false) {
8896  output.writeBool(13, logSearch_);
8897  }
8898  if (java.lang.Double.doubleToRawLongBits(savingsNeighborsRatio_) != 0) {
8899  output.writeDouble(14, savingsNeighborsRatio_);
8900  }
8901  if (savingsAddReverseArcs_ != false) {
8902  output.writeBool(15, savingsAddReverseArcs_);
8903  }
8904  if (java.lang.Double.doubleToRawLongBits(cheapestInsertionFarthestSeedsRatio_) != 0) {
8905  output.writeDouble(16, cheapestInsertionFarthestSeedsRatio_);
8906  }
8907  if (numberOfSolutionsToCollect_ != 0) {
8908  output.writeInt32(17, numberOfSolutionsToCollect_);
8909  }
8910  if (java.lang.Double.doubleToRawLongBits(savingsArcCoefficient_) != 0) {
8911  output.writeDouble(18, savingsArcCoefficient_);
8912  }
8913  if (savingsParallelRoutes_ != false) {
8914  output.writeBool(19, savingsParallelRoutes_);
8915  }
8916  if (relocateExpensiveChainNumArcsToConsider_ != 0) {
8917  output.writeInt32(20, relocateExpensiveChainNumArcsToConsider_);
8918  }
8919  if (java.lang.Double.doubleToRawLongBits(cheapestInsertionFirstSolutionNeighborsRatio_) != 0) {
8920  output.writeDouble(21, cheapestInsertionFirstSolutionNeighborsRatio_);
8921  }
8922  if (java.lang.Double.doubleToRawLongBits(logCostScalingFactor_) != 0) {
8923  output.writeDouble(22, logCostScalingFactor_);
8924  }
8925  if (java.lang.Double.doubleToRawLongBits(savingsMaxMemoryUsageBytes_) != 0) {
8926  output.writeDouble(23, savingsMaxMemoryUsageBytes_);
8927  }
8928  if (useCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
8929  output.writeEnum(27, useCpSat_);
8930  }
8931  if (useCp_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
8932  output.writeEnum(28, useCp_);
8933  }
8934  if (java.lang.Double.doubleToRawLongBits(logCostOffset_) != 0) {
8935  output.writeDouble(29, logCostOffset_);
8936  }
8937  if (christofidesUseMinimumMatching_ != false) {
8938  output.writeBool(30, christofidesUseMinimumMatching_);
8939  }
8940  if (java.lang.Double.doubleToRawLongBits(cheapestInsertionLsOperatorNeighborsRatio_) != 0) {
8941  output.writeDouble(31, cheapestInsertionLsOperatorNeighborsRatio_);
8942  }
8943  if (heuristicExpensiveChainLnsNumArcsToConsider_ != 0) {
8944  output.writeInt32(32, heuristicExpensiveChainLnsNumArcsToConsider_);
8945  }
8946  if (continuousSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNSET.getNumber()) {
8947  output.writeEnum(33, continuousSchedulingSolver_);
8948  }
8949  if (mixedIntegerSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNSET.getNumber()) {
8950  output.writeEnum(34, mixedIntegerSchedulingSolver_);
8951  }
8952  if (heuristicCloseNodesLnsNumNodes_ != 0) {
8953  output.writeInt32(35, heuristicCloseNodesLnsNumNodes_);
8954  }
8955  if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(logTag_)) {
8956  com.google.protobuf.GeneratedMessageV3.writeString(output, 36, logTag_);
8957  }
8958  if (improvementLimitParameters_ != null) {
8959  output.writeMessage(37, getImprovementLimitParameters());
8960  }
8961  if (cheapestInsertionAddUnperformedEntries_ != false) {
8962  output.writeBool(40, cheapestInsertionAddUnperformedEntries_);
8963  }
8964  if (useMultiArmedBanditConcatenateOperators_ != false) {
8965  output.writeBool(41, useMultiArmedBanditConcatenateOperators_);
8966  }
8967  if (java.lang.Double.doubleToRawLongBits(multiArmedBanditCompoundOperatorMemoryCoefficient_) != 0) {
8968  output.writeDouble(42, multiArmedBanditCompoundOperatorMemoryCoefficient_);
8969  }
8970  if (java.lang.Double.doubleToRawLongBits(multiArmedBanditCompoundOperatorExplorationCoefficient_) != 0) {
8971  output.writeDouble(43, multiArmedBanditCompoundOperatorExplorationCoefficient_);
8972  }
8973  if (cheapestInsertionFirstSolutionMinNeighbors_ != 0) {
8974  output.writeInt32(44, cheapestInsertionFirstSolutionMinNeighbors_);
8975  }
8976  if (cheapestInsertionLsOperatorMinNeighbors_ != 0) {
8977  output.writeInt32(45, cheapestInsertionLsOperatorMinNeighbors_);
8978  }
8979  if (cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ != false) {
8980  output.writeBool(46, cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_);
8981  }
8982  if (useGeneralizedCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
8983  output.writeEnum(47, useGeneralizedCpSat_);
8984  }
8985  if (satParameters_ != null) {
8986  output.writeMessage(48, getSatParameters());
8987  }
8988  unknownFields.writeTo(output);
8989  }
8990 
8991  @java.lang.Override
8992  public int getSerializedSize() {
8993  int size = memoizedSize;
8994  if (size != -1) return size;
8995 
8996  size = 0;
8997  if (firstSolutionStrategy_ != com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNSET.getNumber()) {
8998  size += com.google.protobuf.CodedOutputStream
8999  .computeEnumSize(1, firstSolutionStrategy_);
9000  }
9001  if (useUnfilteredFirstSolutionStrategy_ != false) {
9002  size += com.google.protobuf.CodedOutputStream
9003  .computeBoolSize(2, useUnfilteredFirstSolutionStrategy_);
9004  }
9005  if (localSearchOperators_ != null) {
9006  size += com.google.protobuf.CodedOutputStream
9007  .computeMessageSize(3, getLocalSearchOperators());
9008  }
9009  if (localSearchMetaheuristic_ != com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNSET.getNumber()) {
9010  size += com.google.protobuf.CodedOutputStream
9011  .computeEnumSize(4, localSearchMetaheuristic_);
9012  }
9013  if (java.lang.Double.doubleToRawLongBits(guidedLocalSearchLambdaCoefficient_) != 0) {
9014  size += com.google.protobuf.CodedOutputStream
9015  .computeDoubleSize(5, guidedLocalSearchLambdaCoefficient_);
9016  }
9017  if (useDepthFirstSearch_ != false) {
9018  size += com.google.protobuf.CodedOutputStream
9019  .computeBoolSize(6, useDepthFirstSearch_);
9020  }
9021  if (java.lang.Double.doubleToRawLongBits(optimizationStep_) != 0) {
9022  size += com.google.protobuf.CodedOutputStream
9023  .computeDoubleSize(7, optimizationStep_);
9024  }
9025  if (solutionLimit_ != 0L) {
9026  size += com.google.protobuf.CodedOutputStream
9027  .computeInt64Size(8, solutionLimit_);
9028  }
9029  if (timeLimit_ != null) {
9030  size += com.google.protobuf.CodedOutputStream
9031  .computeMessageSize(9, getTimeLimit());
9032  }
9033  if (lnsTimeLimit_ != null) {
9034  size += com.google.protobuf.CodedOutputStream
9035  .computeMessageSize(10, getLnsTimeLimit());
9036  }
9037  if (useFullPropagation_ != false) {
9038  size += com.google.protobuf.CodedOutputStream
9039  .computeBoolSize(11, useFullPropagation_);
9040  }
9041  if (logSearch_ != false) {
9042  size += com.google.protobuf.CodedOutputStream
9043  .computeBoolSize(13, logSearch_);
9044  }
9045  if (java.lang.Double.doubleToRawLongBits(savingsNeighborsRatio_) != 0) {
9046  size += com.google.protobuf.CodedOutputStream
9047  .computeDoubleSize(14, savingsNeighborsRatio_);
9048  }
9049  if (savingsAddReverseArcs_ != false) {
9050  size += com.google.protobuf.CodedOutputStream
9051  .computeBoolSize(15, savingsAddReverseArcs_);
9052  }
9053  if (java.lang.Double.doubleToRawLongBits(cheapestInsertionFarthestSeedsRatio_) != 0) {
9054  size += com.google.protobuf.CodedOutputStream
9055  .computeDoubleSize(16, cheapestInsertionFarthestSeedsRatio_);
9056  }
9057  if (numberOfSolutionsToCollect_ != 0) {
9058  size += com.google.protobuf.CodedOutputStream
9059  .computeInt32Size(17, numberOfSolutionsToCollect_);
9060  }
9061  if (java.lang.Double.doubleToRawLongBits(savingsArcCoefficient_) != 0) {
9062  size += com.google.protobuf.CodedOutputStream
9063  .computeDoubleSize(18, savingsArcCoefficient_);
9064  }
9065  if (savingsParallelRoutes_ != false) {
9066  size += com.google.protobuf.CodedOutputStream
9067  .computeBoolSize(19, savingsParallelRoutes_);
9068  }
9069  if (relocateExpensiveChainNumArcsToConsider_ != 0) {
9070  size += com.google.protobuf.CodedOutputStream
9071  .computeInt32Size(20, relocateExpensiveChainNumArcsToConsider_);
9072  }
9073  if (java.lang.Double.doubleToRawLongBits(cheapestInsertionFirstSolutionNeighborsRatio_) != 0) {
9074  size += com.google.protobuf.CodedOutputStream
9075  .computeDoubleSize(21, cheapestInsertionFirstSolutionNeighborsRatio_);
9076  }
9077  if (java.lang.Double.doubleToRawLongBits(logCostScalingFactor_) != 0) {
9078  size += com.google.protobuf.CodedOutputStream
9079  .computeDoubleSize(22, logCostScalingFactor_);
9080  }
9081  if (java.lang.Double.doubleToRawLongBits(savingsMaxMemoryUsageBytes_) != 0) {
9082  size += com.google.protobuf.CodedOutputStream
9083  .computeDoubleSize(23, savingsMaxMemoryUsageBytes_);
9084  }
9085  if (useCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
9086  size += com.google.protobuf.CodedOutputStream
9087  .computeEnumSize(27, useCpSat_);
9088  }
9089  if (useCp_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
9090  size += com.google.protobuf.CodedOutputStream
9091  .computeEnumSize(28, useCp_);
9092  }
9093  if (java.lang.Double.doubleToRawLongBits(logCostOffset_) != 0) {
9094  size += com.google.protobuf.CodedOutputStream
9095  .computeDoubleSize(29, logCostOffset_);
9096  }
9097  if (christofidesUseMinimumMatching_ != false) {
9098  size += com.google.protobuf.CodedOutputStream
9099  .computeBoolSize(30, christofidesUseMinimumMatching_);
9100  }
9101  if (java.lang.Double.doubleToRawLongBits(cheapestInsertionLsOperatorNeighborsRatio_) != 0) {
9102  size += com.google.protobuf.CodedOutputStream
9103  .computeDoubleSize(31, cheapestInsertionLsOperatorNeighborsRatio_);
9104  }
9105  if (heuristicExpensiveChainLnsNumArcsToConsider_ != 0) {
9106  size += com.google.protobuf.CodedOutputStream
9107  .computeInt32Size(32, heuristicExpensiveChainLnsNumArcsToConsider_);
9108  }
9109  if (continuousSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNSET.getNumber()) {
9110  size += com.google.protobuf.CodedOutputStream
9111  .computeEnumSize(33, continuousSchedulingSolver_);
9112  }
9113  if (mixedIntegerSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNSET.getNumber()) {
9114  size += com.google.protobuf.CodedOutputStream
9115  .computeEnumSize(34, mixedIntegerSchedulingSolver_);
9116  }
9117  if (heuristicCloseNodesLnsNumNodes_ != 0) {
9118  size += com.google.protobuf.CodedOutputStream
9119  .computeInt32Size(35, heuristicCloseNodesLnsNumNodes_);
9120  }
9121  if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(logTag_)) {
9122  size += com.google.protobuf.GeneratedMessageV3.computeStringSize(36, logTag_);
9123  }
9124  if (improvementLimitParameters_ != null) {
9125  size += com.google.protobuf.CodedOutputStream
9126  .computeMessageSize(37, getImprovementLimitParameters());
9127  }
9128  if (cheapestInsertionAddUnperformedEntries_ != false) {
9129  size += com.google.protobuf.CodedOutputStream
9130  .computeBoolSize(40, cheapestInsertionAddUnperformedEntries_);
9131  }
9132  if (useMultiArmedBanditConcatenateOperators_ != false) {
9133  size += com.google.protobuf.CodedOutputStream
9134  .computeBoolSize(41, useMultiArmedBanditConcatenateOperators_);
9135  }
9136  if (java.lang.Double.doubleToRawLongBits(multiArmedBanditCompoundOperatorMemoryCoefficient_) != 0) {
9137  size += com.google.protobuf.CodedOutputStream
9138  .computeDoubleSize(42, multiArmedBanditCompoundOperatorMemoryCoefficient_);
9139  }
9140  if (java.lang.Double.doubleToRawLongBits(multiArmedBanditCompoundOperatorExplorationCoefficient_) != 0) {
9141  size += com.google.protobuf.CodedOutputStream
9142  .computeDoubleSize(43, multiArmedBanditCompoundOperatorExplorationCoefficient_);
9143  }
9144  if (cheapestInsertionFirstSolutionMinNeighbors_ != 0) {
9145  size += com.google.protobuf.CodedOutputStream
9146  .computeInt32Size(44, cheapestInsertionFirstSolutionMinNeighbors_);
9147  }
9148  if (cheapestInsertionLsOperatorMinNeighbors_ != 0) {
9149  size += com.google.protobuf.CodedOutputStream
9150  .computeInt32Size(45, cheapestInsertionLsOperatorMinNeighbors_);
9151  }
9152  if (cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ != false) {
9153  size += com.google.protobuf.CodedOutputStream
9154  .computeBoolSize(46, cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_);
9155  }
9156  if (useGeneralizedCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
9157  size += com.google.protobuf.CodedOutputStream
9158  .computeEnumSize(47, useGeneralizedCpSat_);
9159  }
9160  if (satParameters_ != null) {
9161  size += com.google.protobuf.CodedOutputStream
9162  .computeMessageSize(48, getSatParameters());
9163  }
9164  size += unknownFields.getSerializedSize();
9165  memoizedSize = size;
9166  return size;
9167  }
9168 
9169  @java.lang.Override
9170  public boolean equals(final java.lang.Object obj) {
9171  if (obj == this) {
9172  return true;
9173  }
9174  if (!(obj instanceof com.google.ortools.constraintsolver.RoutingSearchParameters)) {
9175  return super.equals(obj);
9176  }
9178 
9179  if (firstSolutionStrategy_ != other.firstSolutionStrategy_) return false;
9181  != other.getUseUnfilteredFirstSolutionStrategy()) return false;
9182  if (java.lang.Double.doubleToLongBits(getSavingsNeighborsRatio())
9183  != java.lang.Double.doubleToLongBits(
9184  other.getSavingsNeighborsRatio())) return false;
9185  if (java.lang.Double.doubleToLongBits(getSavingsMaxMemoryUsageBytes())
9186  != java.lang.Double.doubleToLongBits(
9187  other.getSavingsMaxMemoryUsageBytes())) return false;
9189  != other.getSavingsAddReverseArcs()) return false;
9190  if (java.lang.Double.doubleToLongBits(getSavingsArcCoefficient())
9191  != java.lang.Double.doubleToLongBits(
9192  other.getSavingsArcCoefficient())) return false;
9194  != other.getSavingsParallelRoutes()) return false;
9195  if (java.lang.Double.doubleToLongBits(getCheapestInsertionFarthestSeedsRatio())
9196  != java.lang.Double.doubleToLongBits(
9197  other.getCheapestInsertionFarthestSeedsRatio())) return false;
9198  if (java.lang.Double.doubleToLongBits(getCheapestInsertionFirstSolutionNeighborsRatio())
9199  != java.lang.Double.doubleToLongBits(
9200  other.getCheapestInsertionFirstSolutionNeighborsRatio())) return false;
9202  != other.getCheapestInsertionFirstSolutionMinNeighbors()) return false;
9203  if (java.lang.Double.doubleToLongBits(getCheapestInsertionLsOperatorNeighborsRatio())
9204  != java.lang.Double.doubleToLongBits(
9205  other.getCheapestInsertionLsOperatorNeighborsRatio())) return false;
9207  != other.getCheapestInsertionLsOperatorMinNeighbors()) return false;
9209  != other.getCheapestInsertionFirstSolutionUseNeighborsRatioForInitialization()) return false;
9211  != other.getCheapestInsertionAddUnperformedEntries()) return false;
9213  != other.getChristofidesUseMinimumMatching()) return false;
9214  if (hasLocalSearchOperators() != other.hasLocalSearchOperators()) return false;
9215  if (hasLocalSearchOperators()) {
9217  .equals(other.getLocalSearchOperators())) return false;
9218  }
9220  != other.getUseMultiArmedBanditConcatenateOperators()) return false;
9221  if (java.lang.Double.doubleToLongBits(getMultiArmedBanditCompoundOperatorMemoryCoefficient())
9222  != java.lang.Double.doubleToLongBits(
9223  other.getMultiArmedBanditCompoundOperatorMemoryCoefficient())) return false;
9224  if (java.lang.Double.doubleToLongBits(getMultiArmedBanditCompoundOperatorExplorationCoefficient())
9225  != java.lang.Double.doubleToLongBits(
9226  other.getMultiArmedBanditCompoundOperatorExplorationCoefficient())) return false;
9228  != other.getRelocateExpensiveChainNumArcsToConsider()) return false;
9230  != other.getHeuristicExpensiveChainLnsNumArcsToConsider()) return false;
9232  != other.getHeuristicCloseNodesLnsNumNodes()) return false;
9233  if (localSearchMetaheuristic_ != other.localSearchMetaheuristic_) return false;
9234  if (java.lang.Double.doubleToLongBits(getGuidedLocalSearchLambdaCoefficient())
9235  != java.lang.Double.doubleToLongBits(
9236  other.getGuidedLocalSearchLambdaCoefficient())) return false;
9238  != other.getUseDepthFirstSearch()) return false;
9239  if (useCp_ != other.useCp_) return false;
9240  if (useCpSat_ != other.useCpSat_) return false;
9241  if (useGeneralizedCpSat_ != other.useGeneralizedCpSat_) return false;
9242  if (hasSatParameters() != other.hasSatParameters()) return false;
9243  if (hasSatParameters()) {
9244  if (!getSatParameters()
9245  .equals(other.getSatParameters())) return false;
9246  }
9247  if (continuousSchedulingSolver_ != other.continuousSchedulingSolver_) return false;
9248  if (mixedIntegerSchedulingSolver_ != other.mixedIntegerSchedulingSolver_) return false;
9249  if (java.lang.Double.doubleToLongBits(getOptimizationStep())
9250  != java.lang.Double.doubleToLongBits(
9251  other.getOptimizationStep())) return false;
9253  != other.getNumberOfSolutionsToCollect()) return false;
9254  if (getSolutionLimit()
9255  != other.getSolutionLimit()) return false;
9256  if (hasTimeLimit() != other.hasTimeLimit()) return false;
9257  if (hasTimeLimit()) {
9258  if (!getTimeLimit()
9259  .equals(other.getTimeLimit())) return false;
9260  }
9261  if (hasLnsTimeLimit() != other.hasLnsTimeLimit()) return false;
9262  if (hasLnsTimeLimit()) {
9263  if (!getLnsTimeLimit()
9264  .equals(other.getLnsTimeLimit())) return false;
9265  }
9266  if (hasImprovementLimitParameters() != other.hasImprovementLimitParameters()) return false;
9269  .equals(other.getImprovementLimitParameters())) return false;
9270  }
9271  if (getUseFullPropagation()
9272  != other.getUseFullPropagation()) return false;
9273  if (getLogSearch()
9274  != other.getLogSearch()) return false;
9275  if (java.lang.Double.doubleToLongBits(getLogCostScalingFactor())
9276  != java.lang.Double.doubleToLongBits(
9277  other.getLogCostScalingFactor())) return false;
9278  if (java.lang.Double.doubleToLongBits(getLogCostOffset())
9279  != java.lang.Double.doubleToLongBits(
9280  other.getLogCostOffset())) return false;
9281  if (!getLogTag()
9282  .equals(other.getLogTag())) return false;
9283  if (!unknownFields.equals(other.unknownFields)) return false;
9284  return true;
9285  }
9286 
9287  @java.lang.Override
9288  public int hashCode() {
9289  if (memoizedHashCode != 0) {
9290  return memoizedHashCode;
9291  }
9292  int hash = 41;
9293  hash = (19 * hash) + getDescriptor().hashCode();
9294  hash = (37 * hash) + FIRST_SOLUTION_STRATEGY_FIELD_NUMBER;
9295  hash = (53 * hash) + firstSolutionStrategy_;
9297  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9299  hash = (37 * hash) + SAVINGS_NEIGHBORS_RATIO_FIELD_NUMBER;
9300  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9301  java.lang.Double.doubleToLongBits(getSavingsNeighborsRatio()));
9302  hash = (37 * hash) + SAVINGS_MAX_MEMORY_USAGE_BYTES_FIELD_NUMBER;
9303  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9304  java.lang.Double.doubleToLongBits(getSavingsMaxMemoryUsageBytes()));
9305  hash = (37 * hash) + SAVINGS_ADD_REVERSE_ARCS_FIELD_NUMBER;
9306  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9308  hash = (37 * hash) + SAVINGS_ARC_COEFFICIENT_FIELD_NUMBER;
9309  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9310  java.lang.Double.doubleToLongBits(getSavingsArcCoefficient()));
9311  hash = (37 * hash) + SAVINGS_PARALLEL_ROUTES_FIELD_NUMBER;
9312  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9315  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9316  java.lang.Double.doubleToLongBits(getCheapestInsertionFarthestSeedsRatio()));
9318  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9319  java.lang.Double.doubleToLongBits(getCheapestInsertionFirstSolutionNeighborsRatio()));
9321  hash = (53 * hash) + getCheapestInsertionFirstSolutionMinNeighbors();
9323  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9324  java.lang.Double.doubleToLongBits(getCheapestInsertionLsOperatorNeighborsRatio()));
9326  hash = (53 * hash) + getCheapestInsertionLsOperatorMinNeighbors();
9328  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9331  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9334  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9336  if (hasLocalSearchOperators()) {
9337  hash = (37 * hash) + LOCAL_SEARCH_OPERATORS_FIELD_NUMBER;
9338  hash = (53 * hash) + getLocalSearchOperators().hashCode();
9339  }
9341  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9344  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9345  java.lang.Double.doubleToLongBits(getMultiArmedBanditCompoundOperatorMemoryCoefficient()));
9347  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9348  java.lang.Double.doubleToLongBits(getMultiArmedBanditCompoundOperatorExplorationCoefficient()));
9350  hash = (53 * hash) + getRelocateExpensiveChainNumArcsToConsider();
9352  hash = (53 * hash) + getHeuristicExpensiveChainLnsNumArcsToConsider();
9354  hash = (53 * hash) + getHeuristicCloseNodesLnsNumNodes();
9355  hash = (37 * hash) + LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER;
9356  hash = (53 * hash) + localSearchMetaheuristic_;
9358  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9359  java.lang.Double.doubleToLongBits(getGuidedLocalSearchLambdaCoefficient()));
9360  hash = (37 * hash) + USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER;
9361  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9363  hash = (37 * hash) + USE_CP_FIELD_NUMBER;
9364  hash = (53 * hash) + useCp_;
9365  hash = (37 * hash) + USE_CP_SAT_FIELD_NUMBER;
9366  hash = (53 * hash) + useCpSat_;
9367  hash = (37 * hash) + USE_GENERALIZED_CP_SAT_FIELD_NUMBER;
9368  hash = (53 * hash) + useGeneralizedCpSat_;
9369  if (hasSatParameters()) {
9370  hash = (37 * hash) + SAT_PARAMETERS_FIELD_NUMBER;
9371  hash = (53 * hash) + getSatParameters().hashCode();
9372  }
9373  hash = (37 * hash) + CONTINUOUS_SCHEDULING_SOLVER_FIELD_NUMBER;
9374  hash = (53 * hash) + continuousSchedulingSolver_;
9375  hash = (37 * hash) + MIXED_INTEGER_SCHEDULING_SOLVER_FIELD_NUMBER;
9376  hash = (53 * hash) + mixedIntegerSchedulingSolver_;
9377  hash = (37 * hash) + OPTIMIZATION_STEP_FIELD_NUMBER;
9378  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9379  java.lang.Double.doubleToLongBits(getOptimizationStep()));
9380  hash = (37 * hash) + NUMBER_OF_SOLUTIONS_TO_COLLECT_FIELD_NUMBER;
9381  hash = (53 * hash) + getNumberOfSolutionsToCollect();
9382  hash = (37 * hash) + SOLUTION_LIMIT_FIELD_NUMBER;
9383  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9384  getSolutionLimit());
9385  if (hasTimeLimit()) {
9386  hash = (37 * hash) + TIME_LIMIT_FIELD_NUMBER;
9387  hash = (53 * hash) + getTimeLimit().hashCode();
9388  }
9389  if (hasLnsTimeLimit()) {
9390  hash = (37 * hash) + LNS_TIME_LIMIT_FIELD_NUMBER;
9391  hash = (53 * hash) + getLnsTimeLimit().hashCode();
9392  }
9394  hash = (37 * hash) + IMPROVEMENT_LIMIT_PARAMETERS_FIELD_NUMBER;
9395  hash = (53 * hash) + getImprovementLimitParameters().hashCode();
9396  }
9397  hash = (37 * hash) + USE_FULL_PROPAGATION_FIELD_NUMBER;
9398  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9400  hash = (37 * hash) + LOG_SEARCH_FIELD_NUMBER;
9401  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9402  getLogSearch());
9403  hash = (37 * hash) + LOG_COST_SCALING_FACTOR_FIELD_NUMBER;
9404  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9405  java.lang.Double.doubleToLongBits(getLogCostScalingFactor()));
9406  hash = (37 * hash) + LOG_COST_OFFSET_FIELD_NUMBER;
9407  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9408  java.lang.Double.doubleToLongBits(getLogCostOffset()));
9409  hash = (37 * hash) + LOG_TAG_FIELD_NUMBER;
9410  hash = (53 * hash) + getLogTag().hashCode();
9411  hash = (29 * hash) + unknownFields.hashCode();
9412  memoizedHashCode = hash;
9413  return hash;
9414  }
9415 
9417  java.nio.ByteBuffer data)
9418  throws com.google.protobuf.InvalidProtocolBufferException {
9419  return PARSER.parseFrom(data);
9420  }
9422  java.nio.ByteBuffer data,
9423  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9424  throws com.google.protobuf.InvalidProtocolBufferException {
9425  return PARSER.parseFrom(data, extensionRegistry);
9426  }
9428  com.google.protobuf.ByteString data)
9429  throws com.google.protobuf.InvalidProtocolBufferException {
9430  return PARSER.parseFrom(data);
9431  }
9433  com.google.protobuf.ByteString data,
9434  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9435  throws com.google.protobuf.InvalidProtocolBufferException {
9436  return PARSER.parseFrom(data, extensionRegistry);
9437  }
9439  throws com.google.protobuf.InvalidProtocolBufferException {
9440  return PARSER.parseFrom(data);
9441  }
9443  byte[] data,
9444  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9445  throws com.google.protobuf.InvalidProtocolBufferException {
9446  return PARSER.parseFrom(data, extensionRegistry);
9447  }
9448  public static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.io.InputStream input)
9449  throws java.io.IOException {
9450  return com.google.protobuf.GeneratedMessageV3
9451  .parseWithIOException(PARSER, input);
9452  }
9454  java.io.InputStream input,
9455  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9456  throws java.io.IOException {
9457  return com.google.protobuf.GeneratedMessageV3
9458  .parseWithIOException(PARSER, input, extensionRegistry);
9459  }
9461  throws java.io.IOException {
9462  return com.google.protobuf.GeneratedMessageV3
9463  .parseDelimitedWithIOException(PARSER, input);
9464  }
9466  java.io.InputStream input,
9467  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9468  throws java.io.IOException {
9469  return com.google.protobuf.GeneratedMessageV3
9470  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
9471  }
9473  com.google.protobuf.CodedInputStream input)
9474  throws java.io.IOException {
9475  return com.google.protobuf.GeneratedMessageV3
9476  .parseWithIOException(PARSER, input);
9477  }
9479  com.google.protobuf.CodedInputStream input,
9480  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9481  throws java.io.IOException {
9482  return com.google.protobuf.GeneratedMessageV3
9483  .parseWithIOException(PARSER, input, extensionRegistry);
9484  }
9485 
9486  @java.lang.Override
9487  public Builder newBuilderForType() { return newBuilder(); }
9488  public static Builder newBuilder() {
9489  return DEFAULT_INSTANCE.toBuilder();
9490  }
9492  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
9493  }
9494  @java.lang.Override
9495  public Builder toBuilder() {
9496  return this == DEFAULT_INSTANCE
9497  ? new Builder() : new Builder().mergeFrom(this);
9498  }
9499 
9500  @java.lang.Override
9502  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
9503  Builder builder = new Builder(parent);
9504  return builder;
9505  }
9518  public static final class Builder extends
9519  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
9520  // @@protoc_insertion_point(builder_implements:operations_research.RoutingSearchParameters)
9521  com.google.ortools.constraintsolver.RoutingSearchParametersOrBuilder {
9522  public static final com.google.protobuf.Descriptors.Descriptor
9524  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
9525  }
9526 
9527  @java.lang.Override
9528  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
9530  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_fieldAccessorTable
9531  .ensureFieldAccessorsInitialized(
9533  }
9534 
9535  // Construct using com.google.ortools.constraintsolver.RoutingSearchParameters.newBuilder()
9536  private Builder() {
9537  maybeForceBuilderInitialization();
9538  }
9539 
9540  private Builder(
9541  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
9542  super(parent);
9543  maybeForceBuilderInitialization();
9544  }
9545  private void maybeForceBuilderInitialization() {
9546  if (com.google.protobuf.GeneratedMessageV3
9547  .alwaysUseFieldBuilders) {
9548  }
9549  }
9550  @java.lang.Override
9551  public Builder clear() {
9552  super.clear();
9553  firstSolutionStrategy_ = 0;
9554 
9555  useUnfilteredFirstSolutionStrategy_ = false;
9556 
9557  savingsNeighborsRatio_ = 0D;
9558 
9559  savingsMaxMemoryUsageBytes_ = 0D;
9560 
9561  savingsAddReverseArcs_ = false;
9562 
9563  savingsArcCoefficient_ = 0D;
9564 
9565  savingsParallelRoutes_ = false;
9566 
9567  cheapestInsertionFarthestSeedsRatio_ = 0D;
9568 
9569  cheapestInsertionFirstSolutionNeighborsRatio_ = 0D;
9570 
9571  cheapestInsertionFirstSolutionMinNeighbors_ = 0;
9572 
9573  cheapestInsertionLsOperatorNeighborsRatio_ = 0D;
9574 
9575  cheapestInsertionLsOperatorMinNeighbors_ = 0;
9576 
9577  cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ = false;
9578 
9579  cheapestInsertionAddUnperformedEntries_ = false;
9580 
9581  christofidesUseMinimumMatching_ = false;
9582 
9583  if (localSearchOperatorsBuilder_ == null) {
9584  localSearchOperators_ = null;
9585  } else {
9586  localSearchOperators_ = null;
9587  localSearchOperatorsBuilder_ = null;
9588  }
9589  useMultiArmedBanditConcatenateOperators_ = false;
9590 
9591  multiArmedBanditCompoundOperatorMemoryCoefficient_ = 0D;
9592 
9593  multiArmedBanditCompoundOperatorExplorationCoefficient_ = 0D;
9594 
9595  relocateExpensiveChainNumArcsToConsider_ = 0;
9596 
9597  heuristicExpensiveChainLnsNumArcsToConsider_ = 0;
9598 
9599  heuristicCloseNodesLnsNumNodes_ = 0;
9600 
9601  localSearchMetaheuristic_ = 0;
9602 
9603  guidedLocalSearchLambdaCoefficient_ = 0D;
9604 
9605  useDepthFirstSearch_ = false;
9606 
9607  useCp_ = 0;
9608 
9609  useCpSat_ = 0;
9610 
9611  useGeneralizedCpSat_ = 0;
9612 
9613  if (satParametersBuilder_ == null) {
9614  satParameters_ = null;
9615  } else {
9616  satParameters_ = null;
9617  satParametersBuilder_ = null;
9618  }
9619  continuousSchedulingSolver_ = 0;
9620 
9621  mixedIntegerSchedulingSolver_ = 0;
9622 
9623  optimizationStep_ = 0D;
9624 
9625  numberOfSolutionsToCollect_ = 0;
9626 
9627  solutionLimit_ = 0L;
9628 
9629  if (timeLimitBuilder_ == null) {
9630  timeLimit_ = null;
9631  } else {
9632  timeLimit_ = null;
9633  timeLimitBuilder_ = null;
9634  }
9635  if (lnsTimeLimitBuilder_ == null) {
9636  lnsTimeLimit_ = null;
9637  } else {
9638  lnsTimeLimit_ = null;
9639  lnsTimeLimitBuilder_ = null;
9640  }
9641  if (improvementLimitParametersBuilder_ == null) {
9642  improvementLimitParameters_ = null;
9643  } else {
9644  improvementLimitParameters_ = null;
9645  improvementLimitParametersBuilder_ = null;
9646  }
9647  useFullPropagation_ = false;
9648 
9649  logSearch_ = false;
9650 
9651  logCostScalingFactor_ = 0D;
9652 
9653  logCostOffset_ = 0D;
9654 
9655  logTag_ = "";
9656 
9657  return this;
9658  }
9659 
9660  @java.lang.Override
9661  public com.google.protobuf.Descriptors.Descriptor
9663  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
9664  }
9665 
9666  @java.lang.Override
9669  }
9670 
9671  @java.lang.Override
9674  if (!result.isInitialized()) {
9675  throw newUninitializedMessageException(result);
9676  }
9677  return result;
9678  }
9679 
9680  @java.lang.Override
9683  result.firstSolutionStrategy_ = firstSolutionStrategy_;
9684  result.useUnfilteredFirstSolutionStrategy_ = useUnfilteredFirstSolutionStrategy_;
9685  result.savingsNeighborsRatio_ = savingsNeighborsRatio_;
9686  result.savingsMaxMemoryUsageBytes_ = savingsMaxMemoryUsageBytes_;
9687  result.savingsAddReverseArcs_ = savingsAddReverseArcs_;
9688  result.savingsArcCoefficient_ = savingsArcCoefficient_;
9689  result.savingsParallelRoutes_ = savingsParallelRoutes_;
9690  result.cheapestInsertionFarthestSeedsRatio_ = cheapestInsertionFarthestSeedsRatio_;
9691  result.cheapestInsertionFirstSolutionNeighborsRatio_ = cheapestInsertionFirstSolutionNeighborsRatio_;
9692  result.cheapestInsertionFirstSolutionMinNeighbors_ = cheapestInsertionFirstSolutionMinNeighbors_;
9693  result.cheapestInsertionLsOperatorNeighborsRatio_ = cheapestInsertionLsOperatorNeighborsRatio_;
9694  result.cheapestInsertionLsOperatorMinNeighbors_ = cheapestInsertionLsOperatorMinNeighbors_;
9695  result.cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ = cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_;
9696  result.cheapestInsertionAddUnperformedEntries_ = cheapestInsertionAddUnperformedEntries_;
9697  result.christofidesUseMinimumMatching_ = christofidesUseMinimumMatching_;
9698  if (localSearchOperatorsBuilder_ == null) {
9699  result.localSearchOperators_ = localSearchOperators_;
9700  } else {
9701  result.localSearchOperators_ = localSearchOperatorsBuilder_.build();
9702  }
9703  result.useMultiArmedBanditConcatenateOperators_ = useMultiArmedBanditConcatenateOperators_;
9704  result.multiArmedBanditCompoundOperatorMemoryCoefficient_ = multiArmedBanditCompoundOperatorMemoryCoefficient_;
9705  result.multiArmedBanditCompoundOperatorExplorationCoefficient_ = multiArmedBanditCompoundOperatorExplorationCoefficient_;
9706  result.relocateExpensiveChainNumArcsToConsider_ = relocateExpensiveChainNumArcsToConsider_;
9707  result.heuristicExpensiveChainLnsNumArcsToConsider_ = heuristicExpensiveChainLnsNumArcsToConsider_;
9708  result.heuristicCloseNodesLnsNumNodes_ = heuristicCloseNodesLnsNumNodes_;
9709  result.localSearchMetaheuristic_ = localSearchMetaheuristic_;
9710  result.guidedLocalSearchLambdaCoefficient_ = guidedLocalSearchLambdaCoefficient_;
9711  result.useDepthFirstSearch_ = useDepthFirstSearch_;
9712  result.useCp_ = useCp_;
9713  result.useCpSat_ = useCpSat_;
9714  result.useGeneralizedCpSat_ = useGeneralizedCpSat_;
9715  if (satParametersBuilder_ == null) {
9716  result.satParameters_ = satParameters_;
9717  } else {
9718  result.satParameters_ = satParametersBuilder_.build();
9719  }
9720  result.continuousSchedulingSolver_ = continuousSchedulingSolver_;
9721  result.mixedIntegerSchedulingSolver_ = mixedIntegerSchedulingSolver_;
9722  result.optimizationStep_ = optimizationStep_;
9723  result.numberOfSolutionsToCollect_ = numberOfSolutionsToCollect_;
9724  result.solutionLimit_ = solutionLimit_;
9725  if (timeLimitBuilder_ == null) {
9726  result.timeLimit_ = timeLimit_;
9727  } else {
9728  result.timeLimit_ = timeLimitBuilder_.build();
9729  }
9730  if (lnsTimeLimitBuilder_ == null) {
9731  result.lnsTimeLimit_ = lnsTimeLimit_;
9732  } else {
9733  result.lnsTimeLimit_ = lnsTimeLimitBuilder_.build();
9734  }
9735  if (improvementLimitParametersBuilder_ == null) {
9736  result.improvementLimitParameters_ = improvementLimitParameters_;
9737  } else {
9738  result.improvementLimitParameters_ = improvementLimitParametersBuilder_.build();
9739  }
9740  result.useFullPropagation_ = useFullPropagation_;
9741  result.logSearch_ = logSearch_;
9742  result.logCostScalingFactor_ = logCostScalingFactor_;
9743  result.logCostOffset_ = logCostOffset_;
9744  result.logTag_ = logTag_;
9745  onBuilt();
9746  return result;
9747  }
9748 
9749  @java.lang.Override
9750  public Builder clone() {
9751  return super.clone();
9752  }
9753  @java.lang.Override
9755  com.google.protobuf.Descriptors.FieldDescriptor field,
9756  java.lang.Object value) {
9757  return super.setField(field, value);
9758  }
9759  @java.lang.Override
9761  com.google.protobuf.Descriptors.FieldDescriptor field) {
9762  return super.clearField(field);
9763  }
9764  @java.lang.Override
9766  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
9767  return super.clearOneof(oneof);
9768  }
9769  @java.lang.Override
9771  com.google.protobuf.Descriptors.FieldDescriptor field,
9772  int index, java.lang.Object value) {
9773  return super.setRepeatedField(field, index, value);
9774  }
9775  @java.lang.Override
9777  com.google.protobuf.Descriptors.FieldDescriptor field,
9778  java.lang.Object value) {
9779  return super.addRepeatedField(field, value);
9780  }
9781  @java.lang.Override
9782  public Builder mergeFrom(com.google.protobuf.Message other) {
9785  } else {
9786  super.mergeFrom(other);
9787  return this;
9788  }
9789  }
9790 
9793  if (other.firstSolutionStrategy_ != 0) {
9794  setFirstSolutionStrategyValue(other.getFirstSolutionStrategyValue());
9795  }
9796  if (other.getUseUnfilteredFirstSolutionStrategy() != false) {
9797  setUseUnfilteredFirstSolutionStrategy(other.getUseUnfilteredFirstSolutionStrategy());
9798  }
9799  if (other.getSavingsNeighborsRatio() != 0D) {
9800  setSavingsNeighborsRatio(other.getSavingsNeighborsRatio());
9801  }
9802  if (other.getSavingsMaxMemoryUsageBytes() != 0D) {
9803  setSavingsMaxMemoryUsageBytes(other.getSavingsMaxMemoryUsageBytes());
9804  }
9805  if (other.getSavingsAddReverseArcs() != false) {
9806  setSavingsAddReverseArcs(other.getSavingsAddReverseArcs());
9807  }
9808  if (other.getSavingsArcCoefficient() != 0D) {
9809  setSavingsArcCoefficient(other.getSavingsArcCoefficient());
9810  }
9811  if (other.getSavingsParallelRoutes() != false) {
9812  setSavingsParallelRoutes(other.getSavingsParallelRoutes());
9813  }
9814  if (other.getCheapestInsertionFarthestSeedsRatio() != 0D) {
9815  setCheapestInsertionFarthestSeedsRatio(other.getCheapestInsertionFarthestSeedsRatio());
9816  }
9817  if (other.getCheapestInsertionFirstSolutionNeighborsRatio() != 0D) {
9818  setCheapestInsertionFirstSolutionNeighborsRatio(other.getCheapestInsertionFirstSolutionNeighborsRatio());
9819  }
9820  if (other.getCheapestInsertionFirstSolutionMinNeighbors() != 0) {
9821  setCheapestInsertionFirstSolutionMinNeighbors(other.getCheapestInsertionFirstSolutionMinNeighbors());
9822  }
9823  if (other.getCheapestInsertionLsOperatorNeighborsRatio() != 0D) {
9824  setCheapestInsertionLsOperatorNeighborsRatio(other.getCheapestInsertionLsOperatorNeighborsRatio());
9825  }
9826  if (other.getCheapestInsertionLsOperatorMinNeighbors() != 0) {
9827  setCheapestInsertionLsOperatorMinNeighbors(other.getCheapestInsertionLsOperatorMinNeighbors());
9828  }
9829  if (other.getCheapestInsertionFirstSolutionUseNeighborsRatioForInitialization() != false) {
9830  setCheapestInsertionFirstSolutionUseNeighborsRatioForInitialization(other.getCheapestInsertionFirstSolutionUseNeighborsRatioForInitialization());
9831  }
9832  if (other.getCheapestInsertionAddUnperformedEntries() != false) {
9833  setCheapestInsertionAddUnperformedEntries(other.getCheapestInsertionAddUnperformedEntries());
9834  }
9835  if (other.getChristofidesUseMinimumMatching() != false) {
9836  setChristofidesUseMinimumMatching(other.getChristofidesUseMinimumMatching());
9837  }
9838  if (other.hasLocalSearchOperators()) {
9839  mergeLocalSearchOperators(other.getLocalSearchOperators());
9840  }
9841  if (other.getUseMultiArmedBanditConcatenateOperators() != false) {
9842  setUseMultiArmedBanditConcatenateOperators(other.getUseMultiArmedBanditConcatenateOperators());
9843  }
9844  if (other.getMultiArmedBanditCompoundOperatorMemoryCoefficient() != 0D) {
9845  setMultiArmedBanditCompoundOperatorMemoryCoefficient(other.getMultiArmedBanditCompoundOperatorMemoryCoefficient());
9846  }
9847  if (other.getMultiArmedBanditCompoundOperatorExplorationCoefficient() != 0D) {
9848  setMultiArmedBanditCompoundOperatorExplorationCoefficient(other.getMultiArmedBanditCompoundOperatorExplorationCoefficient());
9849  }
9850  if (other.getRelocateExpensiveChainNumArcsToConsider() != 0) {
9851  setRelocateExpensiveChainNumArcsToConsider(other.getRelocateExpensiveChainNumArcsToConsider());
9852  }
9853  if (other.getHeuristicExpensiveChainLnsNumArcsToConsider() != 0) {
9854  setHeuristicExpensiveChainLnsNumArcsToConsider(other.getHeuristicExpensiveChainLnsNumArcsToConsider());
9855  }
9856  if (other.getHeuristicCloseNodesLnsNumNodes() != 0) {
9857  setHeuristicCloseNodesLnsNumNodes(other.getHeuristicCloseNodesLnsNumNodes());
9858  }
9859  if (other.localSearchMetaheuristic_ != 0) {
9860  setLocalSearchMetaheuristicValue(other.getLocalSearchMetaheuristicValue());
9861  }
9862  if (other.getGuidedLocalSearchLambdaCoefficient() != 0D) {
9863  setGuidedLocalSearchLambdaCoefficient(other.getGuidedLocalSearchLambdaCoefficient());
9864  }
9865  if (other.getUseDepthFirstSearch() != false) {
9866  setUseDepthFirstSearch(other.getUseDepthFirstSearch());
9867  }
9868  if (other.useCp_ != 0) {
9869  setUseCpValue(other.getUseCpValue());
9870  }
9871  if (other.useCpSat_ != 0) {
9872  setUseCpSatValue(other.getUseCpSatValue());
9873  }
9874  if (other.useGeneralizedCpSat_ != 0) {
9875  setUseGeneralizedCpSatValue(other.getUseGeneralizedCpSatValue());
9876  }
9877  if (other.hasSatParameters()) {
9878  mergeSatParameters(other.getSatParameters());
9879  }
9880  if (other.continuousSchedulingSolver_ != 0) {
9881  setContinuousSchedulingSolverValue(other.getContinuousSchedulingSolverValue());
9882  }
9883  if (other.mixedIntegerSchedulingSolver_ != 0) {
9884  setMixedIntegerSchedulingSolverValue(other.getMixedIntegerSchedulingSolverValue());
9885  }
9886  if (other.getOptimizationStep() != 0D) {
9887  setOptimizationStep(other.getOptimizationStep());
9888  }
9889  if (other.getNumberOfSolutionsToCollect() != 0) {
9890  setNumberOfSolutionsToCollect(other.getNumberOfSolutionsToCollect());
9891  }
9892  if (other.getSolutionLimit() != 0L) {
9893  setSolutionLimit(other.getSolutionLimit());
9894  }
9895  if (other.hasTimeLimit()) {
9896  mergeTimeLimit(other.getTimeLimit());
9897  }
9898  if (other.hasLnsTimeLimit()) {
9899  mergeLnsTimeLimit(other.getLnsTimeLimit());
9900  }
9901  if (other.hasImprovementLimitParameters()) {
9902  mergeImprovementLimitParameters(other.getImprovementLimitParameters());
9903  }
9904  if (other.getUseFullPropagation() != false) {
9905  setUseFullPropagation(other.getUseFullPropagation());
9906  }
9907  if (other.getLogSearch() != false) {
9908  setLogSearch(other.getLogSearch());
9909  }
9910  if (other.getLogCostScalingFactor() != 0D) {
9911  setLogCostScalingFactor(other.getLogCostScalingFactor());
9912  }
9913  if (other.getLogCostOffset() != 0D) {
9914  setLogCostOffset(other.getLogCostOffset());
9915  }
9916  if (!other.getLogTag().isEmpty()) {
9917  logTag_ = other.logTag_;
9918  onChanged();
9919  }
9920  this.mergeUnknownFields(other.unknownFields);
9921  onChanged();
9922  return this;
9923  }
9924 
9925  @java.lang.Override
9926  public final boolean isInitialized() {
9927  return true;
9928  }
9929 
9930  @java.lang.Override
9932  com.google.protobuf.CodedInputStream input,
9933  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9934  throws java.io.IOException {
9936  try {
9937  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
9938  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
9939  parsedMessage = (com.google.ortools.constraintsolver.RoutingSearchParameters) e.getUnfinishedMessage();
9940  throw e.unwrapIOException();
9941  } finally {
9942  if (parsedMessage != null) {
9943  mergeFrom(parsedMessage);
9944  }
9945  }
9946  return this;
9947  }
9948 
9949  private int firstSolutionStrategy_ = 0;
9958  @java.lang.Override public int getFirstSolutionStrategyValue() {
9959  return firstSolutionStrategy_;
9960  }
9971 
9972  firstSolutionStrategy_ = value;
9973  onChanged();
9974  return this;
9975  }
9984  @java.lang.Override
9986  @SuppressWarnings("deprecation")
9988  return result == null ? com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNRECOGNIZED : result;
9989  }
10000  if (value == null) {
10001  throw new NullPointerException();
10002  }
10003 
10004  firstSolutionStrategy_ = value.getNumber();
10005  onChanged();
10006  return this;
10007  }
10017 
10018  firstSolutionStrategy_ = 0;
10019  onChanged();
10020  return this;
10021  }
10022 
10023  private boolean useUnfilteredFirstSolutionStrategy_ ;
10034  @java.lang.Override
10036  return useUnfilteredFirstSolutionStrategy_;
10037  }
10050 
10051  useUnfilteredFirstSolutionStrategy_ = value;
10052  onChanged();
10053  return this;
10054  }
10066 
10067  useUnfilteredFirstSolutionStrategy_ = false;
10068  onChanged();
10069  return this;
10070  }
10071 
10072  private double savingsNeighborsRatio_ ;
10083  @java.lang.Override
10084  public double getSavingsNeighborsRatio() {
10085  return savingsNeighborsRatio_;
10086  }
10098  public Builder setSavingsNeighborsRatio(double value) {
10099 
10100  savingsNeighborsRatio_ = value;
10101  onChanged();
10102  return this;
10103  }
10115 
10116  savingsNeighborsRatio_ = 0D;
10117  onChanged();
10118  return this;
10119  }
10120 
10121  private double savingsMaxMemoryUsageBytes_ ;
10135  @java.lang.Override
10137  return savingsMaxMemoryUsageBytes_;
10138  }
10154 
10155  savingsMaxMemoryUsageBytes_ = value;
10156  onChanged();
10157  return this;
10158  }
10173 
10174  savingsMaxMemoryUsageBytes_ = 0D;
10175  onChanged();
10176  return this;
10177  }
10178 
10179  private boolean savingsAddReverseArcs_ ;
10189  @java.lang.Override
10190  public boolean getSavingsAddReverseArcs() {
10191  return savingsAddReverseArcs_;
10192  }
10203  public Builder setSavingsAddReverseArcs(boolean value) {
10204 
10205  savingsAddReverseArcs_ = value;
10206  onChanged();
10207  return this;
10208  }
10219 
10220  savingsAddReverseArcs_ = false;
10221  onChanged();
10222  return this;
10223  }
10224 
10225  private double savingsArcCoefficient_ ;
10238  @java.lang.Override
10239  public double getSavingsArcCoefficient() {
10240  return savingsArcCoefficient_;
10241  }
10255  public Builder setSavingsArcCoefficient(double value) {
10256 
10257  savingsArcCoefficient_ = value;
10258  onChanged();
10259  return this;
10260  }
10274 
10275  savingsArcCoefficient_ = 0D;
10276  onChanged();
10277  return this;
10278  }
10279 
10280  private boolean savingsParallelRoutes_ ;
10289  @java.lang.Override
10290  public boolean getSavingsParallelRoutes() {
10291  return savingsParallelRoutes_;
10292  }
10302  public Builder setSavingsParallelRoutes(boolean value) {
10303 
10304  savingsParallelRoutes_ = value;
10305  onChanged();
10306  return this;
10307  }
10317 
10318  savingsParallelRoutes_ = false;
10319  onChanged();
10320  return this;
10321  }
10322 
10323  private double cheapestInsertionFarthestSeedsRatio_ ;
10334  @java.lang.Override
10336  return cheapestInsertionFarthestSeedsRatio_;
10337  }
10350 
10351  cheapestInsertionFarthestSeedsRatio_ = value;
10352  onChanged();
10353  return this;
10354  }
10366 
10367  cheapestInsertionFarthestSeedsRatio_ = 0D;
10368  onChanged();
10369  return this;
10370  }
10371 
10372  private double cheapestInsertionFirstSolutionNeighborsRatio_ ;
10394  @java.lang.Override
10396  return cheapestInsertionFirstSolutionNeighborsRatio_;
10397  }
10421 
10422  cheapestInsertionFirstSolutionNeighborsRatio_ = value;
10423  onChanged();
10424  return this;
10425  }
10448 
10449  cheapestInsertionFirstSolutionNeighborsRatio_ = 0D;
10450  onChanged();
10451  return this;
10452  }
10453 
10454  private int cheapestInsertionFirstSolutionMinNeighbors_ ;
10459  @java.lang.Override
10461  return cheapestInsertionFirstSolutionMinNeighbors_;
10462  }
10469 
10470  cheapestInsertionFirstSolutionMinNeighbors_ = value;
10471  onChanged();
10472  return this;
10473  }
10479 
10480  cheapestInsertionFirstSolutionMinNeighbors_ = 0;
10481  onChanged();
10482  return this;
10483  }
10484 
10485  private double cheapestInsertionLsOperatorNeighborsRatio_ ;
10497  @java.lang.Override
10499  return cheapestInsertionLsOperatorNeighborsRatio_;
10500  }
10514 
10515  cheapestInsertionLsOperatorNeighborsRatio_ = value;
10516  onChanged();
10517  return this;
10518  }
10531 
10532  cheapestInsertionLsOperatorNeighborsRatio_ = 0D;
10533  onChanged();
10534  return this;
10535  }
10536 
10537  private int cheapestInsertionLsOperatorMinNeighbors_ ;
10542  @java.lang.Override
10544  return cheapestInsertionLsOperatorMinNeighbors_;
10545  }
10552 
10553  cheapestInsertionLsOperatorMinNeighbors_ = value;
10554  onChanged();
10555  return this;
10556  }
10562 
10563  cheapestInsertionLsOperatorMinNeighbors_ = 0;
10564  onChanged();
10565  return this;
10566  }
10567 
10568  private boolean cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ ;
10578  @java.lang.Override
10580  return cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_;
10581  }
10593 
10594  cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ = value;
10595  onChanged();
10596  return this;
10597  }
10608 
10609  cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ = false;
10610  onChanged();
10611  return this;
10612  }
10613 
10614  private boolean cheapestInsertionAddUnperformedEntries_ ;
10624  @java.lang.Override
10626  return cheapestInsertionAddUnperformedEntries_;
10627  }
10639 
10640  cheapestInsertionAddUnperformedEntries_ = value;
10641  onChanged();
10642  return this;
10643  }
10654 
10655  cheapestInsertionAddUnperformedEntries_ = false;
10656  onChanged();
10657  return this;
10658  }
10659 
10660  private boolean christofidesUseMinimumMatching_ ;
10670  @java.lang.Override
10672  return christofidesUseMinimumMatching_;
10673  }
10685 
10686  christofidesUseMinimumMatching_ = value;
10687  onChanged();
10688  return this;
10689  }
10700 
10701  christofidesUseMinimumMatching_ = false;
10702  onChanged();
10703  return this;
10704  }
10705 
10707  private com.google.protobuf.SingleFieldBuilderV3<
10713  public boolean hasLocalSearchOperators() {
10714  return localSearchOperatorsBuilder_ != null || localSearchOperators_ != null;
10715  }
10721  if (localSearchOperatorsBuilder_ == null) {
10722  return localSearchOperators_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
10723  } else {
10724  return localSearchOperatorsBuilder_.getMessage();
10725  }
10726  }
10731  if (localSearchOperatorsBuilder_ == null) {
10732  if (value == null) {
10733  throw new NullPointerException();
10734  }
10735  localSearchOperators_ = value;
10736  onChanged();
10737  } else {
10738  localSearchOperatorsBuilder_.setMessage(value);
10739  }
10740 
10741  return this;
10742  }
10748  if (localSearchOperatorsBuilder_ == null) {
10749  localSearchOperators_ = builderForValue.build();
10750  onChanged();
10751  } else {
10752  localSearchOperatorsBuilder_.setMessage(builderForValue.build());
10753  }
10754 
10755  return this;
10756  }
10761  if (localSearchOperatorsBuilder_ == null) {
10762  if (localSearchOperators_ != null) {
10763  localSearchOperators_ =
10765  } else {
10766  localSearchOperators_ = value;
10767  }
10768  onChanged();
10769  } else {
10770  localSearchOperatorsBuilder_.mergeFrom(value);
10771  }
10772 
10773  return this;
10774  }
10779  if (localSearchOperatorsBuilder_ == null) {
10780  localSearchOperators_ = null;
10781  onChanged();
10782  } else {
10783  localSearchOperators_ = null;
10784  localSearchOperatorsBuilder_ = null;
10785  }
10786 
10787  return this;
10788  }
10793 
10794  onChanged();
10795  return getLocalSearchOperatorsFieldBuilder().getBuilder();
10796  }
10801  if (localSearchOperatorsBuilder_ != null) {
10802  return localSearchOperatorsBuilder_.getMessageOrBuilder();
10803  } else {
10804  return localSearchOperators_ == null ?
10806  }
10807  }
10811  private com.google.protobuf.SingleFieldBuilderV3<
10813  getLocalSearchOperatorsFieldBuilder() {
10814  if (localSearchOperatorsBuilder_ == null) {
10815  localSearchOperatorsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
10818  getParentForChildren(),
10819  isClean());
10820  localSearchOperators_ = null;
10821  }
10822  return localSearchOperatorsBuilder_;
10823  }
10824 
10825  private boolean useMultiArmedBanditConcatenateOperators_ ;
10836  @java.lang.Override
10838  return useMultiArmedBanditConcatenateOperators_;
10839  }
10852 
10853  useMultiArmedBanditConcatenateOperators_ = value;
10854  onChanged();
10855  return this;
10856  }
10868 
10869  useMultiArmedBanditConcatenateOperators_ = false;
10870  onChanged();
10871  return this;
10872  }
10873 
10874  private double multiArmedBanditCompoundOperatorMemoryCoefficient_ ;
10886  @java.lang.Override
10888  return multiArmedBanditCompoundOperatorMemoryCoefficient_;
10889  }
10903 
10904  multiArmedBanditCompoundOperatorMemoryCoefficient_ = value;
10905  onChanged();
10906  return this;
10907  }
10920 
10921  multiArmedBanditCompoundOperatorMemoryCoefficient_ = 0D;
10922  onChanged();
10923  return this;
10924  }
10925 
10926  private double multiArmedBanditCompoundOperatorExplorationCoefficient_ ;
10937  @java.lang.Override
10939  return multiArmedBanditCompoundOperatorExplorationCoefficient_;
10940  }
10953 
10954  multiArmedBanditCompoundOperatorExplorationCoefficient_ = value;
10955  onChanged();
10956  return this;
10957  }
10969 
10970  multiArmedBanditCompoundOperatorExplorationCoefficient_ = 0D;
10971  onChanged();
10972  return this;
10973  }
10974 
10975  private int relocateExpensiveChainNumArcsToConsider_ ;
10990  @java.lang.Override
10992  return relocateExpensiveChainNumArcsToConsider_;
10993  }
11010 
11011  relocateExpensiveChainNumArcsToConsider_ = value;
11012  onChanged();
11013  return this;
11014  }
11030 
11031  relocateExpensiveChainNumArcsToConsider_ = 0;
11032  onChanged();
11033  return this;
11034  }
11035 
11036  private int heuristicExpensiveChainLnsNumArcsToConsider_ ;
11046  @java.lang.Override
11048  return heuristicExpensiveChainLnsNumArcsToConsider_;
11049  }
11061 
11062  heuristicExpensiveChainLnsNumArcsToConsider_ = value;
11063  onChanged();
11064  return this;
11065  }
11076 
11077  heuristicExpensiveChainLnsNumArcsToConsider_ = 0;
11078  onChanged();
11079  return this;
11080  }
11081 
11082  private int heuristicCloseNodesLnsNumNodes_ ;
11092  @java.lang.Override
11094  return heuristicCloseNodesLnsNumNodes_;
11095  }
11107 
11108  heuristicCloseNodesLnsNumNodes_ = value;
11109  onChanged();
11110  return this;
11111  }
11122 
11123  heuristicCloseNodesLnsNumNodes_ = 0;
11124  onChanged();
11125  return this;
11126  }
11127 
11128  private int localSearchMetaheuristic_ = 0;
11137  @java.lang.Override public int getLocalSearchMetaheuristicValue() {
11138  return localSearchMetaheuristic_;
11139  }
11150 
11151  localSearchMetaheuristic_ = value;
11152  onChanged();
11153  return this;
11154  }
11163  @java.lang.Override
11165  @SuppressWarnings("deprecation")
11168  }
11179  if (value == null) {
11180  throw new NullPointerException();
11181  }
11182 
11183  localSearchMetaheuristic_ = value.getNumber();
11184  onChanged();
11185  return this;
11186  }
11196 
11197  localSearchMetaheuristic_ = 0;
11198  onChanged();
11199  return this;
11200  }
11201 
11202  private double guidedLocalSearchLambdaCoefficient_ ;
11214  @java.lang.Override
11216  return guidedLocalSearchLambdaCoefficient_;
11217  }
11231 
11232  guidedLocalSearchLambdaCoefficient_ = value;
11233  onChanged();
11234  return this;
11235  }
11248 
11249  guidedLocalSearchLambdaCoefficient_ = 0D;
11250  onChanged();
11251  return this;
11252  }
11253 
11254  private boolean useDepthFirstSearch_ ;
11265  @java.lang.Override
11266  public boolean getUseDepthFirstSearch() {
11267  return useDepthFirstSearch_;
11268  }
11280  public Builder setUseDepthFirstSearch(boolean value) {
11281 
11282  useDepthFirstSearch_ = value;
11283  onChanged();
11284  return this;
11285  }
11297 
11298  useDepthFirstSearch_ = false;
11299  onChanged();
11300  return this;
11301  }
11302 
11303  private int useCp_ = 0;
11314  @java.lang.Override public int getUseCpValue() {
11315  return useCp_;
11316  }
11328  public Builder setUseCpValue(int value) {
11329 
11330  useCp_ = value;
11331  onChanged();
11332  return this;
11333  }
11344  @java.lang.Override
11346  @SuppressWarnings("deprecation")
11348  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
11349  }
11362  if (value == null) {
11363  throw new NullPointerException();
11364  }
11365 
11366  useCp_ = value.getNumber();
11367  onChanged();
11368  return this;
11369  }
11380  public Builder clearUseCp() {
11381 
11382  useCp_ = 0;
11383  onChanged();
11384  return this;
11385  }
11386 
11387  private int useCpSat_ = 0;
11399  @java.lang.Override public int getUseCpSatValue() {
11400  return useCpSat_;
11401  }
11414  public Builder setUseCpSatValue(int value) {
11415 
11416  useCpSat_ = value;
11417  onChanged();
11418  return this;
11419  }
11431  @java.lang.Override
11433  @SuppressWarnings("deprecation")
11435  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
11436  }
11450  if (value == null) {
11451  throw new NullPointerException();
11452  }
11453 
11454  useCpSat_ = value.getNumber();
11455  onChanged();
11456  return this;
11457  }
11470 
11471  useCpSat_ = 0;
11472  onChanged();
11473  return this;
11474  }
11475 
11476  private int useGeneralizedCpSat_ = 0;
11488  @java.lang.Override public int getUseGeneralizedCpSatValue() {
11489  return useGeneralizedCpSat_;
11490  }
11504 
11505  useGeneralizedCpSat_ = value;
11506  onChanged();
11507  return this;
11508  }
11520  @java.lang.Override
11522  @SuppressWarnings("deprecation")
11524  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
11525  }
11539  if (value == null) {
11540  throw new NullPointerException();
11541  }
11542 
11543  useGeneralizedCpSat_ = value.getNumber();
11544  onChanged();
11545  return this;
11546  }
11559 
11560  useGeneralizedCpSat_ = 0;
11561  onChanged();
11562  return this;
11563  }
11564 
11565  private com.google.ortools.sat.SatParameters satParameters_;
11566  private com.google.protobuf.SingleFieldBuilderV3<
11577  public boolean hasSatParameters() {
11578  return satParametersBuilder_ != null || satParameters_ != null;
11579  }
11590  if (satParametersBuilder_ == null) {
11591  return satParameters_ == null ? com.google.ortools.sat.SatParameters.getDefaultInstance() : satParameters_;
11592  } else {
11593  return satParametersBuilder_.getMessage();
11594  }
11595  }
11605  if (satParametersBuilder_ == null) {
11606  if (value == null) {
11607  throw new NullPointerException();
11608  }
11609  satParameters_ = value;
11610  onChanged();
11611  } else {
11612  satParametersBuilder_.setMessage(value);
11613  }
11614 
11615  return this;
11616  }
11626  com.google.ortools.sat.SatParameters.Builder builderForValue) {
11627  if (satParametersBuilder_ == null) {
11628  satParameters_ = builderForValue.build();
11629  onChanged();
11630  } else {
11631  satParametersBuilder_.setMessage(builderForValue.build());
11632  }
11633 
11634  return this;
11635  }
11645  if (satParametersBuilder_ == null) {
11646  if (satParameters_ != null) {
11647  satParameters_ =
11649  } else {
11650  satParameters_ = value;
11651  }
11652  onChanged();
11653  } else {
11654  satParametersBuilder_.mergeFrom(value);
11655  }
11656 
11657  return this;
11658  }
11668  if (satParametersBuilder_ == null) {
11669  satParameters_ = null;
11670  onChanged();
11671  } else {
11672  satParameters_ = null;
11673  satParametersBuilder_ = null;
11674  }
11675 
11676  return this;
11677  }
11687 
11688  onChanged();
11689  return getSatParametersFieldBuilder().getBuilder();
11690  }
11700  if (satParametersBuilder_ != null) {
11701  return satParametersBuilder_.getMessageOrBuilder();
11702  } else {
11703  return satParameters_ == null ?
11705  }
11706  }
11715  private com.google.protobuf.SingleFieldBuilderV3<
11717  getSatParametersFieldBuilder() {
11718  if (satParametersBuilder_ == null) {
11719  satParametersBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
11721  getSatParameters(),
11722  getParentForChildren(),
11723  isClean());
11724  satParameters_ = null;
11725  }
11726  return satParametersBuilder_;
11727  }
11728 
11729  private int continuousSchedulingSolver_ = 0;
11734  @java.lang.Override public int getContinuousSchedulingSolverValue() {
11735  return continuousSchedulingSolver_;
11736  }
11743 
11744  continuousSchedulingSolver_ = value;
11745  onChanged();
11746  return this;
11747  }
11752  @java.lang.Override
11754  @SuppressWarnings("deprecation")
11757  }
11764  if (value == null) {
11765  throw new NullPointerException();
11766  }
11767 
11768  continuousSchedulingSolver_ = value.getNumber();
11769  onChanged();
11770  return this;
11771  }
11777 
11778  continuousSchedulingSolver_ = 0;
11779  onChanged();
11780  return this;
11781  }
11782 
11783  private int mixedIntegerSchedulingSolver_ = 0;
11788  @java.lang.Override public int getMixedIntegerSchedulingSolverValue() {
11789  return mixedIntegerSchedulingSolver_;
11790  }
11797 
11798  mixedIntegerSchedulingSolver_ = value;
11799  onChanged();
11800  return this;
11801  }
11806  @java.lang.Override
11808  @SuppressWarnings("deprecation")
11811  }
11818  if (value == null) {
11819  throw new NullPointerException();
11820  }
11821 
11822  mixedIntegerSchedulingSolver_ = value.getNumber();
11823  onChanged();
11824  return this;
11825  }
11831 
11832  mixedIntegerSchedulingSolver_ = 0;
11833  onChanged();
11834  return this;
11835  }
11836 
11837  private double optimizationStep_ ;
11848  @java.lang.Override
11849  public double getOptimizationStep() {
11850  return optimizationStep_;
11851  }
11863  public Builder setOptimizationStep(double value) {
11864 
11865  optimizationStep_ = value;
11866  onChanged();
11867  return this;
11868  }
11880 
11881  optimizationStep_ = 0D;
11882  onChanged();
11883  return this;
11884  }
11885 
11886  private int numberOfSolutionsToCollect_ ;
11896  @java.lang.Override
11898  return numberOfSolutionsToCollect_;
11899  }
11911 
11912  numberOfSolutionsToCollect_ = value;
11913  onChanged();
11914  return this;
11915  }
11926 
11927  numberOfSolutionsToCollect_ = 0;
11928  onChanged();
11929  return this;
11930  }
11931 
11932  private long solutionLimit_ ;
11943  @java.lang.Override
11944  public long getSolutionLimit() {
11945  return solutionLimit_;
11946  }
11958  public Builder setSolutionLimit(long value) {
11959 
11960  solutionLimit_ = value;
11961  onChanged();
11962  return this;
11963  }
11975 
11976  solutionLimit_ = 0L;
11977  onChanged();
11978  return this;
11979  }
11980 
11981  private com.google.protobuf.Duration timeLimit_;
11982  private com.google.protobuf.SingleFieldBuilderV3<
11983  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> timeLimitBuilder_;
11992  public boolean hasTimeLimit() {
11993  return timeLimitBuilder_ != null || timeLimit_ != null;
11994  }
12003  public com.google.protobuf.Duration getTimeLimit() {
12004  if (timeLimitBuilder_ == null) {
12005  return timeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
12006  } else {
12007  return timeLimitBuilder_.getMessage();
12008  }
12009  }
12017  public Builder setTimeLimit(com.google.protobuf.Duration value) {
12018  if (timeLimitBuilder_ == null) {
12019  if (value == null) {
12020  throw new NullPointerException();
12021  }
12022  timeLimit_ = value;
12023  onChanged();
12024  } else {
12025  timeLimitBuilder_.setMessage(value);
12026  }
12027 
12028  return this;
12029  }
12038  com.google.protobuf.Duration.Builder builderForValue) {
12039  if (timeLimitBuilder_ == null) {
12040  timeLimit_ = builderForValue.build();
12041  onChanged();
12042  } else {
12043  timeLimitBuilder_.setMessage(builderForValue.build());
12044  }
12045 
12046  return this;
12047  }
12055  public Builder mergeTimeLimit(com.google.protobuf.Duration value) {
12056  if (timeLimitBuilder_ == null) {
12057  if (timeLimit_ != null) {
12058  timeLimit_ =
12059  com.google.protobuf.Duration.newBuilder(timeLimit_).mergeFrom(value).buildPartial();
12060  } else {
12061  timeLimit_ = value;
12062  }
12063  onChanged();
12064  } else {
12065  timeLimitBuilder_.mergeFrom(value);
12066  }
12067 
12068  return this;
12069  }
12078  if (timeLimitBuilder_ == null) {
12079  timeLimit_ = null;
12080  onChanged();
12081  } else {
12082  timeLimit_ = null;
12083  timeLimitBuilder_ = null;
12084  }
12085 
12086  return this;
12087  }
12095  public com.google.protobuf.Duration.Builder getTimeLimitBuilder() {
12096 
12097  onChanged();
12098  return getTimeLimitFieldBuilder().getBuilder();
12099  }
12107  public com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder() {
12108  if (timeLimitBuilder_ != null) {
12109  return timeLimitBuilder_.getMessageOrBuilder();
12110  } else {
12111  return timeLimit_ == null ?
12112  com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
12113  }
12114  }
12122  private com.google.protobuf.SingleFieldBuilderV3<
12123  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
12124  getTimeLimitFieldBuilder() {
12125  if (timeLimitBuilder_ == null) {
12126  timeLimitBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
12127  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
12128  getTimeLimit(),
12129  getParentForChildren(),
12130  isClean());
12131  timeLimit_ = null;
12132  }
12133  return timeLimitBuilder_;
12134  }
12135 
12136  private com.google.protobuf.Duration lnsTimeLimit_;
12137  private com.google.protobuf.SingleFieldBuilderV3<
12138  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> lnsTimeLimitBuilder_;
12148  public boolean hasLnsTimeLimit() {
12149  return lnsTimeLimitBuilder_ != null || lnsTimeLimit_ != null;
12150  }
12160  public com.google.protobuf.Duration getLnsTimeLimit() {
12161  if (lnsTimeLimitBuilder_ == null) {
12162  return lnsTimeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
12163  } else {
12164  return lnsTimeLimitBuilder_.getMessage();
12165  }
12166  }
12175  public Builder setLnsTimeLimit(com.google.protobuf.Duration value) {
12176  if (lnsTimeLimitBuilder_ == null) {
12177  if (value == null) {
12178  throw new NullPointerException();
12179  }
12180  lnsTimeLimit_ = value;
12181  onChanged();
12182  } else {
12183  lnsTimeLimitBuilder_.setMessage(value);
12184  }
12185 
12186  return this;
12187  }
12197  com.google.protobuf.Duration.Builder builderForValue) {
12198  if (lnsTimeLimitBuilder_ == null) {
12199  lnsTimeLimit_ = builderForValue.build();
12200  onChanged();
12201  } else {
12202  lnsTimeLimitBuilder_.setMessage(builderForValue.build());
12203  }
12204 
12205  return this;
12206  }
12215  public Builder mergeLnsTimeLimit(com.google.protobuf.Duration value) {
12216  if (lnsTimeLimitBuilder_ == null) {
12217  if (lnsTimeLimit_ != null) {
12218  lnsTimeLimit_ =
12219  com.google.protobuf.Duration.newBuilder(lnsTimeLimit_).mergeFrom(value).buildPartial();
12220  } else {
12221  lnsTimeLimit_ = value;
12222  }
12223  onChanged();
12224  } else {
12225  lnsTimeLimitBuilder_.mergeFrom(value);
12226  }
12227 
12228  return this;
12229  }
12239  if (lnsTimeLimitBuilder_ == null) {
12240  lnsTimeLimit_ = null;
12241  onChanged();
12242  } else {
12243  lnsTimeLimit_ = null;
12244  lnsTimeLimitBuilder_ = null;
12245  }
12246 
12247  return this;
12248  }
12257  public com.google.protobuf.Duration.Builder getLnsTimeLimitBuilder() {
12258 
12259  onChanged();
12260  return getLnsTimeLimitFieldBuilder().getBuilder();
12261  }
12270  public com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder() {
12271  if (lnsTimeLimitBuilder_ != null) {
12272  return lnsTimeLimitBuilder_.getMessageOrBuilder();
12273  } else {
12274  return lnsTimeLimit_ == null ?
12275  com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
12276  }
12277  }
12286  private com.google.protobuf.SingleFieldBuilderV3<
12287  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
12288  getLnsTimeLimitFieldBuilder() {
12289  if (lnsTimeLimitBuilder_ == null) {
12290  lnsTimeLimitBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
12291  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
12292  getLnsTimeLimit(),
12293  getParentForChildren(),
12294  isClean());
12295  lnsTimeLimit_ = null;
12296  }
12297  return lnsTimeLimitBuilder_;
12298  }
12299 
12301  private com.google.protobuf.SingleFieldBuilderV3<
12313  return improvementLimitParametersBuilder_ != null || improvementLimitParameters_ != null;
12314  }
12325  if (improvementLimitParametersBuilder_ == null) {
12326  return improvementLimitParameters_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance() : improvementLimitParameters_;
12327  } else {
12328  return improvementLimitParametersBuilder_.getMessage();
12329  }
12330  }
12340  if (improvementLimitParametersBuilder_ == null) {
12341  if (value == null) {
12342  throw new NullPointerException();
12343  }
12344  improvementLimitParameters_ = value;
12345  onChanged();
12346  } else {
12347  improvementLimitParametersBuilder_.setMessage(value);
12348  }
12349 
12350  return this;
12351  }
12362  if (improvementLimitParametersBuilder_ == null) {
12363  improvementLimitParameters_ = builderForValue.build();
12364  onChanged();
12365  } else {
12366  improvementLimitParametersBuilder_.setMessage(builderForValue.build());
12367  }
12368 
12369  return this;
12370  }
12380  if (improvementLimitParametersBuilder_ == null) {
12381  if (improvementLimitParameters_ != null) {
12382  improvementLimitParameters_ =
12384  } else {
12385  improvementLimitParameters_ = value;
12386  }
12387  onChanged();
12388  } else {
12389  improvementLimitParametersBuilder_.mergeFrom(value);
12390  }
12391 
12392  return this;
12393  }
12403  if (improvementLimitParametersBuilder_ == null) {
12404  improvementLimitParameters_ = null;
12405  onChanged();
12406  } else {
12407  improvementLimitParameters_ = null;
12408  improvementLimitParametersBuilder_ = null;
12409  }
12410 
12411  return this;
12412  }
12422 
12423  onChanged();
12424  return getImprovementLimitParametersFieldBuilder().getBuilder();
12425  }
12435  if (improvementLimitParametersBuilder_ != null) {
12436  return improvementLimitParametersBuilder_.getMessageOrBuilder();
12437  } else {
12438  return improvementLimitParameters_ == null ?
12440  }
12441  }
12450  private com.google.protobuf.SingleFieldBuilderV3<
12452  getImprovementLimitParametersFieldBuilder() {
12453  if (improvementLimitParametersBuilder_ == null) {
12454  improvementLimitParametersBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
12457  getParentForChildren(),
12458  isClean());
12459  improvementLimitParameters_ = null;
12460  }
12461  return improvementLimitParametersBuilder_;
12462  }
12463 
12464  private boolean useFullPropagation_ ;
12481  @java.lang.Override
12482  public boolean getUseFullPropagation() {
12483  return useFullPropagation_;
12484  }
12502  public Builder setUseFullPropagation(boolean value) {
12503 
12504  useFullPropagation_ = value;
12505  onChanged();
12506  return this;
12507  }
12525 
12526  useFullPropagation_ = false;
12527  onChanged();
12528  return this;
12529  }
12530 
12531  private boolean logSearch_ ;
12551  @java.lang.Override
12552  public boolean getLogSearch() {
12553  return logSearch_;
12554  }
12575  public Builder setLogSearch(boolean value) {
12576 
12577  logSearch_ = value;
12578  onChanged();
12579  return this;
12580  }
12601 
12602  logSearch_ = false;
12603  onChanged();
12604  return this;
12605  }
12606 
12607  private double logCostScalingFactor_ ;
12617  @java.lang.Override
12618  public double getLogCostScalingFactor() {
12619  return logCostScalingFactor_;
12620  }
12631  public Builder setLogCostScalingFactor(double value) {
12632 
12633  logCostScalingFactor_ = value;
12634  onChanged();
12635  return this;
12636  }
12647 
12648  logCostScalingFactor_ = 0D;
12649  onChanged();
12650  return this;
12651  }
12652 
12653  private double logCostOffset_ ;
12658  @java.lang.Override
12659  public double getLogCostOffset() {
12660  return logCostOffset_;
12661  }
12667  public Builder setLogCostOffset(double value) {
12668 
12669  logCostOffset_ = value;
12670  onChanged();
12671  return this;
12672  }
12678 
12679  logCostOffset_ = 0D;
12680  onChanged();
12681  return this;
12682  }
12683 
12684  private java.lang.Object logTag_ = "";
12694  public java.lang.String getLogTag() {
12695  java.lang.Object ref = logTag_;
12696  if (!(ref instanceof java.lang.String)) {
12697  com.google.protobuf.ByteString bs =
12698  (com.google.protobuf.ByteString) ref;
12699  java.lang.String s = bs.toStringUtf8();
12700  logTag_ = s;
12701  return s;
12702  } else {
12703  return (java.lang.String) ref;
12704  }
12705  }
12715  public com.google.protobuf.ByteString
12717  java.lang.Object ref = logTag_;
12718  if (ref instanceof String) {
12719  com.google.protobuf.ByteString b =
12720  com.google.protobuf.ByteString.copyFromUtf8(
12721  (java.lang.String) ref);
12722  logTag_ = b;
12723  return b;
12724  } else {
12725  return (com.google.protobuf.ByteString) ref;
12726  }
12727  }
12739  java.lang.String value) {
12740  if (value == null) {
12741  throw new NullPointerException();
12742  }
12743 
12744  logTag_ = value;
12745  onChanged();
12746  return this;
12747  }
12758 
12759  logTag_ = getDefaultInstance().getLogTag();
12760  onChanged();
12761  return this;
12762  }
12774  com.google.protobuf.ByteString value) {
12775  if (value == null) {
12776  throw new NullPointerException();
12777  }
12778  checkByteStringIsUtf8(value);
12779 
12780  logTag_ = value;
12781  onChanged();
12782  return this;
12783  }
12784  @java.lang.Override
12786  final com.google.protobuf.UnknownFieldSet unknownFields) {
12787  return super.setUnknownFields(unknownFields);
12788  }
12789 
12790  @java.lang.Override
12792  final com.google.protobuf.UnknownFieldSet unknownFields) {
12793  return super.mergeUnknownFields(unknownFields);
12794  }
12795 
12796 
12797  // @@protoc_insertion_point(builder_scope:operations_research.RoutingSearchParameters)
12798  }
12799 
12800  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters)
12801  private static final com.google.ortools.constraintsolver.RoutingSearchParameters DEFAULT_INSTANCE;
12802  static {
12803  DEFAULT_INSTANCE = new com.google.ortools.constraintsolver.RoutingSearchParameters();
12804  }
12805 
12807  return DEFAULT_INSTANCE;
12808  }
12809 
12810  private static final com.google.protobuf.Parser<RoutingSearchParameters>
12811  PARSER = new com.google.protobuf.AbstractParser<RoutingSearchParameters>() {
12812  @java.lang.Override
12813  public RoutingSearchParameters parsePartialFrom(
12814  com.google.protobuf.CodedInputStream input,
12815  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12816  throws com.google.protobuf.InvalidProtocolBufferException {
12817  return new RoutingSearchParameters(input, extensionRegistry);
12818  }
12819  };
12820 
12821  public static com.google.protobuf.Parser<RoutingSearchParameters> parser() {
12822  return PARSER;
12823  }
12824 
12825  @java.lang.Override
12827  return PARSER;
12828  }
12829 
12830  @java.lang.Override
12832  return DEFAULT_INSTANCE;
12833  }
12834 
12835 }
12836 
.lang.Override Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.nio.ByteBuffer data)
.lang.Override Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
Builder mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators other)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override int getCheapestInsertionLsOperatorMinNeighbors()
int32 cheapest_insertion_ls_operator_min_neighbors = 45;
static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters prototype)
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Builder setImprovementLimitParameters(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters value)
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(com.google.protobuf.ByteString data)
.lang.Override final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(byte[] data)
.lang.Override Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators prototype)
.lang.Override com.google.protobuf.Parser< RoutingSearchParameters > getParserForType()
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(java.nio.ByteBuffer data)
.lang.Override Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
Builder setUseCpSat(com.google.ortools.util.OptionalBoolean value)
.lang.Override int getContinuousSchedulingSolverValue()
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.ortools.sat.SatParameters getSatParameters()
.lang.Override com.google.ortools.util.OptionalBoolean getUseCp()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.protobuf.Parser< ImprovementSearchLimitParameters > getParserForType()
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
.lang.Override final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters getDefaultInstance()
.lang.Override Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
Builder setSatParameters(com.google.ortools.sat.SatParameters value)
Builder setMixedIntegerSchedulingSolverValue(int value)
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
static com.google.ortools.constraintsolver.RoutingSearchParameters parseDelimitedFrom(java.io.InputStream input)
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Builder clearMixedIntegerSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
.lang.Override boolean equals(final java.lang.Object obj)
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
.lang.Override Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
.lang.Override int getCheapestInsertionFirstSolutionMinNeighbors()
int32 cheapest_insertion_first_solution_min_neighbors = 44;
.lang.Override Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override Builder mergeFrom(com.google.protobuf.Message other)
Builder setImprovementLimitParameters(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder builderForValue)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver getMixedIntegerSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
Builder setFirstSolutionStrategy(com.google.ortools.constraintsolver.FirstSolutionStrategy.Value value)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Builder setContinuousSchedulingSolver(com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver value)
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
Builder mergeLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators value)
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
static com.google.ortools.constraintsolver.RoutingSearchParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.protobuf.Parser< RoutingSearchParameters > parser()
.lang.Override Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
.lang.Override com.google.ortools.sat.SatParametersOrBuilder getSatParametersOrBuilder()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters getImprovementLimitParameters()
.lang.Deprecated static OptionalBoolean valueOf(int value)
boolean hasLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
.lang.Override Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
.lang.Override final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionExpensiveChainLns()
Builder setUseCp(com.google.ortools.util.OptionalBoolean value)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.ByteString data)
.lang.Override Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Builder clearCheapestInsertionLsOperatorMinNeighbors()
int32 cheapest_insertion_ls_operator_min_neighbors = 45;
.lang.Override Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
.lang.Override int getMixedIntegerSchedulingSolverValue()
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver getContinuousSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder getLocalSearchOperatorsOrBuilder()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
Builder setContinuousSchedulingSolverValue(int value)
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
.lang.Override boolean hasLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
Builder setTimeLimit(com.google.protobuf.Duration.Builder builderForValue)
Builder mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters other)
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.protobuf.Duration getLnsTimeLimit()
com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters getImprovementLimitParameters()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver getContinuousSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
.lang.Override double getLogCostOffset()
double log_cost_offset = 29;
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters buildPartial()
.lang.Override double getLogCostOffset()
double log_cost_offset = 29;
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(com.google.protobuf.CodedInputStream input)
.lang.Override com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder()
.lang.Override com.google.protobuf.ByteString getLogTagBytes()
.lang.Override Builder mergeFrom(com.google.protobuf.Message other)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters getDefaultInstanceForType()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.CodedInputStream input)
com.google.ortools.sat.SatParametersOrBuilder getSatParametersOrBuilder()
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Builder setLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators value)
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
.lang.Override com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionExpensiveChainLns()
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
.lang.Override java.lang.Object newInstance(UnusedPrivateParameter unused)
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocatePathGlobalCheapestInsertionInsertUnperformed()
.lang.Override Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
.lang.Override com.google.ortools.sat.SatParameters buildPartial()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators buildPartial()
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
static com.google.protobuf.Parser< LocalSearchNeighborhoodOperators > parser()
Builder mergeSatParameters(com.google.ortools.sat.SatParameters value)
.lang.Override int getCheapestInsertionFirstSolutionMinNeighbors()
int32 cheapest_insertion_first_solution_min_neighbors = 44;
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(byte[] data)
.lang.Override Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(byte[] data)
.lang.Override com.google.ortools.util.OptionalBoolean getUseCp()
com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder getImprovementLimitParametersBuilder()
static com.google.protobuf.Parser< ImprovementSearchLimitParameters > parser()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters getDefaultInstanceForType()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getDefaultInstance()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value getLocalSearchMetaheuristic()
.lang.Override com.google.ortools.util.OptionalBoolean getUseGeneralizedCpSat()
.lang.Override final com.google.protobuf.UnknownFieldSet getUnknownFields()
Builder setCheapestInsertionLsOperatorMinNeighbors(int value)
int32 cheapest_insertion_ls_operator_min_neighbors = 45;
.lang.Override Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
.lang.Override Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters build()
Builder setLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder builderForValue)
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder getLocalSearchOperatorsBuilder()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParametersOrBuilder getImprovementLimitParametersOrBuilder()
Builder mergeImprovementLimitParameters(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters value)
static SchedulingSolver valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
.lang.Override com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value getLocalSearchMetaheuristic()
static com.google.protobuf.Internal.EnumLiteMap< SchedulingSolver > internalGetValueMap()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseDelimitedFrom(java.io.InputStream input)
.lang.Override int getContinuousSchedulingSolverValue()
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
.lang.Override com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
.lang.Override Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.CodedInputStream input)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters getDefaultInstanceForType()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters getDefaultInstanceForType()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Builder setLocalSearchMetaheuristic(com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value value)
.lang.Override int getCheapestInsertionLsOperatorMinNeighbors()
int32 cheapest_insertion_ls_operator_min_neighbors = 45;
static com.google.ortools.sat.SatParameters getDefaultInstance()
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Builder clearCheapestInsertionFirstSolutionMinNeighbors()
int32 cheapest_insertion_first_solution_min_neighbors = 44;
.lang.Override final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
Builder clearLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
.lang.Override Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getDefaultInstanceForType()
.lang.Override com.google.ortools.util.OptionalBoolean getUseCpSat()
static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters prototype)
Builder setMixedIntegerSchedulingSolver(com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver value)
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.ortools.constraintsolver.FirstSolutionStrategy.Value getFirstSolutionStrategy()
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.ByteString data)
.lang.Override final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParametersOrBuilder getImprovementLimitParametersOrBuilder()
Builder mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters other)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.io.InputStream input)
.lang.Override com.google.ortools.util.OptionalBoolean getUseCpSat()
.lang.Override Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.ortools.util.OptionalBoolean getUseGeneralizedCpSat()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getDefaultInstanceForType()
.lang.Override Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.protobuf.Parser< LocalSearchNeighborhoodOperators > getParserForType()
Builder clearContinuousSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
.lang.Override int getMixedIntegerSchedulingSolverValue()
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.io.InputStream input)
Builder setUseGeneralizedCpSat(com.google.ortools.util.OptionalBoolean value)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters build()
.lang.Override com.google.ortools.constraintsolver.FirstSolutionStrategy.Value getFirstSolutionStrategy()
.lang.Deprecated static final com.google.protobuf.Parser< SatParameters > PARSER
.lang.Override void writeTo(com.google.protobuf.CodedOutputStream output)
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(java.io.InputStream input)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators build()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters buildPartial()
.lang.Override com.google.protobuf.Duration getTimeLimit()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver getMixedIntegerSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseDelimitedFrom(java.io.InputStream input)
Builder setSatParameters(com.google.ortools.sat.SatParameters.Builder builderForValue)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder getLocalSearchOperatorsOrBuilder()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
.lang.Override final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
.lang.Override Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
.lang.Override com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder()
Builder setLnsTimeLimit(com.google.protobuf.Duration.Builder builderForValue)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.nio.ByteBuffer data)
Builder setCheapestInsertionFirstSolutionMinNeighbors(int value)
int32 cheapest_insertion_first_solution_min_neighbors = 44;
static com.google.ortools.constraintsolver.RoutingSearchParameters getDefaultInstance()
.lang.Override Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)