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_;
8049  @java.lang.Override
8051  return cheapestInsertionFirstSolutionNeighborsRatio_;
8052  }
8053 
8055  private double cheapestInsertionLsOperatorNeighborsRatio_;
8066  @java.lang.Override
8068  return cheapestInsertionLsOperatorNeighborsRatio_;
8069  }
8070 
8072  private boolean cheapestInsertionAddUnperformedEntries_;
8082  @java.lang.Override
8084  return cheapestInsertionAddUnperformedEntries_;
8085  }
8086 
8088  private boolean christofidesUseMinimumMatching_;
8098  @java.lang.Override
8100  return christofidesUseMinimumMatching_;
8101  }
8102 
8103  public static final int LOCAL_SEARCH_OPERATORS_FIELD_NUMBER = 3;
8109  @java.lang.Override
8110  public boolean hasLocalSearchOperators() {
8111  return localSearchOperators_ != null;
8112  }
8117  @java.lang.Override
8119  return localSearchOperators_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
8120  }
8124  @java.lang.Override
8126  return getLocalSearchOperators();
8127  }
8128 
8130  private boolean useMultiArmedBanditConcatenateOperators_;
8141  @java.lang.Override
8143  return useMultiArmedBanditConcatenateOperators_;
8144  }
8145 
8147  private double multiArmedBanditCompoundOperatorMemoryCoefficient_;
8159  @java.lang.Override
8161  return multiArmedBanditCompoundOperatorMemoryCoefficient_;
8162  }
8163 
8165  private double multiArmedBanditCompoundOperatorExplorationCoefficient_;
8176  @java.lang.Override
8178  return multiArmedBanditCompoundOperatorExplorationCoefficient_;
8179  }
8180 
8182  private int relocateExpensiveChainNumArcsToConsider_;
8197  @java.lang.Override
8199  return relocateExpensiveChainNumArcsToConsider_;
8200  }
8201 
8203  private int heuristicExpensiveChainLnsNumArcsToConsider_;
8213  @java.lang.Override
8215  return heuristicExpensiveChainLnsNumArcsToConsider_;
8216  }
8217 
8219  private int heuristicCloseNodesLnsNumNodes_;
8229  @java.lang.Override
8231  return heuristicCloseNodesLnsNumNodes_;
8232  }
8233 
8234  public static final int LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER = 4;
8235  private int localSearchMetaheuristic_;
8244  @java.lang.Override public int getLocalSearchMetaheuristicValue() {
8245  return localSearchMetaheuristic_;
8246  }
8256  @SuppressWarnings("deprecation")
8259  }
8260 
8262  private double guidedLocalSearchLambdaCoefficient_;
8274  @java.lang.Override
8276  return guidedLocalSearchLambdaCoefficient_;
8277  }
8278 
8279  public static final int USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER = 6;
8280  private boolean useDepthFirstSearch_;
8291  @java.lang.Override
8292  public boolean getUseDepthFirstSearch() {
8293  return useDepthFirstSearch_;
8294  }
8295 
8296  public static final int USE_CP_FIELD_NUMBER = 28;
8297  private int useCp_;
8308  @java.lang.Override public int getUseCpValue() {
8309  return useCp_;
8310  }
8321  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseCp() {
8322  @SuppressWarnings("deprecation")
8324  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
8325  }
8326 
8327  public static final int USE_CP_SAT_FIELD_NUMBER = 27;
8328  private int useCpSat_;
8340  @java.lang.Override public int getUseCpSatValue() {
8341  return useCpSat_;
8342  }
8354  @java.lang.Override public com.google.ortools.util.OptionalBoolean getUseCpSat() {
8355  @SuppressWarnings("deprecation")
8357  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
8358  }
8359 
8360  public static final int CONTINUOUS_SCHEDULING_SOLVER_FIELD_NUMBER = 33;
8361  private int continuousSchedulingSolver_;
8366  @java.lang.Override public int getContinuousSchedulingSolverValue() {
8367  return continuousSchedulingSolver_;
8368  }
8374  @SuppressWarnings("deprecation")
8377  }
8378 
8379  public static final int MIXED_INTEGER_SCHEDULING_SOLVER_FIELD_NUMBER = 34;
8380  private int mixedIntegerSchedulingSolver_;
8385  @java.lang.Override public int getMixedIntegerSchedulingSolverValue() {
8386  return mixedIntegerSchedulingSolver_;
8387  }
8393  @SuppressWarnings("deprecation")
8396  }
8397 
8398  public static final int OPTIMIZATION_STEP_FIELD_NUMBER = 7;
8399  private double optimizationStep_;
8410  @java.lang.Override
8411  public double getOptimizationStep() {
8412  return optimizationStep_;
8413  }
8414 
8415  public static final int NUMBER_OF_SOLUTIONS_TO_COLLECT_FIELD_NUMBER = 17;
8416  private int numberOfSolutionsToCollect_;
8426  @java.lang.Override
8428  return numberOfSolutionsToCollect_;
8429  }
8430 
8431  public static final int SOLUTION_LIMIT_FIELD_NUMBER = 8;
8432  private long solutionLimit_;
8443  @java.lang.Override
8444  public long getSolutionLimit() {
8445  return solutionLimit_;
8446  }
8447 
8448  public static final int TIME_LIMIT_FIELD_NUMBER = 9;
8449  private com.google.protobuf.Duration timeLimit_;
8458  @java.lang.Override
8459  public boolean hasTimeLimit() {
8460  return timeLimit_ != null;
8461  }
8470  @java.lang.Override
8471  public com.google.protobuf.Duration getTimeLimit() {
8472  return timeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
8473  }
8481  @java.lang.Override
8482  public com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder() {
8483  return getTimeLimit();
8484  }
8485 
8486  public static final int LNS_TIME_LIMIT_FIELD_NUMBER = 10;
8487  private com.google.protobuf.Duration lnsTimeLimit_;
8497  @java.lang.Override
8498  public boolean hasLnsTimeLimit() {
8499  return lnsTimeLimit_ != null;
8500  }
8510  @java.lang.Override
8511  public com.google.protobuf.Duration getLnsTimeLimit() {
8512  return lnsTimeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
8513  }
8522  @java.lang.Override
8523  public com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder() {
8524  return getLnsTimeLimit();
8525  }
8526 
8527  public static final int IMPROVEMENT_LIMIT_PARAMETERS_FIELD_NUMBER = 37;
8538  @java.lang.Override
8540  return improvementLimitParameters_ != null;
8541  }
8551  @java.lang.Override
8553  return improvementLimitParameters_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance() : improvementLimitParameters_;
8554  }
8563  @java.lang.Override
8566  }
8567 
8568  public static final int USE_FULL_PROPAGATION_FIELD_NUMBER = 11;
8569  private boolean useFullPropagation_;
8586  @java.lang.Override
8587  public boolean getUseFullPropagation() {
8588  return useFullPropagation_;
8589  }
8590 
8591  public static final int LOG_SEARCH_FIELD_NUMBER = 13;
8592  private boolean logSearch_;
8612  @java.lang.Override
8613  public boolean getLogSearch() {
8614  return logSearch_;
8615  }
8616 
8617  public static final int LOG_COST_SCALING_FACTOR_FIELD_NUMBER = 22;
8618  private double logCostScalingFactor_;
8628  @java.lang.Override
8629  public double getLogCostScalingFactor() {
8630  return logCostScalingFactor_;
8631  }
8632 
8633  public static final int LOG_COST_OFFSET_FIELD_NUMBER = 29;
8634  private double logCostOffset_;
8639  @java.lang.Override
8640  public double getLogCostOffset() {
8641  return logCostOffset_;
8642  }
8643 
8644  public static final int LOG_TAG_FIELD_NUMBER = 36;
8645  private volatile java.lang.Object logTag_;
8655  @java.lang.Override
8656  public java.lang.String getLogTag() {
8657  java.lang.Object ref = logTag_;
8658  if (ref instanceof java.lang.String) {
8659  return (java.lang.String) ref;
8660  } else {
8661  com.google.protobuf.ByteString bs =
8662  (com.google.protobuf.ByteString) ref;
8663  java.lang.String s = bs.toStringUtf8();
8664  logTag_ = s;
8665  return s;
8666  }
8667  }
8677  @java.lang.Override
8678  public com.google.protobuf.ByteString
8680  java.lang.Object ref = logTag_;
8681  if (ref instanceof java.lang.String) {
8682  com.google.protobuf.ByteString b =
8683  com.google.protobuf.ByteString.copyFromUtf8(
8684  (java.lang.String) ref);
8685  logTag_ = b;
8686  return b;
8687  } else {
8688  return (com.google.protobuf.ByteString) ref;
8689  }
8690  }
8691 
8692  private byte memoizedIsInitialized = -1;
8693  @java.lang.Override
8694  public final boolean isInitialized() {
8695  byte isInitialized = memoizedIsInitialized;
8696  if (isInitialized == 1) return true;
8697  if (isInitialized == 0) return false;
8698 
8699  memoizedIsInitialized = 1;
8700  return true;
8701  }
8702 
8703  @java.lang.Override
8704  public void writeTo(com.google.protobuf.CodedOutputStream output)
8705  throws java.io.IOException {
8706  if (firstSolutionStrategy_ != com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNSET.getNumber()) {
8707  output.writeEnum(1, firstSolutionStrategy_);
8708  }
8709  if (useUnfilteredFirstSolutionStrategy_ != false) {
8710  output.writeBool(2, useUnfilteredFirstSolutionStrategy_);
8711  }
8712  if (localSearchOperators_ != null) {
8713  output.writeMessage(3, getLocalSearchOperators());
8714  }
8715  if (localSearchMetaheuristic_ != com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNSET.getNumber()) {
8716  output.writeEnum(4, localSearchMetaheuristic_);
8717  }
8718  if (guidedLocalSearchLambdaCoefficient_ != 0D) {
8719  output.writeDouble(5, guidedLocalSearchLambdaCoefficient_);
8720  }
8721  if (useDepthFirstSearch_ != false) {
8722  output.writeBool(6, useDepthFirstSearch_);
8723  }
8724  if (optimizationStep_ != 0D) {
8725  output.writeDouble(7, optimizationStep_);
8726  }
8727  if (solutionLimit_ != 0L) {
8728  output.writeInt64(8, solutionLimit_);
8729  }
8730  if (timeLimit_ != null) {
8731  output.writeMessage(9, getTimeLimit());
8732  }
8733  if (lnsTimeLimit_ != null) {
8734  output.writeMessage(10, getLnsTimeLimit());
8735  }
8736  if (useFullPropagation_ != false) {
8737  output.writeBool(11, useFullPropagation_);
8738  }
8739  if (logSearch_ != false) {
8740  output.writeBool(13, logSearch_);
8741  }
8742  if (savingsNeighborsRatio_ != 0D) {
8743  output.writeDouble(14, savingsNeighborsRatio_);
8744  }
8745  if (savingsAddReverseArcs_ != false) {
8746  output.writeBool(15, savingsAddReverseArcs_);
8747  }
8748  if (cheapestInsertionFarthestSeedsRatio_ != 0D) {
8749  output.writeDouble(16, cheapestInsertionFarthestSeedsRatio_);
8750  }
8751  if (numberOfSolutionsToCollect_ != 0) {
8752  output.writeInt32(17, numberOfSolutionsToCollect_);
8753  }
8754  if (savingsArcCoefficient_ != 0D) {
8755  output.writeDouble(18, savingsArcCoefficient_);
8756  }
8757  if (savingsParallelRoutes_ != false) {
8758  output.writeBool(19, savingsParallelRoutes_);
8759  }
8760  if (relocateExpensiveChainNumArcsToConsider_ != 0) {
8761  output.writeInt32(20, relocateExpensiveChainNumArcsToConsider_);
8762  }
8763  if (cheapestInsertionFirstSolutionNeighborsRatio_ != 0D) {
8764  output.writeDouble(21, cheapestInsertionFirstSolutionNeighborsRatio_);
8765  }
8766  if (logCostScalingFactor_ != 0D) {
8767  output.writeDouble(22, logCostScalingFactor_);
8768  }
8769  if (savingsMaxMemoryUsageBytes_ != 0D) {
8770  output.writeDouble(23, savingsMaxMemoryUsageBytes_);
8771  }
8772  if (useCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
8773  output.writeEnum(27, useCpSat_);
8774  }
8775  if (useCp_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
8776  output.writeEnum(28, useCp_);
8777  }
8778  if (logCostOffset_ != 0D) {
8779  output.writeDouble(29, logCostOffset_);
8780  }
8781  if (christofidesUseMinimumMatching_ != false) {
8782  output.writeBool(30, christofidesUseMinimumMatching_);
8783  }
8784  if (cheapestInsertionLsOperatorNeighborsRatio_ != 0D) {
8785  output.writeDouble(31, cheapestInsertionLsOperatorNeighborsRatio_);
8786  }
8787  if (heuristicExpensiveChainLnsNumArcsToConsider_ != 0) {
8788  output.writeInt32(32, heuristicExpensiveChainLnsNumArcsToConsider_);
8789  }
8790  if (continuousSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNSET.getNumber()) {
8791  output.writeEnum(33, continuousSchedulingSolver_);
8792  }
8793  if (mixedIntegerSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNSET.getNumber()) {
8794  output.writeEnum(34, mixedIntegerSchedulingSolver_);
8795  }
8796  if (heuristicCloseNodesLnsNumNodes_ != 0) {
8797  output.writeInt32(35, heuristicCloseNodesLnsNumNodes_);
8798  }
8799  if (!getLogTagBytes().isEmpty()) {
8800  com.google.protobuf.GeneratedMessageV3.writeString(output, 36, logTag_);
8801  }
8802  if (improvementLimitParameters_ != null) {
8803  output.writeMessage(37, getImprovementLimitParameters());
8804  }
8805  if (cheapestInsertionAddUnperformedEntries_ != false) {
8806  output.writeBool(40, cheapestInsertionAddUnperformedEntries_);
8807  }
8808  if (useMultiArmedBanditConcatenateOperators_ != false) {
8809  output.writeBool(41, useMultiArmedBanditConcatenateOperators_);
8810  }
8811  if (multiArmedBanditCompoundOperatorMemoryCoefficient_ != 0D) {
8812  output.writeDouble(42, multiArmedBanditCompoundOperatorMemoryCoefficient_);
8813  }
8814  if (multiArmedBanditCompoundOperatorExplorationCoefficient_ != 0D) {
8815  output.writeDouble(43, multiArmedBanditCompoundOperatorExplorationCoefficient_);
8816  }
8817  unknownFields.writeTo(output);
8818  }
8819 
8820  @java.lang.Override
8821  public int getSerializedSize() {
8822  int size = memoizedSize;
8823  if (size != -1) return size;
8824 
8825  size = 0;
8826  if (firstSolutionStrategy_ != com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNSET.getNumber()) {
8827  size += com.google.protobuf.CodedOutputStream
8828  .computeEnumSize(1, firstSolutionStrategy_);
8829  }
8830  if (useUnfilteredFirstSolutionStrategy_ != false) {
8831  size += com.google.protobuf.CodedOutputStream
8832  .computeBoolSize(2, useUnfilteredFirstSolutionStrategy_);
8833  }
8834  if (localSearchOperators_ != null) {
8835  size += com.google.protobuf.CodedOutputStream
8836  .computeMessageSize(3, getLocalSearchOperators());
8837  }
8838  if (localSearchMetaheuristic_ != com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNSET.getNumber()) {
8839  size += com.google.protobuf.CodedOutputStream
8840  .computeEnumSize(4, localSearchMetaheuristic_);
8841  }
8842  if (guidedLocalSearchLambdaCoefficient_ != 0D) {
8843  size += com.google.protobuf.CodedOutputStream
8844  .computeDoubleSize(5, guidedLocalSearchLambdaCoefficient_);
8845  }
8846  if (useDepthFirstSearch_ != false) {
8847  size += com.google.protobuf.CodedOutputStream
8848  .computeBoolSize(6, useDepthFirstSearch_);
8849  }
8850  if (optimizationStep_ != 0D) {
8851  size += com.google.protobuf.CodedOutputStream
8852  .computeDoubleSize(7, optimizationStep_);
8853  }
8854  if (solutionLimit_ != 0L) {
8855  size += com.google.protobuf.CodedOutputStream
8856  .computeInt64Size(8, solutionLimit_);
8857  }
8858  if (timeLimit_ != null) {
8859  size += com.google.protobuf.CodedOutputStream
8860  .computeMessageSize(9, getTimeLimit());
8861  }
8862  if (lnsTimeLimit_ != null) {
8863  size += com.google.protobuf.CodedOutputStream
8864  .computeMessageSize(10, getLnsTimeLimit());
8865  }
8866  if (useFullPropagation_ != false) {
8867  size += com.google.protobuf.CodedOutputStream
8868  .computeBoolSize(11, useFullPropagation_);
8869  }
8870  if (logSearch_ != false) {
8871  size += com.google.protobuf.CodedOutputStream
8872  .computeBoolSize(13, logSearch_);
8873  }
8874  if (savingsNeighborsRatio_ != 0D) {
8875  size += com.google.protobuf.CodedOutputStream
8876  .computeDoubleSize(14, savingsNeighborsRatio_);
8877  }
8878  if (savingsAddReverseArcs_ != false) {
8879  size += com.google.protobuf.CodedOutputStream
8880  .computeBoolSize(15, savingsAddReverseArcs_);
8881  }
8882  if (cheapestInsertionFarthestSeedsRatio_ != 0D) {
8883  size += com.google.protobuf.CodedOutputStream
8884  .computeDoubleSize(16, cheapestInsertionFarthestSeedsRatio_);
8885  }
8886  if (numberOfSolutionsToCollect_ != 0) {
8887  size += com.google.protobuf.CodedOutputStream
8888  .computeInt32Size(17, numberOfSolutionsToCollect_);
8889  }
8890  if (savingsArcCoefficient_ != 0D) {
8891  size += com.google.protobuf.CodedOutputStream
8892  .computeDoubleSize(18, savingsArcCoefficient_);
8893  }
8894  if (savingsParallelRoutes_ != false) {
8895  size += com.google.protobuf.CodedOutputStream
8896  .computeBoolSize(19, savingsParallelRoutes_);
8897  }
8898  if (relocateExpensiveChainNumArcsToConsider_ != 0) {
8899  size += com.google.protobuf.CodedOutputStream
8900  .computeInt32Size(20, relocateExpensiveChainNumArcsToConsider_);
8901  }
8902  if (cheapestInsertionFirstSolutionNeighborsRatio_ != 0D) {
8903  size += com.google.protobuf.CodedOutputStream
8904  .computeDoubleSize(21, cheapestInsertionFirstSolutionNeighborsRatio_);
8905  }
8906  if (logCostScalingFactor_ != 0D) {
8907  size += com.google.protobuf.CodedOutputStream
8908  .computeDoubleSize(22, logCostScalingFactor_);
8909  }
8910  if (savingsMaxMemoryUsageBytes_ != 0D) {
8911  size += com.google.protobuf.CodedOutputStream
8912  .computeDoubleSize(23, savingsMaxMemoryUsageBytes_);
8913  }
8914  if (useCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
8915  size += com.google.protobuf.CodedOutputStream
8916  .computeEnumSize(27, useCpSat_);
8917  }
8918  if (useCp_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
8919  size += com.google.protobuf.CodedOutputStream
8920  .computeEnumSize(28, useCp_);
8921  }
8922  if (logCostOffset_ != 0D) {
8923  size += com.google.protobuf.CodedOutputStream
8924  .computeDoubleSize(29, logCostOffset_);
8925  }
8926  if (christofidesUseMinimumMatching_ != false) {
8927  size += com.google.protobuf.CodedOutputStream
8928  .computeBoolSize(30, christofidesUseMinimumMatching_);
8929  }
8930  if (cheapestInsertionLsOperatorNeighborsRatio_ != 0D) {
8931  size += com.google.protobuf.CodedOutputStream
8932  .computeDoubleSize(31, cheapestInsertionLsOperatorNeighborsRatio_);
8933  }
8934  if (heuristicExpensiveChainLnsNumArcsToConsider_ != 0) {
8935  size += com.google.protobuf.CodedOutputStream
8936  .computeInt32Size(32, heuristicExpensiveChainLnsNumArcsToConsider_);
8937  }
8938  if (continuousSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNSET.getNumber()) {
8939  size += com.google.protobuf.CodedOutputStream
8940  .computeEnumSize(33, continuousSchedulingSolver_);
8941  }
8942  if (mixedIntegerSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNSET.getNumber()) {
8943  size += com.google.protobuf.CodedOutputStream
8944  .computeEnumSize(34, mixedIntegerSchedulingSolver_);
8945  }
8946  if (heuristicCloseNodesLnsNumNodes_ != 0) {
8947  size += com.google.protobuf.CodedOutputStream
8948  .computeInt32Size(35, heuristicCloseNodesLnsNumNodes_);
8949  }
8950  if (!getLogTagBytes().isEmpty()) {
8951  size += com.google.protobuf.GeneratedMessageV3.computeStringSize(36, logTag_);
8952  }
8953  if (improvementLimitParameters_ != null) {
8954  size += com.google.protobuf.CodedOutputStream
8955  .computeMessageSize(37, getImprovementLimitParameters());
8956  }
8957  if (cheapestInsertionAddUnperformedEntries_ != false) {
8958  size += com.google.protobuf.CodedOutputStream
8959  .computeBoolSize(40, cheapestInsertionAddUnperformedEntries_);
8960  }
8961  if (useMultiArmedBanditConcatenateOperators_ != false) {
8962  size += com.google.protobuf.CodedOutputStream
8963  .computeBoolSize(41, useMultiArmedBanditConcatenateOperators_);
8964  }
8965  if (multiArmedBanditCompoundOperatorMemoryCoefficient_ != 0D) {
8966  size += com.google.protobuf.CodedOutputStream
8967  .computeDoubleSize(42, multiArmedBanditCompoundOperatorMemoryCoefficient_);
8968  }
8969  if (multiArmedBanditCompoundOperatorExplorationCoefficient_ != 0D) {
8970  size += com.google.protobuf.CodedOutputStream
8971  .computeDoubleSize(43, multiArmedBanditCompoundOperatorExplorationCoefficient_);
8972  }
8973  size += unknownFields.getSerializedSize();
8974  memoizedSize = size;
8975  return size;
8976  }
8977 
8978  @java.lang.Override
8979  public boolean equals(final java.lang.Object obj) {
8980  if (obj == this) {
8981  return true;
8982  }
8983  if (!(obj instanceof com.google.ortools.constraintsolver.RoutingSearchParameters)) {
8984  return super.equals(obj);
8985  }
8987 
8988  if (firstSolutionStrategy_ != other.firstSolutionStrategy_) return false;
8990  != other.getUseUnfilteredFirstSolutionStrategy()) return false;
8991  if (java.lang.Double.doubleToLongBits(getSavingsNeighborsRatio())
8992  != java.lang.Double.doubleToLongBits(
8993  other.getSavingsNeighborsRatio())) return false;
8994  if (java.lang.Double.doubleToLongBits(getSavingsMaxMemoryUsageBytes())
8995  != java.lang.Double.doubleToLongBits(
8996  other.getSavingsMaxMemoryUsageBytes())) return false;
8998  != other.getSavingsAddReverseArcs()) return false;
8999  if (java.lang.Double.doubleToLongBits(getSavingsArcCoefficient())
9000  != java.lang.Double.doubleToLongBits(
9001  other.getSavingsArcCoefficient())) return false;
9003  != other.getSavingsParallelRoutes()) return false;
9004  if (java.lang.Double.doubleToLongBits(getCheapestInsertionFarthestSeedsRatio())
9005  != java.lang.Double.doubleToLongBits(
9006  other.getCheapestInsertionFarthestSeedsRatio())) return false;
9007  if (java.lang.Double.doubleToLongBits(getCheapestInsertionFirstSolutionNeighborsRatio())
9008  != java.lang.Double.doubleToLongBits(
9009  other.getCheapestInsertionFirstSolutionNeighborsRatio())) return false;
9010  if (java.lang.Double.doubleToLongBits(getCheapestInsertionLsOperatorNeighborsRatio())
9011  != java.lang.Double.doubleToLongBits(
9012  other.getCheapestInsertionLsOperatorNeighborsRatio())) return false;
9014  != other.getCheapestInsertionAddUnperformedEntries()) return false;
9016  != other.getChristofidesUseMinimumMatching()) return false;
9017  if (hasLocalSearchOperators() != other.hasLocalSearchOperators()) return false;
9018  if (hasLocalSearchOperators()) {
9020  .equals(other.getLocalSearchOperators())) return false;
9021  }
9023  != other.getUseMultiArmedBanditConcatenateOperators()) return false;
9024  if (java.lang.Double.doubleToLongBits(getMultiArmedBanditCompoundOperatorMemoryCoefficient())
9025  != java.lang.Double.doubleToLongBits(
9026  other.getMultiArmedBanditCompoundOperatorMemoryCoefficient())) return false;
9027  if (java.lang.Double.doubleToLongBits(getMultiArmedBanditCompoundOperatorExplorationCoefficient())
9028  != java.lang.Double.doubleToLongBits(
9029  other.getMultiArmedBanditCompoundOperatorExplorationCoefficient())) return false;
9031  != other.getRelocateExpensiveChainNumArcsToConsider()) return false;
9033  != other.getHeuristicExpensiveChainLnsNumArcsToConsider()) return false;
9035  != other.getHeuristicCloseNodesLnsNumNodes()) return false;
9036  if (localSearchMetaheuristic_ != other.localSearchMetaheuristic_) return false;
9037  if (java.lang.Double.doubleToLongBits(getGuidedLocalSearchLambdaCoefficient())
9038  != java.lang.Double.doubleToLongBits(
9039  other.getGuidedLocalSearchLambdaCoefficient())) return false;
9041  != other.getUseDepthFirstSearch()) return false;
9042  if (useCp_ != other.useCp_) return false;
9043  if (useCpSat_ != other.useCpSat_) return false;
9044  if (continuousSchedulingSolver_ != other.continuousSchedulingSolver_) return false;
9045  if (mixedIntegerSchedulingSolver_ != other.mixedIntegerSchedulingSolver_) return false;
9046  if (java.lang.Double.doubleToLongBits(getOptimizationStep())
9047  != java.lang.Double.doubleToLongBits(
9048  other.getOptimizationStep())) return false;
9050  != other.getNumberOfSolutionsToCollect()) return false;
9051  if (getSolutionLimit()
9052  != other.getSolutionLimit()) return false;
9053  if (hasTimeLimit() != other.hasTimeLimit()) return false;
9054  if (hasTimeLimit()) {
9055  if (!getTimeLimit()
9056  .equals(other.getTimeLimit())) return false;
9057  }
9058  if (hasLnsTimeLimit() != other.hasLnsTimeLimit()) return false;
9059  if (hasLnsTimeLimit()) {
9060  if (!getLnsTimeLimit()
9061  .equals(other.getLnsTimeLimit())) return false;
9062  }
9063  if (hasImprovementLimitParameters() != other.hasImprovementLimitParameters()) return false;
9066  .equals(other.getImprovementLimitParameters())) return false;
9067  }
9068  if (getUseFullPropagation()
9069  != other.getUseFullPropagation()) return false;
9070  if (getLogSearch()
9071  != other.getLogSearch()) return false;
9072  if (java.lang.Double.doubleToLongBits(getLogCostScalingFactor())
9073  != java.lang.Double.doubleToLongBits(
9074  other.getLogCostScalingFactor())) return false;
9075  if (java.lang.Double.doubleToLongBits(getLogCostOffset())
9076  != java.lang.Double.doubleToLongBits(
9077  other.getLogCostOffset())) return false;
9078  if (!getLogTag()
9079  .equals(other.getLogTag())) return false;
9080  if (!unknownFields.equals(other.unknownFields)) return false;
9081  return true;
9082  }
9083 
9084  @java.lang.Override
9085  public int hashCode() {
9086  if (memoizedHashCode != 0) {
9087  return memoizedHashCode;
9088  }
9089  int hash = 41;
9090  hash = (19 * hash) + getDescriptor().hashCode();
9091  hash = (37 * hash) + FIRST_SOLUTION_STRATEGY_FIELD_NUMBER;
9092  hash = (53 * hash) + firstSolutionStrategy_;
9094  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9096  hash = (37 * hash) + SAVINGS_NEIGHBORS_RATIO_FIELD_NUMBER;
9097  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9098  java.lang.Double.doubleToLongBits(getSavingsNeighborsRatio()));
9099  hash = (37 * hash) + SAVINGS_MAX_MEMORY_USAGE_BYTES_FIELD_NUMBER;
9100  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9101  java.lang.Double.doubleToLongBits(getSavingsMaxMemoryUsageBytes()));
9102  hash = (37 * hash) + SAVINGS_ADD_REVERSE_ARCS_FIELD_NUMBER;
9103  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9105  hash = (37 * hash) + SAVINGS_ARC_COEFFICIENT_FIELD_NUMBER;
9106  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9107  java.lang.Double.doubleToLongBits(getSavingsArcCoefficient()));
9108  hash = (37 * hash) + SAVINGS_PARALLEL_ROUTES_FIELD_NUMBER;
9109  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9112  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9113  java.lang.Double.doubleToLongBits(getCheapestInsertionFarthestSeedsRatio()));
9115  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9116  java.lang.Double.doubleToLongBits(getCheapestInsertionFirstSolutionNeighborsRatio()));
9118  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9119  java.lang.Double.doubleToLongBits(getCheapestInsertionLsOperatorNeighborsRatio()));
9121  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9124  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9126  if (hasLocalSearchOperators()) {
9127  hash = (37 * hash) + LOCAL_SEARCH_OPERATORS_FIELD_NUMBER;
9128  hash = (53 * hash) + getLocalSearchOperators().hashCode();
9129  }
9131  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9134  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9135  java.lang.Double.doubleToLongBits(getMultiArmedBanditCompoundOperatorMemoryCoefficient()));
9137  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9138  java.lang.Double.doubleToLongBits(getMultiArmedBanditCompoundOperatorExplorationCoefficient()));
9140  hash = (53 * hash) + getRelocateExpensiveChainNumArcsToConsider();
9142  hash = (53 * hash) + getHeuristicExpensiveChainLnsNumArcsToConsider();
9144  hash = (53 * hash) + getHeuristicCloseNodesLnsNumNodes();
9145  hash = (37 * hash) + LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER;
9146  hash = (53 * hash) + localSearchMetaheuristic_;
9148  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9149  java.lang.Double.doubleToLongBits(getGuidedLocalSearchLambdaCoefficient()));
9150  hash = (37 * hash) + USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER;
9151  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9153  hash = (37 * hash) + USE_CP_FIELD_NUMBER;
9154  hash = (53 * hash) + useCp_;
9155  hash = (37 * hash) + USE_CP_SAT_FIELD_NUMBER;
9156  hash = (53 * hash) + useCpSat_;
9157  hash = (37 * hash) + CONTINUOUS_SCHEDULING_SOLVER_FIELD_NUMBER;
9158  hash = (53 * hash) + continuousSchedulingSolver_;
9159  hash = (37 * hash) + MIXED_INTEGER_SCHEDULING_SOLVER_FIELD_NUMBER;
9160  hash = (53 * hash) + mixedIntegerSchedulingSolver_;
9161  hash = (37 * hash) + OPTIMIZATION_STEP_FIELD_NUMBER;
9162  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9163  java.lang.Double.doubleToLongBits(getOptimizationStep()));
9164  hash = (37 * hash) + NUMBER_OF_SOLUTIONS_TO_COLLECT_FIELD_NUMBER;
9165  hash = (53 * hash) + getNumberOfSolutionsToCollect();
9166  hash = (37 * hash) + SOLUTION_LIMIT_FIELD_NUMBER;
9167  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9168  getSolutionLimit());
9169  if (hasTimeLimit()) {
9170  hash = (37 * hash) + TIME_LIMIT_FIELD_NUMBER;
9171  hash = (53 * hash) + getTimeLimit().hashCode();
9172  }
9173  if (hasLnsTimeLimit()) {
9174  hash = (37 * hash) + LNS_TIME_LIMIT_FIELD_NUMBER;
9175  hash = (53 * hash) + getLnsTimeLimit().hashCode();
9176  }
9178  hash = (37 * hash) + IMPROVEMENT_LIMIT_PARAMETERS_FIELD_NUMBER;
9179  hash = (53 * hash) + getImprovementLimitParameters().hashCode();
9180  }
9181  hash = (37 * hash) + USE_FULL_PROPAGATION_FIELD_NUMBER;
9182  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9184  hash = (37 * hash) + LOG_SEARCH_FIELD_NUMBER;
9185  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
9186  getLogSearch());
9187  hash = (37 * hash) + LOG_COST_SCALING_FACTOR_FIELD_NUMBER;
9188  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9189  java.lang.Double.doubleToLongBits(getLogCostScalingFactor()));
9190  hash = (37 * hash) + LOG_COST_OFFSET_FIELD_NUMBER;
9191  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
9192  java.lang.Double.doubleToLongBits(getLogCostOffset()));
9193  hash = (37 * hash) + LOG_TAG_FIELD_NUMBER;
9194  hash = (53 * hash) + getLogTag().hashCode();
9195  hash = (29 * hash) + unknownFields.hashCode();
9196  memoizedHashCode = hash;
9197  return hash;
9198  }
9199 
9201  java.nio.ByteBuffer data)
9202  throws com.google.protobuf.InvalidProtocolBufferException {
9203  return PARSER.parseFrom(data);
9204  }
9206  java.nio.ByteBuffer data,
9207  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9208  throws com.google.protobuf.InvalidProtocolBufferException {
9209  return PARSER.parseFrom(data, extensionRegistry);
9210  }
9212  com.google.protobuf.ByteString data)
9213  throws com.google.protobuf.InvalidProtocolBufferException {
9214  return PARSER.parseFrom(data);
9215  }
9217  com.google.protobuf.ByteString data,
9218  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9219  throws com.google.protobuf.InvalidProtocolBufferException {
9220  return PARSER.parseFrom(data, extensionRegistry);
9221  }
9223  throws com.google.protobuf.InvalidProtocolBufferException {
9224  return PARSER.parseFrom(data);
9225  }
9227  byte[] data,
9228  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9229  throws com.google.protobuf.InvalidProtocolBufferException {
9230  return PARSER.parseFrom(data, extensionRegistry);
9231  }
9232  public static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.io.InputStream input)
9233  throws java.io.IOException {
9234  return com.google.protobuf.GeneratedMessageV3
9235  .parseWithIOException(PARSER, input);
9236  }
9238  java.io.InputStream input,
9239  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9240  throws java.io.IOException {
9241  return com.google.protobuf.GeneratedMessageV3
9242  .parseWithIOException(PARSER, input, extensionRegistry);
9243  }
9245  throws java.io.IOException {
9246  return com.google.protobuf.GeneratedMessageV3
9247  .parseDelimitedWithIOException(PARSER, input);
9248  }
9250  java.io.InputStream input,
9251  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9252  throws java.io.IOException {
9253  return com.google.protobuf.GeneratedMessageV3
9254  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
9255  }
9257  com.google.protobuf.CodedInputStream input)
9258  throws java.io.IOException {
9259  return com.google.protobuf.GeneratedMessageV3
9260  .parseWithIOException(PARSER, input);
9261  }
9263  com.google.protobuf.CodedInputStream input,
9264  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9265  throws java.io.IOException {
9266  return com.google.protobuf.GeneratedMessageV3
9267  .parseWithIOException(PARSER, input, extensionRegistry);
9268  }
9269 
9270  @java.lang.Override
9271  public Builder newBuilderForType() { return newBuilder(); }
9272  public static Builder newBuilder() {
9273  return DEFAULT_INSTANCE.toBuilder();
9274  }
9276  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
9277  }
9278  @java.lang.Override
9279  public Builder toBuilder() {
9280  return this == DEFAULT_INSTANCE
9281  ? new Builder() : new Builder().mergeFrom(this);
9282  }
9283 
9284  @java.lang.Override
9286  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
9287  Builder builder = new Builder(parent);
9288  return builder;
9289  }
9302  public static final class Builder extends
9303  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
9304  // @@protoc_insertion_point(builder_implements:operations_research.RoutingSearchParameters)
9305  com.google.ortools.constraintsolver.RoutingSearchParametersOrBuilder {
9306  public static final com.google.protobuf.Descriptors.Descriptor
9308  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
9309  }
9310 
9311  @java.lang.Override
9312  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
9314  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_fieldAccessorTable
9315  .ensureFieldAccessorsInitialized(
9317  }
9318 
9319  // Construct using com.google.ortools.constraintsolver.RoutingSearchParameters.newBuilder()
9320  private Builder() {
9321  maybeForceBuilderInitialization();
9322  }
9323 
9324  private Builder(
9325  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
9326  super(parent);
9327  maybeForceBuilderInitialization();
9328  }
9329  private void maybeForceBuilderInitialization() {
9330  if (com.google.protobuf.GeneratedMessageV3
9331  .alwaysUseFieldBuilders) {
9332  }
9333  }
9334  @java.lang.Override
9335  public Builder clear() {
9336  super.clear();
9337  firstSolutionStrategy_ = 0;
9338 
9339  useUnfilteredFirstSolutionStrategy_ = false;
9340 
9341  savingsNeighborsRatio_ = 0D;
9342 
9343  savingsMaxMemoryUsageBytes_ = 0D;
9344 
9345  savingsAddReverseArcs_ = false;
9346 
9347  savingsArcCoefficient_ = 0D;
9348 
9349  savingsParallelRoutes_ = false;
9350 
9351  cheapestInsertionFarthestSeedsRatio_ = 0D;
9352 
9353  cheapestInsertionFirstSolutionNeighborsRatio_ = 0D;
9354 
9355  cheapestInsertionLsOperatorNeighborsRatio_ = 0D;
9356 
9357  cheapestInsertionAddUnperformedEntries_ = false;
9358 
9359  christofidesUseMinimumMatching_ = false;
9360 
9361  if (localSearchOperatorsBuilder_ == null) {
9362  localSearchOperators_ = null;
9363  } else {
9364  localSearchOperators_ = null;
9365  localSearchOperatorsBuilder_ = null;
9366  }
9367  useMultiArmedBanditConcatenateOperators_ = false;
9368 
9369  multiArmedBanditCompoundOperatorMemoryCoefficient_ = 0D;
9370 
9371  multiArmedBanditCompoundOperatorExplorationCoefficient_ = 0D;
9372 
9373  relocateExpensiveChainNumArcsToConsider_ = 0;
9374 
9375  heuristicExpensiveChainLnsNumArcsToConsider_ = 0;
9376 
9377  heuristicCloseNodesLnsNumNodes_ = 0;
9378 
9379  localSearchMetaheuristic_ = 0;
9380 
9381  guidedLocalSearchLambdaCoefficient_ = 0D;
9382 
9383  useDepthFirstSearch_ = false;
9384 
9385  useCp_ = 0;
9386 
9387  useCpSat_ = 0;
9388 
9389  continuousSchedulingSolver_ = 0;
9390 
9391  mixedIntegerSchedulingSolver_ = 0;
9392 
9393  optimizationStep_ = 0D;
9394 
9395  numberOfSolutionsToCollect_ = 0;
9396 
9397  solutionLimit_ = 0L;
9398 
9399  if (timeLimitBuilder_ == null) {
9400  timeLimit_ = null;
9401  } else {
9402  timeLimit_ = null;
9403  timeLimitBuilder_ = null;
9404  }
9405  if (lnsTimeLimitBuilder_ == null) {
9406  lnsTimeLimit_ = null;
9407  } else {
9408  lnsTimeLimit_ = null;
9409  lnsTimeLimitBuilder_ = null;
9410  }
9411  if (improvementLimitParametersBuilder_ == null) {
9412  improvementLimitParameters_ = null;
9413  } else {
9414  improvementLimitParameters_ = null;
9415  improvementLimitParametersBuilder_ = null;
9416  }
9417  useFullPropagation_ = false;
9418 
9419  logSearch_ = false;
9420 
9421  logCostScalingFactor_ = 0D;
9422 
9423  logCostOffset_ = 0D;
9424 
9425  logTag_ = "";
9426 
9427  return this;
9428  }
9429 
9430  @java.lang.Override
9431  public com.google.protobuf.Descriptors.Descriptor
9433  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
9434  }
9435 
9436  @java.lang.Override
9439  }
9440 
9441  @java.lang.Override
9444  if (!result.isInitialized()) {
9445  throw newUninitializedMessageException(result);
9446  }
9447  return result;
9448  }
9449 
9450  @java.lang.Override
9453  result.firstSolutionStrategy_ = firstSolutionStrategy_;
9454  result.useUnfilteredFirstSolutionStrategy_ = useUnfilteredFirstSolutionStrategy_;
9455  result.savingsNeighborsRatio_ = savingsNeighborsRatio_;
9456  result.savingsMaxMemoryUsageBytes_ = savingsMaxMemoryUsageBytes_;
9457  result.savingsAddReverseArcs_ = savingsAddReverseArcs_;
9458  result.savingsArcCoefficient_ = savingsArcCoefficient_;
9459  result.savingsParallelRoutes_ = savingsParallelRoutes_;
9460  result.cheapestInsertionFarthestSeedsRatio_ = cheapestInsertionFarthestSeedsRatio_;
9461  result.cheapestInsertionFirstSolutionNeighborsRatio_ = cheapestInsertionFirstSolutionNeighborsRatio_;
9462  result.cheapestInsertionLsOperatorNeighborsRatio_ = cheapestInsertionLsOperatorNeighborsRatio_;
9463  result.cheapestInsertionAddUnperformedEntries_ = cheapestInsertionAddUnperformedEntries_;
9464  result.christofidesUseMinimumMatching_ = christofidesUseMinimumMatching_;
9465  if (localSearchOperatorsBuilder_ == null) {
9466  result.localSearchOperators_ = localSearchOperators_;
9467  } else {
9468  result.localSearchOperators_ = localSearchOperatorsBuilder_.build();
9469  }
9470  result.useMultiArmedBanditConcatenateOperators_ = useMultiArmedBanditConcatenateOperators_;
9471  result.multiArmedBanditCompoundOperatorMemoryCoefficient_ = multiArmedBanditCompoundOperatorMemoryCoefficient_;
9472  result.multiArmedBanditCompoundOperatorExplorationCoefficient_ = multiArmedBanditCompoundOperatorExplorationCoefficient_;
9473  result.relocateExpensiveChainNumArcsToConsider_ = relocateExpensiveChainNumArcsToConsider_;
9474  result.heuristicExpensiveChainLnsNumArcsToConsider_ = heuristicExpensiveChainLnsNumArcsToConsider_;
9475  result.heuristicCloseNodesLnsNumNodes_ = heuristicCloseNodesLnsNumNodes_;
9476  result.localSearchMetaheuristic_ = localSearchMetaheuristic_;
9477  result.guidedLocalSearchLambdaCoefficient_ = guidedLocalSearchLambdaCoefficient_;
9478  result.useDepthFirstSearch_ = useDepthFirstSearch_;
9479  result.useCp_ = useCp_;
9480  result.useCpSat_ = useCpSat_;
9481  result.continuousSchedulingSolver_ = continuousSchedulingSolver_;
9482  result.mixedIntegerSchedulingSolver_ = mixedIntegerSchedulingSolver_;
9483  result.optimizationStep_ = optimizationStep_;
9484  result.numberOfSolutionsToCollect_ = numberOfSolutionsToCollect_;
9485  result.solutionLimit_ = solutionLimit_;
9486  if (timeLimitBuilder_ == null) {
9487  result.timeLimit_ = timeLimit_;
9488  } else {
9489  result.timeLimit_ = timeLimitBuilder_.build();
9490  }
9491  if (lnsTimeLimitBuilder_ == null) {
9492  result.lnsTimeLimit_ = lnsTimeLimit_;
9493  } else {
9494  result.lnsTimeLimit_ = lnsTimeLimitBuilder_.build();
9495  }
9496  if (improvementLimitParametersBuilder_ == null) {
9497  result.improvementLimitParameters_ = improvementLimitParameters_;
9498  } else {
9499  result.improvementLimitParameters_ = improvementLimitParametersBuilder_.build();
9500  }
9501  result.useFullPropagation_ = useFullPropagation_;
9502  result.logSearch_ = logSearch_;
9503  result.logCostScalingFactor_ = logCostScalingFactor_;
9504  result.logCostOffset_ = logCostOffset_;
9505  result.logTag_ = logTag_;
9506  onBuilt();
9507  return result;
9508  }
9509 
9510  @java.lang.Override
9511  public Builder clone() {
9512  return super.clone();
9513  }
9514  @java.lang.Override
9516  com.google.protobuf.Descriptors.FieldDescriptor field,
9517  java.lang.Object value) {
9518  return super.setField(field, value);
9519  }
9520  @java.lang.Override
9522  com.google.protobuf.Descriptors.FieldDescriptor field) {
9523  return super.clearField(field);
9524  }
9525  @java.lang.Override
9527  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
9528  return super.clearOneof(oneof);
9529  }
9530  @java.lang.Override
9532  com.google.protobuf.Descriptors.FieldDescriptor field,
9533  int index, java.lang.Object value) {
9534  return super.setRepeatedField(field, index, value);
9535  }
9536  @java.lang.Override
9538  com.google.protobuf.Descriptors.FieldDescriptor field,
9539  java.lang.Object value) {
9540  return super.addRepeatedField(field, value);
9541  }
9542  @java.lang.Override
9543  public Builder mergeFrom(com.google.protobuf.Message other) {
9546  } else {
9547  super.mergeFrom(other);
9548  return this;
9549  }
9550  }
9551 
9554  if (other.firstSolutionStrategy_ != 0) {
9555  setFirstSolutionStrategyValue(other.getFirstSolutionStrategyValue());
9556  }
9557  if (other.getUseUnfilteredFirstSolutionStrategy() != false) {
9558  setUseUnfilteredFirstSolutionStrategy(other.getUseUnfilteredFirstSolutionStrategy());
9559  }
9560  if (other.getSavingsNeighborsRatio() != 0D) {
9561  setSavingsNeighborsRatio(other.getSavingsNeighborsRatio());
9562  }
9563  if (other.getSavingsMaxMemoryUsageBytes() != 0D) {
9564  setSavingsMaxMemoryUsageBytes(other.getSavingsMaxMemoryUsageBytes());
9565  }
9566  if (other.getSavingsAddReverseArcs() != false) {
9567  setSavingsAddReverseArcs(other.getSavingsAddReverseArcs());
9568  }
9569  if (other.getSavingsArcCoefficient() != 0D) {
9570  setSavingsArcCoefficient(other.getSavingsArcCoefficient());
9571  }
9572  if (other.getSavingsParallelRoutes() != false) {
9573  setSavingsParallelRoutes(other.getSavingsParallelRoutes());
9574  }
9575  if (other.getCheapestInsertionFarthestSeedsRatio() != 0D) {
9576  setCheapestInsertionFarthestSeedsRatio(other.getCheapestInsertionFarthestSeedsRatio());
9577  }
9578  if (other.getCheapestInsertionFirstSolutionNeighborsRatio() != 0D) {
9579  setCheapestInsertionFirstSolutionNeighborsRatio(other.getCheapestInsertionFirstSolutionNeighborsRatio());
9580  }
9581  if (other.getCheapestInsertionLsOperatorNeighborsRatio() != 0D) {
9582  setCheapestInsertionLsOperatorNeighborsRatio(other.getCheapestInsertionLsOperatorNeighborsRatio());
9583  }
9584  if (other.getCheapestInsertionAddUnperformedEntries() != false) {
9585  setCheapestInsertionAddUnperformedEntries(other.getCheapestInsertionAddUnperformedEntries());
9586  }
9587  if (other.getChristofidesUseMinimumMatching() != false) {
9588  setChristofidesUseMinimumMatching(other.getChristofidesUseMinimumMatching());
9589  }
9590  if (other.hasLocalSearchOperators()) {
9591  mergeLocalSearchOperators(other.getLocalSearchOperators());
9592  }
9593  if (other.getUseMultiArmedBanditConcatenateOperators() != false) {
9594  setUseMultiArmedBanditConcatenateOperators(other.getUseMultiArmedBanditConcatenateOperators());
9595  }
9596  if (other.getMultiArmedBanditCompoundOperatorMemoryCoefficient() != 0D) {
9597  setMultiArmedBanditCompoundOperatorMemoryCoefficient(other.getMultiArmedBanditCompoundOperatorMemoryCoefficient());
9598  }
9599  if (other.getMultiArmedBanditCompoundOperatorExplorationCoefficient() != 0D) {
9600  setMultiArmedBanditCompoundOperatorExplorationCoefficient(other.getMultiArmedBanditCompoundOperatorExplorationCoefficient());
9601  }
9602  if (other.getRelocateExpensiveChainNumArcsToConsider() != 0) {
9603  setRelocateExpensiveChainNumArcsToConsider(other.getRelocateExpensiveChainNumArcsToConsider());
9604  }
9605  if (other.getHeuristicExpensiveChainLnsNumArcsToConsider() != 0) {
9606  setHeuristicExpensiveChainLnsNumArcsToConsider(other.getHeuristicExpensiveChainLnsNumArcsToConsider());
9607  }
9608  if (other.getHeuristicCloseNodesLnsNumNodes() != 0) {
9609  setHeuristicCloseNodesLnsNumNodes(other.getHeuristicCloseNodesLnsNumNodes());
9610  }
9611  if (other.localSearchMetaheuristic_ != 0) {
9612  setLocalSearchMetaheuristicValue(other.getLocalSearchMetaheuristicValue());
9613  }
9614  if (other.getGuidedLocalSearchLambdaCoefficient() != 0D) {
9615  setGuidedLocalSearchLambdaCoefficient(other.getGuidedLocalSearchLambdaCoefficient());
9616  }
9617  if (other.getUseDepthFirstSearch() != false) {
9618  setUseDepthFirstSearch(other.getUseDepthFirstSearch());
9619  }
9620  if (other.useCp_ != 0) {
9621  setUseCpValue(other.getUseCpValue());
9622  }
9623  if (other.useCpSat_ != 0) {
9624  setUseCpSatValue(other.getUseCpSatValue());
9625  }
9626  if (other.continuousSchedulingSolver_ != 0) {
9627  setContinuousSchedulingSolverValue(other.getContinuousSchedulingSolverValue());
9628  }
9629  if (other.mixedIntegerSchedulingSolver_ != 0) {
9630  setMixedIntegerSchedulingSolverValue(other.getMixedIntegerSchedulingSolverValue());
9631  }
9632  if (other.getOptimizationStep() != 0D) {
9633  setOptimizationStep(other.getOptimizationStep());
9634  }
9635  if (other.getNumberOfSolutionsToCollect() != 0) {
9636  setNumberOfSolutionsToCollect(other.getNumberOfSolutionsToCollect());
9637  }
9638  if (other.getSolutionLimit() != 0L) {
9639  setSolutionLimit(other.getSolutionLimit());
9640  }
9641  if (other.hasTimeLimit()) {
9642  mergeTimeLimit(other.getTimeLimit());
9643  }
9644  if (other.hasLnsTimeLimit()) {
9645  mergeLnsTimeLimit(other.getLnsTimeLimit());
9646  }
9647  if (other.hasImprovementLimitParameters()) {
9648  mergeImprovementLimitParameters(other.getImprovementLimitParameters());
9649  }
9650  if (other.getUseFullPropagation() != false) {
9651  setUseFullPropagation(other.getUseFullPropagation());
9652  }
9653  if (other.getLogSearch() != false) {
9654  setLogSearch(other.getLogSearch());
9655  }
9656  if (other.getLogCostScalingFactor() != 0D) {
9657  setLogCostScalingFactor(other.getLogCostScalingFactor());
9658  }
9659  if (other.getLogCostOffset() != 0D) {
9660  setLogCostOffset(other.getLogCostOffset());
9661  }
9662  if (!other.getLogTag().isEmpty()) {
9663  logTag_ = other.logTag_;
9664  onChanged();
9665  }
9666  this.mergeUnknownFields(other.unknownFields);
9667  onChanged();
9668  return this;
9669  }
9670 
9671  @java.lang.Override
9672  public final boolean isInitialized() {
9673  return true;
9674  }
9675 
9676  @java.lang.Override
9678  com.google.protobuf.CodedInputStream input,
9679  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9680  throws java.io.IOException {
9682  try {
9683  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
9684  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
9685  parsedMessage = (com.google.ortools.constraintsolver.RoutingSearchParameters) e.getUnfinishedMessage();
9686  throw e.unwrapIOException();
9687  } finally {
9688  if (parsedMessage != null) {
9689  mergeFrom(parsedMessage);
9690  }
9691  }
9692  return this;
9693  }
9694 
9695  private int firstSolutionStrategy_ = 0;
9704  @java.lang.Override public int getFirstSolutionStrategyValue() {
9705  return firstSolutionStrategy_;
9706  }
9717 
9718  firstSolutionStrategy_ = value;
9719  onChanged();
9720  return this;
9721  }
9730  @java.lang.Override
9732  @SuppressWarnings("deprecation")
9734  return result == null ? com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNRECOGNIZED : result;
9735  }
9746  if (value == null) {
9747  throw new NullPointerException();
9748  }
9749 
9750  firstSolutionStrategy_ = value.getNumber();
9751  onChanged();
9752  return this;
9753  }
9763 
9764  firstSolutionStrategy_ = 0;
9765  onChanged();
9766  return this;
9767  }
9768 
9769  private boolean useUnfilteredFirstSolutionStrategy_ ;
9780  @java.lang.Override
9782  return useUnfilteredFirstSolutionStrategy_;
9783  }
9796 
9797  useUnfilteredFirstSolutionStrategy_ = value;
9798  onChanged();
9799  return this;
9800  }
9812 
9813  useUnfilteredFirstSolutionStrategy_ = false;
9814  onChanged();
9815  return this;
9816  }
9817 
9818  private double savingsNeighborsRatio_ ;
9829  @java.lang.Override
9830  public double getSavingsNeighborsRatio() {
9831  return savingsNeighborsRatio_;
9832  }
9844  public Builder setSavingsNeighborsRatio(double value) {
9845 
9846  savingsNeighborsRatio_ = value;
9847  onChanged();
9848  return this;
9849  }
9861 
9862  savingsNeighborsRatio_ = 0D;
9863  onChanged();
9864  return this;
9865  }
9866 
9867  private double savingsMaxMemoryUsageBytes_ ;
9881  @java.lang.Override
9883  return savingsMaxMemoryUsageBytes_;
9884  }
9900 
9901  savingsMaxMemoryUsageBytes_ = value;
9902  onChanged();
9903  return this;
9904  }
9919 
9920  savingsMaxMemoryUsageBytes_ = 0D;
9921  onChanged();
9922  return this;
9923  }
9924 
9925  private boolean savingsAddReverseArcs_ ;
9935  @java.lang.Override
9936  public boolean getSavingsAddReverseArcs() {
9937  return savingsAddReverseArcs_;
9938  }
9949  public Builder setSavingsAddReverseArcs(boolean value) {
9950 
9951  savingsAddReverseArcs_ = value;
9952  onChanged();
9953  return this;
9954  }
9965 
9966  savingsAddReverseArcs_ = false;
9967  onChanged();
9968  return this;
9969  }
9970 
9971  private double savingsArcCoefficient_ ;
9984  @java.lang.Override
9985  public double getSavingsArcCoefficient() {
9986  return savingsArcCoefficient_;
9987  }
10001  public Builder setSavingsArcCoefficient(double value) {
10002 
10003  savingsArcCoefficient_ = value;
10004  onChanged();
10005  return this;
10006  }
10020 
10021  savingsArcCoefficient_ = 0D;
10022  onChanged();
10023  return this;
10024  }
10025 
10026  private boolean savingsParallelRoutes_ ;
10035  @java.lang.Override
10036  public boolean getSavingsParallelRoutes() {
10037  return savingsParallelRoutes_;
10038  }
10048  public Builder setSavingsParallelRoutes(boolean value) {
10049 
10050  savingsParallelRoutes_ = value;
10051  onChanged();
10052  return this;
10053  }
10063 
10064  savingsParallelRoutes_ = false;
10065  onChanged();
10066  return this;
10067  }
10068 
10069  private double cheapestInsertionFarthestSeedsRatio_ ;
10080  @java.lang.Override
10082  return cheapestInsertionFarthestSeedsRatio_;
10083  }
10096 
10097  cheapestInsertionFarthestSeedsRatio_ = value;
10098  onChanged();
10099  return this;
10100  }
10112 
10113  cheapestInsertionFarthestSeedsRatio_ = 0D;
10114  onChanged();
10115  return this;
10116  }
10117 
10118  private double cheapestInsertionFirstSolutionNeighborsRatio_ ;
10132  @java.lang.Override
10134  return cheapestInsertionFirstSolutionNeighborsRatio_;
10135  }
10151 
10152  cheapestInsertionFirstSolutionNeighborsRatio_ = value;
10153  onChanged();
10154  return this;
10155  }
10170 
10171  cheapestInsertionFirstSolutionNeighborsRatio_ = 0D;
10172  onChanged();
10173  return this;
10174  }
10175 
10176  private double cheapestInsertionLsOperatorNeighborsRatio_ ;
10187  @java.lang.Override
10189  return cheapestInsertionLsOperatorNeighborsRatio_;
10190  }
10203 
10204  cheapestInsertionLsOperatorNeighborsRatio_ = value;
10205  onChanged();
10206  return this;
10207  }
10219 
10220  cheapestInsertionLsOperatorNeighborsRatio_ = 0D;
10221  onChanged();
10222  return this;
10223  }
10224 
10225  private boolean cheapestInsertionAddUnperformedEntries_ ;
10235  @java.lang.Override
10237  return cheapestInsertionAddUnperformedEntries_;
10238  }
10250 
10251  cheapestInsertionAddUnperformedEntries_ = value;
10252  onChanged();
10253  return this;
10254  }
10265 
10266  cheapestInsertionAddUnperformedEntries_ = false;
10267  onChanged();
10268  return this;
10269  }
10270 
10271  private boolean christofidesUseMinimumMatching_ ;
10281  @java.lang.Override
10283  return christofidesUseMinimumMatching_;
10284  }
10296 
10297  christofidesUseMinimumMatching_ = value;
10298  onChanged();
10299  return this;
10300  }
10311 
10312  christofidesUseMinimumMatching_ = false;
10313  onChanged();
10314  return this;
10315  }
10316 
10318  private com.google.protobuf.SingleFieldBuilderV3<
10324  public boolean hasLocalSearchOperators() {
10325  return localSearchOperatorsBuilder_ != null || localSearchOperators_ != null;
10326  }
10332  if (localSearchOperatorsBuilder_ == null) {
10333  return localSearchOperators_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
10334  } else {
10335  return localSearchOperatorsBuilder_.getMessage();
10336  }
10337  }
10342  if (localSearchOperatorsBuilder_ == null) {
10343  if (value == null) {
10344  throw new NullPointerException();
10345  }
10346  localSearchOperators_ = value;
10347  onChanged();
10348  } else {
10349  localSearchOperatorsBuilder_.setMessage(value);
10350  }
10351 
10352  return this;
10353  }
10359  if (localSearchOperatorsBuilder_ == null) {
10360  localSearchOperators_ = builderForValue.build();
10361  onChanged();
10362  } else {
10363  localSearchOperatorsBuilder_.setMessage(builderForValue.build());
10364  }
10365 
10366  return this;
10367  }
10372  if (localSearchOperatorsBuilder_ == null) {
10373  if (localSearchOperators_ != null) {
10374  localSearchOperators_ =
10376  } else {
10377  localSearchOperators_ = value;
10378  }
10379  onChanged();
10380  } else {
10381  localSearchOperatorsBuilder_.mergeFrom(value);
10382  }
10383 
10384  return this;
10385  }
10390  if (localSearchOperatorsBuilder_ == null) {
10391  localSearchOperators_ = null;
10392  onChanged();
10393  } else {
10394  localSearchOperators_ = null;
10395  localSearchOperatorsBuilder_ = null;
10396  }
10397 
10398  return this;
10399  }
10404 
10405  onChanged();
10406  return getLocalSearchOperatorsFieldBuilder().getBuilder();
10407  }
10412  if (localSearchOperatorsBuilder_ != null) {
10413  return localSearchOperatorsBuilder_.getMessageOrBuilder();
10414  } else {
10415  return localSearchOperators_ == null ?
10417  }
10418  }
10422  private com.google.protobuf.SingleFieldBuilderV3<
10424  getLocalSearchOperatorsFieldBuilder() {
10425  if (localSearchOperatorsBuilder_ == null) {
10426  localSearchOperatorsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
10429  getParentForChildren(),
10430  isClean());
10431  localSearchOperators_ = null;
10432  }
10433  return localSearchOperatorsBuilder_;
10434  }
10435 
10436  private boolean useMultiArmedBanditConcatenateOperators_ ;
10447  @java.lang.Override
10449  return useMultiArmedBanditConcatenateOperators_;
10450  }
10463 
10464  useMultiArmedBanditConcatenateOperators_ = value;
10465  onChanged();
10466  return this;
10467  }
10479 
10480  useMultiArmedBanditConcatenateOperators_ = false;
10481  onChanged();
10482  return this;
10483  }
10484 
10485  private double multiArmedBanditCompoundOperatorMemoryCoefficient_ ;
10497  @java.lang.Override
10499  return multiArmedBanditCompoundOperatorMemoryCoefficient_;
10500  }
10514 
10515  multiArmedBanditCompoundOperatorMemoryCoefficient_ = value;
10516  onChanged();
10517  return this;
10518  }
10531 
10532  multiArmedBanditCompoundOperatorMemoryCoefficient_ = 0D;
10533  onChanged();
10534  return this;
10535  }
10536 
10537  private double multiArmedBanditCompoundOperatorExplorationCoefficient_ ;
10548  @java.lang.Override
10550  return multiArmedBanditCompoundOperatorExplorationCoefficient_;
10551  }
10564 
10565  multiArmedBanditCompoundOperatorExplorationCoefficient_ = value;
10566  onChanged();
10567  return this;
10568  }
10580 
10581  multiArmedBanditCompoundOperatorExplorationCoefficient_ = 0D;
10582  onChanged();
10583  return this;
10584  }
10585 
10586  private int relocateExpensiveChainNumArcsToConsider_ ;
10601  @java.lang.Override
10603  return relocateExpensiveChainNumArcsToConsider_;
10604  }
10621 
10622  relocateExpensiveChainNumArcsToConsider_ = value;
10623  onChanged();
10624  return this;
10625  }
10641 
10642  relocateExpensiveChainNumArcsToConsider_ = 0;
10643  onChanged();
10644  return this;
10645  }
10646 
10647  private int heuristicExpensiveChainLnsNumArcsToConsider_ ;
10657  @java.lang.Override
10659  return heuristicExpensiveChainLnsNumArcsToConsider_;
10660  }
10672 
10673  heuristicExpensiveChainLnsNumArcsToConsider_ = value;
10674  onChanged();
10675  return this;
10676  }
10687 
10688  heuristicExpensiveChainLnsNumArcsToConsider_ = 0;
10689  onChanged();
10690  return this;
10691  }
10692 
10693  private int heuristicCloseNodesLnsNumNodes_ ;
10703  @java.lang.Override
10705  return heuristicCloseNodesLnsNumNodes_;
10706  }
10718 
10719  heuristicCloseNodesLnsNumNodes_ = value;
10720  onChanged();
10721  return this;
10722  }
10733 
10734  heuristicCloseNodesLnsNumNodes_ = 0;
10735  onChanged();
10736  return this;
10737  }
10738 
10739  private int localSearchMetaheuristic_ = 0;
10748  @java.lang.Override public int getLocalSearchMetaheuristicValue() {
10749  return localSearchMetaheuristic_;
10750  }
10761 
10762  localSearchMetaheuristic_ = value;
10763  onChanged();
10764  return this;
10765  }
10774  @java.lang.Override
10776  @SuppressWarnings("deprecation")
10779  }
10790  if (value == null) {
10791  throw new NullPointerException();
10792  }
10793 
10794  localSearchMetaheuristic_ = value.getNumber();
10795  onChanged();
10796  return this;
10797  }
10807 
10808  localSearchMetaheuristic_ = 0;
10809  onChanged();
10810  return this;
10811  }
10812 
10813  private double guidedLocalSearchLambdaCoefficient_ ;
10825  @java.lang.Override
10827  return guidedLocalSearchLambdaCoefficient_;
10828  }
10842 
10843  guidedLocalSearchLambdaCoefficient_ = value;
10844  onChanged();
10845  return this;
10846  }
10859 
10860  guidedLocalSearchLambdaCoefficient_ = 0D;
10861  onChanged();
10862  return this;
10863  }
10864 
10865  private boolean useDepthFirstSearch_ ;
10876  @java.lang.Override
10877  public boolean getUseDepthFirstSearch() {
10878  return useDepthFirstSearch_;
10879  }
10891  public Builder setUseDepthFirstSearch(boolean value) {
10892 
10893  useDepthFirstSearch_ = value;
10894  onChanged();
10895  return this;
10896  }
10908 
10909  useDepthFirstSearch_ = false;
10910  onChanged();
10911  return this;
10912  }
10913 
10914  private int useCp_ = 0;
10925  @java.lang.Override public int getUseCpValue() {
10926  return useCp_;
10927  }
10939  public Builder setUseCpValue(int value) {
10940 
10941  useCp_ = value;
10942  onChanged();
10943  return this;
10944  }
10955  @java.lang.Override
10957  @SuppressWarnings("deprecation")
10959  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
10960  }
10973  if (value == null) {
10974  throw new NullPointerException();
10975  }
10976 
10977  useCp_ = value.getNumber();
10978  onChanged();
10979  return this;
10980  }
10991  public Builder clearUseCp() {
10992 
10993  useCp_ = 0;
10994  onChanged();
10995  return this;
10996  }
10997 
10998  private int useCpSat_ = 0;
11010  @java.lang.Override public int getUseCpSatValue() {
11011  return useCpSat_;
11012  }
11025  public Builder setUseCpSatValue(int value) {
11026 
11027  useCpSat_ = value;
11028  onChanged();
11029  return this;
11030  }
11042  @java.lang.Override
11044  @SuppressWarnings("deprecation")
11046  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
11047  }
11061  if (value == null) {
11062  throw new NullPointerException();
11063  }
11064 
11065  useCpSat_ = value.getNumber();
11066  onChanged();
11067  return this;
11068  }
11081 
11082  useCpSat_ = 0;
11083  onChanged();
11084  return this;
11085  }
11086 
11087  private int continuousSchedulingSolver_ = 0;
11092  @java.lang.Override public int getContinuousSchedulingSolverValue() {
11093  return continuousSchedulingSolver_;
11094  }
11101 
11102  continuousSchedulingSolver_ = value;
11103  onChanged();
11104  return this;
11105  }
11110  @java.lang.Override
11112  @SuppressWarnings("deprecation")
11115  }
11122  if (value == null) {
11123  throw new NullPointerException();
11124  }
11125 
11126  continuousSchedulingSolver_ = value.getNumber();
11127  onChanged();
11128  return this;
11129  }
11135 
11136  continuousSchedulingSolver_ = 0;
11137  onChanged();
11138  return this;
11139  }
11140 
11141  private int mixedIntegerSchedulingSolver_ = 0;
11146  @java.lang.Override public int getMixedIntegerSchedulingSolverValue() {
11147  return mixedIntegerSchedulingSolver_;
11148  }
11155 
11156  mixedIntegerSchedulingSolver_ = value;
11157  onChanged();
11158  return this;
11159  }
11164  @java.lang.Override
11166  @SuppressWarnings("deprecation")
11169  }
11176  if (value == null) {
11177  throw new NullPointerException();
11178  }
11179 
11180  mixedIntegerSchedulingSolver_ = value.getNumber();
11181  onChanged();
11182  return this;
11183  }
11189 
11190  mixedIntegerSchedulingSolver_ = 0;
11191  onChanged();
11192  return this;
11193  }
11194 
11195  private double optimizationStep_ ;
11206  @java.lang.Override
11207  public double getOptimizationStep() {
11208  return optimizationStep_;
11209  }
11221  public Builder setOptimizationStep(double value) {
11222 
11223  optimizationStep_ = value;
11224  onChanged();
11225  return this;
11226  }
11238 
11239  optimizationStep_ = 0D;
11240  onChanged();
11241  return this;
11242  }
11243 
11244  private int numberOfSolutionsToCollect_ ;
11254  @java.lang.Override
11256  return numberOfSolutionsToCollect_;
11257  }
11269 
11270  numberOfSolutionsToCollect_ = value;
11271  onChanged();
11272  return this;
11273  }
11284 
11285  numberOfSolutionsToCollect_ = 0;
11286  onChanged();
11287  return this;
11288  }
11289 
11290  private long solutionLimit_ ;
11301  @java.lang.Override
11302  public long getSolutionLimit() {
11303  return solutionLimit_;
11304  }
11316  public Builder setSolutionLimit(long value) {
11317 
11318  solutionLimit_ = value;
11319  onChanged();
11320  return this;
11321  }
11333 
11334  solutionLimit_ = 0L;
11335  onChanged();
11336  return this;
11337  }
11338 
11339  private com.google.protobuf.Duration timeLimit_;
11340  private com.google.protobuf.SingleFieldBuilderV3<
11341  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> timeLimitBuilder_;
11350  public boolean hasTimeLimit() {
11351  return timeLimitBuilder_ != null || timeLimit_ != null;
11352  }
11361  public com.google.protobuf.Duration getTimeLimit() {
11362  if (timeLimitBuilder_ == null) {
11363  return timeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
11364  } else {
11365  return timeLimitBuilder_.getMessage();
11366  }
11367  }
11375  public Builder setTimeLimit(com.google.protobuf.Duration value) {
11376  if (timeLimitBuilder_ == null) {
11377  if (value == null) {
11378  throw new NullPointerException();
11379  }
11380  timeLimit_ = value;
11381  onChanged();
11382  } else {
11383  timeLimitBuilder_.setMessage(value);
11384  }
11385 
11386  return this;
11387  }
11396  com.google.protobuf.Duration.Builder builderForValue) {
11397  if (timeLimitBuilder_ == null) {
11398  timeLimit_ = builderForValue.build();
11399  onChanged();
11400  } else {
11401  timeLimitBuilder_.setMessage(builderForValue.build());
11402  }
11403 
11404  return this;
11405  }
11413  public Builder mergeTimeLimit(com.google.protobuf.Duration value) {
11414  if (timeLimitBuilder_ == null) {
11415  if (timeLimit_ != null) {
11416  timeLimit_ =
11417  com.google.protobuf.Duration.newBuilder(timeLimit_).mergeFrom(value).buildPartial();
11418  } else {
11419  timeLimit_ = value;
11420  }
11421  onChanged();
11422  } else {
11423  timeLimitBuilder_.mergeFrom(value);
11424  }
11425 
11426  return this;
11427  }
11436  if (timeLimitBuilder_ == null) {
11437  timeLimit_ = null;
11438  onChanged();
11439  } else {
11440  timeLimit_ = null;
11441  timeLimitBuilder_ = null;
11442  }
11443 
11444  return this;
11445  }
11453  public com.google.protobuf.Duration.Builder getTimeLimitBuilder() {
11454 
11455  onChanged();
11456  return getTimeLimitFieldBuilder().getBuilder();
11457  }
11465  public com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder() {
11466  if (timeLimitBuilder_ != null) {
11467  return timeLimitBuilder_.getMessageOrBuilder();
11468  } else {
11469  return timeLimit_ == null ?
11470  com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
11471  }
11472  }
11480  private com.google.protobuf.SingleFieldBuilderV3<
11481  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
11482  getTimeLimitFieldBuilder() {
11483  if (timeLimitBuilder_ == null) {
11484  timeLimitBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
11485  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
11486  getTimeLimit(),
11487  getParentForChildren(),
11488  isClean());
11489  timeLimit_ = null;
11490  }
11491  return timeLimitBuilder_;
11492  }
11493 
11494  private com.google.protobuf.Duration lnsTimeLimit_;
11495  private com.google.protobuf.SingleFieldBuilderV3<
11496  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> lnsTimeLimitBuilder_;
11506  public boolean hasLnsTimeLimit() {
11507  return lnsTimeLimitBuilder_ != null || lnsTimeLimit_ != null;
11508  }
11518  public com.google.protobuf.Duration getLnsTimeLimit() {
11519  if (lnsTimeLimitBuilder_ == null) {
11520  return lnsTimeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
11521  } else {
11522  return lnsTimeLimitBuilder_.getMessage();
11523  }
11524  }
11533  public Builder setLnsTimeLimit(com.google.protobuf.Duration value) {
11534  if (lnsTimeLimitBuilder_ == null) {
11535  if (value == null) {
11536  throw new NullPointerException();
11537  }
11538  lnsTimeLimit_ = value;
11539  onChanged();
11540  } else {
11541  lnsTimeLimitBuilder_.setMessage(value);
11542  }
11543 
11544  return this;
11545  }
11555  com.google.protobuf.Duration.Builder builderForValue) {
11556  if (lnsTimeLimitBuilder_ == null) {
11557  lnsTimeLimit_ = builderForValue.build();
11558  onChanged();
11559  } else {
11560  lnsTimeLimitBuilder_.setMessage(builderForValue.build());
11561  }
11562 
11563  return this;
11564  }
11573  public Builder mergeLnsTimeLimit(com.google.protobuf.Duration value) {
11574  if (lnsTimeLimitBuilder_ == null) {
11575  if (lnsTimeLimit_ != null) {
11576  lnsTimeLimit_ =
11577  com.google.protobuf.Duration.newBuilder(lnsTimeLimit_).mergeFrom(value).buildPartial();
11578  } else {
11579  lnsTimeLimit_ = value;
11580  }
11581  onChanged();
11582  } else {
11583  lnsTimeLimitBuilder_.mergeFrom(value);
11584  }
11585 
11586  return this;
11587  }
11597  if (lnsTimeLimitBuilder_ == null) {
11598  lnsTimeLimit_ = null;
11599  onChanged();
11600  } else {
11601  lnsTimeLimit_ = null;
11602  lnsTimeLimitBuilder_ = null;
11603  }
11604 
11605  return this;
11606  }
11615  public com.google.protobuf.Duration.Builder getLnsTimeLimitBuilder() {
11616 
11617  onChanged();
11618  return getLnsTimeLimitFieldBuilder().getBuilder();
11619  }
11628  public com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder() {
11629  if (lnsTimeLimitBuilder_ != null) {
11630  return lnsTimeLimitBuilder_.getMessageOrBuilder();
11631  } else {
11632  return lnsTimeLimit_ == null ?
11633  com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
11634  }
11635  }
11644  private com.google.protobuf.SingleFieldBuilderV3<
11645  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
11646  getLnsTimeLimitFieldBuilder() {
11647  if (lnsTimeLimitBuilder_ == null) {
11648  lnsTimeLimitBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
11649  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
11650  getLnsTimeLimit(),
11651  getParentForChildren(),
11652  isClean());
11653  lnsTimeLimit_ = null;
11654  }
11655  return lnsTimeLimitBuilder_;
11656  }
11657 
11659  private com.google.protobuf.SingleFieldBuilderV3<
11671  return improvementLimitParametersBuilder_ != null || improvementLimitParameters_ != null;
11672  }
11683  if (improvementLimitParametersBuilder_ == null) {
11684  return improvementLimitParameters_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance() : improvementLimitParameters_;
11685  } else {
11686  return improvementLimitParametersBuilder_.getMessage();
11687  }
11688  }
11698  if (improvementLimitParametersBuilder_ == null) {
11699  if (value == null) {
11700  throw new NullPointerException();
11701  }
11702  improvementLimitParameters_ = value;
11703  onChanged();
11704  } else {
11705  improvementLimitParametersBuilder_.setMessage(value);
11706  }
11707 
11708  return this;
11709  }
11720  if (improvementLimitParametersBuilder_ == null) {
11721  improvementLimitParameters_ = builderForValue.build();
11722  onChanged();
11723  } else {
11724  improvementLimitParametersBuilder_.setMessage(builderForValue.build());
11725  }
11726 
11727  return this;
11728  }
11738  if (improvementLimitParametersBuilder_ == null) {
11739  if (improvementLimitParameters_ != null) {
11740  improvementLimitParameters_ =
11742  } else {
11743  improvementLimitParameters_ = value;
11744  }
11745  onChanged();
11746  } else {
11747  improvementLimitParametersBuilder_.mergeFrom(value);
11748  }
11749 
11750  return this;
11751  }
11761  if (improvementLimitParametersBuilder_ == null) {
11762  improvementLimitParameters_ = null;
11763  onChanged();
11764  } else {
11765  improvementLimitParameters_ = null;
11766  improvementLimitParametersBuilder_ = null;
11767  }
11768 
11769  return this;
11770  }
11780 
11781  onChanged();
11782  return getImprovementLimitParametersFieldBuilder().getBuilder();
11783  }
11793  if (improvementLimitParametersBuilder_ != null) {
11794  return improvementLimitParametersBuilder_.getMessageOrBuilder();
11795  } else {
11796  return improvementLimitParameters_ == null ?
11798  }
11799  }
11808  private com.google.protobuf.SingleFieldBuilderV3<
11810  getImprovementLimitParametersFieldBuilder() {
11811  if (improvementLimitParametersBuilder_ == null) {
11812  improvementLimitParametersBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
11815  getParentForChildren(),
11816  isClean());
11817  improvementLimitParameters_ = null;
11818  }
11819  return improvementLimitParametersBuilder_;
11820  }
11821 
11822  private boolean useFullPropagation_ ;
11839  @java.lang.Override
11840  public boolean getUseFullPropagation() {
11841  return useFullPropagation_;
11842  }
11860  public Builder setUseFullPropagation(boolean value) {
11861 
11862  useFullPropagation_ = value;
11863  onChanged();
11864  return this;
11865  }
11883 
11884  useFullPropagation_ = false;
11885  onChanged();
11886  return this;
11887  }
11888 
11889  private boolean logSearch_ ;
11909  @java.lang.Override
11910  public boolean getLogSearch() {
11911  return logSearch_;
11912  }
11933  public Builder setLogSearch(boolean value) {
11934 
11935  logSearch_ = value;
11936  onChanged();
11937  return this;
11938  }
11959 
11960  logSearch_ = false;
11961  onChanged();
11962  return this;
11963  }
11964 
11965  private double logCostScalingFactor_ ;
11975  @java.lang.Override
11976  public double getLogCostScalingFactor() {
11977  return logCostScalingFactor_;
11978  }
11989  public Builder setLogCostScalingFactor(double value) {
11990 
11991  logCostScalingFactor_ = value;
11992  onChanged();
11993  return this;
11994  }
12005 
12006  logCostScalingFactor_ = 0D;
12007  onChanged();
12008  return this;
12009  }
12010 
12011  private double logCostOffset_ ;
12016  @java.lang.Override
12017  public double getLogCostOffset() {
12018  return logCostOffset_;
12019  }
12025  public Builder setLogCostOffset(double value) {
12026 
12027  logCostOffset_ = value;
12028  onChanged();
12029  return this;
12030  }
12036 
12037  logCostOffset_ = 0D;
12038  onChanged();
12039  return this;
12040  }
12041 
12042  private java.lang.Object logTag_ = "";
12052  public java.lang.String getLogTag() {
12053  java.lang.Object ref = logTag_;
12054  if (!(ref instanceof java.lang.String)) {
12055  com.google.protobuf.ByteString bs =
12056  (com.google.protobuf.ByteString) ref;
12057  java.lang.String s = bs.toStringUtf8();
12058  logTag_ = s;
12059  return s;
12060  } else {
12061  return (java.lang.String) ref;
12062  }
12063  }
12073  public com.google.protobuf.ByteString
12075  java.lang.Object ref = logTag_;
12076  if (ref instanceof String) {
12077  com.google.protobuf.ByteString b =
12078  com.google.protobuf.ByteString.copyFromUtf8(
12079  (java.lang.String) ref);
12080  logTag_ = b;
12081  return b;
12082  } else {
12083  return (com.google.protobuf.ByteString) ref;
12084  }
12085  }
12097  java.lang.String value) {
12098  if (value == null) {
12099  throw new NullPointerException();
12100  }
12101 
12102  logTag_ = value;
12103  onChanged();
12104  return this;
12105  }
12116 
12117  logTag_ = getDefaultInstance().getLogTag();
12118  onChanged();
12119  return this;
12120  }
12132  com.google.protobuf.ByteString value) {
12133  if (value == null) {
12134  throw new NullPointerException();
12135  }
12136  checkByteStringIsUtf8(value);
12137 
12138  logTag_ = value;
12139  onChanged();
12140  return this;
12141  }
12142  @java.lang.Override
12144  final com.google.protobuf.UnknownFieldSet unknownFields) {
12145  return super.setUnknownFields(unknownFields);
12146  }
12147 
12148  @java.lang.Override
12150  final com.google.protobuf.UnknownFieldSet unknownFields) {
12151  return super.mergeUnknownFields(unknownFields);
12152  }
12153 
12154 
12155  // @@protoc_insertion_point(builder_scope:operations_research.RoutingSearchParameters)
12156  }
12157 
12158  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters)
12159  private static final com.google.ortools.constraintsolver.RoutingSearchParameters DEFAULT_INSTANCE;
12160  static {
12161  DEFAULT_INSTANCE = new com.google.ortools.constraintsolver.RoutingSearchParameters();
12162  }
12163 
12165  return DEFAULT_INSTANCE;
12166  }
12167 
12168  private static final com.google.protobuf.Parser<RoutingSearchParameters>
12169  PARSER = new com.google.protobuf.AbstractParser<RoutingSearchParameters>() {
12170  @java.lang.Override
12171  public RoutingSearchParameters parsePartialFrom(
12172  com.google.protobuf.CodedInputStream input,
12173  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12174  throws com.google.protobuf.InvalidProtocolBufferException {
12175  return new RoutingSearchParameters(input, extensionRegistry);
12176  }
12177  };
12178 
12179  public static com.google.protobuf.Parser<RoutingSearchParameters> parser() {
12180  return PARSER;
12181  }
12182 
12183  @java.lang.Override
12185  return PARSER;
12186  }
12187 
12188  @java.lang.Override
12190  return DEFAULT_INSTANCE;
12191  }
12192 
12193 }
12194 
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()