Java Reference

Java Reference

RoutingSearchParameters.java
Go to the documentation of this file.
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: ortools/constraint_solver/routing_parameters.proto
3 
4 package com.google.ortools.constraintsolver;
5 
18 public final class RoutingSearchParameters extends
19  com.google.protobuf.GeneratedMessageV3 implements
20  // @@protoc_insertion_point(message_implements:operations_research.RoutingSearchParameters)
22 private static final long serialVersionUID = 0L;
23  // Use RoutingSearchParameters.newBuilder() to construct.
24  private RoutingSearchParameters(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
25  super(builder);
26  }
27  private RoutingSearchParameters() {
28  firstSolutionStrategy_ = 0;
29  localSearchMetaheuristic_ = 0;
30  useCp_ = 0;
31  useCpSat_ = 0;
32  continuousSchedulingSolver_ = 0;
33  mixedIntegerSchedulingSolver_ = 0;
34  logTag_ = "";
35  }
36 
37  @java.lang.Override
38  @SuppressWarnings({"unused"})
39  protected java.lang.Object newInstance(
40  UnusedPrivateParameter unused) {
41  return new RoutingSearchParameters();
42  }
43 
44  @java.lang.Override
45  public final com.google.protobuf.UnknownFieldSet
47  return this.unknownFields;
48  }
50  com.google.protobuf.CodedInputStream input,
51  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
52  throws com.google.protobuf.InvalidProtocolBufferException {
53  this();
54  if (extensionRegistry == null) {
55  throw new java.lang.NullPointerException();
56  }
57  com.google.protobuf.UnknownFieldSet.Builder unknownFields =
58  com.google.protobuf.UnknownFieldSet.newBuilder();
59  try {
60  boolean done = false;
61  while (!done) {
62  int tag = input.readTag();
63  switch (tag) {
64  case 0:
65  done = true;
66  break;
67  case 8: {
68  int rawValue = input.readEnum();
69 
70  firstSolutionStrategy_ = rawValue;
71  break;
72  }
73  case 16: {
74 
75  useUnfilteredFirstSolutionStrategy_ = input.readBool();
76  break;
77  }
78  case 26: {
80  if (localSearchOperators_ != null) {
81  subBuilder = localSearchOperators_.toBuilder();
82  }
83  localSearchOperators_ = input.readMessage(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.parser(), extensionRegistry);
84  if (subBuilder != null) {
85  subBuilder.mergeFrom(localSearchOperators_);
86  localSearchOperators_ = subBuilder.buildPartial();
87  }
88 
89  break;
90  }
91  case 32: {
92  int rawValue = input.readEnum();
93 
94  localSearchMetaheuristic_ = rawValue;
95  break;
96  }
97  case 41: {
98 
99  guidedLocalSearchLambdaCoefficient_ = input.readDouble();
100  break;
101  }
102  case 48: {
103 
104  useDepthFirstSearch_ = input.readBool();
105  break;
106  }
107  case 57: {
108 
109  optimizationStep_ = input.readDouble();
110  break;
111  }
112  case 64: {
113 
114  solutionLimit_ = input.readInt64();
115  break;
116  }
117  case 74: {
118  com.google.protobuf.Duration.Builder subBuilder = null;
119  if (timeLimit_ != null) {
120  subBuilder = timeLimit_.toBuilder();
121  }
122  timeLimit_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
123  if (subBuilder != null) {
124  subBuilder.mergeFrom(timeLimit_);
125  timeLimit_ = subBuilder.buildPartial();
126  }
127 
128  break;
129  }
130  case 82: {
131  com.google.protobuf.Duration.Builder subBuilder = null;
132  if (lnsTimeLimit_ != null) {
133  subBuilder = lnsTimeLimit_.toBuilder();
134  }
135  lnsTimeLimit_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
136  if (subBuilder != null) {
137  subBuilder.mergeFrom(lnsTimeLimit_);
138  lnsTimeLimit_ = subBuilder.buildPartial();
139  }
140 
141  break;
142  }
143  case 88: {
144 
145  useFullPropagation_ = input.readBool();
146  break;
147  }
148  case 104: {
149 
150  logSearch_ = input.readBool();
151  break;
152  }
153  case 113: {
154 
155  savingsNeighborsRatio_ = input.readDouble();
156  break;
157  }
158  case 120: {
159 
160  savingsAddReverseArcs_ = input.readBool();
161  break;
162  }
163  case 129: {
164 
165  cheapestInsertionFarthestSeedsRatio_ = input.readDouble();
166  break;
167  }
168  case 136: {
169 
170  numberOfSolutionsToCollect_ = input.readInt32();
171  break;
172  }
173  case 145: {
174 
175  savingsArcCoefficient_ = input.readDouble();
176  break;
177  }
178  case 152: {
179 
180  savingsParallelRoutes_ = input.readBool();
181  break;
182  }
183  case 160: {
184 
185  relocateExpensiveChainNumArcsToConsider_ = input.readInt32();
186  break;
187  }
188  case 169: {
189 
190  cheapestInsertionFirstSolutionNeighborsRatio_ = input.readDouble();
191  break;
192  }
193  case 177: {
194 
195  logCostScalingFactor_ = input.readDouble();
196  break;
197  }
198  case 185: {
199 
200  savingsMaxMemoryUsageBytes_ = input.readDouble();
201  break;
202  }
203  case 216: {
204  int rawValue = input.readEnum();
205 
206  useCpSat_ = rawValue;
207  break;
208  }
209  case 224: {
210  int rawValue = input.readEnum();
211 
212  useCp_ = rawValue;
213  break;
214  }
215  case 233: {
216 
217  logCostOffset_ = input.readDouble();
218  break;
219  }
220  case 240: {
221 
222  christofidesUseMinimumMatching_ = input.readBool();
223  break;
224  }
225  case 249: {
226 
227  cheapestInsertionLsOperatorNeighborsRatio_ = input.readDouble();
228  break;
229  }
230  case 256: {
231 
232  heuristicExpensiveChainLnsNumArcsToConsider_ = input.readInt32();
233  break;
234  }
235  case 264: {
236  int rawValue = input.readEnum();
237 
238  continuousSchedulingSolver_ = rawValue;
239  break;
240  }
241  case 272: {
242  int rawValue = input.readEnum();
243 
244  mixedIntegerSchedulingSolver_ = rawValue;
245  break;
246  }
247  case 280: {
248 
249  heuristicCloseNodesLnsNumNodes_ = input.readInt32();
250  break;
251  }
252  case 290: {
253  java.lang.String s = input.readStringRequireUtf8();
254 
255  logTag_ = s;
256  break;
257  }
258  case 298: {
260  if (improvementLimitParameters_ != null) {
261  subBuilder = improvementLimitParameters_.toBuilder();
262  }
263  improvementLimitParameters_ = input.readMessage(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.parser(), extensionRegistry);
264  if (subBuilder != null) {
265  subBuilder.mergeFrom(improvementLimitParameters_);
266  improvementLimitParameters_ = subBuilder.buildPartial();
267  }
268 
269  break;
270  }
271  case 320: {
272 
273  cheapestInsertionAddUnperformedEntries_ = input.readBool();
274  break;
275  }
276  case 328: {
277 
278  useMultiArmedBanditConcatenateOperators_ = input.readBool();
279  break;
280  }
281  case 337: {
282 
283  multiArmedBanditCompoundOperatorMemoryCoefficient_ = input.readDouble();
284  break;
285  }
286  case 345: {
287 
288  multiArmedBanditCompoundOperatorExplorationCoefficient_ = input.readDouble();
289  break;
290  }
291  default: {
292  if (!parseUnknownField(
293  input, unknownFields, extensionRegistry, tag)) {
294  done = true;
295  }
296  break;
297  }
298  }
299  }
300  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
301  throw e.setUnfinishedMessage(this);
302  } catch (java.io.IOException e) {
303  throw new com.google.protobuf.InvalidProtocolBufferException(
304  e).setUnfinishedMessage(this);
305  } finally {
306  this.unknownFields = unknownFields.build();
307  makeExtensionsImmutable();
308  }
309  }
310  public static final com.google.protobuf.Descriptors.Descriptor
312  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
313  }
314 
315  @java.lang.Override
316  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
318  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_fieldAccessorTable
319  .ensureFieldAccessorsInitialized(
321  }
322 
331  public enum SchedulingSolver
332  implements com.google.protobuf.ProtocolMessageEnum {
336  UNSET(0),
340  GLOP(1),
344  CP_SAT(2),
346  ;
347 
351  public static final int UNSET_VALUE = 0;
355  public static final int GLOP_VALUE = 1;
359  public static final int CP_SAT_VALUE = 2;
360 
361 
362  public final int getNumber() {
363  if (this == UNRECOGNIZED) {
364  throw new java.lang.IllegalArgumentException(
365  "Can't get the number of an unknown enum value.");
366  }
367  return value;
368  }
369 
375  @java.lang.Deprecated
376  public static SchedulingSolver valueOf(int value) {
377  return forNumber(value);
378  }
379 
384  public static SchedulingSolver forNumber(int value) {
385  switch (value) {
386  case 0: return UNSET;
387  case 1: return GLOP;
388  case 2: return CP_SAT;
389  default: return null;
390  }
391  }
392 
393  public static com.google.protobuf.Internal.EnumLiteMap<SchedulingSolver>
395  return internalValueMap;
396  }
397  private static final com.google.protobuf.Internal.EnumLiteMap<
398  SchedulingSolver> internalValueMap =
399  new com.google.protobuf.Internal.EnumLiteMap<SchedulingSolver>() {
400  public SchedulingSolver findValueByNumber(int number) {
401  return SchedulingSolver.forNumber(number);
402  }
403  };
404 
405  public final com.google.protobuf.Descriptors.EnumValueDescriptor
407  if (this == UNRECOGNIZED) {
408  throw new java.lang.IllegalStateException(
409  "Can't get the descriptor of an unrecognized enum value.");
410  }
411  return getDescriptor().getValues().get(ordinal());
412  }
413  public final com.google.protobuf.Descriptors.EnumDescriptor
415  return getDescriptor();
416  }
417  public static final com.google.protobuf.Descriptors.EnumDescriptor
420  }
421 
422  private static final SchedulingSolver[] VALUES = values();
423 
424  public static SchedulingSolver valueOf(
425  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
426  if (desc.getType() != getDescriptor()) {
427  throw new java.lang.IllegalArgumentException(
428  "EnumValueDescriptor is not for this type.");
429  }
430  if (desc.getIndex() == -1) {
431  return UNRECOGNIZED;
432  }
433  return VALUES[desc.getIndex()];
434  }
435 
436  private final int value;
437 
438  private SchedulingSolver(int value) {
439  this.value = value;
440  }
441 
442  // @@protoc_insertion_point(enum_scope:operations_research.RoutingSearchParameters.SchedulingSolver)
443  }
444 
446  // @@protoc_insertion_point(interface_extends:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
447  com.google.protobuf.MessageOrBuilder {
448 
483 
518 
549 
610 
651 
682 
713 
734 
769 
788 
825 
862 
901 
926 
955 
986 
1023 
1050 
1079 
1106 
1143 
1182 
1215 
1234 
1263 
1286 
1309 
1328 
1351 
1376 
1397 
1422 
1443  }
1452  public static final class LocalSearchNeighborhoodOperators extends
1453  com.google.protobuf.GeneratedMessageV3 implements
1454  // @@protoc_insertion_point(message_implements:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
1456  private static final long serialVersionUID = 0L;
1457  // Use LocalSearchNeighborhoodOperators.newBuilder() to construct.
1458  private LocalSearchNeighborhoodOperators(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
1459  super(builder);
1460  }
1462  useRelocate_ = 0;
1463  useRelocatePair_ = 0;
1464  useLightRelocatePair_ = 0;
1465  useRelocateNeighbors_ = 0;
1466  useRelocateSubtrip_ = 0;
1467  useExchange_ = 0;
1468  useExchangePair_ = 0;
1469  useExchangeSubtrip_ = 0;
1470  useCross_ = 0;
1471  useCrossExchange_ = 0;
1472  useRelocateExpensiveChain_ = 0;
1473  useTwoOpt_ = 0;
1474  useOrOpt_ = 0;
1475  useLinKernighan_ = 0;
1476  useTspOpt_ = 0;
1477  useMakeActive_ = 0;
1478  useRelocateAndMakeActive_ = 0;
1479  useMakeInactive_ = 0;
1480  useMakeChainInactive_ = 0;
1481  useSwapActive_ = 0;
1482  useExtendedSwapActive_ = 0;
1483  useNodePairSwapActive_ = 0;
1484  usePathLns_ = 0;
1485  useFullPathLns_ = 0;
1486  useTspLns_ = 0;
1487  useInactiveLns_ = 0;
1488  useGlobalCheapestInsertionPathLns_ = 0;
1489  useLocalCheapestInsertionPathLns_ = 0;
1490  useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
1491  useGlobalCheapestInsertionExpensiveChainLns_ = 0;
1492  useLocalCheapestInsertionExpensiveChainLns_ = 0;
1493  useGlobalCheapestInsertionCloseNodesLns_ = 0;
1494  useLocalCheapestInsertionCloseNodesLns_ = 0;
1495  }
1496 
1497  @java.lang.Override
1498  @SuppressWarnings({"unused"})
1499  protected java.lang.Object newInstance(
1500  UnusedPrivateParameter unused) {
1501  return new LocalSearchNeighborhoodOperators();
1502  }
1503 
1504  @java.lang.Override
1505  public final com.google.protobuf.UnknownFieldSet
1507  return this.unknownFields;
1508  }
1510  com.google.protobuf.CodedInputStream input,
1511  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1512  throws com.google.protobuf.InvalidProtocolBufferException {
1513  this();
1514  if (extensionRegistry == null) {
1515  throw new java.lang.NullPointerException();
1516  }
1517  com.google.protobuf.UnknownFieldSet.Builder unknownFields =
1518  com.google.protobuf.UnknownFieldSet.newBuilder();
1519  try {
1520  boolean done = false;
1521  while (!done) {
1522  int tag = input.readTag();
1523  switch (tag) {
1524  case 0:
1525  done = true;
1526  break;
1527  case 8: {
1528  int rawValue = input.readEnum();
1529 
1530  useRelocate_ = rawValue;
1531  break;
1532  }
1533  case 16: {
1534  int rawValue = input.readEnum();
1535 
1536  useRelocatePair_ = rawValue;
1537  break;
1538  }
1539  case 24: {
1540  int rawValue = input.readEnum();
1541 
1542  useRelocateNeighbors_ = rawValue;
1543  break;
1544  }
1545  case 32: {
1546  int rawValue = input.readEnum();
1547 
1548  useExchange_ = rawValue;
1549  break;
1550  }
1551  case 40: {
1552  int rawValue = input.readEnum();
1553 
1554  useCross_ = rawValue;
1555  break;
1556  }
1557  case 48: {
1558  int rawValue = input.readEnum();
1559 
1560  useCrossExchange_ = rawValue;
1561  break;
1562  }
1563  case 56: {
1564  int rawValue = input.readEnum();
1565 
1566  useTwoOpt_ = rawValue;
1567  break;
1568  }
1569  case 64: {
1570  int rawValue = input.readEnum();
1571 
1572  useOrOpt_ = rawValue;
1573  break;
1574  }
1575  case 72: {
1576  int rawValue = input.readEnum();
1577 
1578  useLinKernighan_ = rawValue;
1579  break;
1580  }
1581  case 80: {
1582  int rawValue = input.readEnum();
1583 
1584  useTspOpt_ = rawValue;
1585  break;
1586  }
1587  case 88: {
1588  int rawValue = input.readEnum();
1589 
1590  useMakeActive_ = rawValue;
1591  break;
1592  }
1593  case 96: {
1594  int rawValue = input.readEnum();
1595 
1596  useMakeInactive_ = rawValue;
1597  break;
1598  }
1599  case 104: {
1600  int rawValue = input.readEnum();
1601 
1602  useMakeChainInactive_ = rawValue;
1603  break;
1604  }
1605  case 112: {
1606  int rawValue = input.readEnum();
1607 
1608  useSwapActive_ = rawValue;
1609  break;
1610  }
1611  case 120: {
1612  int rawValue = input.readEnum();
1613 
1614  useExtendedSwapActive_ = rawValue;
1615  break;
1616  }
1617  case 128: {
1618  int rawValue = input.readEnum();
1619 
1620  usePathLns_ = rawValue;
1621  break;
1622  }
1623  case 136: {
1624  int rawValue = input.readEnum();
1625 
1626  useFullPathLns_ = rawValue;
1627  break;
1628  }
1629  case 144: {
1630  int rawValue = input.readEnum();
1631 
1632  useTspLns_ = rawValue;
1633  break;
1634  }
1635  case 152: {
1636  int rawValue = input.readEnum();
1637 
1638  useInactiveLns_ = rawValue;
1639  break;
1640  }
1641  case 160: {
1642  int rawValue = input.readEnum();
1643 
1644  useNodePairSwapActive_ = rawValue;
1645  break;
1646  }
1647  case 168: {
1648  int rawValue = input.readEnum();
1649 
1650  useRelocateAndMakeActive_ = rawValue;
1651  break;
1652  }
1653  case 176: {
1654  int rawValue = input.readEnum();
1655 
1656  useExchangePair_ = rawValue;
1657  break;
1658  }
1659  case 184: {
1660  int rawValue = input.readEnum();
1661 
1662  useRelocateExpensiveChain_ = rawValue;
1663  break;
1664  }
1665  case 192: {
1666  int rawValue = input.readEnum();
1667 
1668  useLightRelocatePair_ = rawValue;
1669  break;
1670  }
1671  case 200: {
1672  int rawValue = input.readEnum();
1673 
1674  useRelocateSubtrip_ = rawValue;
1675  break;
1676  }
1677  case 208: {
1678  int rawValue = input.readEnum();
1679 
1680  useExchangeSubtrip_ = rawValue;
1681  break;
1682  }
1683  case 216: {
1684  int rawValue = input.readEnum();
1685 
1686  useGlobalCheapestInsertionPathLns_ = rawValue;
1687  break;
1688  }
1689  case 224: {
1690  int rawValue = input.readEnum();
1691 
1692  useLocalCheapestInsertionPathLns_ = rawValue;
1693  break;
1694  }
1695  case 232: {
1696  int rawValue = input.readEnum();
1697 
1698  useGlobalCheapestInsertionExpensiveChainLns_ = rawValue;
1699  break;
1700  }
1701  case 240: {
1702  int rawValue = input.readEnum();
1703 
1704  useLocalCheapestInsertionExpensiveChainLns_ = rawValue;
1705  break;
1706  }
1707  case 248: {
1708  int rawValue = input.readEnum();
1709 
1710  useGlobalCheapestInsertionCloseNodesLns_ = rawValue;
1711  break;
1712  }
1713  case 256: {
1714  int rawValue = input.readEnum();
1715 
1716  useLocalCheapestInsertionCloseNodesLns_ = rawValue;
1717  break;
1718  }
1719  case 264: {
1720  int rawValue = input.readEnum();
1721 
1722  useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = rawValue;
1723  break;
1724  }
1725  default: {
1726  if (!parseUnknownField(
1727  input, unknownFields, extensionRegistry, tag)) {
1728  done = true;
1729  }
1730  break;
1731  }
1732  }
1733  }
1734  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1735  throw e.setUnfinishedMessage(this);
1736  } catch (java.io.IOException e) {
1737  throw new com.google.protobuf.InvalidProtocolBufferException(
1738  e).setUnfinishedMessage(this);
1739  } finally {
1740  this.unknownFields = unknownFields.build();
1741  makeExtensionsImmutable();
1742  }
1743  }
1744  public static final com.google.protobuf.Descriptors.Descriptor
1746  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
1747  }
1748 
1749  @java.lang.Override
1750  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
1752  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_fieldAccessorTable
1753  .ensureFieldAccessorsInitialized(
1755  }
1756 
1757  public static final int USE_RELOCATE_FIELD_NUMBER = 1;
1758  private int useRelocate_;
1775  @java.lang.Override public int getUseRelocateValue() {
1776  return useRelocate_;
1777  }
1794  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseRelocate() {
1795  @SuppressWarnings("deprecation")
1797  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1798  }
1799 
1800  public static final int USE_RELOCATE_PAIR_FIELD_NUMBER = 2;
1801  private int useRelocatePair_;
1818  @java.lang.Override public int getUseRelocatePairValue() {
1819  return useRelocatePair_;
1820  }
1837  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseRelocatePair() {
1838  @SuppressWarnings("deprecation")
1840  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1841  }
1842 
1843  public static final int USE_LIGHT_RELOCATE_PAIR_FIELD_NUMBER = 24;
1844  private int useLightRelocatePair_;
1859  @java.lang.Override public int getUseLightRelocatePairValue() {
1860  return useLightRelocatePair_;
1861  }
1877  @SuppressWarnings("deprecation")
1879  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1880  }
1881 
1882  public static final int USE_RELOCATE_NEIGHBORS_FIELD_NUMBER = 3;
1883  private int useRelocateNeighbors_;
1913  @java.lang.Override public int getUseRelocateNeighborsValue() {
1914  return useRelocateNeighbors_;
1915  }
1946  @SuppressWarnings("deprecation")
1948  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1949  }
1950 
1951  public static final int USE_RELOCATE_SUBTRIP_FIELD_NUMBER = 25;
1952  private int useRelocateSubtrip_;
1972  @java.lang.Override public int getUseRelocateSubtripValue() {
1973  return useRelocateSubtrip_;
1974  }
1995  @SuppressWarnings("deprecation")
1997  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1998  }
1999 
2000  public static final int USE_EXCHANGE_FIELD_NUMBER = 4;
2001  private int useExchange_;
2016  @java.lang.Override public int getUseExchangeValue() {
2017  return useExchange_;
2018  }
2033  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseExchange() {
2034  @SuppressWarnings("deprecation")
2036  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2037  }
2038 
2039  public static final int USE_EXCHANGE_PAIR_FIELD_NUMBER = 22;
2040  private int useExchangePair_;
2055  @java.lang.Override public int getUseExchangePairValue() {
2056  return useExchangePair_;
2057  }
2072  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseExchangePair() {
2073  @SuppressWarnings("deprecation")
2075  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2076  }
2077 
2078  public static final int USE_EXCHANGE_SUBTRIP_FIELD_NUMBER = 26;
2079  private int useExchangeSubtrip_;
2089  @java.lang.Override public int getUseExchangeSubtripValue() {
2090  return useExchangeSubtrip_;
2091  }
2102  @SuppressWarnings("deprecation")
2104  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2105  }
2106 
2107  public static final int USE_CROSS_FIELD_NUMBER = 5;
2108  private int useCross_;
2125  @java.lang.Override public int getUseCrossValue() {
2126  return useCross_;
2127  }
2144  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseCross() {
2145  @SuppressWarnings("deprecation")
2147  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2148  }
2149 
2150  public static final int USE_CROSS_EXCHANGE_FIELD_NUMBER = 6;
2151  private int useCrossExchange_;
2160  @java.lang.Override public int getUseCrossExchangeValue() {
2161  return useCrossExchange_;
2162  }
2172  @SuppressWarnings("deprecation")
2174  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2175  }
2176 
2177  public static final int USE_RELOCATE_EXPENSIVE_CHAIN_FIELD_NUMBER = 23;
2178  private int useRelocateExpensiveChain_;
2196  @java.lang.Override public int getUseRelocateExpensiveChainValue() {
2197  return useRelocateExpensiveChain_;
2198  }
2217  @SuppressWarnings("deprecation")
2218  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateExpensiveChain_);
2219  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2220  }
2221 
2222  public static final int USE_TWO_OPT_FIELD_NUMBER = 7;
2223  private int useTwoOpt_;
2241  @java.lang.Override public int getUseTwoOptValue() {
2242  return useTwoOpt_;
2243  }
2261  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseTwoOpt() {
2262  @SuppressWarnings("deprecation")
2264  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2265  }
2266 
2267  public static final int USE_OR_OPT_FIELD_NUMBER = 8;
2268  private int useOrOpt_;
2287  @java.lang.Override public int getUseOrOptValue() {
2288  return useOrOpt_;
2289  }
2308  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseOrOpt() {
2309  @SuppressWarnings("deprecation")
2311  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2312  }
2313 
2314  public static final int USE_LIN_KERNIGHAN_FIELD_NUMBER = 9;
2315  private int useLinKernighan_;
2327  @java.lang.Override public int getUseLinKernighanValue() {
2328  return useLinKernighan_;
2329  }
2341  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseLinKernighan() {
2342  @SuppressWarnings("deprecation")
2344  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2345  }
2346 
2347  public static final int USE_TSP_OPT_FIELD_NUMBER = 10;
2348  private int useTspOpt_;
2362  @java.lang.Override public int getUseTspOptValue() {
2363  return useTspOpt_;
2364  }
2378  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseTspOpt() {
2379  @SuppressWarnings("deprecation")
2381  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2382  }
2383 
2384  public static final int USE_MAKE_ACTIVE_FIELD_NUMBER = 11;
2385  private int useMakeActive_;
2400  @java.lang.Override public int getUseMakeActiveValue() {
2401  return useMakeActive_;
2402  }
2417  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseMakeActive() {
2418  @SuppressWarnings("deprecation")
2420  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2421  }
2422 
2423  public static final int USE_RELOCATE_AND_MAKE_ACTIVE_FIELD_NUMBER = 21;
2424  private int useRelocateAndMakeActive_;
2442  @java.lang.Override public int getUseRelocateAndMakeActiveValue() {
2443  return useRelocateAndMakeActive_;
2444  }
2463  @SuppressWarnings("deprecation")
2464  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateAndMakeActive_);
2465  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2466  }
2467 
2468  public static final int USE_MAKE_INACTIVE_FIELD_NUMBER = 12;
2469  private int useMakeInactive_;
2482  @java.lang.Override public int getUseMakeInactiveValue() {
2483  return useMakeInactive_;
2484  }
2497  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseMakeInactive() {
2498  @SuppressWarnings("deprecation")
2500  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2501  }
2502 
2503  public static final int USE_MAKE_CHAIN_INACTIVE_FIELD_NUMBER = 13;
2504  private int useMakeChainInactive_;
2518  @java.lang.Override public int getUseMakeChainInactiveValue() {
2519  return useMakeChainInactive_;
2520  }
2535  @SuppressWarnings("deprecation")
2537  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2538  }
2539 
2540  public static final int USE_SWAP_ACTIVE_FIELD_NUMBER = 14;
2541  private int useSwapActive_;
2554  @java.lang.Override public int getUseSwapActiveValue() {
2555  return useSwapActive_;
2556  }
2569  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseSwapActive() {
2570  @SuppressWarnings("deprecation")
2572  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2573  }
2574 
2575  public static final int USE_EXTENDED_SWAP_ACTIVE_FIELD_NUMBER = 15;
2576  private int useExtendedSwapActive_;
2594  @java.lang.Override public int getUseExtendedSwapActiveValue() {
2595  return useExtendedSwapActive_;
2596  }
2615  @SuppressWarnings("deprecation")
2616  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useExtendedSwapActive_);
2617  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2618  }
2619 
2620  public static final int USE_NODE_PAIR_SWAP_ACTIVE_FIELD_NUMBER = 20;
2621  private int useNodePairSwapActive_;
2640  @java.lang.Override public int getUseNodePairSwapActiveValue() {
2641  return useNodePairSwapActive_;
2642  }
2662  @SuppressWarnings("deprecation")
2663  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useNodePairSwapActive_);
2664  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2665  }
2666 
2667  public static final int USE_PATH_LNS_FIELD_NUMBER = 16;
2668  private int usePathLns_;
2684  @java.lang.Override public int getUsePathLnsValue() {
2685  return usePathLns_;
2686  }
2702  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUsePathLns() {
2703  @SuppressWarnings("deprecation")
2705  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2706  }
2707 
2708  public static final int USE_FULL_PATH_LNS_FIELD_NUMBER = 17;
2709  private int useFullPathLns_;
2718  @java.lang.Override public int getUseFullPathLnsValue() {
2719  return useFullPathLns_;
2720  }
2729  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseFullPathLns() {
2730  @SuppressWarnings("deprecation")
2732  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2733  }
2734 
2735  public static final int USE_TSP_LNS_FIELD_NUMBER = 18;
2736  private int useTspLns_;
2750  @java.lang.Override public int getUseTspLnsValue() {
2751  return useTspLns_;
2752  }
2766  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseTspLns() {
2767  @SuppressWarnings("deprecation")
2769  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2770  }
2771 
2772  public static final int USE_INACTIVE_LNS_FIELD_NUMBER = 19;
2773  private int useInactiveLns_;
2784  @java.lang.Override public int getUseInactiveLnsValue() {
2785  return useInactiveLns_;
2786  }
2797  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseInactiveLns() {
2798  @SuppressWarnings("deprecation")
2800  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2801  }
2802 
2804  private int useGlobalCheapestInsertionPathLns_;
2815  @java.lang.Override public int getUseGlobalCheapestInsertionPathLnsValue() {
2816  return useGlobalCheapestInsertionPathLns_;
2817  }
2829  @SuppressWarnings("deprecation")
2830  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionPathLns_);
2831  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2832  }
2833 
2835  private int useLocalCheapestInsertionPathLns_;
2844  @java.lang.Override public int getUseLocalCheapestInsertionPathLnsValue() {
2845  return useLocalCheapestInsertionPathLns_;
2846  }
2856  @SuppressWarnings("deprecation")
2857  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionPathLns_);
2858  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2859  }
2860 
2862  private int useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
2874  return useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
2875  }
2887  @SuppressWarnings("deprecation")
2888  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocatePathGlobalCheapestInsertionInsertUnperformed_);
2889  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2890  }
2891 
2893  private int useGlobalCheapestInsertionExpensiveChainLns_;
2905  @java.lang.Override public int getUseGlobalCheapestInsertionExpensiveChainLnsValue() {
2906  return useGlobalCheapestInsertionExpensiveChainLns_;
2907  }
2920  @SuppressWarnings("deprecation")
2921  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionExpensiveChainLns_);
2922  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2923  }
2924 
2926  private int useLocalCheapestInsertionExpensiveChainLns_;
2936  @java.lang.Override public int getUseLocalCheapestInsertionExpensiveChainLnsValue() {
2937  return useLocalCheapestInsertionExpensiveChainLns_;
2938  }
2949  @SuppressWarnings("deprecation")
2950  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionExpensiveChainLns_);
2951  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2952  }
2953 
2955  private int useGlobalCheapestInsertionCloseNodesLns_;
2967  @java.lang.Override public int getUseGlobalCheapestInsertionCloseNodesLnsValue() {
2968  return useGlobalCheapestInsertionCloseNodesLns_;
2969  }
2982  @SuppressWarnings("deprecation")
2983  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionCloseNodesLns_);
2984  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2985  }
2986 
2988  private int useLocalCheapestInsertionCloseNodesLns_;
2998  @java.lang.Override public int getUseLocalCheapestInsertionCloseNodesLnsValue() {
2999  return useLocalCheapestInsertionCloseNodesLns_;
3000  }
3011  @SuppressWarnings("deprecation")
3012  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionCloseNodesLns_);
3013  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3014  }
3015 
3016  private byte memoizedIsInitialized = -1;
3017  @java.lang.Override
3018  public final boolean isInitialized() {
3019  byte isInitialized = memoizedIsInitialized;
3020  if (isInitialized == 1) return true;
3021  if (isInitialized == 0) return false;
3022 
3023  memoizedIsInitialized = 1;
3024  return true;
3025  }
3026 
3027  @java.lang.Override
3028  public void writeTo(com.google.protobuf.CodedOutputStream output)
3029  throws java.io.IOException {
3030  if (useRelocate_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3031  output.writeEnum(1, useRelocate_);
3032  }
3033  if (useRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3034  output.writeEnum(2, useRelocatePair_);
3035  }
3036  if (useRelocateNeighbors_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3037  output.writeEnum(3, useRelocateNeighbors_);
3038  }
3039  if (useExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3040  output.writeEnum(4, useExchange_);
3041  }
3042  if (useCross_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3043  output.writeEnum(5, useCross_);
3044  }
3045  if (useCrossExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3046  output.writeEnum(6, useCrossExchange_);
3047  }
3048  if (useTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3049  output.writeEnum(7, useTwoOpt_);
3050  }
3051  if (useOrOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3052  output.writeEnum(8, useOrOpt_);
3053  }
3054  if (useLinKernighan_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3055  output.writeEnum(9, useLinKernighan_);
3056  }
3057  if (useTspOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3058  output.writeEnum(10, useTspOpt_);
3059  }
3060  if (useMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3061  output.writeEnum(11, useMakeActive_);
3062  }
3063  if (useMakeInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3064  output.writeEnum(12, useMakeInactive_);
3065  }
3066  if (useMakeChainInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3067  output.writeEnum(13, useMakeChainInactive_);
3068  }
3069  if (useSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3070  output.writeEnum(14, useSwapActive_);
3071  }
3072  if (useExtendedSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3073  output.writeEnum(15, useExtendedSwapActive_);
3074  }
3075  if (usePathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3076  output.writeEnum(16, usePathLns_);
3077  }
3078  if (useFullPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3079  output.writeEnum(17, useFullPathLns_);
3080  }
3081  if (useTspLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3082  output.writeEnum(18, useTspLns_);
3083  }
3084  if (useInactiveLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3085  output.writeEnum(19, useInactiveLns_);
3086  }
3087  if (useNodePairSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3088  output.writeEnum(20, useNodePairSwapActive_);
3089  }
3090  if (useRelocateAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3091  output.writeEnum(21, useRelocateAndMakeActive_);
3092  }
3093  if (useExchangePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3094  output.writeEnum(22, useExchangePair_);
3095  }
3096  if (useRelocateExpensiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3097  output.writeEnum(23, useRelocateExpensiveChain_);
3098  }
3099  if (useLightRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3100  output.writeEnum(24, useLightRelocatePair_);
3101  }
3102  if (useRelocateSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3103  output.writeEnum(25, useRelocateSubtrip_);
3104  }
3105  if (useExchangeSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3106  output.writeEnum(26, useExchangeSubtrip_);
3107  }
3108  if (useGlobalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3109  output.writeEnum(27, useGlobalCheapestInsertionPathLns_);
3110  }
3111  if (useLocalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3112  output.writeEnum(28, useLocalCheapestInsertionPathLns_);
3113  }
3114  if (useGlobalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3115  output.writeEnum(29, useGlobalCheapestInsertionExpensiveChainLns_);
3116  }
3117  if (useLocalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3118  output.writeEnum(30, useLocalCheapestInsertionExpensiveChainLns_);
3119  }
3120  if (useGlobalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3121  output.writeEnum(31, useGlobalCheapestInsertionCloseNodesLns_);
3122  }
3123  if (useLocalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3124  output.writeEnum(32, useLocalCheapestInsertionCloseNodesLns_);
3125  }
3126  if (useRelocatePathGlobalCheapestInsertionInsertUnperformed_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3127  output.writeEnum(33, useRelocatePathGlobalCheapestInsertionInsertUnperformed_);
3128  }
3129  unknownFields.writeTo(output);
3130  }
3131 
3132  @java.lang.Override
3133  public int getSerializedSize() {
3134  int size = memoizedSize;
3135  if (size != -1) return size;
3136 
3137  size = 0;
3138  if (useRelocate_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3139  size += com.google.protobuf.CodedOutputStream
3140  .computeEnumSize(1, useRelocate_);
3141  }
3142  if (useRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3143  size += com.google.protobuf.CodedOutputStream
3144  .computeEnumSize(2, useRelocatePair_);
3145  }
3146  if (useRelocateNeighbors_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3147  size += com.google.protobuf.CodedOutputStream
3148  .computeEnumSize(3, useRelocateNeighbors_);
3149  }
3150  if (useExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3151  size += com.google.protobuf.CodedOutputStream
3152  .computeEnumSize(4, useExchange_);
3153  }
3154  if (useCross_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3155  size += com.google.protobuf.CodedOutputStream
3156  .computeEnumSize(5, useCross_);
3157  }
3158  if (useCrossExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3159  size += com.google.protobuf.CodedOutputStream
3160  .computeEnumSize(6, useCrossExchange_);
3161  }
3162  if (useTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3163  size += com.google.protobuf.CodedOutputStream
3164  .computeEnumSize(7, useTwoOpt_);
3165  }
3166  if (useOrOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3167  size += com.google.protobuf.CodedOutputStream
3168  .computeEnumSize(8, useOrOpt_);
3169  }
3170  if (useLinKernighan_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3171  size += com.google.protobuf.CodedOutputStream
3172  .computeEnumSize(9, useLinKernighan_);
3173  }
3174  if (useTspOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3175  size += com.google.protobuf.CodedOutputStream
3176  .computeEnumSize(10, useTspOpt_);
3177  }
3178  if (useMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3179  size += com.google.protobuf.CodedOutputStream
3180  .computeEnumSize(11, useMakeActive_);
3181  }
3182  if (useMakeInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3183  size += com.google.protobuf.CodedOutputStream
3184  .computeEnumSize(12, useMakeInactive_);
3185  }
3186  if (useMakeChainInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3187  size += com.google.protobuf.CodedOutputStream
3188  .computeEnumSize(13, useMakeChainInactive_);
3189  }
3190  if (useSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3191  size += com.google.protobuf.CodedOutputStream
3192  .computeEnumSize(14, useSwapActive_);
3193  }
3194  if (useExtendedSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3195  size += com.google.protobuf.CodedOutputStream
3196  .computeEnumSize(15, useExtendedSwapActive_);
3197  }
3198  if (usePathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3199  size += com.google.protobuf.CodedOutputStream
3200  .computeEnumSize(16, usePathLns_);
3201  }
3202  if (useFullPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3203  size += com.google.protobuf.CodedOutputStream
3204  .computeEnumSize(17, useFullPathLns_);
3205  }
3206  if (useTspLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3207  size += com.google.protobuf.CodedOutputStream
3208  .computeEnumSize(18, useTspLns_);
3209  }
3210  if (useInactiveLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3211  size += com.google.protobuf.CodedOutputStream
3212  .computeEnumSize(19, useInactiveLns_);
3213  }
3214  if (useNodePairSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3215  size += com.google.protobuf.CodedOutputStream
3216  .computeEnumSize(20, useNodePairSwapActive_);
3217  }
3218  if (useRelocateAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3219  size += com.google.protobuf.CodedOutputStream
3220  .computeEnumSize(21, useRelocateAndMakeActive_);
3221  }
3222  if (useExchangePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3223  size += com.google.protobuf.CodedOutputStream
3224  .computeEnumSize(22, useExchangePair_);
3225  }
3226  if (useRelocateExpensiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3227  size += com.google.protobuf.CodedOutputStream
3228  .computeEnumSize(23, useRelocateExpensiveChain_);
3229  }
3230  if (useLightRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3231  size += com.google.protobuf.CodedOutputStream
3232  .computeEnumSize(24, useLightRelocatePair_);
3233  }
3234  if (useRelocateSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3235  size += com.google.protobuf.CodedOutputStream
3236  .computeEnumSize(25, useRelocateSubtrip_);
3237  }
3238  if (useExchangeSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3239  size += com.google.protobuf.CodedOutputStream
3240  .computeEnumSize(26, useExchangeSubtrip_);
3241  }
3242  if (useGlobalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3243  size += com.google.protobuf.CodedOutputStream
3244  .computeEnumSize(27, useGlobalCheapestInsertionPathLns_);
3245  }
3246  if (useLocalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3247  size += com.google.protobuf.CodedOutputStream
3248  .computeEnumSize(28, useLocalCheapestInsertionPathLns_);
3249  }
3250  if (useGlobalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3251  size += com.google.protobuf.CodedOutputStream
3252  .computeEnumSize(29, useGlobalCheapestInsertionExpensiveChainLns_);
3253  }
3254  if (useLocalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3255  size += com.google.protobuf.CodedOutputStream
3256  .computeEnumSize(30, useLocalCheapestInsertionExpensiveChainLns_);
3257  }
3258  if (useGlobalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3259  size += com.google.protobuf.CodedOutputStream
3260  .computeEnumSize(31, useGlobalCheapestInsertionCloseNodesLns_);
3261  }
3262  if (useLocalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3263  size += com.google.protobuf.CodedOutputStream
3264  .computeEnumSize(32, useLocalCheapestInsertionCloseNodesLns_);
3265  }
3266  if (useRelocatePathGlobalCheapestInsertionInsertUnperformed_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3267  size += com.google.protobuf.CodedOutputStream
3268  .computeEnumSize(33, useRelocatePathGlobalCheapestInsertionInsertUnperformed_);
3269  }
3270  size += unknownFields.getSerializedSize();
3271  memoizedSize = size;
3272  return size;
3273  }
3274 
3275  @java.lang.Override
3276  public boolean equals(final java.lang.Object obj) {
3277  if (obj == this) {
3278  return true;
3279  }
3281  return super.equals(obj);
3282  }
3284 
3285  if (useRelocate_ != other.useRelocate_) return false;
3286  if (useRelocatePair_ != other.useRelocatePair_) return false;
3287  if (useLightRelocatePair_ != other.useLightRelocatePair_) return false;
3288  if (useRelocateNeighbors_ != other.useRelocateNeighbors_) return false;
3289  if (useRelocateSubtrip_ != other.useRelocateSubtrip_) return false;
3290  if (useExchange_ != other.useExchange_) return false;
3291  if (useExchangePair_ != other.useExchangePair_) return false;
3292  if (useExchangeSubtrip_ != other.useExchangeSubtrip_) return false;
3293  if (useCross_ != other.useCross_) return false;
3294  if (useCrossExchange_ != other.useCrossExchange_) return false;
3295  if (useRelocateExpensiveChain_ != other.useRelocateExpensiveChain_) return false;
3296  if (useTwoOpt_ != other.useTwoOpt_) return false;
3297  if (useOrOpt_ != other.useOrOpt_) return false;
3298  if (useLinKernighan_ != other.useLinKernighan_) return false;
3299  if (useTspOpt_ != other.useTspOpt_) return false;
3300  if (useMakeActive_ != other.useMakeActive_) return false;
3301  if (useRelocateAndMakeActive_ != other.useRelocateAndMakeActive_) return false;
3302  if (useMakeInactive_ != other.useMakeInactive_) return false;
3303  if (useMakeChainInactive_ != other.useMakeChainInactive_) return false;
3304  if (useSwapActive_ != other.useSwapActive_) return false;
3305  if (useExtendedSwapActive_ != other.useExtendedSwapActive_) return false;
3306  if (useNodePairSwapActive_ != other.useNodePairSwapActive_) return false;
3307  if (usePathLns_ != other.usePathLns_) return false;
3308  if (useFullPathLns_ != other.useFullPathLns_) return false;
3309  if (useTspLns_ != other.useTspLns_) return false;
3310  if (useInactiveLns_ != other.useInactiveLns_) return false;
3311  if (useGlobalCheapestInsertionPathLns_ != other.useGlobalCheapestInsertionPathLns_) return false;
3312  if (useLocalCheapestInsertionPathLns_ != other.useLocalCheapestInsertionPathLns_) return false;
3313  if (useRelocatePathGlobalCheapestInsertionInsertUnperformed_ != other.useRelocatePathGlobalCheapestInsertionInsertUnperformed_) return false;
3314  if (useGlobalCheapestInsertionExpensiveChainLns_ != other.useGlobalCheapestInsertionExpensiveChainLns_) return false;
3315  if (useLocalCheapestInsertionExpensiveChainLns_ != other.useLocalCheapestInsertionExpensiveChainLns_) return false;
3316  if (useGlobalCheapestInsertionCloseNodesLns_ != other.useGlobalCheapestInsertionCloseNodesLns_) return false;
3317  if (useLocalCheapestInsertionCloseNodesLns_ != other.useLocalCheapestInsertionCloseNodesLns_) return false;
3318  if (!unknownFields.equals(other.unknownFields)) return false;
3319  return true;
3320  }
3321 
3322  @java.lang.Override
3323  public int hashCode() {
3324  if (memoizedHashCode != 0) {
3325  return memoizedHashCode;
3326  }
3327  int hash = 41;
3328  hash = (19 * hash) + getDescriptor().hashCode();
3329  hash = (37 * hash) + USE_RELOCATE_FIELD_NUMBER;
3330  hash = (53 * hash) + useRelocate_;
3331  hash = (37 * hash) + USE_RELOCATE_PAIR_FIELD_NUMBER;
3332  hash = (53 * hash) + useRelocatePair_;
3333  hash = (37 * hash) + USE_LIGHT_RELOCATE_PAIR_FIELD_NUMBER;
3334  hash = (53 * hash) + useLightRelocatePair_;
3335  hash = (37 * hash) + USE_RELOCATE_NEIGHBORS_FIELD_NUMBER;
3336  hash = (53 * hash) + useRelocateNeighbors_;
3337  hash = (37 * hash) + USE_RELOCATE_SUBTRIP_FIELD_NUMBER;
3338  hash = (53 * hash) + useRelocateSubtrip_;
3339  hash = (37 * hash) + USE_EXCHANGE_FIELD_NUMBER;
3340  hash = (53 * hash) + useExchange_;
3341  hash = (37 * hash) + USE_EXCHANGE_PAIR_FIELD_NUMBER;
3342  hash = (53 * hash) + useExchangePair_;
3343  hash = (37 * hash) + USE_EXCHANGE_SUBTRIP_FIELD_NUMBER;
3344  hash = (53 * hash) + useExchangeSubtrip_;
3345  hash = (37 * hash) + USE_CROSS_FIELD_NUMBER;
3346  hash = (53 * hash) + useCross_;
3347  hash = (37 * hash) + USE_CROSS_EXCHANGE_FIELD_NUMBER;
3348  hash = (53 * hash) + useCrossExchange_;
3349  hash = (37 * hash) + USE_RELOCATE_EXPENSIVE_CHAIN_FIELD_NUMBER;
3350  hash = (53 * hash) + useRelocateExpensiveChain_;
3351  hash = (37 * hash) + USE_TWO_OPT_FIELD_NUMBER;
3352  hash = (53 * hash) + useTwoOpt_;
3353  hash = (37 * hash) + USE_OR_OPT_FIELD_NUMBER;
3354  hash = (53 * hash) + useOrOpt_;
3355  hash = (37 * hash) + USE_LIN_KERNIGHAN_FIELD_NUMBER;
3356  hash = (53 * hash) + useLinKernighan_;
3357  hash = (37 * hash) + USE_TSP_OPT_FIELD_NUMBER;
3358  hash = (53 * hash) + useTspOpt_;
3359  hash = (37 * hash) + USE_MAKE_ACTIVE_FIELD_NUMBER;
3360  hash = (53 * hash) + useMakeActive_;
3361  hash = (37 * hash) + USE_RELOCATE_AND_MAKE_ACTIVE_FIELD_NUMBER;
3362  hash = (53 * hash) + useRelocateAndMakeActive_;
3363  hash = (37 * hash) + USE_MAKE_INACTIVE_FIELD_NUMBER;
3364  hash = (53 * hash) + useMakeInactive_;
3365  hash = (37 * hash) + USE_MAKE_CHAIN_INACTIVE_FIELD_NUMBER;
3366  hash = (53 * hash) + useMakeChainInactive_;
3367  hash = (37 * hash) + USE_SWAP_ACTIVE_FIELD_NUMBER;
3368  hash = (53 * hash) + useSwapActive_;
3369  hash = (37 * hash) + USE_EXTENDED_SWAP_ACTIVE_FIELD_NUMBER;
3370  hash = (53 * hash) + useExtendedSwapActive_;
3371  hash = (37 * hash) + USE_NODE_PAIR_SWAP_ACTIVE_FIELD_NUMBER;
3372  hash = (53 * hash) + useNodePairSwapActive_;
3373  hash = (37 * hash) + USE_PATH_LNS_FIELD_NUMBER;
3374  hash = (53 * hash) + usePathLns_;
3375  hash = (37 * hash) + USE_FULL_PATH_LNS_FIELD_NUMBER;
3376  hash = (53 * hash) + useFullPathLns_;
3377  hash = (37 * hash) + USE_TSP_LNS_FIELD_NUMBER;
3378  hash = (53 * hash) + useTspLns_;
3379  hash = (37 * hash) + USE_INACTIVE_LNS_FIELD_NUMBER;
3380  hash = (53 * hash) + useInactiveLns_;
3382  hash = (53 * hash) + useGlobalCheapestInsertionPathLns_;
3384  hash = (53 * hash) + useLocalCheapestInsertionPathLns_;
3386  hash = (53 * hash) + useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
3388  hash = (53 * hash) + useGlobalCheapestInsertionExpensiveChainLns_;
3390  hash = (53 * hash) + useLocalCheapestInsertionExpensiveChainLns_;
3392  hash = (53 * hash) + useGlobalCheapestInsertionCloseNodesLns_;
3394  hash = (53 * hash) + useLocalCheapestInsertionCloseNodesLns_;
3395  hash = (29 * hash) + unknownFields.hashCode();
3396  memoizedHashCode = hash;
3397  return hash;
3398  }
3399 
3401  java.nio.ByteBuffer data)
3402  throws com.google.protobuf.InvalidProtocolBufferException {
3403  return PARSER.parseFrom(data);
3404  }
3406  java.nio.ByteBuffer data,
3407  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3408  throws com.google.protobuf.InvalidProtocolBufferException {
3409  return PARSER.parseFrom(data, extensionRegistry);
3410  }
3412  com.google.protobuf.ByteString data)
3413  throws com.google.protobuf.InvalidProtocolBufferException {
3414  return PARSER.parseFrom(data);
3415  }
3417  com.google.protobuf.ByteString data,
3418  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3419  throws com.google.protobuf.InvalidProtocolBufferException {
3420  return PARSER.parseFrom(data, extensionRegistry);
3421  }
3423  throws com.google.protobuf.InvalidProtocolBufferException {
3424  return PARSER.parseFrom(data);
3425  }
3427  byte[] data,
3428  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3429  throws com.google.protobuf.InvalidProtocolBufferException {
3430  return PARSER.parseFrom(data, extensionRegistry);
3431  }
3433  throws java.io.IOException {
3434  return com.google.protobuf.GeneratedMessageV3
3435  .parseWithIOException(PARSER, input);
3436  }
3438  java.io.InputStream input,
3439  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3440  throws java.io.IOException {
3441  return com.google.protobuf.GeneratedMessageV3
3442  .parseWithIOException(PARSER, input, extensionRegistry);
3443  }
3445  throws java.io.IOException {
3446  return com.google.protobuf.GeneratedMessageV3
3447  .parseDelimitedWithIOException(PARSER, input);
3448  }
3450  java.io.InputStream input,
3451  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3452  throws java.io.IOException {
3453  return com.google.protobuf.GeneratedMessageV3
3454  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
3455  }
3457  com.google.protobuf.CodedInputStream input)
3458  throws java.io.IOException {
3459  return com.google.protobuf.GeneratedMessageV3
3460  .parseWithIOException(PARSER, input);
3461  }
3463  com.google.protobuf.CodedInputStream input,
3464  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3465  throws java.io.IOException {
3466  return com.google.protobuf.GeneratedMessageV3
3467  .parseWithIOException(PARSER, input, extensionRegistry);
3468  }
3469 
3470  @java.lang.Override
3471  public Builder newBuilderForType() { return newBuilder(); }
3472  public static Builder newBuilder() {
3473  return DEFAULT_INSTANCE.toBuilder();
3474  }
3476  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
3477  }
3478  @java.lang.Override
3479  public Builder toBuilder() {
3480  return this == DEFAULT_INSTANCE
3481  ? new Builder() : new Builder().mergeFrom(this);
3482  }
3483 
3484  @java.lang.Override
3486  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
3487  Builder builder = new Builder(parent);
3488  return builder;
3489  }
3498  public static final class Builder extends
3499  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
3500  // @@protoc_insertion_point(builder_implements:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
3502  public static final com.google.protobuf.Descriptors.Descriptor
3504  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
3505  }
3506 
3507  @java.lang.Override
3508  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
3510  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_fieldAccessorTable
3511  .ensureFieldAccessorsInitialized(
3513  }
3514 
3515  // Construct using com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.newBuilder()
3516  private Builder() {
3517  maybeForceBuilderInitialization();
3518  }
3519 
3520  private Builder(
3521  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
3522  super(parent);
3523  maybeForceBuilderInitialization();
3524  }
3525  private void maybeForceBuilderInitialization() {
3526  if (com.google.protobuf.GeneratedMessageV3
3527  .alwaysUseFieldBuilders) {
3528  }
3529  }
3530  @java.lang.Override
3531  public Builder clear() {
3532  super.clear();
3533  useRelocate_ = 0;
3534 
3535  useRelocatePair_ = 0;
3536 
3537  useLightRelocatePair_ = 0;
3538 
3539  useRelocateNeighbors_ = 0;
3540 
3541  useRelocateSubtrip_ = 0;
3542 
3543  useExchange_ = 0;
3544 
3545  useExchangePair_ = 0;
3546 
3547  useExchangeSubtrip_ = 0;
3548 
3549  useCross_ = 0;
3550 
3551  useCrossExchange_ = 0;
3552 
3553  useRelocateExpensiveChain_ = 0;
3554 
3555  useTwoOpt_ = 0;
3556 
3557  useOrOpt_ = 0;
3558 
3559  useLinKernighan_ = 0;
3560 
3561  useTspOpt_ = 0;
3562 
3563  useMakeActive_ = 0;
3564 
3565  useRelocateAndMakeActive_ = 0;
3566 
3567  useMakeInactive_ = 0;
3568 
3569  useMakeChainInactive_ = 0;
3570 
3571  useSwapActive_ = 0;
3572 
3573  useExtendedSwapActive_ = 0;
3574 
3575  useNodePairSwapActive_ = 0;
3576 
3577  usePathLns_ = 0;
3578 
3579  useFullPathLns_ = 0;
3580 
3581  useTspLns_ = 0;
3582 
3583  useInactiveLns_ = 0;
3584 
3585  useGlobalCheapestInsertionPathLns_ = 0;
3586 
3587  useLocalCheapestInsertionPathLns_ = 0;
3588 
3589  useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
3590 
3591  useGlobalCheapestInsertionExpensiveChainLns_ = 0;
3592 
3593  useLocalCheapestInsertionExpensiveChainLns_ = 0;
3594 
3595  useGlobalCheapestInsertionCloseNodesLns_ = 0;
3596 
3597  useLocalCheapestInsertionCloseNodesLns_ = 0;
3598 
3599  return this;
3600  }
3601 
3602  @java.lang.Override
3603  public com.google.protobuf.Descriptors.Descriptor
3605  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
3606  }
3607 
3608  @java.lang.Override
3611  }
3612 
3613  @java.lang.Override
3616  if (!result.isInitialized()) {
3617  throw newUninitializedMessageException(result);
3618  }
3619  return result;
3620  }
3621 
3622  @java.lang.Override
3625  result.useRelocate_ = useRelocate_;
3626  result.useRelocatePair_ = useRelocatePair_;
3627  result.useLightRelocatePair_ = useLightRelocatePair_;
3628  result.useRelocateNeighbors_ = useRelocateNeighbors_;
3629  result.useRelocateSubtrip_ = useRelocateSubtrip_;
3630  result.useExchange_ = useExchange_;
3631  result.useExchangePair_ = useExchangePair_;
3632  result.useExchangeSubtrip_ = useExchangeSubtrip_;
3633  result.useCross_ = useCross_;
3634  result.useCrossExchange_ = useCrossExchange_;
3635  result.useRelocateExpensiveChain_ = useRelocateExpensiveChain_;
3636  result.useTwoOpt_ = useTwoOpt_;
3637  result.useOrOpt_ = useOrOpt_;
3638  result.useLinKernighan_ = useLinKernighan_;
3639  result.useTspOpt_ = useTspOpt_;
3640  result.useMakeActive_ = useMakeActive_;
3641  result.useRelocateAndMakeActive_ = useRelocateAndMakeActive_;
3642  result.useMakeInactive_ = useMakeInactive_;
3643  result.useMakeChainInactive_ = useMakeChainInactive_;
3644  result.useSwapActive_ = useSwapActive_;
3645  result.useExtendedSwapActive_ = useExtendedSwapActive_;
3646  result.useNodePairSwapActive_ = useNodePairSwapActive_;
3647  result.usePathLns_ = usePathLns_;
3648  result.useFullPathLns_ = useFullPathLns_;
3649  result.useTspLns_ = useTspLns_;
3650  result.useInactiveLns_ = useInactiveLns_;
3651  result.useGlobalCheapestInsertionPathLns_ = useGlobalCheapestInsertionPathLns_;
3652  result.useLocalCheapestInsertionPathLns_ = useLocalCheapestInsertionPathLns_;
3653  result.useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
3654  result.useGlobalCheapestInsertionExpensiveChainLns_ = useGlobalCheapestInsertionExpensiveChainLns_;
3655  result.useLocalCheapestInsertionExpensiveChainLns_ = useLocalCheapestInsertionExpensiveChainLns_;
3656  result.useGlobalCheapestInsertionCloseNodesLns_ = useGlobalCheapestInsertionCloseNodesLns_;
3657  result.useLocalCheapestInsertionCloseNodesLns_ = useLocalCheapestInsertionCloseNodesLns_;
3658  onBuilt();
3659  return result;
3660  }
3661 
3662  @java.lang.Override
3663  public Builder clone() {
3664  return super.clone();
3665  }
3666  @java.lang.Override
3668  com.google.protobuf.Descriptors.FieldDescriptor field,
3669  java.lang.Object value) {
3670  return super.setField(field, value);
3671  }
3672  @java.lang.Override
3674  com.google.protobuf.Descriptors.FieldDescriptor field) {
3675  return super.clearField(field);
3676  }
3677  @java.lang.Override
3679  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
3680  return super.clearOneof(oneof);
3681  }
3682  @java.lang.Override
3684  com.google.protobuf.Descriptors.FieldDescriptor field,
3685  int index, java.lang.Object value) {
3686  return super.setRepeatedField(field, index, value);
3687  }
3688  @java.lang.Override
3690  com.google.protobuf.Descriptors.FieldDescriptor field,
3691  java.lang.Object value) {
3692  return super.addRepeatedField(field, value);
3693  }
3694  @java.lang.Override
3695  public Builder mergeFrom(com.google.protobuf.Message other) {
3698  } else {
3699  super.mergeFrom(other);
3700  return this;
3701  }
3702  }
3703 
3706  if (other.useRelocate_ != 0) {
3707  setUseRelocateValue(other.getUseRelocateValue());
3708  }
3709  if (other.useRelocatePair_ != 0) {
3710  setUseRelocatePairValue(other.getUseRelocatePairValue());
3711  }
3712  if (other.useLightRelocatePair_ != 0) {
3713  setUseLightRelocatePairValue(other.getUseLightRelocatePairValue());
3714  }
3715  if (other.useRelocateNeighbors_ != 0) {
3716  setUseRelocateNeighborsValue(other.getUseRelocateNeighborsValue());
3717  }
3718  if (other.useRelocateSubtrip_ != 0) {
3719  setUseRelocateSubtripValue(other.getUseRelocateSubtripValue());
3720  }
3721  if (other.useExchange_ != 0) {
3722  setUseExchangeValue(other.getUseExchangeValue());
3723  }
3724  if (other.useExchangePair_ != 0) {
3725  setUseExchangePairValue(other.getUseExchangePairValue());
3726  }
3727  if (other.useExchangeSubtrip_ != 0) {
3728  setUseExchangeSubtripValue(other.getUseExchangeSubtripValue());
3729  }
3730  if (other.useCross_ != 0) {
3731  setUseCrossValue(other.getUseCrossValue());
3732  }
3733  if (other.useCrossExchange_ != 0) {
3734  setUseCrossExchangeValue(other.getUseCrossExchangeValue());
3735  }
3736  if (other.useRelocateExpensiveChain_ != 0) {
3737  setUseRelocateExpensiveChainValue(other.getUseRelocateExpensiveChainValue());
3738  }
3739  if (other.useTwoOpt_ != 0) {
3740  setUseTwoOptValue(other.getUseTwoOptValue());
3741  }
3742  if (other.useOrOpt_ != 0) {
3743  setUseOrOptValue(other.getUseOrOptValue());
3744  }
3745  if (other.useLinKernighan_ != 0) {
3746  setUseLinKernighanValue(other.getUseLinKernighanValue());
3747  }
3748  if (other.useTspOpt_ != 0) {
3749  setUseTspOptValue(other.getUseTspOptValue());
3750  }
3751  if (other.useMakeActive_ != 0) {
3752  setUseMakeActiveValue(other.getUseMakeActiveValue());
3753  }
3754  if (other.useRelocateAndMakeActive_ != 0) {
3755  setUseRelocateAndMakeActiveValue(other.getUseRelocateAndMakeActiveValue());
3756  }
3757  if (other.useMakeInactive_ != 0) {
3758  setUseMakeInactiveValue(other.getUseMakeInactiveValue());
3759  }
3760  if (other.useMakeChainInactive_ != 0) {
3761  setUseMakeChainInactiveValue(other.getUseMakeChainInactiveValue());
3762  }
3763  if (other.useSwapActive_ != 0) {
3764  setUseSwapActiveValue(other.getUseSwapActiveValue());
3765  }
3766  if (other.useExtendedSwapActive_ != 0) {
3767  setUseExtendedSwapActiveValue(other.getUseExtendedSwapActiveValue());
3768  }
3769  if (other.useNodePairSwapActive_ != 0) {
3770  setUseNodePairSwapActiveValue(other.getUseNodePairSwapActiveValue());
3771  }
3772  if (other.usePathLns_ != 0) {
3773  setUsePathLnsValue(other.getUsePathLnsValue());
3774  }
3775  if (other.useFullPathLns_ != 0) {
3776  setUseFullPathLnsValue(other.getUseFullPathLnsValue());
3777  }
3778  if (other.useTspLns_ != 0) {
3779  setUseTspLnsValue(other.getUseTspLnsValue());
3780  }
3781  if (other.useInactiveLns_ != 0) {
3782  setUseInactiveLnsValue(other.getUseInactiveLnsValue());
3783  }
3784  if (other.useGlobalCheapestInsertionPathLns_ != 0) {
3785  setUseGlobalCheapestInsertionPathLnsValue(other.getUseGlobalCheapestInsertionPathLnsValue());
3786  }
3787  if (other.useLocalCheapestInsertionPathLns_ != 0) {
3788  setUseLocalCheapestInsertionPathLnsValue(other.getUseLocalCheapestInsertionPathLnsValue());
3789  }
3790  if (other.useRelocatePathGlobalCheapestInsertionInsertUnperformed_ != 0) {
3791  setUseRelocatePathGlobalCheapestInsertionInsertUnperformedValue(other.getUseRelocatePathGlobalCheapestInsertionInsertUnperformedValue());
3792  }
3793  if (other.useGlobalCheapestInsertionExpensiveChainLns_ != 0) {
3794  setUseGlobalCheapestInsertionExpensiveChainLnsValue(other.getUseGlobalCheapestInsertionExpensiveChainLnsValue());
3795  }
3796  if (other.useLocalCheapestInsertionExpensiveChainLns_ != 0) {
3797  setUseLocalCheapestInsertionExpensiveChainLnsValue(other.getUseLocalCheapestInsertionExpensiveChainLnsValue());
3798  }
3799  if (other.useGlobalCheapestInsertionCloseNodesLns_ != 0) {
3800  setUseGlobalCheapestInsertionCloseNodesLnsValue(other.getUseGlobalCheapestInsertionCloseNodesLnsValue());
3801  }
3802  if (other.useLocalCheapestInsertionCloseNodesLns_ != 0) {
3803  setUseLocalCheapestInsertionCloseNodesLnsValue(other.getUseLocalCheapestInsertionCloseNodesLnsValue());
3804  }
3805  this.mergeUnknownFields(other.unknownFields);
3806  onChanged();
3807  return this;
3808  }
3809 
3810  @java.lang.Override
3811  public final boolean isInitialized() {
3812  return true;
3813  }
3814 
3815  @java.lang.Override
3817  com.google.protobuf.CodedInputStream input,
3818  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3819  throws java.io.IOException {
3821  try {
3822  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
3823  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3825  throw e.unwrapIOException();
3826  } finally {
3827  if (parsedMessage != null) {
3828  mergeFrom(parsedMessage);
3829  }
3830  }
3831  return this;
3832  }
3833 
3834  private int useRelocate_ = 0;
3851  @java.lang.Override public int getUseRelocateValue() {
3852  return useRelocate_;
3853  }
3871  public Builder setUseRelocateValue(int value) {
3872 
3873  useRelocate_ = value;
3874  onChanged();
3875  return this;
3876  }
3893  @java.lang.Override
3895  @SuppressWarnings("deprecation")
3897  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3898  }
3917  if (value == null) {
3918  throw new NullPointerException();
3919  }
3920 
3921  useRelocate_ = value.getNumber();
3922  onChanged();
3923  return this;
3924  }
3942 
3943  useRelocate_ = 0;
3944  onChanged();
3945  return this;
3946  }
3947 
3948  private int useRelocatePair_ = 0;
3965  @java.lang.Override public int getUseRelocatePairValue() {
3966  return useRelocatePair_;
3967  }
3985  public Builder setUseRelocatePairValue(int value) {
3986 
3987  useRelocatePair_ = value;
3988  onChanged();
3989  return this;
3990  }
4007  @java.lang.Override
4009  @SuppressWarnings("deprecation")
4011  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4012  }
4031  if (value == null) {
4032  throw new NullPointerException();
4033  }
4034 
4035  useRelocatePair_ = value.getNumber();
4036  onChanged();
4037  return this;
4038  }
4056 
4057  useRelocatePair_ = 0;
4058  onChanged();
4059  return this;
4060  }
4061 
4062  private int useLightRelocatePair_ = 0;
4077  @java.lang.Override public int getUseLightRelocatePairValue() {
4078  return useLightRelocatePair_;
4079  }
4096 
4097  useLightRelocatePair_ = value;
4098  onChanged();
4099  return this;
4100  }
4115  @java.lang.Override
4117  @SuppressWarnings("deprecation")
4119  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4120  }
4137  if (value == null) {
4138  throw new NullPointerException();
4139  }
4140 
4141  useLightRelocatePair_ = value.getNumber();
4142  onChanged();
4143  return this;
4144  }
4160 
4161  useLightRelocatePair_ = 0;
4162  onChanged();
4163  return this;
4164  }
4165 
4166  private int useRelocateNeighbors_ = 0;
4196  @java.lang.Override public int getUseRelocateNeighborsValue() {
4197  return useRelocateNeighbors_;
4198  }
4230 
4231  useRelocateNeighbors_ = value;
4232  onChanged();
4233  return this;
4234  }
4264  @java.lang.Override
4266  @SuppressWarnings("deprecation")
4268  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4269  }
4301  if (value == null) {
4302  throw new NullPointerException();
4303  }
4304 
4305  useRelocateNeighbors_ = value.getNumber();
4306  onChanged();
4307  return this;
4308  }
4339 
4340  useRelocateNeighbors_ = 0;
4341  onChanged();
4342  return this;
4343  }
4344 
4345  private int useRelocateSubtrip_ = 0;
4365  @java.lang.Override public int getUseRelocateSubtripValue() {
4366  return useRelocateSubtrip_;
4367  }
4389 
4390  useRelocateSubtrip_ = value;
4391  onChanged();
4392  return this;
4393  }
4413  @java.lang.Override
4415  @SuppressWarnings("deprecation")
4417  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4418  }
4440  if (value == null) {
4441  throw new NullPointerException();
4442  }
4443 
4444  useRelocateSubtrip_ = value.getNumber();
4445  onChanged();
4446  return this;
4447  }
4468 
4469  useRelocateSubtrip_ = 0;
4470  onChanged();
4471  return this;
4472  }
4473 
4474  private int useExchange_ = 0;
4489  @java.lang.Override public int getUseExchangeValue() {
4490  return useExchange_;
4491  }
4507  public Builder setUseExchangeValue(int value) {
4508 
4509  useExchange_ = value;
4510  onChanged();
4511  return this;
4512  }
4527  @java.lang.Override
4529  @SuppressWarnings("deprecation")
4531  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4532  }
4549  if (value == null) {
4550  throw new NullPointerException();
4551  }
4552 
4553  useExchange_ = value.getNumber();
4554  onChanged();
4555  return this;
4556  }
4572 
4573  useExchange_ = 0;
4574  onChanged();
4575  return this;
4576  }
4577 
4578  private int useExchangePair_ = 0;
4593  @java.lang.Override public int getUseExchangePairValue() {
4594  return useExchangePair_;
4595  }
4611  public Builder setUseExchangePairValue(int value) {
4612 
4613  useExchangePair_ = value;
4614  onChanged();
4615  return this;
4616  }
4631  @java.lang.Override
4633  @SuppressWarnings("deprecation")
4635  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4636  }
4653  if (value == null) {
4654  throw new NullPointerException();
4655  }
4656 
4657  useExchangePair_ = value.getNumber();
4658  onChanged();
4659  return this;
4660  }
4676 
4677  useExchangePair_ = 0;
4678  onChanged();
4679  return this;
4680  }
4681 
4682  private int useExchangeSubtrip_ = 0;
4692  @java.lang.Override public int getUseExchangeSubtripValue() {
4693  return useExchangeSubtrip_;
4694  }
4706 
4707  useExchangeSubtrip_ = value;
4708  onChanged();
4709  return this;
4710  }
4720  @java.lang.Override
4722  @SuppressWarnings("deprecation")
4724  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4725  }
4737  if (value == null) {
4738  throw new NullPointerException();
4739  }
4740 
4741  useExchangeSubtrip_ = value.getNumber();
4742  onChanged();
4743  return this;
4744  }
4755 
4756  useExchangeSubtrip_ = 0;
4757  onChanged();
4758  return this;
4759  }
4760 
4761  private int useCross_ = 0;
4778  @java.lang.Override public int getUseCrossValue() {
4779  return useCross_;
4780  }
4798  public Builder setUseCrossValue(int value) {
4799 
4800  useCross_ = value;
4801  onChanged();
4802  return this;
4803  }
4820  @java.lang.Override
4822  @SuppressWarnings("deprecation")
4824  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4825  }
4844  if (value == null) {
4845  throw new NullPointerException();
4846  }
4847 
4848  useCross_ = value.getNumber();
4849  onChanged();
4850  return this;
4851  }
4869 
4870  useCross_ = 0;
4871  onChanged();
4872  return this;
4873  }
4874 
4875  private int useCrossExchange_ = 0;
4884  @java.lang.Override public int getUseCrossExchangeValue() {
4885  return useCrossExchange_;
4886  }
4896  public Builder setUseCrossExchangeValue(int value) {
4897 
4898  useCrossExchange_ = value;
4899  onChanged();
4900  return this;
4901  }
4910  @java.lang.Override
4912  @SuppressWarnings("deprecation")
4914  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4915  }
4926  if (value == null) {
4927  throw new NullPointerException();
4928  }
4929 
4930  useCrossExchange_ = value.getNumber();
4931  onChanged();
4932  return this;
4933  }
4943 
4944  useCrossExchange_ = 0;
4945  onChanged();
4946  return this;
4947  }
4948 
4949  private int useRelocateExpensiveChain_ = 0;
4967  @java.lang.Override public int getUseRelocateExpensiveChainValue() {
4968  return useRelocateExpensiveChain_;
4969  }
4989 
4990  useRelocateExpensiveChain_ = value;
4991  onChanged();
4992  return this;
4993  }
5011  @java.lang.Override
5013  @SuppressWarnings("deprecation")
5014  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateExpensiveChain_);
5015  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5016  }
5036  if (value == null) {
5037  throw new NullPointerException();
5038  }
5039 
5040  useRelocateExpensiveChain_ = value.getNumber();
5041  onChanged();
5042  return this;
5043  }
5062 
5063  useRelocateExpensiveChain_ = 0;
5064  onChanged();
5065  return this;
5066  }
5067 
5068  private int useTwoOpt_ = 0;
5086  @java.lang.Override public int getUseTwoOptValue() {
5087  return useTwoOpt_;
5088  }
5107  public Builder setUseTwoOptValue(int value) {
5108 
5109  useTwoOpt_ = value;
5110  onChanged();
5111  return this;
5112  }
5130  @java.lang.Override
5132  @SuppressWarnings("deprecation")
5134  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5135  }
5155  if (value == null) {
5156  throw new NullPointerException();
5157  }
5158 
5159  useTwoOpt_ = value.getNumber();
5160  onChanged();
5161  return this;
5162  }
5181 
5182  useTwoOpt_ = 0;
5183  onChanged();
5184  return this;
5185  }
5186 
5187  private int useOrOpt_ = 0;
5206  @java.lang.Override public int getUseOrOptValue() {
5207  return useOrOpt_;
5208  }
5228  public Builder setUseOrOptValue(int value) {
5229 
5230  useOrOpt_ = value;
5231  onChanged();
5232  return this;
5233  }
5252  @java.lang.Override
5254  @SuppressWarnings("deprecation")
5256  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5257  }
5278  if (value == null) {
5279  throw new NullPointerException();
5280  }
5281 
5282  useOrOpt_ = value.getNumber();
5283  onChanged();
5284  return this;
5285  }
5305 
5306  useOrOpt_ = 0;
5307  onChanged();
5308  return this;
5309  }
5310 
5311  private int useLinKernighan_ = 0;
5323  @java.lang.Override public int getUseLinKernighanValue() {
5324  return useLinKernighan_;
5325  }
5338  public Builder setUseLinKernighanValue(int value) {
5339 
5340  useLinKernighan_ = value;
5341  onChanged();
5342  return this;
5343  }
5355  @java.lang.Override
5357  @SuppressWarnings("deprecation")
5359  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5360  }
5374  if (value == null) {
5375  throw new NullPointerException();
5376  }
5377 
5378  useLinKernighan_ = value.getNumber();
5379  onChanged();
5380  return this;
5381  }
5394 
5395  useLinKernighan_ = 0;
5396  onChanged();
5397  return this;
5398  }
5399 
5400  private int useTspOpt_ = 0;
5414  @java.lang.Override public int getUseTspOptValue() {
5415  return useTspOpt_;
5416  }
5431  public Builder setUseTspOptValue(int value) {
5432 
5433  useTspOpt_ = value;
5434  onChanged();
5435  return this;
5436  }
5450  @java.lang.Override
5452  @SuppressWarnings("deprecation")
5454  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5455  }
5471  if (value == null) {
5472  throw new NullPointerException();
5473  }
5474 
5475  useTspOpt_ = value.getNumber();
5476  onChanged();
5477  return this;
5478  }
5493 
5494  useTspOpt_ = 0;
5495  onChanged();
5496  return this;
5497  }
5498 
5499  private int useMakeActive_ = 0;
5514  @java.lang.Override public int getUseMakeActiveValue() {
5515  return useMakeActive_;
5516  }
5532  public Builder setUseMakeActiveValue(int value) {
5533 
5534  useMakeActive_ = value;
5535  onChanged();
5536  return this;
5537  }
5552  @java.lang.Override
5554  @SuppressWarnings("deprecation")
5556  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5557  }
5574  if (value == null) {
5575  throw new NullPointerException();
5576  }
5577 
5578  useMakeActive_ = value.getNumber();
5579  onChanged();
5580  return this;
5581  }
5597 
5598  useMakeActive_ = 0;
5599  onChanged();
5600  return this;
5601  }
5602 
5603  private int useRelocateAndMakeActive_ = 0;
5621  @java.lang.Override public int getUseRelocateAndMakeActiveValue() {
5622  return useRelocateAndMakeActive_;
5623  }
5643 
5644  useRelocateAndMakeActive_ = value;
5645  onChanged();
5646  return this;
5647  }
5665  @java.lang.Override
5667  @SuppressWarnings("deprecation")
5668  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateAndMakeActive_);
5669  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5670  }
5690  if (value == null) {
5691  throw new NullPointerException();
5692  }
5693 
5694  useRelocateAndMakeActive_ = value.getNumber();
5695  onChanged();
5696  return this;
5697  }
5716 
5717  useRelocateAndMakeActive_ = 0;
5718  onChanged();
5719  return this;
5720  }
5721 
5722  private int useMakeInactive_ = 0;
5735  @java.lang.Override public int getUseMakeInactiveValue() {
5736  return useMakeInactive_;
5737  }
5751  public Builder setUseMakeInactiveValue(int value) {
5752 
5753  useMakeInactive_ = value;
5754  onChanged();
5755  return this;
5756  }
5769  @java.lang.Override
5771  @SuppressWarnings("deprecation")
5773  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5774  }
5789  if (value == null) {
5790  throw new NullPointerException();
5791  }
5792 
5793  useMakeInactive_ = value.getNumber();
5794  onChanged();
5795  return this;
5796  }
5810 
5811  useMakeInactive_ = 0;
5812  onChanged();
5813  return this;
5814  }
5815 
5816  private int useMakeChainInactive_ = 0;
5830  @java.lang.Override public int getUseMakeChainInactiveValue() {
5831  return useMakeChainInactive_;
5832  }
5848 
5849  useMakeChainInactive_ = value;
5850  onChanged();
5851  return this;
5852  }
5866  @java.lang.Override
5868  @SuppressWarnings("deprecation")
5870  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5871  }
5887  if (value == null) {
5888  throw new NullPointerException();
5889  }
5890 
5891  useMakeChainInactive_ = value.getNumber();
5892  onChanged();
5893  return this;
5894  }
5909 
5910  useMakeChainInactive_ = 0;
5911  onChanged();
5912  return this;
5913  }
5914 
5915  private int useSwapActive_ = 0;
5928  @java.lang.Override public int getUseSwapActiveValue() {
5929  return useSwapActive_;
5930  }
5944  public Builder setUseSwapActiveValue(int value) {
5945 
5946  useSwapActive_ = value;
5947  onChanged();
5948  return this;
5949  }
5962  @java.lang.Override
5964  @SuppressWarnings("deprecation")
5966  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5967  }
5982  if (value == null) {
5983  throw new NullPointerException();
5984  }
5985 
5986  useSwapActive_ = value.getNumber();
5987  onChanged();
5988  return this;
5989  }
6003 
6004  useSwapActive_ = 0;
6005  onChanged();
6006  return this;
6007  }
6008 
6009  private int useExtendedSwapActive_ = 0;
6027  @java.lang.Override public int getUseExtendedSwapActiveValue() {
6028  return useExtendedSwapActive_;
6029  }
6049 
6050  useExtendedSwapActive_ = value;
6051  onChanged();
6052  return this;
6053  }
6071  @java.lang.Override
6073  @SuppressWarnings("deprecation")
6074  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useExtendedSwapActive_);
6075  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6076  }
6096  if (value == null) {
6097  throw new NullPointerException();
6098  }
6099 
6100  useExtendedSwapActive_ = value.getNumber();
6101  onChanged();
6102  return this;
6103  }
6122 
6123  useExtendedSwapActive_ = 0;
6124  onChanged();
6125  return this;
6126  }
6127 
6128  private int useNodePairSwapActive_ = 0;
6147  @java.lang.Override public int getUseNodePairSwapActiveValue() {
6148  return useNodePairSwapActive_;
6149  }
6170 
6171  useNodePairSwapActive_ = value;
6172  onChanged();
6173  return this;
6174  }
6193  @java.lang.Override
6195  @SuppressWarnings("deprecation")
6196  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useNodePairSwapActive_);
6197  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6198  }
6219  if (value == null) {
6220  throw new NullPointerException();
6221  }
6222 
6223  useNodePairSwapActive_ = value.getNumber();
6224  onChanged();
6225  return this;
6226  }
6246 
6247  useNodePairSwapActive_ = 0;
6248  onChanged();
6249  return this;
6250  }
6251 
6252  private int usePathLns_ = 0;
6268  @java.lang.Override public int getUsePathLnsValue() {
6269  return usePathLns_;
6270  }
6287  public Builder setUsePathLnsValue(int value) {
6288 
6289  usePathLns_ = value;
6290  onChanged();
6291  return this;
6292  }
6308  @java.lang.Override
6310  @SuppressWarnings("deprecation")
6312  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6313  }
6331  if (value == null) {
6332  throw new NullPointerException();
6333  }
6334 
6335  usePathLns_ = value.getNumber();
6336  onChanged();
6337  return this;
6338  }
6355 
6356  usePathLns_ = 0;
6357  onChanged();
6358  return this;
6359  }
6360 
6361  private int useFullPathLns_ = 0;
6370  @java.lang.Override public int getUseFullPathLnsValue() {
6371  return useFullPathLns_;
6372  }
6382  public Builder setUseFullPathLnsValue(int value) {
6383 
6384  useFullPathLns_ = value;
6385  onChanged();
6386  return this;
6387  }
6396  @java.lang.Override
6398  @SuppressWarnings("deprecation")
6400  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6401  }
6412  if (value == null) {
6413  throw new NullPointerException();
6414  }
6415 
6416  useFullPathLns_ = value.getNumber();
6417  onChanged();
6418  return this;
6419  }
6429 
6430  useFullPathLns_ = 0;
6431  onChanged();
6432  return this;
6433  }
6434 
6435  private int useTspLns_ = 0;
6449  @java.lang.Override public int getUseTspLnsValue() {
6450  return useTspLns_;
6451  }
6466  public Builder setUseTspLnsValue(int value) {
6467 
6468  useTspLns_ = value;
6469  onChanged();
6470  return this;
6471  }
6485  @java.lang.Override
6487  @SuppressWarnings("deprecation")
6489  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6490  }
6506  if (value == null) {
6507  throw new NullPointerException();
6508  }
6509 
6510  useTspLns_ = value.getNumber();
6511  onChanged();
6512  return this;
6513  }
6528 
6529  useTspLns_ = 0;
6530  onChanged();
6531  return this;
6532  }
6533 
6534  private int useInactiveLns_ = 0;
6545  @java.lang.Override public int getUseInactiveLnsValue() {
6546  return useInactiveLns_;
6547  }
6559  public Builder setUseInactiveLnsValue(int value) {
6560 
6561  useInactiveLns_ = value;
6562  onChanged();
6563  return this;
6564  }
6575  @java.lang.Override
6577  @SuppressWarnings("deprecation")
6579  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6580  }
6593  if (value == null) {
6594  throw new NullPointerException();
6595  }
6596 
6597  useInactiveLns_ = value.getNumber();
6598  onChanged();
6599  return this;
6600  }
6612 
6613  useInactiveLns_ = 0;
6614  onChanged();
6615  return this;
6616  }
6617 
6618  private int useGlobalCheapestInsertionPathLns_ = 0;
6629  @java.lang.Override public int getUseGlobalCheapestInsertionPathLnsValue() {
6630  return useGlobalCheapestInsertionPathLns_;
6631  }
6644 
6645  useGlobalCheapestInsertionPathLns_ = value;
6646  onChanged();
6647  return this;
6648  }
6659  @java.lang.Override
6661  @SuppressWarnings("deprecation")
6662  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionPathLns_);
6663  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6664  }
6677  if (value == null) {
6678  throw new NullPointerException();
6679  }
6680 
6681  useGlobalCheapestInsertionPathLns_ = value.getNumber();
6682  onChanged();
6683  return this;
6684  }
6696 
6697  useGlobalCheapestInsertionPathLns_ = 0;
6698  onChanged();
6699  return this;
6700  }
6701 
6702  private int useLocalCheapestInsertionPathLns_ = 0;
6711  @java.lang.Override public int getUseLocalCheapestInsertionPathLnsValue() {
6712  return useLocalCheapestInsertionPathLns_;
6713  }
6724 
6725  useLocalCheapestInsertionPathLns_ = value;
6726  onChanged();
6727  return this;
6728  }
6737  @java.lang.Override
6739  @SuppressWarnings("deprecation")
6740  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionPathLns_);
6741  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6742  }
6753  if (value == null) {
6754  throw new NullPointerException();
6755  }
6756 
6757  useLocalCheapestInsertionPathLns_ = value.getNumber();
6758  onChanged();
6759  return this;
6760  }
6770 
6771  useLocalCheapestInsertionPathLns_ = 0;
6772  onChanged();
6773  return this;
6774  }
6775 
6776  private int useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
6788  return useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
6789  }
6802 
6803  useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = value;
6804  onChanged();
6805  return this;
6806  }
6817  @java.lang.Override
6819  @SuppressWarnings("deprecation")
6820  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocatePathGlobalCheapestInsertionInsertUnperformed_);
6821  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6822  }
6835  if (value == null) {
6836  throw new NullPointerException();
6837  }
6838 
6839  useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = value.getNumber();
6840  onChanged();
6841  return this;
6842  }
6854 
6855  useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
6856  onChanged();
6857  return this;
6858  }
6859 
6860  private int useGlobalCheapestInsertionExpensiveChainLns_ = 0;
6872  @java.lang.Override public int getUseGlobalCheapestInsertionExpensiveChainLnsValue() {
6873  return useGlobalCheapestInsertionExpensiveChainLns_;
6874  }
6888 
6889  useGlobalCheapestInsertionExpensiveChainLns_ = value;
6890  onChanged();
6891  return this;
6892  }
6904  @java.lang.Override
6906  @SuppressWarnings("deprecation")
6907  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionExpensiveChainLns_);
6908  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6909  }
6923  if (value == null) {
6924  throw new NullPointerException();
6925  }
6926 
6927  useGlobalCheapestInsertionExpensiveChainLns_ = value.getNumber();
6928  onChanged();
6929  return this;
6930  }
6943 
6944  useGlobalCheapestInsertionExpensiveChainLns_ = 0;
6945  onChanged();
6946  return this;
6947  }
6948 
6949  private int useLocalCheapestInsertionExpensiveChainLns_ = 0;
6959  @java.lang.Override public int getUseLocalCheapestInsertionExpensiveChainLnsValue() {
6960  return useLocalCheapestInsertionExpensiveChainLns_;
6961  }
6973 
6974  useLocalCheapestInsertionExpensiveChainLns_ = value;
6975  onChanged();
6976  return this;
6977  }
6987  @java.lang.Override
6989  @SuppressWarnings("deprecation")
6990  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionExpensiveChainLns_);
6991  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6992  }
7004  if (value == null) {
7005  throw new NullPointerException();
7006  }
7007 
7008  useLocalCheapestInsertionExpensiveChainLns_ = value.getNumber();
7009  onChanged();
7010  return this;
7011  }
7022 
7023  useLocalCheapestInsertionExpensiveChainLns_ = 0;
7024  onChanged();
7025  return this;
7026  }
7027 
7028  private int useGlobalCheapestInsertionCloseNodesLns_ = 0;
7040  @java.lang.Override public int getUseGlobalCheapestInsertionCloseNodesLnsValue() {
7041  return useGlobalCheapestInsertionCloseNodesLns_;
7042  }
7056 
7057  useGlobalCheapestInsertionCloseNodesLns_ = value;
7058  onChanged();
7059  return this;
7060  }
7072  @java.lang.Override
7074  @SuppressWarnings("deprecation")
7075  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionCloseNodesLns_);
7076  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7077  }
7091  if (value == null) {
7092  throw new NullPointerException();
7093  }
7094 
7095  useGlobalCheapestInsertionCloseNodesLns_ = value.getNumber();
7096  onChanged();
7097  return this;
7098  }
7111 
7112  useGlobalCheapestInsertionCloseNodesLns_ = 0;
7113  onChanged();
7114  return this;
7115  }
7116 
7117  private int useLocalCheapestInsertionCloseNodesLns_ = 0;
7127  @java.lang.Override public int getUseLocalCheapestInsertionCloseNodesLnsValue() {
7128  return useLocalCheapestInsertionCloseNodesLns_;
7129  }
7141 
7142  useLocalCheapestInsertionCloseNodesLns_ = value;
7143  onChanged();
7144  return this;
7145  }
7155  @java.lang.Override
7157  @SuppressWarnings("deprecation")
7158  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionCloseNodesLns_);
7159  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7160  }
7172  if (value == null) {
7173  throw new NullPointerException();
7174  }
7175 
7176  useLocalCheapestInsertionCloseNodesLns_ = value.getNumber();
7177  onChanged();
7178  return this;
7179  }
7190 
7191  useLocalCheapestInsertionCloseNodesLns_ = 0;
7192  onChanged();
7193  return this;
7194  }
7195  @java.lang.Override
7197  final com.google.protobuf.UnknownFieldSet unknownFields) {
7198  return super.setUnknownFields(unknownFields);
7199  }
7200 
7201  @java.lang.Override
7203  final com.google.protobuf.UnknownFieldSet unknownFields) {
7204  return super.mergeUnknownFields(unknownFields);
7205  }
7206 
7207 
7208  // @@protoc_insertion_point(builder_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
7209  }
7210 
7211  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
7213  static {
7215  }
7216 
7218  return DEFAULT_INSTANCE;
7219  }
7220 
7221  private static final com.google.protobuf.Parser<LocalSearchNeighborhoodOperators>
7222  PARSER = new com.google.protobuf.AbstractParser<LocalSearchNeighborhoodOperators>() {
7223  @java.lang.Override
7224  public LocalSearchNeighborhoodOperators parsePartialFrom(
7225  com.google.protobuf.CodedInputStream input,
7226  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7227  throws com.google.protobuf.InvalidProtocolBufferException {
7228  return new LocalSearchNeighborhoodOperators(input, extensionRegistry);
7229  }
7230  };
7231 
7232  public static com.google.protobuf.Parser<LocalSearchNeighborhoodOperators> parser() {
7233  return PARSER;
7234  }
7235 
7236  @java.lang.Override
7238  return PARSER;
7239  }
7240 
7241  @java.lang.Override
7243  return DEFAULT_INSTANCE;
7244  }
7245 
7246  }
7247 
7249  // @@protoc_insertion_point(interface_extends:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
7250  com.google.protobuf.MessageOrBuilder {
7251 
7263 
7277  }
7285  public static final class ImprovementSearchLimitParameters extends
7286  com.google.protobuf.GeneratedMessageV3 implements
7287  // @@protoc_insertion_point(message_implements:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
7289  private static final long serialVersionUID = 0L;
7290  // Use ImprovementSearchLimitParameters.newBuilder() to construct.
7291  private ImprovementSearchLimitParameters(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
7292  super(builder);
7293  }
7295  }
7296 
7297  @java.lang.Override
7298  @SuppressWarnings({"unused"})
7299  protected java.lang.Object newInstance(
7300  UnusedPrivateParameter unused) {
7301  return new ImprovementSearchLimitParameters();
7302  }
7303 
7304  @java.lang.Override
7305  public final com.google.protobuf.UnknownFieldSet
7307  return this.unknownFields;
7308  }
7310  com.google.protobuf.CodedInputStream input,
7311  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7312  throws com.google.protobuf.InvalidProtocolBufferException {
7313  this();
7314  if (extensionRegistry == null) {
7315  throw new java.lang.NullPointerException();
7316  }
7317  com.google.protobuf.UnknownFieldSet.Builder unknownFields =
7318  com.google.protobuf.UnknownFieldSet.newBuilder();
7319  try {
7320  boolean done = false;
7321  while (!done) {
7322  int tag = input.readTag();
7323  switch (tag) {
7324  case 0:
7325  done = true;
7326  break;
7327  case 305: {
7328 
7329  improvementRateCoefficient_ = input.readDouble();
7330  break;
7331  }
7332  case 312: {
7333 
7334  improvementRateSolutionsDistance_ = input.readInt32();
7335  break;
7336  }
7337  default: {
7338  if (!parseUnknownField(
7339  input, unknownFields, extensionRegistry, tag)) {
7340  done = true;
7341  }
7342  break;
7343  }
7344  }
7345  }
7346  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7347  throw e.setUnfinishedMessage(this);
7348  } catch (java.io.IOException e) {
7349  throw new com.google.protobuf.InvalidProtocolBufferException(
7350  e).setUnfinishedMessage(this);
7351  } finally {
7352  this.unknownFields = unknownFields.build();
7353  makeExtensionsImmutable();
7354  }
7355  }
7356  public static final com.google.protobuf.Descriptors.Descriptor
7358  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_descriptor;
7359  }
7360 
7361  @java.lang.Override
7362  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
7364  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_fieldAccessorTable
7365  .ensureFieldAccessorsInitialized(
7367  }
7368 
7369  public static final int IMPROVEMENT_RATE_COEFFICIENT_FIELD_NUMBER = 38;
7370  private double improvementRateCoefficient_;
7381  @java.lang.Override
7383  return improvementRateCoefficient_;
7384  }
7385 
7387  private int improvementRateSolutionsDistance_;
7400  @java.lang.Override
7402  return improvementRateSolutionsDistance_;
7403  }
7404 
7405  private byte memoizedIsInitialized = -1;
7406  @java.lang.Override
7407  public final boolean isInitialized() {
7408  byte isInitialized = memoizedIsInitialized;
7409  if (isInitialized == 1) return true;
7410  if (isInitialized == 0) return false;
7411 
7412  memoizedIsInitialized = 1;
7413  return true;
7414  }
7415 
7416  @java.lang.Override
7417  public void writeTo(com.google.protobuf.CodedOutputStream output)
7418  throws java.io.IOException {
7419  if (improvementRateCoefficient_ != 0D) {
7420  output.writeDouble(38, improvementRateCoefficient_);
7421  }
7422  if (improvementRateSolutionsDistance_ != 0) {
7423  output.writeInt32(39, improvementRateSolutionsDistance_);
7424  }
7425  unknownFields.writeTo(output);
7426  }
7427 
7428  @java.lang.Override
7429  public int getSerializedSize() {
7430  int size = memoizedSize;
7431  if (size != -1) return size;
7432 
7433  size = 0;
7434  if (improvementRateCoefficient_ != 0D) {
7435  size += com.google.protobuf.CodedOutputStream
7436  .computeDoubleSize(38, improvementRateCoefficient_);
7437  }
7438  if (improvementRateSolutionsDistance_ != 0) {
7439  size += com.google.protobuf.CodedOutputStream
7440  .computeInt32Size(39, improvementRateSolutionsDistance_);
7441  }
7442  size += unknownFields.getSerializedSize();
7443  memoizedSize = size;
7444  return size;
7445  }
7446 
7447  @java.lang.Override
7448  public boolean equals(final java.lang.Object obj) {
7449  if (obj == this) {
7450  return true;
7451  }
7453  return super.equals(obj);
7454  }
7456 
7457  if (java.lang.Double.doubleToLongBits(getImprovementRateCoefficient())
7458  != java.lang.Double.doubleToLongBits(
7459  other.getImprovementRateCoefficient())) return false;
7461  != other.getImprovementRateSolutionsDistance()) return false;
7462  if (!unknownFields.equals(other.unknownFields)) return false;
7463  return true;
7464  }
7465 
7466  @java.lang.Override
7467  public int hashCode() {
7468  if (memoizedHashCode != 0) {
7469  return memoizedHashCode;
7470  }
7471  int hash = 41;
7472  hash = (19 * hash) + getDescriptor().hashCode();
7473  hash = (37 * hash) + IMPROVEMENT_RATE_COEFFICIENT_FIELD_NUMBER;
7474  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7475  java.lang.Double.doubleToLongBits(getImprovementRateCoefficient()));
7477  hash = (53 * hash) + getImprovementRateSolutionsDistance();
7478  hash = (29 * hash) + unknownFields.hashCode();
7479  memoizedHashCode = hash;
7480  return hash;
7481  }
7482 
7484  java.nio.ByteBuffer data)
7485  throws com.google.protobuf.InvalidProtocolBufferException {
7486  return PARSER.parseFrom(data);
7487  }
7489  java.nio.ByteBuffer data,
7490  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7491  throws com.google.protobuf.InvalidProtocolBufferException {
7492  return PARSER.parseFrom(data, extensionRegistry);
7493  }
7495  com.google.protobuf.ByteString data)
7496  throws com.google.protobuf.InvalidProtocolBufferException {
7497  return PARSER.parseFrom(data);
7498  }
7500  com.google.protobuf.ByteString data,
7501  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7502  throws com.google.protobuf.InvalidProtocolBufferException {
7503  return PARSER.parseFrom(data, extensionRegistry);
7504  }
7506  throws com.google.protobuf.InvalidProtocolBufferException {
7507  return PARSER.parseFrom(data);
7508  }
7510  byte[] data,
7511  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7512  throws com.google.protobuf.InvalidProtocolBufferException {
7513  return PARSER.parseFrom(data, extensionRegistry);
7514  }
7516  throws java.io.IOException {
7517  return com.google.protobuf.GeneratedMessageV3
7518  .parseWithIOException(PARSER, input);
7519  }
7521  java.io.InputStream input,
7522  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7523  throws java.io.IOException {
7524  return com.google.protobuf.GeneratedMessageV3
7525  .parseWithIOException(PARSER, input, extensionRegistry);
7526  }
7528  throws java.io.IOException {
7529  return com.google.protobuf.GeneratedMessageV3
7530  .parseDelimitedWithIOException(PARSER, input);
7531  }
7533  java.io.InputStream input,
7534  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7535  throws java.io.IOException {
7536  return com.google.protobuf.GeneratedMessageV3
7537  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
7538  }
7540  com.google.protobuf.CodedInputStream input)
7541  throws java.io.IOException {
7542  return com.google.protobuf.GeneratedMessageV3
7543  .parseWithIOException(PARSER, input);
7544  }
7546  com.google.protobuf.CodedInputStream input,
7547  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7548  throws java.io.IOException {
7549  return com.google.protobuf.GeneratedMessageV3
7550  .parseWithIOException(PARSER, input, extensionRegistry);
7551  }
7552 
7553  @java.lang.Override
7554  public Builder newBuilderForType() { return newBuilder(); }
7555  public static Builder newBuilder() {
7556  return DEFAULT_INSTANCE.toBuilder();
7557  }
7559  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
7560  }
7561  @java.lang.Override
7562  public Builder toBuilder() {
7563  return this == DEFAULT_INSTANCE
7564  ? new Builder() : new Builder().mergeFrom(this);
7565  }
7566 
7567  @java.lang.Override
7569  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
7570  Builder builder = new Builder(parent);
7571  return builder;
7572  }
7580  public static final class Builder extends
7581  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
7582  // @@protoc_insertion_point(builder_implements:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
7584  public static final com.google.protobuf.Descriptors.Descriptor
7586  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_descriptor;
7587  }
7588 
7589  @java.lang.Override
7590  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
7592  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_fieldAccessorTable
7593  .ensureFieldAccessorsInitialized(
7595  }
7596 
7597  // Construct using com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.newBuilder()
7598  private Builder() {
7599  maybeForceBuilderInitialization();
7600  }
7601 
7602  private Builder(
7603  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
7604  super(parent);
7605  maybeForceBuilderInitialization();
7606  }
7607  private void maybeForceBuilderInitialization() {
7608  if (com.google.protobuf.GeneratedMessageV3
7609  .alwaysUseFieldBuilders) {
7610  }
7611  }
7612  @java.lang.Override
7613  public Builder clear() {
7614  super.clear();
7615  improvementRateCoefficient_ = 0D;
7616 
7617  improvementRateSolutionsDistance_ = 0;
7618 
7619  return this;
7620  }
7621 
7622  @java.lang.Override
7623  public com.google.protobuf.Descriptors.Descriptor
7625  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_descriptor;
7626  }
7627 
7628  @java.lang.Override
7631  }
7632 
7633  @java.lang.Override
7636  if (!result.isInitialized()) {
7637  throw newUninitializedMessageException(result);
7638  }
7639  return result;
7640  }
7641 
7642  @java.lang.Override
7645  result.improvementRateCoefficient_ = improvementRateCoefficient_;
7646  result.improvementRateSolutionsDistance_ = improvementRateSolutionsDistance_;
7647  onBuilt();
7648  return result;
7649  }
7650 
7651  @java.lang.Override
7652  public Builder clone() {
7653  return super.clone();
7654  }
7655  @java.lang.Override
7657  com.google.protobuf.Descriptors.FieldDescriptor field,
7658  java.lang.Object value) {
7659  return super.setField(field, value);
7660  }
7661  @java.lang.Override
7663  com.google.protobuf.Descriptors.FieldDescriptor field) {
7664  return super.clearField(field);
7665  }
7666  @java.lang.Override
7668  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
7669  return super.clearOneof(oneof);
7670  }
7671  @java.lang.Override
7673  com.google.protobuf.Descriptors.FieldDescriptor field,
7674  int index, java.lang.Object value) {
7675  return super.setRepeatedField(field, index, value);
7676  }
7677  @java.lang.Override
7679  com.google.protobuf.Descriptors.FieldDescriptor field,
7680  java.lang.Object value) {
7681  return super.addRepeatedField(field, value);
7682  }
7683  @java.lang.Override
7684  public Builder mergeFrom(com.google.protobuf.Message other) {
7687  } else {
7688  super.mergeFrom(other);
7689  return this;
7690  }
7691  }
7692 
7695  if (other.getImprovementRateCoefficient() != 0D) {
7696  setImprovementRateCoefficient(other.getImprovementRateCoefficient());
7697  }
7698  if (other.getImprovementRateSolutionsDistance() != 0) {
7699  setImprovementRateSolutionsDistance(other.getImprovementRateSolutionsDistance());
7700  }
7701  this.mergeUnknownFields(other.unknownFields);
7702  onChanged();
7703  return this;
7704  }
7705 
7706  @java.lang.Override
7707  public final boolean isInitialized() {
7708  return true;
7709  }
7710 
7711  @java.lang.Override
7713  com.google.protobuf.CodedInputStream input,
7714  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7715  throws java.io.IOException {
7717  try {
7718  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
7719  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7721  throw e.unwrapIOException();
7722  } finally {
7723  if (parsedMessage != null) {
7724  mergeFrom(parsedMessage);
7725  }
7726  }
7727  return this;
7728  }
7729 
7730  private double improvementRateCoefficient_ ;
7741  @java.lang.Override
7743  return improvementRateCoefficient_;
7744  }
7757 
7758  improvementRateCoefficient_ = value;
7759  onChanged();
7760  return this;
7761  }
7773 
7774  improvementRateCoefficient_ = 0D;
7775  onChanged();
7776  return this;
7777  }
7778 
7779  private int improvementRateSolutionsDistance_ ;
7792  @java.lang.Override
7794  return improvementRateSolutionsDistance_;
7795  }
7810 
7811  improvementRateSolutionsDistance_ = value;
7812  onChanged();
7813  return this;
7814  }
7828 
7829  improvementRateSolutionsDistance_ = 0;
7830  onChanged();
7831  return this;
7832  }
7833  @java.lang.Override
7835  final com.google.protobuf.UnknownFieldSet unknownFields) {
7836  return super.setUnknownFields(unknownFields);
7837  }
7838 
7839  @java.lang.Override
7841  final com.google.protobuf.UnknownFieldSet unknownFields) {
7842  return super.mergeUnknownFields(unknownFields);
7843  }
7844 
7845 
7846  // @@protoc_insertion_point(builder_scope:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
7847  }
7848 
7849  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.ImprovementSearchLimitParameters)
7851  static {
7853  }
7854 
7856  return DEFAULT_INSTANCE;
7857  }
7858 
7859  private static final com.google.protobuf.Parser<ImprovementSearchLimitParameters>
7860  PARSER = new com.google.protobuf.AbstractParser<ImprovementSearchLimitParameters>() {
7861  @java.lang.Override
7862  public ImprovementSearchLimitParameters parsePartialFrom(
7863  com.google.protobuf.CodedInputStream input,
7864  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7865  throws com.google.protobuf.InvalidProtocolBufferException {
7866  return new ImprovementSearchLimitParameters(input, extensionRegistry);
7867  }
7868  };
7869 
7870  public static com.google.protobuf.Parser<ImprovementSearchLimitParameters> parser() {
7871  return PARSER;
7872  }
7873 
7874  @java.lang.Override
7876  return PARSER;
7877  }
7878 
7879  @java.lang.Override
7881  return DEFAULT_INSTANCE;
7882  }
7883 
7884  }
7885 
7886  public static final int FIRST_SOLUTION_STRATEGY_FIELD_NUMBER = 1;
7887  private int firstSolutionStrategy_;
7896  @java.lang.Override public int getFirstSolutionStrategyValue() {
7897  return firstSolutionStrategy_;
7898  }
7908  @SuppressWarnings("deprecation")
7910  return result == null ? com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNRECOGNIZED : result;
7911  }
7912 
7914  private boolean useUnfilteredFirstSolutionStrategy_;
7925  @java.lang.Override
7927  return useUnfilteredFirstSolutionStrategy_;
7928  }
7929 
7930  public static final int SAVINGS_NEIGHBORS_RATIO_FIELD_NUMBER = 14;
7931  private double savingsNeighborsRatio_;
7942  @java.lang.Override
7943  public double getSavingsNeighborsRatio() {
7944  return savingsNeighborsRatio_;
7945  }
7946 
7947  public static final int SAVINGS_MAX_MEMORY_USAGE_BYTES_FIELD_NUMBER = 23;
7948  private double savingsMaxMemoryUsageBytes_;
7962  @java.lang.Override
7964  return savingsMaxMemoryUsageBytes_;
7965  }
7966 
7967  public static final int SAVINGS_ADD_REVERSE_ARCS_FIELD_NUMBER = 15;
7968  private boolean savingsAddReverseArcs_;
7978  @java.lang.Override
7979  public boolean getSavingsAddReverseArcs() {
7980  return savingsAddReverseArcs_;
7981  }
7982 
7983  public static final int SAVINGS_ARC_COEFFICIENT_FIELD_NUMBER = 18;
7984  private double savingsArcCoefficient_;
7997  @java.lang.Override
7998  public double getSavingsArcCoefficient() {
7999  return savingsArcCoefficient_;
8000  }
8001 
8002  public static final int SAVINGS_PARALLEL_ROUTES_FIELD_NUMBER = 19;
8003  private boolean savingsParallelRoutes_;
8012  @java.lang.Override
8013  public boolean getSavingsParallelRoutes() {
8014  return savingsParallelRoutes_;
8015  }
8016 
8018  private double cheapestInsertionFarthestSeedsRatio_;
8029  @java.lang.Override
8031  return cheapestInsertionFarthestSeedsRatio_;
8032  }
8033 
8035  private double cheapestInsertionFirstSolutionNeighborsRatio_;
8048  @java.lang.Override
8050  return cheapestInsertionFirstSolutionNeighborsRatio_;
8051  }
8052 
8054  private double cheapestInsertionLsOperatorNeighborsRatio_;
8065  @java.lang.Override
8067  return cheapestInsertionLsOperatorNeighborsRatio_;
8068  }
8069 
8071  private boolean cheapestInsertionAddUnperformedEntries_;
8081  @java.lang.Override
8083  return cheapestInsertionAddUnperformedEntries_;
8084  }
8085 
8087  private boolean christofidesUseMinimumMatching_;
8097  @java.lang.Override
8099  return christofidesUseMinimumMatching_;
8100  }
8101 
8102  public static final int LOCAL_SEARCH_OPERATORS_FIELD_NUMBER = 3;
8108  @java.lang.Override
8109  public boolean hasLocalSearchOperators() {
8110  return localSearchOperators_ != null;
8111  }
8116  @java.lang.Override
8118  return localSearchOperators_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
8119  }
8123  @java.lang.Override
8125  return getLocalSearchOperators();
8126  }
8127 
8129  private boolean useMultiArmedBanditConcatenateOperators_;
8140  @java.lang.Override
8142  return useMultiArmedBanditConcatenateOperators_;
8143  }
8144 
8146  private double multiArmedBanditCompoundOperatorMemoryCoefficient_;
8158  @java.lang.Override
8160  return multiArmedBanditCompoundOperatorMemoryCoefficient_;
8161  }
8162 
8164  private double multiArmedBanditCompoundOperatorExplorationCoefficient_;
8175  @java.lang.Override
8177  return multiArmedBanditCompoundOperatorExplorationCoefficient_;
8178  }
8179 
8181  private int relocateExpensiveChainNumArcsToConsider_;
8196  @java.lang.Override
8198  return relocateExpensiveChainNumArcsToConsider_;
8199  }
8200 
8202  private int heuristicExpensiveChainLnsNumArcsToConsider_;
8212  @java.lang.Override
8214  return heuristicExpensiveChainLnsNumArcsToConsider_;
8215  }
8216 
8218  private int heuristicCloseNodesLnsNumNodes_;
8228  @java.lang.Override
8230  return heuristicCloseNodesLnsNumNodes_;
8231  }
8232 
8233  public static final int LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER = 4;
8234  private int localSearchMetaheuristic_;
8243  @java.lang.Override public int getLocalSearchMetaheuristicValue() {
8244  return localSearchMetaheuristic_;
8245  }
8255  @SuppressWarnings("deprecation")
8258  }
8259 
8261  private double guidedLocalSearchLambdaCoefficient_;
8273  @java.lang.Override
8275  return guidedLocalSearchLambdaCoefficient_;
8276  }
8277 
8278  public static final int USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER = 6;
8279  private boolean useDepthFirstSearch_;
8290  @java.lang.Override
8291  public boolean getUseDepthFirstSearch() {
8292  return useDepthFirstSearch_;
8293  }
8294 
8295  public static final int USE_CP_FIELD_NUMBER = 28;
8296  private int useCp_;
8307  @java.lang.Override public int getUseCpValue() {
8308  return useCp_;
8309  }
8320  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseCp() {
8321  @SuppressWarnings("deprecation")
8323  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
8324  }
8325 
8326  public static final int USE_CP_SAT_FIELD_NUMBER = 27;
8327  private int useCpSat_;
8339  @java.lang.Override public int getUseCpSatValue() {
8340  return useCpSat_;
8341  }
8353  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseCpSat() {
8354  @SuppressWarnings("deprecation")
8356  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
8357  }
8358 
8359  public static final int CONTINUOUS_SCHEDULING_SOLVER_FIELD_NUMBER = 33;
8360  private int continuousSchedulingSolver_;
8365  @java.lang.Override public int getContinuousSchedulingSolverValue() {
8366  return continuousSchedulingSolver_;
8367  }
8373  @SuppressWarnings("deprecation")
8376  }
8377 
8378  public static final int MIXED_INTEGER_SCHEDULING_SOLVER_FIELD_NUMBER = 34;
8379  private int mixedIntegerSchedulingSolver_;
8384  @java.lang.Override public int getMixedIntegerSchedulingSolverValue() {
8385  return mixedIntegerSchedulingSolver_;
8386  }
8392  @SuppressWarnings("deprecation")
8395  }
8396 
8397  public static final int OPTIMIZATION_STEP_FIELD_NUMBER = 7;
8398  private double optimizationStep_;
8409  @java.lang.Override
8410  public double getOptimizationStep() {
8411  return optimizationStep_;
8412  }
8413 
8414  public static final int NUMBER_OF_SOLUTIONS_TO_COLLECT_FIELD_NUMBER = 17;
8415  private int numberOfSolutionsToCollect_;
8425  @java.lang.Override
8427  return numberOfSolutionsToCollect_;
8428  }
8429 
8430  public static final int SOLUTION_LIMIT_FIELD_NUMBER = 8;
8431  private long solutionLimit_;
8442  @java.lang.Override
8443  public long getSolutionLimit() {
8444  return solutionLimit_;
8445  }
8446 
8447  public static final int TIME_LIMIT_FIELD_NUMBER = 9;
8448  private com.google.protobuf.Duration timeLimit_;
8457  @java.lang.Override
8458  public boolean hasTimeLimit() {
8459  return timeLimit_ != null;
8460  }
8469  @java.lang.Override
8470  public com.google.protobuf.Duration getTimeLimit() {
8471  return timeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
8472  }
8480  @java.lang.Override
8481  public com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder() {
8482  return getTimeLimit();
8483  }
8484 
8485  public static final int LNS_TIME_LIMIT_FIELD_NUMBER = 10;
8486  private com.google.protobuf.Duration lnsTimeLimit_;
8496  @java.lang.Override
8497  public boolean hasLnsTimeLimit() {
8498  return lnsTimeLimit_ != null;
8499  }
8509  @java.lang.Override
8510  public com.google.protobuf.Duration getLnsTimeLimit() {
8511  return lnsTimeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
8512  }
8521  @java.lang.Override
8522  public com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder() {
8523  return getLnsTimeLimit();
8524  }
8525 
8526  public static final int IMPROVEMENT_LIMIT_PARAMETERS_FIELD_NUMBER = 37;
8537  @java.lang.Override
8539  return improvementLimitParameters_ != null;
8540  }
8550  @java.lang.Override
8552  return improvementLimitParameters_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance() : improvementLimitParameters_;
8553  }
8562  @java.lang.Override
8565  }
8566 
8567  public static final int USE_FULL_PROPAGATION_FIELD_NUMBER = 11;
8568  private boolean useFullPropagation_;
8585  @java.lang.Override
8586  public boolean getUseFullPropagation() {
8587  return useFullPropagation_;
8588  }
8589 
8590  public static final int LOG_SEARCH_FIELD_NUMBER = 13;
8591  private boolean logSearch_;
8611  @java.lang.Override
8612  public boolean getLogSearch() {
8613  return logSearch_;
8614  }
8615 
8616  public static final int LOG_COST_SCALING_FACTOR_FIELD_NUMBER = 22;
8617  private double logCostScalingFactor_;
8627  @java.lang.Override
8628  public double getLogCostScalingFactor() {
8629  return logCostScalingFactor_;
8630  }
8631 
8632  public static final int LOG_COST_OFFSET_FIELD_NUMBER = 29;
8633  private double logCostOffset_;
8638  @java.lang.Override
8639  public double getLogCostOffset() {
8640  return logCostOffset_;
8641  }
8642 
8643  public static final int LOG_TAG_FIELD_NUMBER = 36;
8644  private volatile java.lang.Object logTag_;
8654  @java.lang.Override
8655  public java.lang.String getLogTag() {
8656  java.lang.Object ref = logTag_;
8657  if (ref instanceof java.lang.String) {
8658  return (java.lang.String) ref;
8659  } else {
8660  com.google.protobuf.ByteString bs =
8661  (com.google.protobuf.ByteString) ref;
8662  java.lang.String s = bs.toStringUtf8();
8663  logTag_ = s;
8664  return s;
8665  }
8666  }
8676  @java.lang.Override
8677  public com.google.protobuf.ByteString
8679  java.lang.Object ref = logTag_;
8680  if (ref instanceof java.lang.String) {
8681  com.google.protobuf.ByteString b =
8682  com.google.protobuf.ByteString.copyFromUtf8(
8683  (java.lang.String) ref);
8684  logTag_ = b;
8685  return b;
8686  } else {
8687  return (com.google.protobuf.ByteString) ref;
8688  }
8689  }
8690 
8691  private byte memoizedIsInitialized = -1;
8692  @java.lang.Override
8693  public final boolean isInitialized() {
8694  byte isInitialized = memoizedIsInitialized;
8695  if (isInitialized == 1) return true;
8696  if (isInitialized == 0) return false;
8697 
8698  memoizedIsInitialized = 1;
8699  return true;
8700  }
8701 
8702  @java.lang.Override
8703  public void writeTo(com.google.protobuf.CodedOutputStream output)
8704  throws java.io.IOException {
8705  if (firstSolutionStrategy_ != com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNSET.getNumber()) {
8706  output.writeEnum(1, firstSolutionStrategy_);
8707  }
8708  if (useUnfilteredFirstSolutionStrategy_ != false) {
8709  output.writeBool(2, useUnfilteredFirstSolutionStrategy_);
8710  }
8711  if (localSearchOperators_ != null) {
8712  output.writeMessage(3, getLocalSearchOperators());
8713  }
8714  if (localSearchMetaheuristic_ != com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNSET.getNumber()) {
8715  output.writeEnum(4, localSearchMetaheuristic_);
8716  }
8717  if (guidedLocalSearchLambdaCoefficient_ != 0D) {
8718  output.writeDouble(5, guidedLocalSearchLambdaCoefficient_);
8719  }
8720  if (useDepthFirstSearch_ != false) {
8721  output.writeBool(6, useDepthFirstSearch_);
8722  }
8723  if (optimizationStep_ != 0D) {
8724  output.writeDouble(7, optimizationStep_);
8725  }
8726  if (solutionLimit_ != 0L) {
8727  output.writeInt64(8, solutionLimit_);
8728  }
8729  if (timeLimit_ != null) {
8730  output.writeMessage(9, getTimeLimit());
8731  }
8732  if (lnsTimeLimit_ != null) {
8733  output.writeMessage(10, getLnsTimeLimit());
8734  }
8735  if (useFullPropagation_ != false) {
8736  output.writeBool(11, useFullPropagation_);
8737  }
8738  if (logSearch_ != false) {
8739  output.writeBool(13, logSearch_);
8740  }
8741  if (savingsNeighborsRatio_ != 0D) {
8742  output.writeDouble(14, savingsNeighborsRatio_);
8743  }
8744  if (savingsAddReverseArcs_ != false) {
8745  output.writeBool(15, savingsAddReverseArcs_);
8746  }
8747  if (cheapestInsertionFarthestSeedsRatio_ != 0D) {
8748  output.writeDouble(16, cheapestInsertionFarthestSeedsRatio_);
8749  }
8750  if (numberOfSolutionsToCollect_ != 0) {
8751  output.writeInt32(17, numberOfSolutionsToCollect_);
8752  }
8753  if (savingsArcCoefficient_ != 0D) {
8754  output.writeDouble(18, savingsArcCoefficient_);
8755  }
8756  if (savingsParallelRoutes_ != false) {
8757  output.writeBool(19, savingsParallelRoutes_);
8758  }
8759  if (relocateExpensiveChainNumArcsToConsider_ != 0) {
8760  output.writeInt32(20, relocateExpensiveChainNumArcsToConsider_);
8761  }
8762  if (cheapestInsertionFirstSolutionNeighborsRatio_ != 0D) {
8763  output.writeDouble(21, cheapestInsertionFirstSolutionNeighborsRatio_);
8764  }
8765  if (logCostScalingFactor_ != 0D) {
8766  output.writeDouble(22, logCostScalingFactor_);
8767  }
8768  if (savingsMaxMemoryUsageBytes_ != 0D) {
8769  output.writeDouble(23, savingsMaxMemoryUsageBytes_);
8770  }
8771  if (useCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
8772  output.writeEnum(27, useCpSat_);
8773  }
8774  if (useCp_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
8775  output.writeEnum(28, useCp_);
8776  }
8777  if (logCostOffset_ != 0D) {
8778  output.writeDouble(29, logCostOffset_);
8779  }
8780  if (christofidesUseMinimumMatching_ != false) {
8781  output.writeBool(30, christofidesUseMinimumMatching_);
8782  }
8783  if (cheapestInsertionLsOperatorNeighborsRatio_ != 0D) {
8784  output.writeDouble(31, cheapestInsertionLsOperatorNeighborsRatio_);
8785  }
8786  if (heuristicExpensiveChainLnsNumArcsToConsider_ != 0) {
8787  output.writeInt32(32, heuristicExpensiveChainLnsNumArcsToConsider_);
8788  }
8789  if (continuousSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNSET.getNumber()) {
8790  output.writeEnum(33, continuousSchedulingSolver_);
8791  }
8792  if (mixedIntegerSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNSET.getNumber()) {
8793  output.writeEnum(34, mixedIntegerSchedulingSolver_);
8794  }
8795  if (heuristicCloseNodesLnsNumNodes_ != 0) {
8796  output.writeInt32(35, heuristicCloseNodesLnsNumNodes_);
8797  }
8798  if (!getLogTagBytes().isEmpty()) {
8799  com.google.protobuf.GeneratedMessageV3.writeString(output, 36, logTag_);
8800  }
8801  if (improvementLimitParameters_ != null) {
8802  output.writeMessage(37, getImprovementLimitParameters());
8803  }
8804  if (cheapestInsertionAddUnperformedEntries_ != false) {
8805  output.writeBool(40, cheapestInsertionAddUnperformedEntries_);
8806  }
8807  if (useMultiArmedBanditConcatenateOperators_ != false) {
8808  output.writeBool(41, useMultiArmedBanditConcatenateOperators_);
8809  }
8810  if (multiArmedBanditCompoundOperatorMemoryCoefficient_ != 0D) {
8811  output.writeDouble(42, multiArmedBanditCompoundOperatorMemoryCoefficient_);
8812  }
8813  if (multiArmedBanditCompoundOperatorExplorationCoefficient_ != 0D) {
8814  output.writeDouble(43, multiArmedBanditCompoundOperatorExplorationCoefficient_);
8815  }
8816  unknownFields.writeTo(output);
8817  }
8818 
8819  @java.lang.Override
8820  public int getSerializedSize() {
8821  int size = memoizedSize;
8822  if (size != -1) return size;
8823 
8824  size = 0;
8825  if (firstSolutionStrategy_ != com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNSET.getNumber()) {
8826  size += com.google.protobuf.CodedOutputStream
8827  .computeEnumSize(1, firstSolutionStrategy_);
8828  }
8829  if (useUnfilteredFirstSolutionStrategy_ != false) {
8830  size += com.google.protobuf.CodedOutputStream
8831  .computeBoolSize(2, useUnfilteredFirstSolutionStrategy_);
8832  }
8833  if (localSearchOperators_ != null) {
8834  size += com.google.protobuf.CodedOutputStream
8835  .computeMessageSize(3, getLocalSearchOperators());
8836  }
8837  if (localSearchMetaheuristic_ != com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNSET.getNumber()) {
8838  size += com.google.protobuf.CodedOutputStream
8839  .computeEnumSize(4, localSearchMetaheuristic_);
8840  }
8841  if (guidedLocalSearchLambdaCoefficient_ != 0D) {
8842  size += com.google.protobuf.CodedOutputStream
8843  .computeDoubleSize(5, guidedLocalSearchLambdaCoefficient_);
8844  }
8845  if (useDepthFirstSearch_ != false) {
8846  size += com.google.protobuf.CodedOutputStream
8847  .computeBoolSize(6, useDepthFirstSearch_);
8848  }
8849  if (optimizationStep_ != 0D) {
8850  size += com.google.protobuf.CodedOutputStream
8851  .computeDoubleSize(7, optimizationStep_);
8852  }
8853  if (solutionLimit_ != 0L) {
8854  size += com.google.protobuf.CodedOutputStream
8855  .computeInt64Size(8, solutionLimit_);
8856  }
8857  if (timeLimit_ != null) {
8858  size += com.google.protobuf.CodedOutputStream
8859  .computeMessageSize(9, getTimeLimit());
8860  }
8861  if (lnsTimeLimit_ != null) {
8862  size += com.google.protobuf.CodedOutputStream
8863  .computeMessageSize(10, getLnsTimeLimit());
8864  }
8865  if (useFullPropagation_ != false) {
8866  size += com.google.protobuf.CodedOutputStream
8867  .computeBoolSize(11, useFullPropagation_);
8868  }
8869  if (logSearch_ != false) {
8870  size += com.google.protobuf.CodedOutputStream
8871  .computeBoolSize(13, logSearch_);
8872  }
8873  if (savingsNeighborsRatio_ != 0D) {
8874  size += com.google.protobuf.CodedOutputStream
8875  .computeDoubleSize(14, savingsNeighborsRatio_);
8876  }
8877  if (savingsAddReverseArcs_ != false) {
8878  size += com.google.protobuf.CodedOutputStream
8879  .computeBoolSize(15, savingsAddReverseArcs_);
8880  }
8881  if (cheapestInsertionFarthestSeedsRatio_ != 0D) {
8882  size += com.google.protobuf.CodedOutputStream
8883  .computeDoubleSize(16, cheapestInsertionFarthestSeedsRatio_);
8884  }
8885  if (numberOfSolutionsToCollect_ != 0) {
8886  size += com.google.protobuf.CodedOutputStream
8887  .computeInt32Size(17, numberOfSolutionsToCollect_);
8888  }
8889  if (savingsArcCoefficient_ != 0D) {
8890  size += com.google.protobuf.CodedOutputStream
8891  .computeDoubleSize(18, savingsArcCoefficient_);
8892  }
8893  if (savingsParallelRoutes_ != false) {
8894  size += com.google.protobuf.CodedOutputStream
8895  .computeBoolSize(19, savingsParallelRoutes_);
8896  }
8897  if (relocateExpensiveChainNumArcsToConsider_ != 0) {
8898  size += com.google.protobuf.CodedOutputStream
8899  .computeInt32Size(20, relocateExpensiveChainNumArcsToConsider_);
8900  }
8901  if (cheapestInsertionFirstSolutionNeighborsRatio_ != 0D) {
8902  size += com.google.protobuf.CodedOutputStream
8903  .computeDoubleSize(21, cheapestInsertionFirstSolutionNeighborsRatio_);
8904  }
8905  if (logCostScalingFactor_ != 0D) {
8906  size += com.google.protobuf.CodedOutputStream
8907  .computeDoubleSize(22, logCostScalingFactor_);
8908  }
8909  if (savingsMaxMemoryUsageBytes_ != 0D) {
8910  size += com.google.protobuf.CodedOutputStream
8911  .computeDoubleSize(23, savingsMaxMemoryUsageBytes_);
8912  }
8913  if (useCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
8914  size += com.google.protobuf.CodedOutputStream
8915  .computeEnumSize(27, useCpSat_);
8916  }
8917  if (useCp_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
8918  size += com.google.protobuf.CodedOutputStream
8919  .computeEnumSize(28, useCp_);
8920  }
8921  if (logCostOffset_ != 0D) {
8922  size += com.google.protobuf.CodedOutputStream
8923  .computeDoubleSize(29, logCostOffset_);
8924  }
8925  if (christofidesUseMinimumMatching_ != false) {
8926  size += com.google.protobuf.CodedOutputStream
8927  .computeBoolSize(30, christofidesUseMinimumMatching_);
8928  }
8929  if (cheapestInsertionLsOperatorNeighborsRatio_ != 0D) {
8930  size += com.google.protobuf.CodedOutputStream
8931  .computeDoubleSize(31, cheapestInsertionLsOperatorNeighborsRatio_);
8932  }
8933  if (heuristicExpensiveChainLnsNumArcsToConsider_ != 0) {
8934  size += com.google.protobuf.CodedOutputStream
8935  .computeInt32Size(32, heuristicExpensiveChainLnsNumArcsToConsider_);
8936  }
8937  if (continuousSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNSET.getNumber()) {
8938  size += com.google.protobuf.CodedOutputStream
8939  .computeEnumSize(33, continuousSchedulingSolver_);
8940  }
8941  if (mixedIntegerSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNSET.getNumber()) {
8942  size += com.google.protobuf.CodedOutputStream
8943  .computeEnumSize(34, mixedIntegerSchedulingSolver_);
8944  }
8945  if (heuristicCloseNodesLnsNumNodes_ != 0) {
8946  size += com.google.protobuf.CodedOutputStream
8947  .computeInt32Size(35, heuristicCloseNodesLnsNumNodes_);
8948  }
8949  if (!getLogTagBytes().isEmpty()) {
8950  size += com.google.protobuf.GeneratedMessageV3.computeStringSize(36, logTag_);
8951  }
8952  if (improvementLimitParameters_ != null) {
8953  size += com.google.protobuf.CodedOutputStream
8954  .computeMessageSize(37, getImprovementLimitParameters());
8955  }
8956  if (cheapestInsertionAddUnperformedEntries_ != false) {
8957  size += com.google.protobuf.CodedOutputStream
8958  .computeBoolSize(40, cheapestInsertionAddUnperformedEntries_);
8959  }
8960  if (useMultiArmedBanditConcatenateOperators_ != false) {
8961  size += com.google.protobuf.CodedOutputStream
8962  .computeBoolSize(41, useMultiArmedBanditConcatenateOperators_);
8963  }
8964  if (multiArmedBanditCompoundOperatorMemoryCoefficient_ != 0D) {
8965  size += com.google.protobuf.CodedOutputStream
8966  .computeDoubleSize(42, multiArmedBanditCompoundOperatorMemoryCoefficient_);
8967  }
8968  if (multiArmedBanditCompoundOperatorExplorationCoefficient_ != 0D) {
8969  size += com.google.protobuf.CodedOutputStream
8970  .computeDoubleSize(43, multiArmedBanditCompoundOperatorExplorationCoefficient_);
8971  }
8972  size += unknownFields.getSerializedSize();
8973  memoizedSize = size;
8974  return size;
8975  }
8976 
8977  @java.lang.Override
8978  public boolean equals(final java.lang.Object obj) {
8979  if (obj == this) {
8980  return true;
8981  }
8982  if (!(obj instanceof com.google.ortools.constraintsolver.RoutingSearchParameters)) {
8983  return super.equals(obj);
8984  }
8986 
8987  if (firstSolutionStrategy_ != other.firstSolutionStrategy_) return false;
8989  != other.getUseUnfilteredFirstSolutionStrategy()) return false;
8990  if (java.lang.Double.doubleToLongBits(getSavingsNeighborsRatio())
8991  != java.lang.Double.doubleToLongBits(
8992  other.getSavingsNeighborsRatio())) return false;
8993  if (java.lang.Double.doubleToLongBits(getSavingsMaxMemoryUsageBytes())
8994  != java.lang.Double.doubleToLongBits(
8995  other.getSavingsMaxMemoryUsageBytes())) return false;
8997  != other.getSavingsAddReverseArcs()) return false;
8998  if (java.lang.Double.doubleToLongBits(getSavingsArcCoefficient())
8999  != java.lang.Double.doubleToLongBits(
9000  other.getSavingsArcCoefficient())) return false;
9002  != other.getSavingsParallelRoutes()) return false;
9003  if (java.lang.Double.doubleToLongBits(getCheapestInsertionFarthestSeedsRatio())
9004  != java.lang.Double.doubleToLongBits(
9005  other.getCheapestInsertionFarthestSeedsRatio())) return false;
9006  if (java.lang.Double.doubleToLongBits(getCheapestInsertionFirstSolutionNeighborsRatio())
9007  != java.lang.Double.doubleToLongBits(
9008  other.getCheapestInsertionFirstSolutionNeighborsRatio())) return false;
9009  if (java.lang.Double.doubleToLongBits(getCheapestInsertionLsOperatorNeighborsRatio())
9010  != java.lang.Double.doubleToLongBits(
9011  other.getCheapestInsertionLsOperatorNeighborsRatio())) return false;
9013  != other.getCheapestInsertionAddUnperformedEntries()) return false;
9015  != other.getChristofidesUseMinimumMatching()) return false;
9016  if (hasLocalSearchOperators() != other.hasLocalSearchOperators()) return false;
9017  if (hasLocalSearchOperators()) {
9019  .equals(other.getLocalSearchOperators())) return false;
9020  }
9022  != other.getUseMultiArmedBanditConcatenateOperators()) return false;
9023  if (java.lang.Double.doubleToLongBits(getMultiArmedBanditCompoundOperatorMemoryCoefficient())
9024  != java.lang.Double.doubleToLongBits(
9025  other.getMultiArmedBanditCompoundOperatorMemoryCoefficient())) return false;
9026  if (java.lang.Double.doubleToLongBits(getMultiArmedBanditCompoundOperatorExplorationCoefficient())
9027  != java.lang.Double.doubleToLongBits(
9028  other.getMultiArmedBanditCompoundOperatorExplorationCoefficient())) return false;
9030  != other.getRelocateExpensiveChainNumArcsToConsider()) return false;
9032  != other.getHeuristicExpensiveChainLnsNumArcsToConsider()) return false;
9034  != other.getHeuristicCloseNodesLnsNumNodes()) return false;
9035  if (localSearchMetaheuristic_ != other.localSearchMetaheuristic_) return false;
9036  if (java.lang.Double.doubleToLongBits(getGuidedLocalSearchLambdaCoefficient())
9037  != java.lang.Double.doubleToLongBits(
9038  other.getGuidedLocalSearchLambdaCoefficient())) return false;
9040  != other.getUseDepthFirstSearch()) return false;
9041  if (useCp_ != other.useCp_) return false;
9042  if (useCpSat_ != other.useCpSat_) return false;
9043  if (continuousSchedulingSolver_ != other.continuousSchedulingSolver_) return false;
9044  if (mixedIntegerSchedulingSolver_ != other.mixedIntegerSchedulingSolver_) return false;
9045  if (java.lang.Double.doubleToLongBits(getOptimizationStep())
9046  != java.lang.Double.doubleToLongBits(
9047  other.getOptimizationStep())) return false;
9049  != other.getNumberOfSolutionsToCollect()) return false;
9050  if (getSolutionLimit()
9051  != other.getSolutionLimit()) return false;
9052  if (hasTimeLimit() != other.hasTimeLimit()) return false;
9053  if (hasTimeLimit()) {
9054  if (!getTimeLimit()
9055  .equals(other.getTimeLimit())) return false;
9056  }
9057  if (hasLnsTimeLimit() != other.hasLnsTimeLimit()) return false;
9058  if (hasLnsTimeLimit()) {
9059  if (!getLnsTimeLimit()
9060  .equals(other.getLnsTimeLimit())) return false;
9061  }
9062  if (hasImprovementLimitParameters() != other.hasImprovementLimitParameters()) return false;
9065  .equals(other.getImprovementLimitParameters())) return false;
9066  }
9067  if (getUseFullPropagation()
9068  != other.getUseFullPropagation()) return false;
9069  if (getLogSearch()
9070  != other.getLogSearch()) return false;
9071  if (java.lang.Double.doubleToLongBits(getLogCostScalingFactor())
9072  != java.lang.Double.doubleToLongBits(
9073  other.getLogCostScalingFactor())) return false;
9074  if (java.lang.Double.doubleToLongBits(getLogCostOffset())
9075  != java.lang.Double.doubleToLongBits(
9076  other.getLogCostOffset())) return false;
9077  if (!getLogTag()
9078  .equals(other.getLogTag())) return false;
9079  if (!unknownFields.equals(other.unknownFields)) return false;
9080  return true;
9081  }
9082 
9083  @java.lang.Override
9084  public int hashCode() {
9085  if (memoizedHashCode != 0) {
9086  return memoizedHashCode;
9087  }
9088  int hash = 41;
9089  hash = (19 * hash) + getDescriptor().hashCode();
9090  hash = (37 * hash) + FIRST_SOLUTION_STRATEGY_FIELD_NUMBER;
9091  hash = (53 * hash) + firstSolutionStrategy_;
9093  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9095  hash = (37 * hash) + SAVINGS_NEIGHBORS_RATIO_FIELD_NUMBER;
9096  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9097  java.lang.Double.doubleToLongBits(getSavingsNeighborsRatio()));
9098  hash = (37 * hash) + SAVINGS_MAX_MEMORY_USAGE_BYTES_FIELD_NUMBER;
9099  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9100  java.lang.Double.doubleToLongBits(getSavingsMaxMemoryUsageBytes()));
9101  hash = (37 * hash) + SAVINGS_ADD_REVERSE_ARCS_FIELD_NUMBER;
9102  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9104  hash = (37 * hash) + SAVINGS_ARC_COEFFICIENT_FIELD_NUMBER;
9105  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9106  java.lang.Double.doubleToLongBits(getSavingsArcCoefficient()));
9107  hash = (37 * hash) + SAVINGS_PARALLEL_ROUTES_FIELD_NUMBER;
9108  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9111  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9112  java.lang.Double.doubleToLongBits(getCheapestInsertionFarthestSeedsRatio()));
9114  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9115  java.lang.Double.doubleToLongBits(getCheapestInsertionFirstSolutionNeighborsRatio()));
9117  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9118  java.lang.Double.doubleToLongBits(getCheapestInsertionLsOperatorNeighborsRatio()));
9120  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9123  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9125  if (hasLocalSearchOperators()) {
9126  hash = (37 * hash) + LOCAL_SEARCH_OPERATORS_FIELD_NUMBER;
9127  hash = (53 * hash) + getLocalSearchOperators().hashCode();
9128  }
9130  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9133  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9134  java.lang.Double.doubleToLongBits(getMultiArmedBanditCompoundOperatorMemoryCoefficient()));
9136  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9137  java.lang.Double.doubleToLongBits(getMultiArmedBanditCompoundOperatorExplorationCoefficient()));
9139  hash = (53 * hash) + getRelocateExpensiveChainNumArcsToConsider();
9141  hash = (53 * hash) + getHeuristicExpensiveChainLnsNumArcsToConsider();
9143  hash = (53 * hash) + getHeuristicCloseNodesLnsNumNodes();
9144  hash = (37 * hash) + LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER;
9145  hash = (53 * hash) + localSearchMetaheuristic_;
9147  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9148  java.lang.Double.doubleToLongBits(getGuidedLocalSearchLambdaCoefficient()));
9149  hash = (37 * hash) + USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER;
9150  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9152  hash = (37 * hash) + USE_CP_FIELD_NUMBER;
9153  hash = (53 * hash) + useCp_;
9154  hash = (37 * hash) + USE_CP_SAT_FIELD_NUMBER;
9155  hash = (53 * hash) + useCpSat_;
9156  hash = (37 * hash) + CONTINUOUS_SCHEDULING_SOLVER_FIELD_NUMBER;
9157  hash = (53 * hash) + continuousSchedulingSolver_;
9158  hash = (37 * hash) + MIXED_INTEGER_SCHEDULING_SOLVER_FIELD_NUMBER;
9159  hash = (53 * hash) + mixedIntegerSchedulingSolver_;
9160  hash = (37 * hash) + OPTIMIZATION_STEP_FIELD_NUMBER;
9161  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9162  java.lang.Double.doubleToLongBits(getOptimizationStep()));
9163  hash = (37 * hash) + NUMBER_OF_SOLUTIONS_TO_COLLECT_FIELD_NUMBER;
9164  hash = (53 * hash) + getNumberOfSolutionsToCollect();
9165  hash = (37 * hash) + SOLUTION_LIMIT_FIELD_NUMBER;
9166  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9167  getSolutionLimit());
9168  if (hasTimeLimit()) {
9169  hash = (37 * hash) + TIME_LIMIT_FIELD_NUMBER;
9170  hash = (53 * hash) + getTimeLimit().hashCode();
9171  }
9172  if (hasLnsTimeLimit()) {
9173  hash = (37 * hash) + LNS_TIME_LIMIT_FIELD_NUMBER;
9174  hash = (53 * hash) + getLnsTimeLimit().hashCode();
9175  }
9177  hash = (37 * hash) + IMPROVEMENT_LIMIT_PARAMETERS_FIELD_NUMBER;
9178  hash = (53 * hash) + getImprovementLimitParameters().hashCode();
9179  }
9180  hash = (37 * hash) + USE_FULL_PROPAGATION_FIELD_NUMBER;
9181  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9183  hash = (37 * hash) + LOG_SEARCH_FIELD_NUMBER;
9184  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9185  getLogSearch());
9186  hash = (37 * hash) + LOG_COST_SCALING_FACTOR_FIELD_NUMBER;
9187  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9188  java.lang.Double.doubleToLongBits(getLogCostScalingFactor()));
9189  hash = (37 * hash) + LOG_COST_OFFSET_FIELD_NUMBER;
9190  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9191  java.lang.Double.doubleToLongBits(getLogCostOffset()));
9192  hash = (37 * hash) + LOG_TAG_FIELD_NUMBER;
9193  hash = (53 * hash) + getLogTag().hashCode();
9194  hash = (29 * hash) + unknownFields.hashCode();
9195  memoizedHashCode = hash;
9196  return hash;
9197  }
9198 
9200  java.nio.ByteBuffer data)
9201  throws com.google.protobuf.InvalidProtocolBufferException {
9202  return PARSER.parseFrom(data);
9203  }
9205  java.nio.ByteBuffer data,
9206  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9207  throws com.google.protobuf.InvalidProtocolBufferException {
9208  return PARSER.parseFrom(data, extensionRegistry);
9209  }
9211  com.google.protobuf.ByteString data)
9212  throws com.google.protobuf.InvalidProtocolBufferException {
9213  return PARSER.parseFrom(data);
9214  }
9216  com.google.protobuf.ByteString data,
9217  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9218  throws com.google.protobuf.InvalidProtocolBufferException {
9219  return PARSER.parseFrom(data, extensionRegistry);
9220  }
9222  throws com.google.protobuf.InvalidProtocolBufferException {
9223  return PARSER.parseFrom(data);
9224  }
9226  byte[] data,
9227  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9228  throws com.google.protobuf.InvalidProtocolBufferException {
9229  return PARSER.parseFrom(data, extensionRegistry);
9230  }
9231  public static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.io.InputStream input)
9232  throws java.io.IOException {
9233  return com.google.protobuf.GeneratedMessageV3
9234  .parseWithIOException(PARSER, input);
9235  }
9237  java.io.InputStream input,
9238  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9239  throws java.io.IOException {
9240  return com.google.protobuf.GeneratedMessageV3
9241  .parseWithIOException(PARSER, input, extensionRegistry);
9242  }
9244  throws java.io.IOException {
9245  return com.google.protobuf.GeneratedMessageV3
9246  .parseDelimitedWithIOException(PARSER, input);
9247  }
9249  java.io.InputStream input,
9250  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9251  throws java.io.IOException {
9252  return com.google.protobuf.GeneratedMessageV3
9253  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
9254  }
9256  com.google.protobuf.CodedInputStream input)
9257  throws java.io.IOException {
9258  return com.google.protobuf.GeneratedMessageV3
9259  .parseWithIOException(PARSER, input);
9260  }
9262  com.google.protobuf.CodedInputStream input,
9263  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9264  throws java.io.IOException {
9265  return com.google.protobuf.GeneratedMessageV3
9266  .parseWithIOException(PARSER, input, extensionRegistry);
9267  }
9268 
9269  @java.lang.Override
9270  public Builder newBuilderForType() { return newBuilder(); }
9271  public static Builder newBuilder() {
9272  return DEFAULT_INSTANCE.toBuilder();
9273  }
9275  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
9276  }
9277  @java.lang.Override
9278  public Builder toBuilder() {
9279  return this == DEFAULT_INSTANCE
9280  ? new Builder() : new Builder().mergeFrom(this);
9281  }
9282 
9283  @java.lang.Override
9285  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
9286  Builder builder = new Builder(parent);
9287  return builder;
9288  }
9301  public static final class Builder extends
9302  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
9303  // @@protoc_insertion_point(builder_implements:operations_research.RoutingSearchParameters)
9304  com.google.ortools.constraintsolver.RoutingSearchParametersOrBuilder {
9305  public static final com.google.protobuf.Descriptors.Descriptor
9307  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
9308  }
9309 
9310  @java.lang.Override
9311  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
9313  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_fieldAccessorTable
9314  .ensureFieldAccessorsInitialized(
9316  }
9317 
9318  // Construct using com.google.ortools.constraintsolver.RoutingSearchParameters.newBuilder()
9319  private Builder() {
9320  maybeForceBuilderInitialization();
9321  }
9322 
9323  private Builder(
9324  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
9325  super(parent);
9326  maybeForceBuilderInitialization();
9327  }
9328  private void maybeForceBuilderInitialization() {
9329  if (com.google.protobuf.GeneratedMessageV3
9330  .alwaysUseFieldBuilders) {
9331  }
9332  }
9333  @java.lang.Override
9334  public Builder clear() {
9335  super.clear();
9336  firstSolutionStrategy_ = 0;
9337 
9338  useUnfilteredFirstSolutionStrategy_ = false;
9339 
9340  savingsNeighborsRatio_ = 0D;
9341 
9342  savingsMaxMemoryUsageBytes_ = 0D;
9343 
9344  savingsAddReverseArcs_ = false;
9345 
9346  savingsArcCoefficient_ = 0D;
9347 
9348  savingsParallelRoutes_ = false;
9349 
9350  cheapestInsertionFarthestSeedsRatio_ = 0D;
9351 
9352  cheapestInsertionFirstSolutionNeighborsRatio_ = 0D;
9353 
9354  cheapestInsertionLsOperatorNeighborsRatio_ = 0D;
9355 
9356  cheapestInsertionAddUnperformedEntries_ = false;
9357 
9358  christofidesUseMinimumMatching_ = false;
9359 
9360  if (localSearchOperatorsBuilder_ == null) {
9361  localSearchOperators_ = null;
9362  } else {
9363  localSearchOperators_ = null;
9364  localSearchOperatorsBuilder_ = null;
9365  }
9366  useMultiArmedBanditConcatenateOperators_ = false;
9367 
9368  multiArmedBanditCompoundOperatorMemoryCoefficient_ = 0D;
9369 
9370  multiArmedBanditCompoundOperatorExplorationCoefficient_ = 0D;
9371 
9372  relocateExpensiveChainNumArcsToConsider_ = 0;
9373 
9374  heuristicExpensiveChainLnsNumArcsToConsider_ = 0;
9375 
9376  heuristicCloseNodesLnsNumNodes_ = 0;
9377 
9378  localSearchMetaheuristic_ = 0;
9379 
9380  guidedLocalSearchLambdaCoefficient_ = 0D;
9381 
9382  useDepthFirstSearch_ = false;
9383 
9384  useCp_ = 0;
9385 
9386  useCpSat_ = 0;
9387 
9388  continuousSchedulingSolver_ = 0;
9389 
9390  mixedIntegerSchedulingSolver_ = 0;
9391 
9392  optimizationStep_ = 0D;
9393 
9394  numberOfSolutionsToCollect_ = 0;
9395 
9396  solutionLimit_ = 0L;
9397 
9398  if (timeLimitBuilder_ == null) {
9399  timeLimit_ = null;
9400  } else {
9401  timeLimit_ = null;
9402  timeLimitBuilder_ = null;
9403  }
9404  if (lnsTimeLimitBuilder_ == null) {
9405  lnsTimeLimit_ = null;
9406  } else {
9407  lnsTimeLimit_ = null;
9408  lnsTimeLimitBuilder_ = null;
9409  }
9410  if (improvementLimitParametersBuilder_ == null) {
9411  improvementLimitParameters_ = null;
9412  } else {
9413  improvementLimitParameters_ = null;
9414  improvementLimitParametersBuilder_ = null;
9415  }
9416  useFullPropagation_ = false;
9417 
9418  logSearch_ = false;
9419 
9420  logCostScalingFactor_ = 0D;
9421 
9422  logCostOffset_ = 0D;
9423 
9424  logTag_ = "";
9425 
9426  return this;
9427  }
9428 
9429  @java.lang.Override
9430  public com.google.protobuf.Descriptors.Descriptor
9432  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
9433  }
9434 
9435  @java.lang.Override
9438  }
9439 
9440  @java.lang.Override
9443  if (!result.isInitialized()) {
9444  throw newUninitializedMessageException(result);
9445  }
9446  return result;
9447  }
9448 
9449  @java.lang.Override
9452  result.firstSolutionStrategy_ = firstSolutionStrategy_;
9453  result.useUnfilteredFirstSolutionStrategy_ = useUnfilteredFirstSolutionStrategy_;
9454  result.savingsNeighborsRatio_ = savingsNeighborsRatio_;
9455  result.savingsMaxMemoryUsageBytes_ = savingsMaxMemoryUsageBytes_;
9456  result.savingsAddReverseArcs_ = savingsAddReverseArcs_;
9457  result.savingsArcCoefficient_ = savingsArcCoefficient_;
9458  result.savingsParallelRoutes_ = savingsParallelRoutes_;
9459  result.cheapestInsertionFarthestSeedsRatio_ = cheapestInsertionFarthestSeedsRatio_;
9460  result.cheapestInsertionFirstSolutionNeighborsRatio_ = cheapestInsertionFirstSolutionNeighborsRatio_;
9461  result.cheapestInsertionLsOperatorNeighborsRatio_ = cheapestInsertionLsOperatorNeighborsRatio_;
9462  result.cheapestInsertionAddUnperformedEntries_ = cheapestInsertionAddUnperformedEntries_;
9463  result.christofidesUseMinimumMatching_ = christofidesUseMinimumMatching_;
9464  if (localSearchOperatorsBuilder_ == null) {
9465  result.localSearchOperators_ = localSearchOperators_;
9466  } else {
9467  result.localSearchOperators_ = localSearchOperatorsBuilder_.build();
9468  }
9469  result.useMultiArmedBanditConcatenateOperators_ = useMultiArmedBanditConcatenateOperators_;
9470  result.multiArmedBanditCompoundOperatorMemoryCoefficient_ = multiArmedBanditCompoundOperatorMemoryCoefficient_;
9471  result.multiArmedBanditCompoundOperatorExplorationCoefficient_ = multiArmedBanditCompoundOperatorExplorationCoefficient_;
9472  result.relocateExpensiveChainNumArcsToConsider_ = relocateExpensiveChainNumArcsToConsider_;
9473  result.heuristicExpensiveChainLnsNumArcsToConsider_ = heuristicExpensiveChainLnsNumArcsToConsider_;
9474  result.heuristicCloseNodesLnsNumNodes_ = heuristicCloseNodesLnsNumNodes_;
9475  result.localSearchMetaheuristic_ = localSearchMetaheuristic_;
9476  result.guidedLocalSearchLambdaCoefficient_ = guidedLocalSearchLambdaCoefficient_;
9477  result.useDepthFirstSearch_ = useDepthFirstSearch_;
9478  result.useCp_ = useCp_;
9479  result.useCpSat_ = useCpSat_;
9480  result.continuousSchedulingSolver_ = continuousSchedulingSolver_;
9481  result.mixedIntegerSchedulingSolver_ = mixedIntegerSchedulingSolver_;
9482  result.optimizationStep_ = optimizationStep_;
9483  result.numberOfSolutionsToCollect_ = numberOfSolutionsToCollect_;
9484  result.solutionLimit_ = solutionLimit_;
9485  if (timeLimitBuilder_ == null) {
9486  result.timeLimit_ = timeLimit_;
9487  } else {
9488  result.timeLimit_ = timeLimitBuilder_.build();
9489  }
9490  if (lnsTimeLimitBuilder_ == null) {
9491  result.lnsTimeLimit_ = lnsTimeLimit_;
9492  } else {
9493  result.lnsTimeLimit_ = lnsTimeLimitBuilder_.build();
9494  }
9495  if (improvementLimitParametersBuilder_ == null) {
9496  result.improvementLimitParameters_ = improvementLimitParameters_;
9497  } else {
9498  result.improvementLimitParameters_ = improvementLimitParametersBuilder_.build();
9499  }
9500  result.useFullPropagation_ = useFullPropagation_;
9501  result.logSearch_ = logSearch_;
9502  result.logCostScalingFactor_ = logCostScalingFactor_;
9503  result.logCostOffset_ = logCostOffset_;
9504  result.logTag_ = logTag_;
9505  onBuilt();
9506  return result;
9507  }
9508 
9509  @java.lang.Override
9510  public Builder clone() {
9511  return super.clone();
9512  }
9513  @java.lang.Override
9515  com.google.protobuf.Descriptors.FieldDescriptor field,
9516  java.lang.Object value) {
9517  return super.setField(field, value);
9518  }
9519  @java.lang.Override
9521  com.google.protobuf.Descriptors.FieldDescriptor field) {
9522  return super.clearField(field);
9523  }
9524  @java.lang.Override
9526  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
9527  return super.clearOneof(oneof);
9528  }
9529  @java.lang.Override
9531  com.google.protobuf.Descriptors.FieldDescriptor field,
9532  int index, java.lang.Object value) {
9533  return super.setRepeatedField(field, index, value);
9534  }
9535  @java.lang.Override
9537  com.google.protobuf.Descriptors.FieldDescriptor field,
9538  java.lang.Object value) {
9539  return super.addRepeatedField(field, value);
9540  }
9541  @java.lang.Override
9542  public Builder mergeFrom(com.google.protobuf.Message other) {
9545  } else {
9546  super.mergeFrom(other);
9547  return this;
9548  }
9549  }
9550 
9553  if (other.firstSolutionStrategy_ != 0) {
9554  setFirstSolutionStrategyValue(other.getFirstSolutionStrategyValue());
9555  }
9556  if (other.getUseUnfilteredFirstSolutionStrategy() != false) {
9557  setUseUnfilteredFirstSolutionStrategy(other.getUseUnfilteredFirstSolutionStrategy());
9558  }
9559  if (other.getSavingsNeighborsRatio() != 0D) {
9560  setSavingsNeighborsRatio(other.getSavingsNeighborsRatio());
9561  }
9562  if (other.getSavingsMaxMemoryUsageBytes() != 0D) {
9563  setSavingsMaxMemoryUsageBytes(other.getSavingsMaxMemoryUsageBytes());
9564  }
9565  if (other.getSavingsAddReverseArcs() != false) {
9566  setSavingsAddReverseArcs(other.getSavingsAddReverseArcs());
9567  }
9568  if (other.getSavingsArcCoefficient() != 0D) {
9569  setSavingsArcCoefficient(other.getSavingsArcCoefficient());
9570  }
9571  if (other.getSavingsParallelRoutes() != false) {
9572  setSavingsParallelRoutes(other.getSavingsParallelRoutes());
9573  }
9574  if (other.getCheapestInsertionFarthestSeedsRatio() != 0D) {
9575  setCheapestInsertionFarthestSeedsRatio(other.getCheapestInsertionFarthestSeedsRatio());
9576  }
9577  if (other.getCheapestInsertionFirstSolutionNeighborsRatio() != 0D) {
9578  setCheapestInsertionFirstSolutionNeighborsRatio(other.getCheapestInsertionFirstSolutionNeighborsRatio());
9579  }
9580  if (other.getCheapestInsertionLsOperatorNeighborsRatio() != 0D) {
9581  setCheapestInsertionLsOperatorNeighborsRatio(other.getCheapestInsertionLsOperatorNeighborsRatio());
9582  }
9583  if (other.getCheapestInsertionAddUnperformedEntries() != false) {
9584  setCheapestInsertionAddUnperformedEntries(other.getCheapestInsertionAddUnperformedEntries());
9585  }
9586  if (other.getChristofidesUseMinimumMatching() != false) {
9587  setChristofidesUseMinimumMatching(other.getChristofidesUseMinimumMatching());
9588  }
9589  if (other.hasLocalSearchOperators()) {
9590  mergeLocalSearchOperators(other.getLocalSearchOperators());
9591  }
9592  if (other.getUseMultiArmedBanditConcatenateOperators() != false) {
9593  setUseMultiArmedBanditConcatenateOperators(other.getUseMultiArmedBanditConcatenateOperators());
9594  }
9595  if (other.getMultiArmedBanditCompoundOperatorMemoryCoefficient() != 0D) {
9596  setMultiArmedBanditCompoundOperatorMemoryCoefficient(other.getMultiArmedBanditCompoundOperatorMemoryCoefficient());
9597  }
9598  if (other.getMultiArmedBanditCompoundOperatorExplorationCoefficient() != 0D) {
9599  setMultiArmedBanditCompoundOperatorExplorationCoefficient(other.getMultiArmedBanditCompoundOperatorExplorationCoefficient());
9600  }
9601  if (other.getRelocateExpensiveChainNumArcsToConsider() != 0) {
9602  setRelocateExpensiveChainNumArcsToConsider(other.getRelocateExpensiveChainNumArcsToConsider());
9603  }
9604  if (other.getHeuristicExpensiveChainLnsNumArcsToConsider() != 0) {
9605  setHeuristicExpensiveChainLnsNumArcsToConsider(other.getHeuristicExpensiveChainLnsNumArcsToConsider());
9606  }
9607  if (other.getHeuristicCloseNodesLnsNumNodes() != 0) {
9608  setHeuristicCloseNodesLnsNumNodes(other.getHeuristicCloseNodesLnsNumNodes());
9609  }
9610  if (other.localSearchMetaheuristic_ != 0) {
9611  setLocalSearchMetaheuristicValue(other.getLocalSearchMetaheuristicValue());
9612  }
9613  if (other.getGuidedLocalSearchLambdaCoefficient() != 0D) {
9614  setGuidedLocalSearchLambdaCoefficient(other.getGuidedLocalSearchLambdaCoefficient());
9615  }
9616  if (other.getUseDepthFirstSearch() != false) {
9617  setUseDepthFirstSearch(other.getUseDepthFirstSearch());
9618  }
9619  if (other.useCp_ != 0) {
9620  setUseCpValue(other.getUseCpValue());
9621  }
9622  if (other.useCpSat_ != 0) {
9623  setUseCpSatValue(other.getUseCpSatValue());
9624  }
9625  if (other.continuousSchedulingSolver_ != 0) {
9626  setContinuousSchedulingSolverValue(other.getContinuousSchedulingSolverValue());
9627  }
9628  if (other.mixedIntegerSchedulingSolver_ != 0) {
9629  setMixedIntegerSchedulingSolverValue(other.getMixedIntegerSchedulingSolverValue());
9630  }
9631  if (other.getOptimizationStep() != 0D) {
9632  setOptimizationStep(other.getOptimizationStep());
9633  }
9634  if (other.getNumberOfSolutionsToCollect() != 0) {
9635  setNumberOfSolutionsToCollect(other.getNumberOfSolutionsToCollect());
9636  }
9637  if (other.getSolutionLimit() != 0L) {
9638  setSolutionLimit(other.getSolutionLimit());
9639  }
9640  if (other.hasTimeLimit()) {
9641  mergeTimeLimit(other.getTimeLimit());
9642  }
9643  if (other.hasLnsTimeLimit()) {
9644  mergeLnsTimeLimit(other.getLnsTimeLimit());
9645  }
9646  if (other.hasImprovementLimitParameters()) {
9647  mergeImprovementLimitParameters(other.getImprovementLimitParameters());
9648  }
9649  if (other.getUseFullPropagation() != false) {
9650  setUseFullPropagation(other.getUseFullPropagation());
9651  }
9652  if (other.getLogSearch() != false) {
9653  setLogSearch(other.getLogSearch());
9654  }
9655  if (other.getLogCostScalingFactor() != 0D) {
9656  setLogCostScalingFactor(other.getLogCostScalingFactor());
9657  }
9658  if (other.getLogCostOffset() != 0D) {
9659  setLogCostOffset(other.getLogCostOffset());
9660  }
9661  if (!other.getLogTag().isEmpty()) {
9662  logTag_ = other.logTag_;
9663  onChanged();
9664  }
9665  this.mergeUnknownFields(other.unknownFields);
9666  onChanged();
9667  return this;
9668  }
9669 
9670  @java.lang.Override
9671  public final boolean isInitialized() {
9672  return true;
9673  }
9674 
9675  @java.lang.Override
9677  com.google.protobuf.CodedInputStream input,
9678  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9679  throws java.io.IOException {
9681  try {
9682  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
9683  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
9684  parsedMessage = (com.google.ortools.constraintsolver.RoutingSearchParameters) e.getUnfinishedMessage();
9685  throw e.unwrapIOException();
9686  } finally {
9687  if (parsedMessage != null) {
9688  mergeFrom(parsedMessage);
9689  }
9690  }
9691  return this;
9692  }
9693 
9694  private int firstSolutionStrategy_ = 0;
9703  @java.lang.Override public int getFirstSolutionStrategyValue() {
9704  return firstSolutionStrategy_;
9705  }
9716 
9717  firstSolutionStrategy_ = value;
9718  onChanged();
9719  return this;
9720  }
9729  @java.lang.Override
9731  @SuppressWarnings("deprecation")
9733  return result == null ? com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNRECOGNIZED : result;
9734  }
9745  if (value == null) {
9746  throw new NullPointerException();
9747  }
9748 
9749  firstSolutionStrategy_ = value.getNumber();
9750  onChanged();
9751  return this;
9752  }
9762 
9763  firstSolutionStrategy_ = 0;
9764  onChanged();
9765  return this;
9766  }
9767 
9768  private boolean useUnfilteredFirstSolutionStrategy_ ;
9779  @java.lang.Override
9781  return useUnfilteredFirstSolutionStrategy_;
9782  }
9795 
9796  useUnfilteredFirstSolutionStrategy_ = value;
9797  onChanged();
9798  return this;
9799  }
9811 
9812  useUnfilteredFirstSolutionStrategy_ = false;
9813  onChanged();
9814  return this;
9815  }
9816 
9817  private double savingsNeighborsRatio_ ;
9828  @java.lang.Override
9829  public double getSavingsNeighborsRatio() {
9830  return savingsNeighborsRatio_;
9831  }
9843  public Builder setSavingsNeighborsRatio(double value) {
9844 
9845  savingsNeighborsRatio_ = value;
9846  onChanged();
9847  return this;
9848  }
9860 
9861  savingsNeighborsRatio_ = 0D;
9862  onChanged();
9863  return this;
9864  }
9865 
9866  private double savingsMaxMemoryUsageBytes_ ;
9880  @java.lang.Override
9882  return savingsMaxMemoryUsageBytes_;
9883  }
9899 
9900  savingsMaxMemoryUsageBytes_ = value;
9901  onChanged();
9902  return this;
9903  }
9918 
9919  savingsMaxMemoryUsageBytes_ = 0D;
9920  onChanged();
9921  return this;
9922  }
9923 
9924  private boolean savingsAddReverseArcs_ ;
9934  @java.lang.Override
9935  public boolean getSavingsAddReverseArcs() {
9936  return savingsAddReverseArcs_;
9937  }
9948  public Builder setSavingsAddReverseArcs(boolean value) {
9949 
9950  savingsAddReverseArcs_ = value;
9951  onChanged();
9952  return this;
9953  }
9964 
9965  savingsAddReverseArcs_ = false;
9966  onChanged();
9967  return this;
9968  }
9969 
9970  private double savingsArcCoefficient_ ;
9983  @java.lang.Override
9984  public double getSavingsArcCoefficient() {
9985  return savingsArcCoefficient_;
9986  }
10000  public Builder setSavingsArcCoefficient(double value) {
10001 
10002  savingsArcCoefficient_ = value;
10003  onChanged();
10004  return this;
10005  }
10019 
10020  savingsArcCoefficient_ = 0D;
10021  onChanged();
10022  return this;
10023  }
10024 
10025  private boolean savingsParallelRoutes_ ;
10034  @java.lang.Override
10035  public boolean getSavingsParallelRoutes() {
10036  return savingsParallelRoutes_;
10037  }
10047  public Builder setSavingsParallelRoutes(boolean value) {
10048 
10049  savingsParallelRoutes_ = value;
10050  onChanged();
10051  return this;
10052  }
10062 
10063  savingsParallelRoutes_ = false;
10064  onChanged();
10065  return this;
10066  }
10067 
10068  private double cheapestInsertionFarthestSeedsRatio_ ;
10079  @java.lang.Override
10081  return cheapestInsertionFarthestSeedsRatio_;
10082  }
10095 
10096  cheapestInsertionFarthestSeedsRatio_ = value;
10097  onChanged();
10098  return this;
10099  }
10111 
10112  cheapestInsertionFarthestSeedsRatio_ = 0D;
10113  onChanged();
10114  return this;
10115  }
10116 
10117  private double cheapestInsertionFirstSolutionNeighborsRatio_ ;
10130  @java.lang.Override
10132  return cheapestInsertionFirstSolutionNeighborsRatio_;
10133  }
10148 
10149  cheapestInsertionFirstSolutionNeighborsRatio_ = value;
10150  onChanged();
10151  return this;
10152  }
10166 
10167  cheapestInsertionFirstSolutionNeighborsRatio_ = 0D;
10168  onChanged();
10169  return this;
10170  }
10171 
10172  private double cheapestInsertionLsOperatorNeighborsRatio_ ;
10183  @java.lang.Override
10185  return cheapestInsertionLsOperatorNeighborsRatio_;
10186  }
10199 
10200  cheapestInsertionLsOperatorNeighborsRatio_ = value;
10201  onChanged();
10202  return this;
10203  }
10215 
10216  cheapestInsertionLsOperatorNeighborsRatio_ = 0D;
10217  onChanged();
10218  return this;
10219  }
10220 
10221  private boolean cheapestInsertionAddUnperformedEntries_ ;
10231  @java.lang.Override
10233  return cheapestInsertionAddUnperformedEntries_;
10234  }
10246 
10247  cheapestInsertionAddUnperformedEntries_ = value;
10248  onChanged();
10249  return this;
10250  }
10261 
10262  cheapestInsertionAddUnperformedEntries_ = false;
10263  onChanged();
10264  return this;
10265  }
10266 
10267  private boolean christofidesUseMinimumMatching_ ;
10277  @java.lang.Override
10279  return christofidesUseMinimumMatching_;
10280  }
10292 
10293  christofidesUseMinimumMatching_ = value;
10294  onChanged();
10295  return this;
10296  }
10307 
10308  christofidesUseMinimumMatching_ = false;
10309  onChanged();
10310  return this;
10311  }
10312 
10314  private com.google.protobuf.SingleFieldBuilderV3<
10320  public boolean hasLocalSearchOperators() {
10321  return localSearchOperatorsBuilder_ != null || localSearchOperators_ != null;
10322  }
10328  if (localSearchOperatorsBuilder_ == null) {
10329  return localSearchOperators_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
10330  } else {
10331  return localSearchOperatorsBuilder_.getMessage();
10332  }
10333  }
10338  if (localSearchOperatorsBuilder_ == null) {
10339  if (value == null) {
10340  throw new NullPointerException();
10341  }
10342  localSearchOperators_ = value;
10343  onChanged();
10344  } else {
10345  localSearchOperatorsBuilder_.setMessage(value);
10346  }
10347 
10348  return this;
10349  }
10355  if (localSearchOperatorsBuilder_ == null) {
10356  localSearchOperators_ = builderForValue.build();
10357  onChanged();
10358  } else {
10359  localSearchOperatorsBuilder_.setMessage(builderForValue.build());
10360  }
10361 
10362  return this;
10363  }
10368  if (localSearchOperatorsBuilder_ == null) {
10369  if (localSearchOperators_ != null) {
10370  localSearchOperators_ =
10372  } else {
10373  localSearchOperators_ = value;
10374  }
10375  onChanged();
10376  } else {
10377  localSearchOperatorsBuilder_.mergeFrom(value);
10378  }
10379 
10380  return this;
10381  }
10386  if (localSearchOperatorsBuilder_ == null) {
10387  localSearchOperators_ = null;
10388  onChanged();
10389  } else {
10390  localSearchOperators_ = null;
10391  localSearchOperatorsBuilder_ = null;
10392  }
10393 
10394  return this;
10395  }
10400 
10401  onChanged();
10402  return getLocalSearchOperatorsFieldBuilder().getBuilder();
10403  }
10408  if (localSearchOperatorsBuilder_ != null) {
10409  return localSearchOperatorsBuilder_.getMessageOrBuilder();
10410  } else {
10411  return localSearchOperators_ == null ?
10413  }
10414  }
10418  private com.google.protobuf.SingleFieldBuilderV3<
10420  getLocalSearchOperatorsFieldBuilder() {
10421  if (localSearchOperatorsBuilder_ == null) {
10422  localSearchOperatorsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
10425  getParentForChildren(),
10426  isClean());
10427  localSearchOperators_ = null;
10428  }
10429  return localSearchOperatorsBuilder_;
10430  }
10431 
10432  private boolean useMultiArmedBanditConcatenateOperators_ ;
10443  @java.lang.Override
10445  return useMultiArmedBanditConcatenateOperators_;
10446  }
10459 
10460  useMultiArmedBanditConcatenateOperators_ = value;
10461  onChanged();
10462  return this;
10463  }
10475 
10476  useMultiArmedBanditConcatenateOperators_ = false;
10477  onChanged();
10478  return this;
10479  }
10480 
10481  private double multiArmedBanditCompoundOperatorMemoryCoefficient_ ;
10493  @java.lang.Override
10495  return multiArmedBanditCompoundOperatorMemoryCoefficient_;
10496  }
10510 
10511  multiArmedBanditCompoundOperatorMemoryCoefficient_ = value;
10512  onChanged();
10513  return this;
10514  }
10527 
10528  multiArmedBanditCompoundOperatorMemoryCoefficient_ = 0D;
10529  onChanged();
10530  return this;
10531  }
10532 
10533  private double multiArmedBanditCompoundOperatorExplorationCoefficient_ ;
10544  @java.lang.Override
10546  return multiArmedBanditCompoundOperatorExplorationCoefficient_;
10547  }
10560 
10561  multiArmedBanditCompoundOperatorExplorationCoefficient_ = value;
10562  onChanged();
10563  return this;
10564  }
10576 
10577  multiArmedBanditCompoundOperatorExplorationCoefficient_ = 0D;
10578  onChanged();
10579  return this;
10580  }
10581 
10582  private int relocateExpensiveChainNumArcsToConsider_ ;
10597  @java.lang.Override
10599  return relocateExpensiveChainNumArcsToConsider_;
10600  }
10617 
10618  relocateExpensiveChainNumArcsToConsider_ = value;
10619  onChanged();
10620  return this;
10621  }
10637 
10638  relocateExpensiveChainNumArcsToConsider_ = 0;
10639  onChanged();
10640  return this;
10641  }
10642 
10643  private int heuristicExpensiveChainLnsNumArcsToConsider_ ;
10653  @java.lang.Override
10655  return heuristicExpensiveChainLnsNumArcsToConsider_;
10656  }
10668 
10669  heuristicExpensiveChainLnsNumArcsToConsider_ = value;
10670  onChanged();
10671  return this;
10672  }
10683 
10684  heuristicExpensiveChainLnsNumArcsToConsider_ = 0;
10685  onChanged();
10686  return this;
10687  }
10688 
10689  private int heuristicCloseNodesLnsNumNodes_ ;
10699  @java.lang.Override
10701  return heuristicCloseNodesLnsNumNodes_;
10702  }
10714 
10715  heuristicCloseNodesLnsNumNodes_ = value;
10716  onChanged();
10717  return this;
10718  }
10729 
10730  heuristicCloseNodesLnsNumNodes_ = 0;
10731  onChanged();
10732  return this;
10733  }
10734 
10735  private int localSearchMetaheuristic_ = 0;
10744  @java.lang.Override public int getLocalSearchMetaheuristicValue() {
10745  return localSearchMetaheuristic_;
10746  }
10757 
10758  localSearchMetaheuristic_ = value;
10759  onChanged();
10760  return this;
10761  }
10770  @java.lang.Override
10772  @SuppressWarnings("deprecation")
10775  }
10786  if (value == null) {
10787  throw new NullPointerException();
10788  }
10789 
10790  localSearchMetaheuristic_ = value.getNumber();
10791  onChanged();
10792  return this;
10793  }
10803 
10804  localSearchMetaheuristic_ = 0;
10805  onChanged();
10806  return this;
10807  }
10808 
10809  private double guidedLocalSearchLambdaCoefficient_ ;
10821  @java.lang.Override
10823  return guidedLocalSearchLambdaCoefficient_;
10824  }
10838 
10839  guidedLocalSearchLambdaCoefficient_ = value;
10840  onChanged();
10841  return this;
10842  }
10855 
10856  guidedLocalSearchLambdaCoefficient_ = 0D;
10857  onChanged();
10858  return this;
10859  }
10860 
10861  private boolean useDepthFirstSearch_ ;
10872  @java.lang.Override
10873  public boolean getUseDepthFirstSearch() {
10874  return useDepthFirstSearch_;
10875  }
10887  public Builder setUseDepthFirstSearch(boolean value) {
10888 
10889  useDepthFirstSearch_ = value;
10890  onChanged();
10891  return this;
10892  }
10904 
10905  useDepthFirstSearch_ = false;
10906  onChanged();
10907  return this;
10908  }
10909 
10910  private int useCp_ = 0;
10921  @java.lang.Override public int getUseCpValue() {
10922  return useCp_;
10923  }
10935  public Builder setUseCpValue(int value) {
10936 
10937  useCp_ = value;
10938  onChanged();
10939  return this;
10940  }
10951  @java.lang.Override
10953  @SuppressWarnings("deprecation")
10955  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
10956  }
10969  if (value == null) {
10970  throw new NullPointerException();
10971  }
10972 
10973  useCp_ = value.getNumber();
10974  onChanged();
10975  return this;
10976  }
10987  public Builder clearUseCp() {
10988 
10989  useCp_ = 0;
10990  onChanged();
10991  return this;
10992  }
10993 
10994  private int useCpSat_ = 0;
11006  @java.lang.Override public int getUseCpSatValue() {
11007  return useCpSat_;
11008  }
11021  public Builder setUseCpSatValue(int value) {
11022 
11023  useCpSat_ = value;
11024  onChanged();
11025  return this;
11026  }
11038  @java.lang.Override
11040  @SuppressWarnings("deprecation")
11042  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
11043  }
11057  if (value == null) {
11058  throw new NullPointerException();
11059  }
11060 
11061  useCpSat_ = value.getNumber();
11062  onChanged();
11063  return this;
11064  }
11077 
11078  useCpSat_ = 0;
11079  onChanged();
11080  return this;
11081  }
11082 
11083  private int continuousSchedulingSolver_ = 0;
11088  @java.lang.Override public int getContinuousSchedulingSolverValue() {
11089  return continuousSchedulingSolver_;
11090  }
11097 
11098  continuousSchedulingSolver_ = value;
11099  onChanged();
11100  return this;
11101  }
11106  @java.lang.Override
11108  @SuppressWarnings("deprecation")
11111  }
11118  if (value == null) {
11119  throw new NullPointerException();
11120  }
11121 
11122  continuousSchedulingSolver_ = value.getNumber();
11123  onChanged();
11124  return this;
11125  }
11131 
11132  continuousSchedulingSolver_ = 0;
11133  onChanged();
11134  return this;
11135  }
11136 
11137  private int mixedIntegerSchedulingSolver_ = 0;
11142  @java.lang.Override public int getMixedIntegerSchedulingSolverValue() {
11143  return mixedIntegerSchedulingSolver_;
11144  }
11151 
11152  mixedIntegerSchedulingSolver_ = value;
11153  onChanged();
11154  return this;
11155  }
11160  @java.lang.Override
11162  @SuppressWarnings("deprecation")
11165  }
11172  if (value == null) {
11173  throw new NullPointerException();
11174  }
11175 
11176  mixedIntegerSchedulingSolver_ = value.getNumber();
11177  onChanged();
11178  return this;
11179  }
11185 
11186  mixedIntegerSchedulingSolver_ = 0;
11187  onChanged();
11188  return this;
11189  }
11190 
11191  private double optimizationStep_ ;
11202  @java.lang.Override
11203  public double getOptimizationStep() {
11204  return optimizationStep_;
11205  }
11217  public Builder setOptimizationStep(double value) {
11218 
11219  optimizationStep_ = value;
11220  onChanged();
11221  return this;
11222  }
11234 
11235  optimizationStep_ = 0D;
11236  onChanged();
11237  return this;
11238  }
11239 
11240  private int numberOfSolutionsToCollect_ ;
11250  @java.lang.Override
11252  return numberOfSolutionsToCollect_;
11253  }
11265 
11266  numberOfSolutionsToCollect_ = value;
11267  onChanged();
11268  return this;
11269  }
11280 
11281  numberOfSolutionsToCollect_ = 0;
11282  onChanged();
11283  return this;
11284  }
11285 
11286  private long solutionLimit_ ;
11297  @java.lang.Override
11298  public long getSolutionLimit() {
11299  return solutionLimit_;
11300  }
11312  public Builder setSolutionLimit(long value) {
11313 
11314  solutionLimit_ = value;
11315  onChanged();
11316  return this;
11317  }
11329 
11330  solutionLimit_ = 0L;
11331  onChanged();
11332  return this;
11333  }
11334 
11335  private com.google.protobuf.Duration timeLimit_;
11336  private com.google.protobuf.SingleFieldBuilderV3<
11337  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> timeLimitBuilder_;
11346  public boolean hasTimeLimit() {
11347  return timeLimitBuilder_ != null || timeLimit_ != null;
11348  }
11357  public com.google.protobuf.Duration getTimeLimit() {
11358  if (timeLimitBuilder_ == null) {
11359  return timeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
11360  } else {
11361  return timeLimitBuilder_.getMessage();
11362  }
11363  }
11371  public Builder setTimeLimit(com.google.protobuf.Duration value) {
11372  if (timeLimitBuilder_ == null) {
11373  if (value == null) {
11374  throw new NullPointerException();
11375  }
11376  timeLimit_ = value;
11377  onChanged();
11378  } else {
11379  timeLimitBuilder_.setMessage(value);
11380  }
11381 
11382  return this;
11383  }
11392  com.google.protobuf.Duration.Builder builderForValue) {
11393  if (timeLimitBuilder_ == null) {
11394  timeLimit_ = builderForValue.build();
11395  onChanged();
11396  } else {
11397  timeLimitBuilder_.setMessage(builderForValue.build());
11398  }
11399 
11400  return this;
11401  }
11409  public Builder mergeTimeLimit(com.google.protobuf.Duration value) {
11410  if (timeLimitBuilder_ == null) {
11411  if (timeLimit_ != null) {
11412  timeLimit_ =
11413  com.google.protobuf.Duration.newBuilder(timeLimit_).mergeFrom(value).buildPartial();
11414  } else {
11415  timeLimit_ = value;
11416  }
11417  onChanged();
11418  } else {
11419  timeLimitBuilder_.mergeFrom(value);
11420  }
11421 
11422  return this;
11423  }
11432  if (timeLimitBuilder_ == null) {
11433  timeLimit_ = null;
11434  onChanged();
11435  } else {
11436  timeLimit_ = null;
11437  timeLimitBuilder_ = null;
11438  }
11439 
11440  return this;
11441  }
11449  public com.google.protobuf.Duration.Builder getTimeLimitBuilder() {
11450 
11451  onChanged();
11452  return getTimeLimitFieldBuilder().getBuilder();
11453  }
11461  public com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder() {
11462  if (timeLimitBuilder_ != null) {
11463  return timeLimitBuilder_.getMessageOrBuilder();
11464  } else {
11465  return timeLimit_ == null ?
11466  com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
11467  }
11468  }
11476  private com.google.protobuf.SingleFieldBuilderV3<
11477  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
11478  getTimeLimitFieldBuilder() {
11479  if (timeLimitBuilder_ == null) {
11480  timeLimitBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
11481  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
11482  getTimeLimit(),
11483  getParentForChildren(),
11484  isClean());
11485  timeLimit_ = null;
11486  }
11487  return timeLimitBuilder_;
11488  }
11489 
11490  private com.google.protobuf.Duration lnsTimeLimit_;
11491  private com.google.protobuf.SingleFieldBuilderV3<
11492  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> lnsTimeLimitBuilder_;
11502  public boolean hasLnsTimeLimit() {
11503  return lnsTimeLimitBuilder_ != null || lnsTimeLimit_ != null;
11504  }
11514  public com.google.protobuf.Duration getLnsTimeLimit() {
11515  if (lnsTimeLimitBuilder_ == null) {
11516  return lnsTimeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
11517  } else {
11518  return lnsTimeLimitBuilder_.getMessage();
11519  }
11520  }
11529  public Builder setLnsTimeLimit(com.google.protobuf.Duration value) {
11530  if (lnsTimeLimitBuilder_ == null) {
11531  if (value == null) {
11532  throw new NullPointerException();
11533  }
11534  lnsTimeLimit_ = value;
11535  onChanged();
11536  } else {
11537  lnsTimeLimitBuilder_.setMessage(value);
11538  }
11539 
11540  return this;
11541  }
11551  com.google.protobuf.Duration.Builder builderForValue) {
11552  if (lnsTimeLimitBuilder_ == null) {
11553  lnsTimeLimit_ = builderForValue.build();
11554  onChanged();
11555  } else {
11556  lnsTimeLimitBuilder_.setMessage(builderForValue.build());
11557  }
11558 
11559  return this;
11560  }
11569  public Builder mergeLnsTimeLimit(com.google.protobuf.Duration value) {
11570  if (lnsTimeLimitBuilder_ == null) {
11571  if (lnsTimeLimit_ != null) {
11572  lnsTimeLimit_ =
11573  com.google.protobuf.Duration.newBuilder(lnsTimeLimit_).mergeFrom(value).buildPartial();
11574  } else {
11575  lnsTimeLimit_ = value;
11576  }
11577  onChanged();
11578  } else {
11579  lnsTimeLimitBuilder_.mergeFrom(value);
11580  }
11581 
11582  return this;
11583  }
11593  if (lnsTimeLimitBuilder_ == null) {
11594  lnsTimeLimit_ = null;
11595  onChanged();
11596  } else {
11597  lnsTimeLimit_ = null;
11598  lnsTimeLimitBuilder_ = null;
11599  }
11600 
11601  return this;
11602  }
11611  public com.google.protobuf.Duration.Builder getLnsTimeLimitBuilder() {
11612 
11613  onChanged();
11614  return getLnsTimeLimitFieldBuilder().getBuilder();
11615  }
11624  public com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder() {
11625  if (lnsTimeLimitBuilder_ != null) {
11626  return lnsTimeLimitBuilder_.getMessageOrBuilder();
11627  } else {
11628  return lnsTimeLimit_ == null ?
11629  com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
11630  }
11631  }
11640  private com.google.protobuf.SingleFieldBuilderV3<
11641  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
11642  getLnsTimeLimitFieldBuilder() {
11643  if (lnsTimeLimitBuilder_ == null) {
11644  lnsTimeLimitBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
11645  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
11646  getLnsTimeLimit(),
11647  getParentForChildren(),
11648  isClean());
11649  lnsTimeLimit_ = null;
11650  }
11651  return lnsTimeLimitBuilder_;
11652  }
11653 
11655  private com.google.protobuf.SingleFieldBuilderV3<
11667  return improvementLimitParametersBuilder_ != null || improvementLimitParameters_ != null;
11668  }
11679  if (improvementLimitParametersBuilder_ == null) {
11680  return improvementLimitParameters_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance() : improvementLimitParameters_;
11681  } else {
11682  return improvementLimitParametersBuilder_.getMessage();
11683  }
11684  }
11694  if (improvementLimitParametersBuilder_ == null) {
11695  if (value == null) {
11696  throw new NullPointerException();
11697  }
11698  improvementLimitParameters_ = value;
11699  onChanged();
11700  } else {
11701  improvementLimitParametersBuilder_.setMessage(value);
11702  }
11703 
11704  return this;
11705  }
11716  if (improvementLimitParametersBuilder_ == null) {
11717  improvementLimitParameters_ = builderForValue.build();
11718  onChanged();
11719  } else {
11720  improvementLimitParametersBuilder_.setMessage(builderForValue.build());
11721  }
11722 
11723  return this;
11724  }
11734  if (improvementLimitParametersBuilder_ == null) {
11735  if (improvementLimitParameters_ != null) {
11736  improvementLimitParameters_ =
11738  } else {
11739  improvementLimitParameters_ = value;
11740  }
11741  onChanged();
11742  } else {
11743  improvementLimitParametersBuilder_.mergeFrom(value);
11744  }
11745 
11746  return this;
11747  }
11757  if (improvementLimitParametersBuilder_ == null) {
11758  improvementLimitParameters_ = null;
11759  onChanged();
11760  } else {
11761  improvementLimitParameters_ = null;
11762  improvementLimitParametersBuilder_ = null;
11763  }
11764 
11765  return this;
11766  }
11776 
11777  onChanged();
11778  return getImprovementLimitParametersFieldBuilder().getBuilder();
11779  }
11789  if (improvementLimitParametersBuilder_ != null) {
11790  return improvementLimitParametersBuilder_.getMessageOrBuilder();
11791  } else {
11792  return improvementLimitParameters_ == null ?
11794  }
11795  }
11804  private com.google.protobuf.SingleFieldBuilderV3<
11806  getImprovementLimitParametersFieldBuilder() {
11807  if (improvementLimitParametersBuilder_ == null) {
11808  improvementLimitParametersBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
11811  getParentForChildren(),
11812  isClean());
11813  improvementLimitParameters_ = null;
11814  }
11815  return improvementLimitParametersBuilder_;
11816  }
11817 
11818  private boolean useFullPropagation_ ;
11835  @java.lang.Override
11836  public boolean getUseFullPropagation() {
11837  return useFullPropagation_;
11838  }
11856  public Builder setUseFullPropagation(boolean value) {
11857 
11858  useFullPropagation_ = value;
11859  onChanged();
11860  return this;
11861  }
11879 
11880  useFullPropagation_ = false;
11881  onChanged();
11882  return this;
11883  }
11884 
11885  private boolean logSearch_ ;
11905  @java.lang.Override
11906  public boolean getLogSearch() {
11907  return logSearch_;
11908  }
11929  public Builder setLogSearch(boolean value) {
11930 
11931  logSearch_ = value;
11932  onChanged();
11933  return this;
11934  }
11955 
11956  logSearch_ = false;
11957  onChanged();
11958  return this;
11959  }
11960 
11961  private double logCostScalingFactor_ ;
11971  @java.lang.Override
11972  public double getLogCostScalingFactor() {
11973  return logCostScalingFactor_;
11974  }
11985  public Builder setLogCostScalingFactor(double value) {
11986 
11987  logCostScalingFactor_ = value;
11988  onChanged();
11989  return this;
11990  }
12001 
12002  logCostScalingFactor_ = 0D;
12003  onChanged();
12004  return this;
12005  }
12006 
12007  private double logCostOffset_ ;
12012  @java.lang.Override
12013  public double getLogCostOffset() {
12014  return logCostOffset_;
12015  }
12021  public Builder setLogCostOffset(double value) {
12022 
12023  logCostOffset_ = value;
12024  onChanged();
12025  return this;
12026  }
12032 
12033  logCostOffset_ = 0D;
12034  onChanged();
12035  return this;
12036  }
12037 
12038  private java.lang.Object logTag_ = "";
12048  public java.lang.String getLogTag() {
12049  java.lang.Object ref = logTag_;
12050  if (!(ref instanceof java.lang.String)) {
12051  com.google.protobuf.ByteString bs =
12052  (com.google.protobuf.ByteString) ref;
12053  java.lang.String s = bs.toStringUtf8();
12054  logTag_ = s;
12055  return s;
12056  } else {
12057  return (java.lang.String) ref;
12058  }
12059  }
12069  public com.google.protobuf.ByteString
12071  java.lang.Object ref = logTag_;
12072  if (ref instanceof String) {
12073  com.google.protobuf.ByteString b =
12074  com.google.protobuf.ByteString.copyFromUtf8(
12075  (java.lang.String) ref);
12076  logTag_ = b;
12077  return b;
12078  } else {
12079  return (com.google.protobuf.ByteString) ref;
12080  }
12081  }
12093  java.lang.String value) {
12094  if (value == null) {
12095  throw new NullPointerException();
12096  }
12097 
12098  logTag_ = value;
12099  onChanged();
12100  return this;
12101  }
12112 
12113  logTag_ = getDefaultInstance().getLogTag();
12114  onChanged();
12115  return this;
12116  }
12128  com.google.protobuf.ByteString value) {
12129  if (value == null) {
12130  throw new NullPointerException();
12131  }
12132  checkByteStringIsUtf8(value);
12133 
12134  logTag_ = value;
12135  onChanged();
12136  return this;
12137  }
12138  @java.lang.Override
12140  final com.google.protobuf.UnknownFieldSet unknownFields) {
12141  return super.setUnknownFields(unknownFields);
12142  }
12143 
12144  @java.lang.Override
12146  final com.google.protobuf.UnknownFieldSet unknownFields) {
12147  return super.mergeUnknownFields(unknownFields);
12148  }
12149 
12150 
12151  // @@protoc_insertion_point(builder_scope:operations_research.RoutingSearchParameters)
12152  }
12153 
12154  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters)
12155  private static final com.google.ortools.constraintsolver.RoutingSearchParameters DEFAULT_INSTANCE;
12156  static {
12157  DEFAULT_INSTANCE = new com.google.ortools.constraintsolver.RoutingSearchParameters();
12158  }
12159 
12161  return DEFAULT_INSTANCE;
12162  }
12163 
12164  private static final com.google.protobuf.Parser<RoutingSearchParameters>
12165  PARSER = new com.google.protobuf.AbstractParser<RoutingSearchParameters>() {
12166  @java.lang.Override
12167  public RoutingSearchParameters parsePartialFrom(
12168  com.google.protobuf.CodedInputStream input,
12169  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12170  throws com.google.protobuf.InvalidProtocolBufferException {
12171  return new RoutingSearchParameters(input, extensionRegistry);
12172  }
12173  };
12174 
12175  public static com.google.protobuf.Parser<RoutingSearchParameters> parser() {
12176  return PARSER;
12177  }
12178 
12179  @java.lang.Override
12181  return PARSER;
12182  }
12183 
12184  @java.lang.Override
12186  return DEFAULT_INSTANCE;
12187  }
12188 
12189 }
12190 
int getUseInactiveLnsValue()
.lang.Override int getUseTspOptValue()
.lang.Override int getUseLocalCheapestInsertionExpensiveChainLnsValue()
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(com.google.protobuf.ByteString data)
.lang.Override void writeTo(com.google.protobuf.CodedOutputStream output)
int getUseRelocateExpensiveChainValue()
java.lang.String getLogTag()
Builder setLogCostOffset(double value)
double log_cost_offset = 29;
Builder clearUseTwoOpt()
boolean hasTimeLimit()
Builder setUseLocalCheapestInsertionPathLnsValue(int value)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver getContinuousSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
.lang.Override com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionExpensiveChainLns()
.lang.Override Builder mergeFrom(com.google.protobuf.Message other)
.lang.Override int getUseCpSatValue()
.lang.Override com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value getLocalSearchMetaheuristic()
Builder clearLogCostOffset()
double log_cost_offset = 29;
static final int USE_FULL_PROPAGATION_FIELD_NUMBER
com.google.ortools.util.OptionalBoolean getUseOrOpt()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseDelimitedFrom(java.io.InputStream input)
.lang.Override com.google.ortools.util.OptionalBoolean getUseMakeActive()
Builder clearUseInactiveLns()
int getUseLocalCheapestInsertionPathLnsValue()
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override int getContinuousSchedulingSolverValue()
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(java.nio.ByteBuffer data)
Builder setUseRelocatePairValue(int value)
.lang.Override com.google.ortools.util.OptionalBoolean getUseExtendedSwapActive()
.lang.Override com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder()
Builder setMultiArmedBanditCompoundOperatorExplorationCoefficient(double value)
com.google.protobuf.Duration.Builder getTimeLimitBuilder()
.lang.Override int getUseRelocatePathGlobalCheapestInsertionInsertUnperformedValue()
static final int LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER
.lang.Override com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionCloseNodesLns()
.lang.Override void writeTo(com.google.protobuf.CodedOutputStream output)
Builder clearRelocateExpensiveChainNumArcsToConsider()
.lang.Override Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
.lang.Override double getCheapestInsertionLsOperatorNeighborsRatio()
int getUseRelocateValue()
.lang.Override int getUseLinKernighanValue()
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocateExpensiveChain()
.lang.Override com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionPathLns()
Builder setUseMakeChainInactive(com.google.ortools.util.OptionalBoolean value)
.lang.Override boolean getSavingsAddReverseArcs()
static final int USE_MAKE_CHAIN_INACTIVE_FIELD_NUMBER
Builder setUseOrOpt(com.google.ortools.util.OptionalBoolean value)
com.google.ortools.util.OptionalBoolean getUseNodePairSwapActive()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Builder setUseLocalCheapestInsertionPathLns(com.google.ortools.util.OptionalBoolean value)
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters buildPartial()
.lang.Override int getUseLocalCheapestInsertionExpensiveChainLnsValue()
.lang.Override com.google.ortools.util.OptionalBoolean getUseLightRelocatePair()
.lang.Override com.google.ortools.util.OptionalBoolean getUseExchange()
com.google.protobuf.Duration getTimeLimit()
int getUseExchangePairValue()
Builder setSolutionLimit(long value)
Builder setImprovementRateCoefficient(double value)
static final int MULTI_ARMED_BANDIT_COMPOUND_OPERATOR_MEMORY_COEFFICIENT_FIELD_NUMBER
Builder setUseExchangeSubtrip(com.google.ortools.util.OptionalBoolean value)
com.google.ortools.util.OptionalBoolean getUseRelocateAndMakeActive()
static final int CHEAPEST_INSERTION_ADD_UNPERFORMED_ENTRIES_FIELD_NUMBER
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
Builder clearUseCross()
static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators prototype)
int getUseGlobalCheapestInsertionExpensiveChainLnsValue()
boolean hasLnsTimeLimit()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters build()
.lang.Override double getSavingsNeighborsRatio()
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
.lang.Override final boolean isInitialized()
Builder setLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder builderForValue)
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
com.google.ortools.util.OptionalBoolean getUseRelocateSubtrip()
Builder clearHeuristicExpensiveChainLnsNumArcsToConsider()
.lang.Override final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override int getUseRelocateValue()
.lang.Override int getUseExchangePairValue()
com.google.ortools.util.OptionalBoolean getUseExchangePair()
static final int LOG_COST_SCALING_FACTOR_FIELD_NUMBER
Builder mergeImprovementLimitParameters(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters value)
static final int SOLUTION_LIMIT_FIELD_NUMBER
Builder setOptimizationStep(double value)
Builder clearUseRelocateSubtrip()
Builder setLogTag(java.lang.String value)
static SchedulingSolver valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static final int USE_TSP_OPT_FIELD_NUMBER
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
.lang.Override int getUseExtendedSwapActiveValue()
.lang.Override int getUseRelocatePairValue()
.lang.Override boolean getUseFullPropagation()
.lang.Override Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
.lang.Override com.google.ortools.util.OptionalBoolean getUseTspOpt()
int getUseLinKernighanValue()
Builder setUseGlobalCheapestInsertionPathLnsValue(int value)
.lang.Override int getHeuristicExpensiveChainLnsNumArcsToConsider()
Builder setLocalSearchMetaheuristicValue(int value)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.io.InputStream input)
.lang.Override int getSerializedSize()
int getUseMakeInactiveValue()
Builder setUseTspLns(com.google.ortools.util.OptionalBoolean value)
.lang.Override Builder newBuilderForType()
static final int USE_LIGHT_RELOCATE_PAIR_FIELD_NUMBER
.lang.Override int getUseLocalCheapestInsertionPathLnsValue()
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocateSubtrip()
.lang.Override int getUseRelocateSubtripValue()
.lang.Override final boolean isInitialized()
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder getImprovementLimitParametersBuilder()
Builder clearGuidedLocalSearchLambdaCoefficient()
Builder setUseMakeInactiveValue(int value)
Builder setUseMakeChainInactiveValue(int value)
.lang.Override double getCheapestInsertionFarthestSeedsRatio()
Builder clearUseExtendedSwapActive()
Builder clearSavingsNeighborsRatio()
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocatePair()
static final int HEURISTIC_CLOSE_NODES_LNS_NUM_NODES_FIELD_NUMBER
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder getLocalSearchOperatorsBuilder()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
.lang.Override final com.google.protobuf.UnknownFieldSet getUnknownFields()
.lang.Deprecated static SchedulingSolver valueOf(int value)
static final int LOG_COST_OFFSET_FIELD_NUMBER
boolean hasImprovementLimitParameters()
.lang.Override int getUseFullPathLnsValue()
.lang.Override com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
Builder setUsePathLnsValue(int value)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.CodedInputStream input)
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters getDefaultInstance()
Builder setUseRelocateExpensiveChain(com.google.ortools.util.OptionalBoolean value)
.lang.Override boolean getSavingsAddReverseArcs()
.lang.Override final boolean isInitialized()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
.lang.Override int getUseCrossValue()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
Builder setUseInactiveLns(com.google.ortools.util.OptionalBoolean value)
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocatePathGlobalCheapestInsertionInsertUnperformed()
Builder setLocalSearchMetaheuristic(com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value value)
.lang.Override com.google.ortools.util.OptionalBoolean getUseMakeActive()
static final int USE_LOCAL_CHEAPEST_INSERTION_PATH_LNS_FIELD_NUMBER
.lang.Override final com.google.protobuf.UnknownFieldSet getUnknownFields()
Builder setUseRelocateSubtripValue(int value)
Builder setUseRelocatePathGlobalCheapestInsertionInsertUnperformedValue(int value)
.lang.Override Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
com.google.ortools.util.OptionalBoolean getUseExchange()
.lang.Override com.google.ortools.util.OptionalBoolean getUseExchangePair()
Builder setUseInactiveLnsValue(int value)
Builder setRelocateExpensiveChainNumArcsToConsider(int value)
Builder setUseMakeActive(com.google.ortools.util.OptionalBoolean value)
static final int IMPROVEMENT_LIMIT_PARAMETERS_FIELD_NUMBER
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocateNeighbors()
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters getImprovementLimitParameters()
.lang.Override int getUseTwoOptValue()
.lang.Override com.google.protobuf.Duration getLnsTimeLimit()
static final int LOCAL_SEARCH_OPERATORS_FIELD_NUMBER
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
int getUseLocalCheapestInsertionCloseNodesLnsValue()
Builder setSavingsAddReverseArcs(boolean value)
.lang.Override com.google.protobuf.Parser< RoutingSearchParameters > getParserForType()
static final int USE_SWAP_ACTIVE_FIELD_NUMBER
Builder clearUseOrOpt()
Builder clearUseExchangePair()
Builder setUseMultiArmedBanditConcatenateOperators(boolean value)
static final int USE_EXTENDED_SWAP_ACTIVE_FIELD_NUMBER
.lang.Override java.lang.Object newInstance(UnusedPrivateParameter unused)
.lang.Override double getCheapestInsertionFirstSolutionNeighborsRatio()
.lang.Override Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
static SchedulingSolver forNumber(int value)
Builder clearCheapestInsertionAddUnperformedEntries()
.lang.Override int getUseRelocateExpensiveChainValue()
static final int USE_INACTIVE_LNS_FIELD_NUMBER
Builder setSavingsArcCoefficient(double value)
Builder setUseRelocateValue(int value)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators buildPartial()
static final int OPTIMIZATION_STEP_FIELD_NUMBER
Builder clearUseRelocateExpensiveChain()
com.google.ortools.util.OptionalBoolean getUseLightRelocatePair()
Builder setUseGlobalCheapestInsertionCloseNodesLns(com.google.ortools.util.OptionalBoolean value)
.lang.Override com.google.ortools.util.OptionalBoolean getUseLinKernighan()
.lang.Override int getUseGlobalCheapestInsertionCloseNodesLnsValue()
.lang.Override com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
Builder mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters other)
.lang.Override int getUseMakeActiveValue()
Builder setCheapestInsertionAddUnperformedEntries(boolean value)
Builder clearUseLocalCheapestInsertionPathLns()
.lang.Override Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.nio.ByteBuffer data)
static final int USE_GLOBAL_CHEAPEST_INSERTION_CLOSE_NODES_LNS_FIELD_NUMBER
.lang.Override boolean getCheapestInsertionAddUnperformedEntries()
.lang.Override com.google.ortools.util.OptionalBoolean getUseMakeInactive()
.lang.Override int getUseMakeInactiveValue()
Builder clearUseLightRelocatePair()
int getUseTspOptValue()
Builder setUseLocalCheapestInsertionExpensiveChainLns(com.google.ortools.util.OptionalBoolean value)
com.google.protobuf.Duration.Builder getLnsTimeLimitBuilder()
static final int LOG_TAG_FIELD_NUMBER
com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionExpensiveChainLns()
.lang.Override com.google.ortools.util.OptionalBoolean getUseTwoOpt()
static Builder newBuilder()
.lang.Override boolean getLogSearch()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionCloseNodesLns()
static final int USE_LIN_KERNIGHAN_FIELD_NUMBER
.lang.Override final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
Builder clearUseMakeActive()
.lang.Override int getRelocateExpensiveChainNumArcsToConsider()
static Builder newBuilder()
.lang.Override int getUseExchangePairValue()
.lang.Override int getUseLocalCheapestInsertionCloseNodesLnsValue()
int getUseExtendedSwapActiveValue()
Builder setUseLinKernighan(com.google.ortools.util.OptionalBoolean value)
.lang.Override final boolean isInitialized()
Builder setUseGlobalCheapestInsertionCloseNodesLnsValue(int value)
Builder setChristofidesUseMinimumMatching(boolean value)
.lang.Override boolean hasLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
Builder clearContinuousSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
.lang.Override com.google.protobuf.Parser< ImprovementSearchLimitParameters > getParserForType()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.ortools.util.OptionalBoolean getUseLinKernighan()
.lang.Override java.lang.Object newInstance(UnusedPrivateParameter unused)
Builder setUseLocalCheapestInsertionCloseNodesLns(com.google.ortools.util.OptionalBoolean value)
Builder mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters other)
.lang.Override int getUseLocalCheapestInsertionPathLnsValue()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.ByteString data)
.lang.Override int hashCode()
static final int TIME_LIMIT_FIELD_NUMBER
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocateExpensiveChain()
Builder setMixedIntegerSchedulingSolver(com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver value)
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
.lang.Override int getLocalSearchMetaheuristicValue()
Builder clearLnsTimeLimit()
.lang.Override int getUseRelocateNeighborsValue()
.lang.Override double getLogCostOffset()
double log_cost_offset = 29;
Builder clearUseCpSat()
Builder clearChristofidesUseMinimumMatching()
.lang.Override boolean getUseDepthFirstSearch()
static final int USE_LOCAL_CHEAPEST_INSERTION_EXPENSIVE_CHAIN_LNS_FIELD_NUMBER
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getDefaultInstanceForType()
.lang.Override com.google.ortools.util.OptionalBoolean getUseNodePairSwapActive()
Builder setUseCross(com.google.ortools.util.OptionalBoolean value)
CP_SAT
CP_SAT = 2;
Builder clearUseLocalCheapestInsertionExpensiveChainLns()
.lang.Override double getOptimizationStep()
.lang.Override boolean getUseMultiArmedBanditConcatenateOperators()
.lang.Override int getUseSwapActiveValue()
Builder setCheapestInsertionLsOperatorNeighborsRatio(double value)
Builder clearUseGlobalCheapestInsertionPathLns()
.lang.Override int hashCode()
.lang.Override int getUseSwapActiveValue()
.lang.Override int getUseExchangeSubtripValue()
int getUseExchangeValue()
.lang.Override int getUseMakeChainInactiveValue()
Builder clearOptimizationStep()
static final int CONTINUOUS_SCHEDULING_SOLVER_FIELD_NUMBER
Builder clearUseNodePairSwapActive()
UNSET
UNSET = 0;
Builder setHeuristicCloseNodesLnsNumNodes(int value)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators build()
com.google.ortools.util.OptionalBoolean getUseTwoOpt()
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocateNeighbors()
Builder clearUseRelocateNeighbors()
com.google.ortools.util.OptionalBoolean getUseCross()
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocatePair()
Builder clearLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
.lang.Override int getSerializedSize()
Builder clearMultiArmedBanditCompoundOperatorExplorationCoefficient()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.ortools.util.OptionalBoolean getUseTwoOpt()
static com.google.protobuf.Parser< RoutingSearchParameters > parser()
.lang.Override boolean getUseFullPropagation()
Builder setUseRelocateAndMakeActive(com.google.ortools.util.OptionalBoolean value)
.lang.Override int getImprovementRateSolutionsDistance()
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
Builder setUsePathLns(com.google.ortools.util.OptionalBoolean value)
.lang.Override double getSavingsMaxMemoryUsageBytes()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocate()
Builder clearUseFullPropagation()
.lang.Override int getHeuristicCloseNodesLnsNumNodes()
Builder setUseTspOpt(com.google.ortools.util.OptionalBoolean value)
int getUseRelocatePathGlobalCheapestInsertionInsertUnperformedValue()
.lang.Override Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
static final int NUMBER_OF_SOLUTIONS_TO_COLLECT_FIELD_NUMBER
static final int RELOCATE_EXPENSIVE_CHAIN_NUM_ARCS_TO_CONSIDER_FIELD_NUMBER
static final int FIRST_SOLUTION_STRATEGY_FIELD_NUMBER
Builder setSavingsMaxMemoryUsageBytes(double value)
Builder setHeuristicExpensiveChainLnsNumArcsToConsider(int value)
com.google.ortools.util.OptionalBoolean getUseRelocate()
.lang.Override int getUseRelocateAndMakeActiveValue()
Builder setLnsTimeLimit(com.google.protobuf.Duration.Builder builderForValue)
.lang.Override com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionExpensiveChainLns()
Builder clearImprovementRateCoefficient()
com.google.ortools.util.OptionalBoolean getUseRelocateExpensiveChain()
.lang.Override Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionPathLns()
com.google.ortools.util.OptionalBoolean getUseSwapActive()
Builder clearTimeLimit()
static final int SAVINGS_PARALLEL_ROUTES_FIELD_NUMBER
Builder setUseLightRelocatePairValue(int value)
com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParametersOrBuilder getImprovementLimitParametersOrBuilder()
int getUsePathLnsValue()
Builder setUseGlobalCheapestInsertionPathLns(com.google.ortools.util.OptionalBoolean value)
BOOL_UNSPECIFIED
BOOL_UNSPECIFIED = 0;
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final int USE_FULL_PATH_LNS_FIELD_NUMBER
Builder clearLogTag()
.lang.Override double getSavingsMaxMemoryUsageBytes()
static final int USE_EXCHANGE_SUBTRIP_FIELD_NUMBER
com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder()
.lang.Override Builder clear()
Builder setLogTagBytes(com.google.protobuf.ByteString value)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.CodedInputStream input)
Builder setUseLightRelocatePair(com.google.ortools.util.OptionalBoolean value)
com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionCloseNodesLns()
.lang.Override com.google.ortools.util.OptionalBoolean getUseCpSat()
.lang.Override com.google.protobuf.Parser< LocalSearchNeighborhoodOperators > getParserForType()
.lang.Deprecated static OptionalBoolean valueOf(int value)
Builder clearCheapestInsertionLsOperatorNeighborsRatio()
.lang.Override Builder newBuilderForType()
Builder setLogSearch(boolean value)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseDelimitedFrom(java.io.InputStream input)
Builder setUseDepthFirstSearch(boolean value)
.lang.Override com.google.protobuf.Duration getTimeLimit()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver getMixedIntegerSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
.lang.Override int getUseInactiveLnsValue()
Builder setUseSwapActive(com.google.ortools.util.OptionalBoolean value)
.lang.Override com.google.ortools.util.OptionalBoolean getUsePathLns()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters build()
static final int CHEAPEST_INSERTION_FARTHEST_SEEDS_RATIO_FIELD_NUMBER
Builder clearSavingsParallelRoutes()
.lang.Override int getContinuousSchedulingSolverValue()
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
.lang.Override int getUseFullPathLnsValue()
Builder setUseFullPathLns(com.google.ortools.util.OptionalBoolean value)
.lang.Override int getUseGlobalCheapestInsertionPathLnsValue()
.lang.Override com.google.ortools.constraintsolver.FirstSolutionStrategy.Value getFirstSolutionStrategy()
.lang.Override Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionPathLns()
Builder setUseCpSat(com.google.ortools.util.OptionalBoolean value)
.lang.Override Builder toBuilder()
Builder clearFirstSolutionStrategy()
com.google.ortools.util.OptionalBoolean getUseTspLns()
Builder clearUseRelocatePathGlobalCheapestInsertionInsertUnperformed()
.lang.Override com.google.ortools.util.OptionalBoolean getUseExchange()
Definition: Assignment.java:9
Builder clearUseRelocate()
.lang.Override double getSavingsArcCoefficient()
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocateAndMakeActive()
.lang.Override int getUseRelocatePathGlobalCheapestInsertionInsertUnperformedValue()
static com.google.ortools.constraintsolver.RoutingSearchParameters getDefaultInstance()
Builder setUseLocalCheapestInsertionExpensiveChainLnsValue(int value)
.lang.Override final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(com.google.protobuf.CodedInputStream input)
.lang.Override int getUseGlobalCheapestInsertionCloseNodesLnsValue()
Builder clearUseMultiArmedBanditConcatenateOperators()
.lang.Override com.google.ortools.util.OptionalBoolean getUseOrOpt()
.lang.Override double getGuidedLocalSearchLambdaCoefficient()
Builder setUseExchange(com.google.ortools.util.OptionalBoolean value)
static final int USE_MULTI_ARMED_BANDIT_CONCATENATE_OPERATORS_FIELD_NUMBER
Protobuf enum.
.lang.Override com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionPathLns()
int getUseRelocatePairValue()
.lang.Override com.google.ortools.util.OptionalBoolean getUseCrossExchange()
static final int IMPROVEMENT_RATE_SOLUTIONS_DISTANCE_FIELD_NUMBER
Builder setUseNodePairSwapActive(com.google.ortools.util.OptionalBoolean value)
.lang.Override final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override com.google.ortools.util.OptionalBoolean getUseFullPathLns()
.lang.Override boolean getSavingsParallelRoutes()
.lang.Override com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionExpensiveChainLns()
Builder setUseCrossExchange(com.google.ortools.util.OptionalBoolean value)
Protobuf enum.
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
com.google.ortools.util.OptionalBoolean getUseExtendedSwapActive()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Builder setSavingsNeighborsRatio(double value)
static com.google.protobuf.Parser< ImprovementSearchLimitParameters > parser()
static final int SAVINGS_ARC_COEFFICIENT_FIELD_NUMBER
.lang.Override int getUseCrossExchangeValue()
int getUseRelocateNeighborsValue()
Builder clearSavingsArcCoefficient()
Builder setUseLocalCheapestInsertionCloseNodesLnsValue(int value)
Builder clearUseExchangeSubtrip()
static final int GUIDED_LOCAL_SEARCH_LAMBDA_COEFFICIENT_FIELD_NUMBER
Builder setImprovementLimitParameters(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters value)
UNRECOGNIZED
.lang.Override com.google.ortools.util.OptionalBoolean getUseLightRelocatePair()
.lang.Override int getImprovementRateSolutionsDistance()
static final int USE_TSP_LNS_FIELD_NUMBER
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Builder setImprovementRateSolutionsDistance(int value)
static final int USE_RELOCATE_EXPENSIVE_CHAIN_FIELD_NUMBER
.lang.Override com.google.ortools.util.OptionalBoolean getUseOrOpt()
.lang.Override boolean getChristofidesUseMinimumMatching()
Builder setUseRelocateExpensiveChainValue(int value)
.lang.Override void writeTo(com.google.protobuf.CodedOutputStream output)
static final int USE_OR_OPT_FIELD_NUMBER
static final int IMPROVEMENT_RATE_COEFFICIENT_FIELD_NUMBER
static final int CHEAPEST_INSERTION_FIRST_SOLUTION_NEIGHBORS_RATIO_FIELD_NUMBER
.lang.Override int getUseMakeChainInactiveValue()
static final int USE_GLOBAL_CHEAPEST_INSERTION_EXPENSIVE_CHAIN_LNS_FIELD_NUMBER
com.google.ortools.util.OptionalBoolean getUseMakeActive()
Builder setUseExchangePair(com.google.ortools.util.OptionalBoolean value)
int getUseLightRelocatePairValue()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.io.InputStream input)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParametersOrBuilder getImprovementLimitParametersOrBuilder()
UNSET
.lang.Override final com.google.protobuf.UnknownFieldSet getUnknownFields()
.lang.Override int getFirstSolutionStrategyValue()
.lang.Override double getCheapestInsertionFirstSolutionNeighborsRatio()
.lang.Override com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override int getUseRelocateExpensiveChainValue()
int getUseExchangeSubtripValue()
Builder setSavingsParallelRoutes(boolean value)
com.google.ortools.util.OptionalBoolean getUseFullPathLns()
Builder setTimeLimit(com.google.protobuf.Duration value)
static final int USE_CP_SAT_FIELD_NUMBER
.lang.Override double getCheapestInsertionFarthestSeedsRatio()
.lang.Override double getLogCostScalingFactor()
.lang.Override com.google.ortools.util.OptionalBoolean getUseCross()
.lang.Override Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
static final int SAVINGS_NEIGHBORS_RATIO_FIELD_NUMBER
int getUseMakeChainInactiveValue()
.lang.Override int getUseGlobalCheapestInsertionExpensiveChainLnsValue()
.lang.Override int getUseTspLnsValue()
static final int USE_RELOCATE_SUBTRIP_FIELD_NUMBER
GLOP
GLOP = 1;
.lang.Override double getMultiArmedBanditCompoundOperatorMemoryCoefficient()
Builder setUseGlobalCheapestInsertionExpensiveChainLnsValue(int value)
.lang.Override int getHeuristicCloseNodesLnsNumNodes()
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocatePathGlobalCheapestInsertionInsertUnperformed()
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(byte[] data)
.lang.Override com.google.ortools.util.OptionalBoolean getUseCross()
Builder setUseMakeActiveValue(int value)
int getUseRelocateSubtripValue()
static final int CHEAPEST_INSERTION_LS_OPERATOR_NEIGHBORS_RATIO_FIELD_NUMBER
.lang.Override int getUseNodePairSwapActiveValue()
.lang.Override long getSolutionLimit()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder getLocalSearchOperatorsOrBuilder()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
int getUseNodePairSwapActiveValue()
Builder setMixedIntegerSchedulingSolverValue(int value)
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
static final int USE_CP_FIELD_NUMBER
Builder setUseFullPropagation(boolean value)
Builder clearUseRelocateAndMakeActive()
.lang.Override int getUseExtendedSwapActiveValue()
Builder setUseGlobalCheapestInsertionExpensiveChainLns(com.google.ortools.util.OptionalBoolean value)
.lang.Override int getUseLightRelocatePairValue()
.lang.Override com.google.ortools.util.OptionalBoolean getUseCp()
.lang.Override boolean getUseDepthFirstSearch()
Builder clearImprovementLimitParameters()
Builder clearLogSearch()
.lang.Override com.google.ortools.util.OptionalBoolean getUseCp()
Builder clearUseGlobalCheapestInsertionCloseNodesLns()
int getUseCrossValue()
Builder clearUseRelocatePair()
.lang.Override com.google.ortools.constraintsolver.FirstSolutionStrategy.Value getFirstSolutionStrategy()
Builder clearUseExchange()
Builder setCheapestInsertionFirstSolutionNeighborsRatio(double value)
.lang.Override boolean getChristofidesUseMinimumMatching()
.lang.Override com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
.lang.Override int getUseMakeInactiveValue()
.lang.Override com.google.ortools.util.OptionalBoolean getUseFullPathLns()
Builder setUseCpSatValue(int value)
Builder setImprovementLimitParameters(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder builderForValue)
.lang.Override int getUseMakeActiveValue()
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
.lang.Override double getCheapestInsertionLsOperatorNeighborsRatio()
.lang.Override int getUseOrOptValue()
.lang.Override com.google.ortools.util.OptionalBoolean getUseTspOpt()
.lang.Override Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
Builder clearLogCostScalingFactor()
static final int USE_EXCHANGE_PAIR_FIELD_NUMBER
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override Builder clone()
Builder clearUseTspLns()
.lang.Override com.google.ortools.util.OptionalBoolean getUseInactiveLns()
static final int SAVINGS_ADD_REVERSE_ARCS_FIELD_NUMBER
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override boolean getCheapestInsertionAddUnperformedEntries()
.lang.Override double getGuidedLocalSearchLambdaCoefficient()
.lang.Override boolean equals(final java.lang.Object obj)
Builder clearMixedIntegerSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
Builder setUseRelocateNeighbors(com.google.ortools.util.OptionalBoolean value)
.lang.Override com.google.ortools.util.OptionalBoolean getUseTspLns()
.lang.Override com.google.ortools.util.OptionalBoolean getUseSwapActive()
static final int USE_RELOCATE_PATH_GLOBAL_CHEAPEST_INSERTION_INSERT_UNPERFORMED_FIELD_NUMBER
Builder mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators other)
static final int USE_CROSS_FIELD_NUMBER
.lang.Override int getSerializedSize()
static final int USE_RELOCATE_NEIGHBORS_FIELD_NUMBER
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
.lang.Override Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
com.google.protobuf.Duration getLnsTimeLimit()
.lang.Override Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
.lang.Override final boolean isInitialized()
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocateSubtrip()
.lang.Override int getUseRelocateValue()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.nio.ByteBuffer data)
.lang.Override boolean equals(final java.lang.Object obj)
Builder clearUseMakeInactive()
Builder setUseTwoOpt(com.google.ortools.util.OptionalBoolean value)
Builder clearImprovementRateSolutionsDistance()
.lang.Override Builder toBuilder()
UNRECOGNIZED
.lang.Override Builder newBuilderForType()
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
static final int USE_NODE_PAIR_SWAP_ACTIVE_FIELD_NUMBER
Builder setUseOrOptValue(int value)
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocateAndMakeActive()
Builder clearUseSwapActive()
.lang.Override Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
Builder setUseRelocateSubtrip(com.google.ortools.util.OptionalBoolean value)
Builder clearCheapestInsertionFirstSolutionNeighborsRatio()
.lang.Override int getUseLocalCheapestInsertionCloseNodesLnsValue()
Builder mergeLnsTimeLimit(com.google.protobuf.Duration value)
.lang.Override com.google.ortools.util.OptionalBoolean getUseMakeChainInactive()
Builder setUseFullPathLnsValue(int value)
Builder setUseRelocateAndMakeActiveValue(int value)
com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionExpensiveChainLns()
.lang.Override double getMultiArmedBanditCompoundOperatorMemoryCoefficient()
.lang.Override int getUseTspLnsValue()
.lang.Override int getUseNodePairSwapActiveValue()
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters getDefaultInstanceForType()
static final int USE_MAKE_ACTIVE_FIELD_NUMBER
static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters prototype)
Builder clearLocalSearchMetaheuristic()
.lang.Override Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
.lang.Override int getUseCpValue()
Builder clearUseLinKernighan()
.lang.Override com.google.ortools.util.OptionalBoolean getUseCrossExchange()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(byte[] data)
Builder setUseUnfilteredFirstSolutionStrategy(boolean value)
Builder setGuidedLocalSearchLambdaCoefficient(double value)
Builder setTimeLimit(com.google.protobuf.Duration.Builder builderForValue)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(byte[] data)
static final int USE_MAKE_INACTIVE_FIELD_NUMBER
Builder clearHeuristicCloseNodesLnsNumNodes()
.lang.Override int getUsePathLnsValue()
.lang.Override com.google.ortools.util.OptionalBoolean getUseMakeInactive()
.lang.Override final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
int getUseGlobalCheapestInsertionCloseNodesLnsValue()
.lang.Override int getUseCrossExchangeValue()
.lang.Override Builder clear()
Builder setFirstSolutionStrategyValue(int value)
.lang.Override java.lang.String getLogTag()
Builder setNumberOfSolutionsToCollect(int value)
Builder setUseSwapActiveValue(int value)
.lang.Override int getUseTwoOptValue()
.lang.Override Builder mergeFrom(com.google.protobuf.Message other)
Builder clearUseFullPathLns()
.lang.Override int getUseCrossValue()
.lang.Override com.google.protobuf.ByteString getLogTagBytes()
.lang.Override Builder mergeFrom(com.google.protobuf.Message other)
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
static final int CHRISTOFIDES_USE_MINIMUM_MATCHING_FIELD_NUMBER
Builder setMultiArmedBanditCompoundOperatorMemoryCoefficient(double value)
Builder setContinuousSchedulingSolver(com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver value)
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
static final int USE_UNFILTERED_FIRST_SOLUTION_STRATEGY_FIELD_NUMBER
Builder setUseRelocateNeighborsValue(int value)
Builder clearUsePathLns()
.lang.Override final boolean isInitialized()
static com.google.protobuf.Internal.EnumLiteMap< SchedulingSolver > internalGetValueMap()
.lang.Override double getImprovementRateCoefficient()
.lang.Override boolean getUseUnfilteredFirstSolutionStrategy()
Builder setUseRelocate(com.google.ortools.util.OptionalBoolean value)
static final int USE_PATH_LNS_FIELD_NUMBER
.lang.Override com.google.ortools.util.OptionalBoolean getUseCpSat()
.lang.Override double getImprovementRateCoefficient()
.lang.Override boolean hasImprovementLimitParameters()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters buildPartial()
.lang.Override Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
.lang.Override int getMixedIntegerSchedulingSolverValue()
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
Builder setUseExtendedSwapActive(com.google.ortools.util.OptionalBoolean value)
.lang.Override com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionExpensiveChainLns()
Builder clearUseTspOpt()
Builder setUseCp(com.google.ortools.util.OptionalBoolean value)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters getDefaultInstanceForType()
Builder setLnsTimeLimit(com.google.protobuf.Duration value)
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final int USE_RELOCATE_AND_MAKE_ACTIVE_FIELD_NUMBER
.lang.Override int getUseExchangeValue()
.lang.Override Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
com.google.ortools.util.OptionalBoolean getUseExchangeSubtrip()
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Builder setFirstSolutionStrategy(com.google.ortools.constraintsolver.FirstSolutionStrategy.Value value)
.lang.Override com.google.ortools.util.OptionalBoolean getUseNodePairSwapActive()
.lang.Override com.google.ortools.util.OptionalBoolean getUseRelocate()
int getUseMakeActiveValue()
Builder setUseTwoOptValue(int value)
Builder clearUseCrossExchange()
com.google.ortools.util.OptionalBoolean getUsePathLns()
.lang.Override int getUseRelocateSubtripValue()
static final int USE_TWO_OPT_FIELD_NUMBER
.lang.Override int getUseCpValue()
.lang.Override int getUseLinKernighanValue()
.lang.Override Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Builder clearUseGlobalCheapestInsertionExpensiveChainLns()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver getMixedIntegerSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
.lang.Override int getUseExchangeSubtripValue()
Builder setContinuousSchedulingSolverValue(int value)
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
.lang.Override int getUseLightRelocatePairValue()
int getUseTspLnsValue()
static final int LNS_TIME_LIMIT_FIELD_NUMBER
final int getNumber()
Builder clearSavingsAddReverseArcs()
static Builder newBuilder()
Builder setUseExchangeValue(int value)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getDefaultInstanceForType()
Builder setUseExchangeSubtripValue(int value)
com.google.ortools.util.OptionalBoolean getUseMakeInactive()
.lang.Override boolean equals(final java.lang.Object obj)
.lang.Override int getUseGlobalCheapestInsertionPathLnsValue()
.lang.Override com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionCloseNodesLns()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters getDefaultInstanceForType()
com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionPathLns()
Builder setUseTspLnsValue(int value)
static final int USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER
.lang.Deprecated static Value valueOf(int value)
UNSET
com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters getImprovementLimitParameters()
boolean hasLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder()
Builder clearUseMakeChainInactive()
.lang.Override Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
com.google.ortools.util.OptionalBoolean getUseInactiveLns()
Builder clearCheapestInsertionFarthestSeedsRatio()
Builder setUseCpValue(int value)
com.google.protobuf.ByteString getLogTagBytes()
.lang.Override int getNumberOfSolutionsToCollect()
.lang.Override int getMixedIntegerSchedulingSolverValue()
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
Definition: Domain.java:9
.lang.Override com.google.ortools.util.OptionalBoolean getUseMakeChainInactive()
Builder setUseLinKernighanValue(int value)
Builder mergeLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators value)
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
static final int MULTI_ARMED_BANDIT_COMPOUND_OPERATOR_EXPLORATION_COEFFICIENT_FIELD_NUMBER
.lang.Override com.google.ortools.util.OptionalBoolean getUseSwapActive()
.lang.Override Builder clear()
int getUseGlobalCheapestInsertionPathLnsValue()
Builder clearUseUnfilteredFirstSolutionStrategy()
UNRECOGNIZED
static final int USE_CROSS_EXCHANGE_FIELD_NUMBER
.lang.Override int getFirstSolutionStrategyValue()
.lang.Override double getSavingsNeighborsRatio()
UNRECOGNIZED
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder getLocalSearchOperatorsOrBuilder()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
int getUseCrossExchangeValue()
.lang.Override int getUsePathLnsValue()
.lang.Override int getNumberOfSolutionsToCollect()
.lang.Override final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override com.google.ortools.util.OptionalBoolean getUseExchangeSubtrip()
Builder setUseRelocatePathGlobalCheapestInsertionInsertUnperformed(com.google.ortools.util.OptionalBoolean value)
.lang.Override com.google.ortools.util.OptionalBoolean getUseInactiveLns()
int getUseLocalCheapestInsertionExpensiveChainLnsValue()
.lang.Override int getUseOrOptValue()
.lang.Override int getUseRelocateNeighborsValue()
.lang.Override int getUseTspOptValue()
Builder setUseRelocatePair(com.google.ortools.util.OptionalBoolean value)
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseDelimitedFrom(java.io.InputStream input)
.lang.Override long getSolutionLimit()
.lang.Override java.lang.Object newInstance(UnusedPrivateParameter unused)
Builder clearSolutionLimit()
Builder clearUseCp()
Builder clearNumberOfSolutionsToCollect()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getDefaultInstance()
static final int USE_RELOCATE_PAIR_FIELD_NUMBER
.lang.Override boolean hasTimeLimit()
static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters prototype)
static com.google.protobuf.Parser< LocalSearchNeighborhoodOperators > parser()
.lang.Override boolean getLogSearch()
com.google.ortools.util.OptionalBoolean getUseRelocatePathGlobalCheapestInsertionInsertUnperformed()
.lang.Override com.google.ortools.util.OptionalBoolean getUsePathLns()
.lang.Override com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionPathLns()
Builder setUseTspOptValue(int value)
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.ortools.util.OptionalBoolean getUseExchangePair()
.lang.Override int getRelocateExpensiveChainNumArcsToConsider()
Builder setUseExtendedSwapActiveValue(int value)
com.google.ortools.util.OptionalBoolean getUseTspOpt()
int getUseFullPathLnsValue()
.lang.Override int getUseExchangeValue()
static final int MIXED_INTEGER_SCHEDULING_SOLVER_FIELD_NUMBER
static final int LOG_SEARCH_FIELD_NUMBER
int getUseRelocateAndMakeActiveValue()
.lang.Deprecated static Value valueOf(int value)
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters getDefaultInstanceForType()
Builder setCheapestInsertionFarthestSeedsRatio(double value)
double getImprovementRateCoefficient()
.lang.Override com.google.ortools.util.OptionalBoolean getUseLinKernighan()
Builder setUseMakeInactive(com.google.ortools.util.OptionalBoolean value)
.lang.Override int getLocalSearchMetaheuristicValue()
.lang.Override double getSavingsArcCoefficient()
int getImprovementRateSolutionsDistance()
Builder clearMultiArmedBanditCompoundOperatorMemoryCoefficient()
.lang.Override double getLogCostOffset()
double log_cost_offset = 29;
static final int SAVINGS_MAX_MEMORY_USAGE_BYTES_FIELD_NUMBER
.lang.Override int hashCode()
.lang.Override com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionCloseNodesLns()
Builder mergeTimeLimit(com.google.protobuf.Duration value)
com.google.ortools.util.OptionalBoolean getUseCrossExchange()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.ByteString data)
com.google.ortools.util.OptionalBoolean getUseRelocateNeighbors()
.lang.Override com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionCloseNodesLns()
.lang.Override int getUseCpSatValue()
int getUseSwapActiveValue()
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final int USE_LOCAL_CHEAPEST_INSERTION_CLOSE_NODES_LNS_FIELD_NUMBER
com.google.ortools.util.OptionalBoolean getUseMakeChainInactive()
Builder clearUseDepthFirstSearch()
.lang.Override int getUseInactiveLnsValue()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver getContinuousSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
.lang.Override int getUseRelocatePairValue()
.lang.Override double getOptimizationStep()
.lang.Override Builder clone()
.lang.Override double getLogCostScalingFactor()
Builder setUseCrossExchangeValue(int value)
.lang.Override int getHeuristicExpensiveChainLnsNumArcsToConsider()
.lang.Override com.google.ortools.util.OptionalBoolean getUseExchangeSubtrip()
Builder setLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators value)
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
.lang.Override boolean getUseMultiArmedBanditConcatenateOperators()
.lang.Override double getMultiArmedBanditCompoundOperatorExplorationCoefficient()
static com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters parseFrom(java.io.InputStream input)
Builder clearUseLocalCheapestInsertionCloseNodesLns()
.lang.Override boolean hasLnsTimeLimit()
.lang.Override boolean getUseUnfilteredFirstSolutionStrategy()
Builder setUseCrossValue(int value)
.lang.Override int getUseRelocateAndMakeActiveValue()
static final int USE_EXCHANGE_FIELD_NUMBER
.lang.Override Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
.lang.Override Builder toBuilder()
com.google.ortools.util.OptionalBoolean getUseRelocatePair()
.lang.Override double getMultiArmedBanditCompoundOperatorExplorationCoefficient()
static final int HEURISTIC_EXPENSIVE_CHAIN_LNS_NUM_ARCS_TO_CONSIDER_FIELD_NUMBER
.lang.Override com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value getLocalSearchMetaheuristic()
static final int USE_RELOCATE_FIELD_NUMBER
.lang.Override Builder clone()
.lang.Override boolean getSavingsParallelRoutes()
Builder setUseExchangePairValue(int value)
int getUseTwoOptValue()
.lang.Override int getUseGlobalCheapestInsertionExpensiveChainLnsValue()
Builder setLogCostScalingFactor(double value)
Builder setUseNodePairSwapActiveValue(int value)
Builder clearSavingsMaxMemoryUsageBytes()
int getUseOrOptValue()
.lang.Override Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
.lang.Override com.google.ortools.util.OptionalBoolean getUseTspLns()
static final int USE_GLOBAL_CHEAPEST_INSERTION_PATH_LNS_FIELD_NUMBER
.lang.Override com.google.ortools.util.OptionalBoolean getUseExtendedSwapActive()