Java Reference

Java Reference

RoutingSearchParameters.java
Go to the documentation of this file.
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: ortools/constraint_solver/routing_parameters.proto
3 
4 package com.google.ortools.constraintsolver;
5 
18 public final class RoutingSearchParameters extends
19  com.google.protobuf.GeneratedMessageV3 implements
20  // @@protoc_insertion_point(message_implements:operations_research.RoutingSearchParameters)
22 private static final long serialVersionUID = 0L;
23  // Use RoutingSearchParameters.newBuilder() to construct.
24  private RoutingSearchParameters(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
25  super(builder);
26  }
27  private RoutingSearchParameters() {
28  firstSolutionStrategy_ = 0;
29  localSearchMetaheuristic_ = 0;
30  useCp_ = 0;
31  useCpSat_ = 0;
32  continuousSchedulingSolver_ = 0;
33  mixedIntegerSchedulingSolver_ = 0;
34  }
35 
36  @java.lang.Override
37  @SuppressWarnings({"unused"})
38  protected java.lang.Object newInstance(
39  UnusedPrivateParameter unused) {
40  return new RoutingSearchParameters();
41  }
42 
43  @java.lang.Override
44  public final com.google.protobuf.UnknownFieldSet
46  return this.unknownFields;
47  }
49  com.google.protobuf.CodedInputStream input,
50  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
51  throws com.google.protobuf.InvalidProtocolBufferException {
52  this();
53  if (extensionRegistry == null) {
54  throw new java.lang.NullPointerException();
55  }
56  com.google.protobuf.UnknownFieldSet.Builder unknownFields =
57  com.google.protobuf.UnknownFieldSet.newBuilder();
58  try {
59  boolean done = false;
60  while (!done) {
61  int tag = input.readTag();
62  switch (tag) {
63  case 0:
64  done = true;
65  break;
66  case 8: {
67  int rawValue = input.readEnum();
68 
69  firstSolutionStrategy_ = rawValue;
70  break;
71  }
72  case 16: {
73 
74  useUnfilteredFirstSolutionStrategy_ = input.readBool();
75  break;
76  }
77  case 26: {
79  if (localSearchOperators_ != null) {
80  subBuilder = localSearchOperators_.toBuilder();
81  }
82  localSearchOperators_ = input.readMessage(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.parser(), extensionRegistry);
83  if (subBuilder != null) {
84  subBuilder.mergeFrom(localSearchOperators_);
85  localSearchOperators_ = subBuilder.buildPartial();
86  }
87 
88  break;
89  }
90  case 32: {
91  int rawValue = input.readEnum();
92 
93  localSearchMetaheuristic_ = rawValue;
94  break;
95  }
96  case 41: {
97 
98  guidedLocalSearchLambdaCoefficient_ = input.readDouble();
99  break;
100  }
101  case 48: {
102 
103  useDepthFirstSearch_ = input.readBool();
104  break;
105  }
106  case 57: {
107 
108  optimizationStep_ = input.readDouble();
109  break;
110  }
111  case 64: {
112 
113  solutionLimit_ = input.readInt64();
114  break;
115  }
116  case 74: {
117  com.google.protobuf.Duration.Builder subBuilder = null;
118  if (timeLimit_ != null) {
119  subBuilder = timeLimit_.toBuilder();
120  }
121  timeLimit_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
122  if (subBuilder != null) {
123  subBuilder.mergeFrom(timeLimit_);
124  timeLimit_ = subBuilder.buildPartial();
125  }
126 
127  break;
128  }
129  case 82: {
130  com.google.protobuf.Duration.Builder subBuilder = null;
131  if (lnsTimeLimit_ != null) {
132  subBuilder = lnsTimeLimit_.toBuilder();
133  }
134  lnsTimeLimit_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
135  if (subBuilder != null) {
136  subBuilder.mergeFrom(lnsTimeLimit_);
137  lnsTimeLimit_ = subBuilder.buildPartial();
138  }
139 
140  break;
141  }
142  case 88: {
143 
144  useFullPropagation_ = input.readBool();
145  break;
146  }
147  case 104: {
148 
149  logSearch_ = input.readBool();
150  break;
151  }
152  case 113: {
153 
154  savingsNeighborsRatio_ = input.readDouble();
155  break;
156  }
157  case 120: {
158 
159  savingsAddReverseArcs_ = input.readBool();
160  break;
161  }
162  case 129: {
163 
164  cheapestInsertionFarthestSeedsRatio_ = input.readDouble();
165  break;
166  }
167  case 136: {
168 
169  numberOfSolutionsToCollect_ = input.readInt32();
170  break;
171  }
172  case 145: {
173 
174  savingsArcCoefficient_ = input.readDouble();
175  break;
176  }
177  case 152: {
178 
179  savingsParallelRoutes_ = input.readBool();
180  break;
181  }
182  case 160: {
183 
184  relocateExpensiveChainNumArcsToConsider_ = input.readInt32();
185  break;
186  }
187  case 169: {
188 
189  cheapestInsertionFirstSolutionNeighborsRatio_ = input.readDouble();
190  break;
191  }
192  case 177: {
193 
194  logCostScalingFactor_ = input.readDouble();
195  break;
196  }
197  case 185: {
198 
199  savingsMaxMemoryUsageBytes_ = input.readDouble();
200  break;
201  }
202  case 216: {
203  int rawValue = input.readEnum();
204 
205  useCpSat_ = rawValue;
206  break;
207  }
208  case 224: {
209  int rawValue = input.readEnum();
210 
211  useCp_ = rawValue;
212  break;
213  }
214  case 233: {
215 
216  logCostOffset_ = input.readDouble();
217  break;
218  }
219  case 240: {
220 
221  christofidesUseMinimumMatching_ = input.readBool();
222  break;
223  }
224  case 249: {
225 
226  cheapestInsertionLsOperatorNeighborsRatio_ = input.readDouble();
227  break;
228  }
229  case 256: {
230 
231  heuristicExpensiveChainLnsNumArcsToConsider_ = input.readInt32();
232  break;
233  }
234  case 264: {
235  int rawValue = input.readEnum();
236 
237  continuousSchedulingSolver_ = rawValue;
238  break;
239  }
240  case 272: {
241  int rawValue = input.readEnum();
242 
243  mixedIntegerSchedulingSolver_ = rawValue;
244  break;
245  }
246  default: {
247  if (!parseUnknownField(
248  input, unknownFields, extensionRegistry, tag)) {
249  done = true;
250  }
251  break;
252  }
253  }
254  }
255  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
256  throw e.setUnfinishedMessage(this);
257  } catch (java.io.IOException e) {
258  throw new com.google.protobuf.InvalidProtocolBufferException(
259  e).setUnfinishedMessage(this);
260  } finally {
261  this.unknownFields = unknownFields.build();
262  makeExtensionsImmutable();
263  }
264  }
265  public static final com.google.protobuf.Descriptors.Descriptor
267  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
268  }
269 
270  @java.lang.Override
271  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
273  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_fieldAccessorTable
274  .ensureFieldAccessorsInitialized(
276  }
277 
286  public enum SchedulingSolver
287  implements com.google.protobuf.ProtocolMessageEnum {
291  UNSET(0),
295  GLOP(1),
299  CP_SAT(2),
301  ;
302 
306  public static final int UNSET_VALUE = 0;
310  public static final int GLOP_VALUE = 1;
314  public static final int CP_SAT_VALUE = 2;
315 
316 
317  public final int getNumber() {
318  if (this == UNRECOGNIZED) {
319  throw new java.lang.IllegalArgumentException(
320  "Can't get the number of an unknown enum value.");
321  }
322  return value;
323  }
324 
330  @java.lang.Deprecated
331  public static SchedulingSolver valueOf(int value) {
332  return forNumber(value);
333  }
334 
339  public static SchedulingSolver forNumber(int value) {
340  switch (value) {
341  case 0: return UNSET;
342  case 1: return GLOP;
343  case 2: return CP_SAT;
344  default: return null;
345  }
346  }
347 
348  public static com.google.protobuf.Internal.EnumLiteMap<SchedulingSolver>
350  return internalValueMap;
351  }
352  private static final com.google.protobuf.Internal.EnumLiteMap<
353  SchedulingSolver> internalValueMap =
354  new com.google.protobuf.Internal.EnumLiteMap<SchedulingSolver>() {
355  public SchedulingSolver findValueByNumber(int number) {
356  return SchedulingSolver.forNumber(number);
357  }
358  };
359 
360  public final com.google.protobuf.Descriptors.EnumValueDescriptor
362  return getDescriptor().getValues().get(ordinal());
363  }
364  public final com.google.protobuf.Descriptors.EnumDescriptor
366  return getDescriptor();
367  }
368  public static final com.google.protobuf.Descriptors.EnumDescriptor
371  }
372 
373  private static final SchedulingSolver[] VALUES = values();
374 
375  public static SchedulingSolver valueOf(
376  com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
377  if (desc.getType() != getDescriptor()) {
378  throw new java.lang.IllegalArgumentException(
379  "EnumValueDescriptor is not for this type.");
380  }
381  if (desc.getIndex() == -1) {
382  return UNRECOGNIZED;
383  }
384  return VALUES[desc.getIndex()];
385  }
386 
387  private final int value;
388 
389  private SchedulingSolver(int value) {
390  this.value = value;
391  }
392 
393  // @@protoc_insertion_point(enum_scope:operations_research.RoutingSearchParameters.SchedulingSolver)
394  }
395 
397  // @@protoc_insertion_point(interface_extends:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
398  com.google.protobuf.MessageOrBuilder {
399 
416  int getUseRelocateValue();
434 
469 
500 
561 
602 
617  int getUseExchangeValue();
633 
664 
685 
702  int getUseCrossValue();
720 
739 
776 
794  int getUseTwoOptValue();
813 
832  int getUseOrOptValue();
852 
877 
891  int getUseTspOptValue();
906 
921  int getUseMakeActiveValue();
937 
974 
1001 
1030 
1043  int getUseSwapActiveValue();
1057 
1094 
1133 
1149  int getUsePathLnsValue();
1166 
1175  int getUseFullPathLnsValue();
1185 
1199  int getUseTspLnsValue();
1214 
1225  int getUseInactiveLnsValue();
1237 
1260 
1279 
1304 
1325  }
1334  public static final class LocalSearchNeighborhoodOperators extends
1335  com.google.protobuf.GeneratedMessageV3 implements
1336  // @@protoc_insertion_point(message_implements:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
1338  private static final long serialVersionUID = 0L;
1339  // Use LocalSearchNeighborhoodOperators.newBuilder() to construct.
1340  private LocalSearchNeighborhoodOperators(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
1341  super(builder);
1342  }
1344  useRelocate_ = 0;
1345  useRelocatePair_ = 0;
1346  useLightRelocatePair_ = 0;
1347  useRelocateNeighbors_ = 0;
1348  useRelocateSubtrip_ = 0;
1349  useExchange_ = 0;
1350  useExchangePair_ = 0;
1351  useExchangeSubtrip_ = 0;
1352  useCross_ = 0;
1353  useCrossExchange_ = 0;
1354  useRelocateExpensiveChain_ = 0;
1355  useTwoOpt_ = 0;
1356  useOrOpt_ = 0;
1357  useLinKernighan_ = 0;
1358  useTspOpt_ = 0;
1359  useMakeActive_ = 0;
1360  useRelocateAndMakeActive_ = 0;
1361  useMakeInactive_ = 0;
1362  useMakeChainInactive_ = 0;
1363  useSwapActive_ = 0;
1364  useExtendedSwapActive_ = 0;
1365  useNodePairSwapActive_ = 0;
1366  usePathLns_ = 0;
1367  useFullPathLns_ = 0;
1368  useTspLns_ = 0;
1369  useInactiveLns_ = 0;
1370  useGlobalCheapestInsertionPathLns_ = 0;
1371  useLocalCheapestInsertionPathLns_ = 0;
1372  useGlobalCheapestInsertionExpensiveChainLns_ = 0;
1373  useLocalCheapestInsertionExpensiveChainLns_ = 0;
1374  }
1375 
1376  @java.lang.Override
1377  @SuppressWarnings({"unused"})
1378  protected java.lang.Object newInstance(
1379  UnusedPrivateParameter unused) {
1380  return new LocalSearchNeighborhoodOperators();
1381  }
1382 
1383  @java.lang.Override
1384  public final com.google.protobuf.UnknownFieldSet
1386  return this.unknownFields;
1387  }
1389  com.google.protobuf.CodedInputStream input,
1390  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1391  throws com.google.protobuf.InvalidProtocolBufferException {
1392  this();
1393  if (extensionRegistry == null) {
1394  throw new java.lang.NullPointerException();
1395  }
1396  com.google.protobuf.UnknownFieldSet.Builder unknownFields =
1397  com.google.protobuf.UnknownFieldSet.newBuilder();
1398  try {
1399  boolean done = false;
1400  while (!done) {
1401  int tag = input.readTag();
1402  switch (tag) {
1403  case 0:
1404  done = true;
1405  break;
1406  case 8: {
1407  int rawValue = input.readEnum();
1408 
1409  useRelocate_ = rawValue;
1410  break;
1411  }
1412  case 16: {
1413  int rawValue = input.readEnum();
1414 
1415  useRelocatePair_ = rawValue;
1416  break;
1417  }
1418  case 24: {
1419  int rawValue = input.readEnum();
1420 
1421  useRelocateNeighbors_ = rawValue;
1422  break;
1423  }
1424  case 32: {
1425  int rawValue = input.readEnum();
1426 
1427  useExchange_ = rawValue;
1428  break;
1429  }
1430  case 40: {
1431  int rawValue = input.readEnum();
1432 
1433  useCross_ = rawValue;
1434  break;
1435  }
1436  case 48: {
1437  int rawValue = input.readEnum();
1438 
1439  useCrossExchange_ = rawValue;
1440  break;
1441  }
1442  case 56: {
1443  int rawValue = input.readEnum();
1444 
1445  useTwoOpt_ = rawValue;
1446  break;
1447  }
1448  case 64: {
1449  int rawValue = input.readEnum();
1450 
1451  useOrOpt_ = rawValue;
1452  break;
1453  }
1454  case 72: {
1455  int rawValue = input.readEnum();
1456 
1457  useLinKernighan_ = rawValue;
1458  break;
1459  }
1460  case 80: {
1461  int rawValue = input.readEnum();
1462 
1463  useTspOpt_ = rawValue;
1464  break;
1465  }
1466  case 88: {
1467  int rawValue = input.readEnum();
1468 
1469  useMakeActive_ = rawValue;
1470  break;
1471  }
1472  case 96: {
1473  int rawValue = input.readEnum();
1474 
1475  useMakeInactive_ = rawValue;
1476  break;
1477  }
1478  case 104: {
1479  int rawValue = input.readEnum();
1480 
1481  useMakeChainInactive_ = rawValue;
1482  break;
1483  }
1484  case 112: {
1485  int rawValue = input.readEnum();
1486 
1487  useSwapActive_ = rawValue;
1488  break;
1489  }
1490  case 120: {
1491  int rawValue = input.readEnum();
1492 
1493  useExtendedSwapActive_ = rawValue;
1494  break;
1495  }
1496  case 128: {
1497  int rawValue = input.readEnum();
1498 
1499  usePathLns_ = rawValue;
1500  break;
1501  }
1502  case 136: {
1503  int rawValue = input.readEnum();
1504 
1505  useFullPathLns_ = rawValue;
1506  break;
1507  }
1508  case 144: {
1509  int rawValue = input.readEnum();
1510 
1511  useTspLns_ = rawValue;
1512  break;
1513  }
1514  case 152: {
1515  int rawValue = input.readEnum();
1516 
1517  useInactiveLns_ = rawValue;
1518  break;
1519  }
1520  case 160: {
1521  int rawValue = input.readEnum();
1522 
1523  useNodePairSwapActive_ = rawValue;
1524  break;
1525  }
1526  case 168: {
1527  int rawValue = input.readEnum();
1528 
1529  useRelocateAndMakeActive_ = rawValue;
1530  break;
1531  }
1532  case 176: {
1533  int rawValue = input.readEnum();
1534 
1535  useExchangePair_ = rawValue;
1536  break;
1537  }
1538  case 184: {
1539  int rawValue = input.readEnum();
1540 
1541  useRelocateExpensiveChain_ = rawValue;
1542  break;
1543  }
1544  case 192: {
1545  int rawValue = input.readEnum();
1546 
1547  useLightRelocatePair_ = rawValue;
1548  break;
1549  }
1550  case 200: {
1551  int rawValue = input.readEnum();
1552 
1553  useRelocateSubtrip_ = rawValue;
1554  break;
1555  }
1556  case 208: {
1557  int rawValue = input.readEnum();
1558 
1559  useExchangeSubtrip_ = rawValue;
1560  break;
1561  }
1562  case 216: {
1563  int rawValue = input.readEnum();
1564 
1565  useGlobalCheapestInsertionPathLns_ = rawValue;
1566  break;
1567  }
1568  case 224: {
1569  int rawValue = input.readEnum();
1570 
1571  useLocalCheapestInsertionPathLns_ = rawValue;
1572  break;
1573  }
1574  case 232: {
1575  int rawValue = input.readEnum();
1576 
1577  useGlobalCheapestInsertionExpensiveChainLns_ = rawValue;
1578  break;
1579  }
1580  case 240: {
1581  int rawValue = input.readEnum();
1582 
1583  useLocalCheapestInsertionExpensiveChainLns_ = rawValue;
1584  break;
1585  }
1586  default: {
1587  if (!parseUnknownField(
1588  input, unknownFields, extensionRegistry, tag)) {
1589  done = true;
1590  }
1591  break;
1592  }
1593  }
1594  }
1595  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1596  throw e.setUnfinishedMessage(this);
1597  } catch (java.io.IOException e) {
1598  throw new com.google.protobuf.InvalidProtocolBufferException(
1599  e).setUnfinishedMessage(this);
1600  } finally {
1601  this.unknownFields = unknownFields.build();
1602  makeExtensionsImmutable();
1603  }
1604  }
1605  public static final com.google.protobuf.Descriptors.Descriptor
1607  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
1608  }
1609 
1610  @java.lang.Override
1611  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
1613  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_fieldAccessorTable
1614  .ensureFieldAccessorsInitialized(
1616  }
1617 
1618  public static final int USE_RELOCATE_FIELD_NUMBER = 1;
1619  private int useRelocate_;
1636  public int getUseRelocateValue() {
1637  return useRelocate_;
1638  }
1656  @SuppressWarnings("deprecation")
1658  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1659  }
1660 
1661  public static final int USE_RELOCATE_PAIR_FIELD_NUMBER = 2;
1662  private int useRelocatePair_;
1680  return useRelocatePair_;
1681  }
1699  @SuppressWarnings("deprecation")
1701  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1702  }
1703 
1704  public static final int USE_LIGHT_RELOCATE_PAIR_FIELD_NUMBER = 24;
1705  private int useLightRelocatePair_;
1721  return useLightRelocatePair_;
1722  }
1738  @SuppressWarnings("deprecation")
1740  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1741  }
1742 
1743  public static final int USE_RELOCATE_NEIGHBORS_FIELD_NUMBER = 3;
1744  private int useRelocateNeighbors_;
1775  return useRelocateNeighbors_;
1776  }
1807  @SuppressWarnings("deprecation")
1809  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1810  }
1811 
1812  public static final int USE_RELOCATE_SUBTRIP_FIELD_NUMBER = 25;
1813  private int useRelocateSubtrip_;
1834  return useRelocateSubtrip_;
1835  }
1856  @SuppressWarnings("deprecation")
1858  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1859  }
1860 
1861  public static final int USE_EXCHANGE_FIELD_NUMBER = 4;
1862  private int useExchange_;
1877  public int getUseExchangeValue() {
1878  return useExchange_;
1879  }
1895  @SuppressWarnings("deprecation")
1897  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1898  }
1899 
1900  public static final int USE_EXCHANGE_PAIR_FIELD_NUMBER = 22;
1901  private int useExchangePair_;
1917  return useExchangePair_;
1918  }
1934  @SuppressWarnings("deprecation")
1936  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1937  }
1938 
1939  public static final int USE_EXCHANGE_SUBTRIP_FIELD_NUMBER = 26;
1940  private int useExchangeSubtrip_;
1951  return useExchangeSubtrip_;
1952  }
1963  @SuppressWarnings("deprecation")
1965  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1966  }
1967 
1968  public static final int USE_CROSS_FIELD_NUMBER = 5;
1969  private int useCross_;
1986  public int getUseCrossValue() {
1987  return useCross_;
1988  }
2006  @SuppressWarnings("deprecation")
2008  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2009  }
2010 
2011  public static final int USE_CROSS_EXCHANGE_FIELD_NUMBER = 6;
2012  private int useCrossExchange_;
2022  return useCrossExchange_;
2023  }
2033  @SuppressWarnings("deprecation")
2035  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2036  }
2037 
2038  public static final int USE_RELOCATE_EXPENSIVE_CHAIN_FIELD_NUMBER = 23;
2039  private int useRelocateExpensiveChain_;
2058  return useRelocateExpensiveChain_;
2059  }
2078  @SuppressWarnings("deprecation")
2079  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateExpensiveChain_);
2080  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2081  }
2082 
2083  public static final int USE_TWO_OPT_FIELD_NUMBER = 7;
2084  private int useTwoOpt_;
2102  public int getUseTwoOptValue() {
2103  return useTwoOpt_;
2104  }
2123  @SuppressWarnings("deprecation")
2125  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2126  }
2127 
2128  public static final int USE_OR_OPT_FIELD_NUMBER = 8;
2129  private int useOrOpt_;
2148  public int getUseOrOptValue() {
2149  return useOrOpt_;
2150  }
2170  @SuppressWarnings("deprecation")
2172  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2173  }
2174 
2175  public static final int USE_LIN_KERNIGHAN_FIELD_NUMBER = 9;
2176  private int useLinKernighan_;
2189  return useLinKernighan_;
2190  }
2203  @SuppressWarnings("deprecation")
2205  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2206  }
2207 
2208  public static final int USE_TSP_OPT_FIELD_NUMBER = 10;
2209  private int useTspOpt_;
2223  public int getUseTspOptValue() {
2224  return useTspOpt_;
2225  }
2240  @SuppressWarnings("deprecation")
2242  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2243  }
2244 
2245  public static final int USE_MAKE_ACTIVE_FIELD_NUMBER = 11;
2246  private int useMakeActive_;
2261  public int getUseMakeActiveValue() {
2262  return useMakeActive_;
2263  }
2279  @SuppressWarnings("deprecation")
2281  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2282  }
2283 
2284  public static final int USE_RELOCATE_AND_MAKE_ACTIVE_FIELD_NUMBER = 21;
2285  private int useRelocateAndMakeActive_;
2304  return useRelocateAndMakeActive_;
2305  }
2324  @SuppressWarnings("deprecation")
2325  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateAndMakeActive_);
2326  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2327  }
2328 
2329  public static final int USE_MAKE_INACTIVE_FIELD_NUMBER = 12;
2330  private int useMakeInactive_;
2344  return useMakeInactive_;
2345  }
2359  @SuppressWarnings("deprecation")
2361  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2362  }
2363 
2364  public static final int USE_MAKE_CHAIN_INACTIVE_FIELD_NUMBER = 13;
2365  private int useMakeChainInactive_;
2380  return useMakeChainInactive_;
2381  }
2396  @SuppressWarnings("deprecation")
2398  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2399  }
2400 
2401  public static final int USE_SWAP_ACTIVE_FIELD_NUMBER = 14;
2402  private int useSwapActive_;
2415  public int getUseSwapActiveValue() {
2416  return useSwapActive_;
2417  }
2431  @SuppressWarnings("deprecation")
2433  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2434  }
2435 
2436  public static final int USE_EXTENDED_SWAP_ACTIVE_FIELD_NUMBER = 15;
2437  private int useExtendedSwapActive_;
2456  return useExtendedSwapActive_;
2457  }
2476  @SuppressWarnings("deprecation")
2477  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useExtendedSwapActive_);
2478  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2479  }
2480 
2481  public static final int USE_NODE_PAIR_SWAP_ACTIVE_FIELD_NUMBER = 20;
2482  private int useNodePairSwapActive_;
2502  return useNodePairSwapActive_;
2503  }
2523  @SuppressWarnings("deprecation")
2524  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useNodePairSwapActive_);
2525  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2526  }
2527 
2528  public static final int USE_PATH_LNS_FIELD_NUMBER = 16;
2529  private int usePathLns_;
2545  public int getUsePathLnsValue() {
2546  return usePathLns_;
2547  }
2564  @SuppressWarnings("deprecation")
2566  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2567  }
2568 
2569  public static final int USE_FULL_PATH_LNS_FIELD_NUMBER = 17;
2570  private int useFullPathLns_;
2579  public int getUseFullPathLnsValue() {
2580  return useFullPathLns_;
2581  }
2591  @SuppressWarnings("deprecation")
2593  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2594  }
2595 
2596  public static final int USE_TSP_LNS_FIELD_NUMBER = 18;
2597  private int useTspLns_;
2611  public int getUseTspLnsValue() {
2612  return useTspLns_;
2613  }
2628  @SuppressWarnings("deprecation")
2630  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2631  }
2632 
2633  public static final int USE_INACTIVE_LNS_FIELD_NUMBER = 19;
2634  private int useInactiveLns_;
2645  public int getUseInactiveLnsValue() {
2646  return useInactiveLns_;
2647  }
2659  @SuppressWarnings("deprecation")
2661  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2662  }
2663 
2665  private int useGlobalCheapestInsertionPathLns_;
2677  return useGlobalCheapestInsertionPathLns_;
2678  }
2690  @SuppressWarnings("deprecation")
2691  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionPathLns_);
2692  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2693  }
2694 
2696  private int useLocalCheapestInsertionPathLns_;
2706  return useLocalCheapestInsertionPathLns_;
2707  }
2717  @SuppressWarnings("deprecation")
2718  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionPathLns_);
2719  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2720  }
2721 
2723  private int useGlobalCheapestInsertionExpensiveChainLns_;
2736  return useGlobalCheapestInsertionExpensiveChainLns_;
2737  }
2750  @SuppressWarnings("deprecation")
2751  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionExpensiveChainLns_);
2752  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2753  }
2754 
2756  private int useLocalCheapestInsertionExpensiveChainLns_;
2767  return useLocalCheapestInsertionExpensiveChainLns_;
2768  }
2779  @SuppressWarnings("deprecation")
2780  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionExpensiveChainLns_);
2781  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2782  }
2783 
2784  private byte memoizedIsInitialized = -1;
2785  @java.lang.Override
2786  public final boolean isInitialized() {
2787  byte isInitialized = memoizedIsInitialized;
2788  if (isInitialized == 1) return true;
2789  if (isInitialized == 0) return false;
2790 
2791  memoizedIsInitialized = 1;
2792  return true;
2793  }
2794 
2795  @java.lang.Override
2796  public void writeTo(com.google.protobuf.CodedOutputStream output)
2797  throws java.io.IOException {
2798  if (useRelocate_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2799  output.writeEnum(1, useRelocate_);
2800  }
2801  if (useRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2802  output.writeEnum(2, useRelocatePair_);
2803  }
2804  if (useRelocateNeighbors_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2805  output.writeEnum(3, useRelocateNeighbors_);
2806  }
2807  if (useExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2808  output.writeEnum(4, useExchange_);
2809  }
2810  if (useCross_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2811  output.writeEnum(5, useCross_);
2812  }
2813  if (useCrossExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2814  output.writeEnum(6, useCrossExchange_);
2815  }
2816  if (useTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2817  output.writeEnum(7, useTwoOpt_);
2818  }
2819  if (useOrOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2820  output.writeEnum(8, useOrOpt_);
2821  }
2822  if (useLinKernighan_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2823  output.writeEnum(9, useLinKernighan_);
2824  }
2825  if (useTspOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2826  output.writeEnum(10, useTspOpt_);
2827  }
2828  if (useMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2829  output.writeEnum(11, useMakeActive_);
2830  }
2831  if (useMakeInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2832  output.writeEnum(12, useMakeInactive_);
2833  }
2834  if (useMakeChainInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2835  output.writeEnum(13, useMakeChainInactive_);
2836  }
2837  if (useSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2838  output.writeEnum(14, useSwapActive_);
2839  }
2840  if (useExtendedSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2841  output.writeEnum(15, useExtendedSwapActive_);
2842  }
2843  if (usePathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2844  output.writeEnum(16, usePathLns_);
2845  }
2846  if (useFullPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2847  output.writeEnum(17, useFullPathLns_);
2848  }
2849  if (useTspLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2850  output.writeEnum(18, useTspLns_);
2851  }
2852  if (useInactiveLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2853  output.writeEnum(19, useInactiveLns_);
2854  }
2855  if (useNodePairSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2856  output.writeEnum(20, useNodePairSwapActive_);
2857  }
2858  if (useRelocateAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2859  output.writeEnum(21, useRelocateAndMakeActive_);
2860  }
2861  if (useExchangePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2862  output.writeEnum(22, useExchangePair_);
2863  }
2864  if (useRelocateExpensiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2865  output.writeEnum(23, useRelocateExpensiveChain_);
2866  }
2867  if (useLightRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2868  output.writeEnum(24, useLightRelocatePair_);
2869  }
2870  if (useRelocateSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2871  output.writeEnum(25, useRelocateSubtrip_);
2872  }
2873  if (useExchangeSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2874  output.writeEnum(26, useExchangeSubtrip_);
2875  }
2876  if (useGlobalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2877  output.writeEnum(27, useGlobalCheapestInsertionPathLns_);
2878  }
2879  if (useLocalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2880  output.writeEnum(28, useLocalCheapestInsertionPathLns_);
2881  }
2882  if (useGlobalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2883  output.writeEnum(29, useGlobalCheapestInsertionExpensiveChainLns_);
2884  }
2885  if (useLocalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2886  output.writeEnum(30, useLocalCheapestInsertionExpensiveChainLns_);
2887  }
2888  unknownFields.writeTo(output);
2889  }
2890 
2891  @java.lang.Override
2892  public int getSerializedSize() {
2893  int size = memoizedSize;
2894  if (size != -1) return size;
2895 
2896  size = 0;
2897  if (useRelocate_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2898  size += com.google.protobuf.CodedOutputStream
2899  .computeEnumSize(1, useRelocate_);
2900  }
2901  if (useRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2902  size += com.google.protobuf.CodedOutputStream
2903  .computeEnumSize(2, useRelocatePair_);
2904  }
2905  if (useRelocateNeighbors_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2906  size += com.google.protobuf.CodedOutputStream
2907  .computeEnumSize(3, useRelocateNeighbors_);
2908  }
2909  if (useExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2910  size += com.google.protobuf.CodedOutputStream
2911  .computeEnumSize(4, useExchange_);
2912  }
2913  if (useCross_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2914  size += com.google.protobuf.CodedOutputStream
2915  .computeEnumSize(5, useCross_);
2916  }
2917  if (useCrossExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2918  size += com.google.protobuf.CodedOutputStream
2919  .computeEnumSize(6, useCrossExchange_);
2920  }
2921  if (useTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2922  size += com.google.protobuf.CodedOutputStream
2923  .computeEnumSize(7, useTwoOpt_);
2924  }
2925  if (useOrOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2926  size += com.google.protobuf.CodedOutputStream
2927  .computeEnumSize(8, useOrOpt_);
2928  }
2929  if (useLinKernighan_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2930  size += com.google.protobuf.CodedOutputStream
2931  .computeEnumSize(9, useLinKernighan_);
2932  }
2933  if (useTspOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2934  size += com.google.protobuf.CodedOutputStream
2935  .computeEnumSize(10, useTspOpt_);
2936  }
2937  if (useMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2938  size += com.google.protobuf.CodedOutputStream
2939  .computeEnumSize(11, useMakeActive_);
2940  }
2941  if (useMakeInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2942  size += com.google.protobuf.CodedOutputStream
2943  .computeEnumSize(12, useMakeInactive_);
2944  }
2945  if (useMakeChainInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2946  size += com.google.protobuf.CodedOutputStream
2947  .computeEnumSize(13, useMakeChainInactive_);
2948  }
2949  if (useSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2950  size += com.google.protobuf.CodedOutputStream
2951  .computeEnumSize(14, useSwapActive_);
2952  }
2953  if (useExtendedSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2954  size += com.google.protobuf.CodedOutputStream
2955  .computeEnumSize(15, useExtendedSwapActive_);
2956  }
2957  if (usePathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2958  size += com.google.protobuf.CodedOutputStream
2959  .computeEnumSize(16, usePathLns_);
2960  }
2961  if (useFullPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2962  size += com.google.protobuf.CodedOutputStream
2963  .computeEnumSize(17, useFullPathLns_);
2964  }
2965  if (useTspLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2966  size += com.google.protobuf.CodedOutputStream
2967  .computeEnumSize(18, useTspLns_);
2968  }
2969  if (useInactiveLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2970  size += com.google.protobuf.CodedOutputStream
2971  .computeEnumSize(19, useInactiveLns_);
2972  }
2973  if (useNodePairSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2974  size += com.google.protobuf.CodedOutputStream
2975  .computeEnumSize(20, useNodePairSwapActive_);
2976  }
2977  if (useRelocateAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2978  size += com.google.protobuf.CodedOutputStream
2979  .computeEnumSize(21, useRelocateAndMakeActive_);
2980  }
2981  if (useExchangePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2982  size += com.google.protobuf.CodedOutputStream
2983  .computeEnumSize(22, useExchangePair_);
2984  }
2985  if (useRelocateExpensiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2986  size += com.google.protobuf.CodedOutputStream
2987  .computeEnumSize(23, useRelocateExpensiveChain_);
2988  }
2989  if (useLightRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2990  size += com.google.protobuf.CodedOutputStream
2991  .computeEnumSize(24, useLightRelocatePair_);
2992  }
2993  if (useRelocateSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2994  size += com.google.protobuf.CodedOutputStream
2995  .computeEnumSize(25, useRelocateSubtrip_);
2996  }
2997  if (useExchangeSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2998  size += com.google.protobuf.CodedOutputStream
2999  .computeEnumSize(26, useExchangeSubtrip_);
3000  }
3001  if (useGlobalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3002  size += com.google.protobuf.CodedOutputStream
3003  .computeEnumSize(27, useGlobalCheapestInsertionPathLns_);
3004  }
3005  if (useLocalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3006  size += com.google.protobuf.CodedOutputStream
3007  .computeEnumSize(28, useLocalCheapestInsertionPathLns_);
3008  }
3009  if (useGlobalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3010  size += com.google.protobuf.CodedOutputStream
3011  .computeEnumSize(29, useGlobalCheapestInsertionExpensiveChainLns_);
3012  }
3013  if (useLocalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3014  size += com.google.protobuf.CodedOutputStream
3015  .computeEnumSize(30, useLocalCheapestInsertionExpensiveChainLns_);
3016  }
3017  size += unknownFields.getSerializedSize();
3018  memoizedSize = size;
3019  return size;
3020  }
3021 
3022  @java.lang.Override
3023  public boolean equals(final java.lang.Object obj) {
3024  if (obj == this) {
3025  return true;
3026  }
3028  return super.equals(obj);
3029  }
3031 
3032  if (useRelocate_ != other.useRelocate_) return false;
3033  if (useRelocatePair_ != other.useRelocatePair_) return false;
3034  if (useLightRelocatePair_ != other.useLightRelocatePair_) return false;
3035  if (useRelocateNeighbors_ != other.useRelocateNeighbors_) return false;
3036  if (useRelocateSubtrip_ != other.useRelocateSubtrip_) return false;
3037  if (useExchange_ != other.useExchange_) return false;
3038  if (useExchangePair_ != other.useExchangePair_) return false;
3039  if (useExchangeSubtrip_ != other.useExchangeSubtrip_) return false;
3040  if (useCross_ != other.useCross_) return false;
3041  if (useCrossExchange_ != other.useCrossExchange_) return false;
3042  if (useRelocateExpensiveChain_ != other.useRelocateExpensiveChain_) return false;
3043  if (useTwoOpt_ != other.useTwoOpt_) return false;
3044  if (useOrOpt_ != other.useOrOpt_) return false;
3045  if (useLinKernighan_ != other.useLinKernighan_) return false;
3046  if (useTspOpt_ != other.useTspOpt_) return false;
3047  if (useMakeActive_ != other.useMakeActive_) return false;
3048  if (useRelocateAndMakeActive_ != other.useRelocateAndMakeActive_) return false;
3049  if (useMakeInactive_ != other.useMakeInactive_) return false;
3050  if (useMakeChainInactive_ != other.useMakeChainInactive_) return false;
3051  if (useSwapActive_ != other.useSwapActive_) return false;
3052  if (useExtendedSwapActive_ != other.useExtendedSwapActive_) return false;
3053  if (useNodePairSwapActive_ != other.useNodePairSwapActive_) return false;
3054  if (usePathLns_ != other.usePathLns_) return false;
3055  if (useFullPathLns_ != other.useFullPathLns_) return false;
3056  if (useTspLns_ != other.useTspLns_) return false;
3057  if (useInactiveLns_ != other.useInactiveLns_) return false;
3058  if (useGlobalCheapestInsertionPathLns_ != other.useGlobalCheapestInsertionPathLns_) return false;
3059  if (useLocalCheapestInsertionPathLns_ != other.useLocalCheapestInsertionPathLns_) return false;
3060  if (useGlobalCheapestInsertionExpensiveChainLns_ != other.useGlobalCheapestInsertionExpensiveChainLns_) return false;
3061  if (useLocalCheapestInsertionExpensiveChainLns_ != other.useLocalCheapestInsertionExpensiveChainLns_) return false;
3062  if (!unknownFields.equals(other.unknownFields)) return false;
3063  return true;
3064  }
3065 
3066  @java.lang.Override
3067  public int hashCode() {
3068  if (memoizedHashCode != 0) {
3069  return memoizedHashCode;
3070  }
3071  int hash = 41;
3072  hash = (19 * hash) + getDescriptor().hashCode();
3073  hash = (37 * hash) + USE_RELOCATE_FIELD_NUMBER;
3074  hash = (53 * hash) + useRelocate_;
3075  hash = (37 * hash) + USE_RELOCATE_PAIR_FIELD_NUMBER;
3076  hash = (53 * hash) + useRelocatePair_;
3077  hash = (37 * hash) + USE_LIGHT_RELOCATE_PAIR_FIELD_NUMBER;
3078  hash = (53 * hash) + useLightRelocatePair_;
3079  hash = (37 * hash) + USE_RELOCATE_NEIGHBORS_FIELD_NUMBER;
3080  hash = (53 * hash) + useRelocateNeighbors_;
3081  hash = (37 * hash) + USE_RELOCATE_SUBTRIP_FIELD_NUMBER;
3082  hash = (53 * hash) + useRelocateSubtrip_;
3083  hash = (37 * hash) + USE_EXCHANGE_FIELD_NUMBER;
3084  hash = (53 * hash) + useExchange_;
3085  hash = (37 * hash) + USE_EXCHANGE_PAIR_FIELD_NUMBER;
3086  hash = (53 * hash) + useExchangePair_;
3087  hash = (37 * hash) + USE_EXCHANGE_SUBTRIP_FIELD_NUMBER;
3088  hash = (53 * hash) + useExchangeSubtrip_;
3089  hash = (37 * hash) + USE_CROSS_FIELD_NUMBER;
3090  hash = (53 * hash) + useCross_;
3091  hash = (37 * hash) + USE_CROSS_EXCHANGE_FIELD_NUMBER;
3092  hash = (53 * hash) + useCrossExchange_;
3093  hash = (37 * hash) + USE_RELOCATE_EXPENSIVE_CHAIN_FIELD_NUMBER;
3094  hash = (53 * hash) + useRelocateExpensiveChain_;
3095  hash = (37 * hash) + USE_TWO_OPT_FIELD_NUMBER;
3096  hash = (53 * hash) + useTwoOpt_;
3097  hash = (37 * hash) + USE_OR_OPT_FIELD_NUMBER;
3098  hash = (53 * hash) + useOrOpt_;
3099  hash = (37 * hash) + USE_LIN_KERNIGHAN_FIELD_NUMBER;
3100  hash = (53 * hash) + useLinKernighan_;
3101  hash = (37 * hash) + USE_TSP_OPT_FIELD_NUMBER;
3102  hash = (53 * hash) + useTspOpt_;
3103  hash = (37 * hash) + USE_MAKE_ACTIVE_FIELD_NUMBER;
3104  hash = (53 * hash) + useMakeActive_;
3105  hash = (37 * hash) + USE_RELOCATE_AND_MAKE_ACTIVE_FIELD_NUMBER;
3106  hash = (53 * hash) + useRelocateAndMakeActive_;
3107  hash = (37 * hash) + USE_MAKE_INACTIVE_FIELD_NUMBER;
3108  hash = (53 * hash) + useMakeInactive_;
3109  hash = (37 * hash) + USE_MAKE_CHAIN_INACTIVE_FIELD_NUMBER;
3110  hash = (53 * hash) + useMakeChainInactive_;
3111  hash = (37 * hash) + USE_SWAP_ACTIVE_FIELD_NUMBER;
3112  hash = (53 * hash) + useSwapActive_;
3113  hash = (37 * hash) + USE_EXTENDED_SWAP_ACTIVE_FIELD_NUMBER;
3114  hash = (53 * hash) + useExtendedSwapActive_;
3115  hash = (37 * hash) + USE_NODE_PAIR_SWAP_ACTIVE_FIELD_NUMBER;
3116  hash = (53 * hash) + useNodePairSwapActive_;
3117  hash = (37 * hash) + USE_PATH_LNS_FIELD_NUMBER;
3118  hash = (53 * hash) + usePathLns_;
3119  hash = (37 * hash) + USE_FULL_PATH_LNS_FIELD_NUMBER;
3120  hash = (53 * hash) + useFullPathLns_;
3121  hash = (37 * hash) + USE_TSP_LNS_FIELD_NUMBER;
3122  hash = (53 * hash) + useTspLns_;
3123  hash = (37 * hash) + USE_INACTIVE_LNS_FIELD_NUMBER;
3124  hash = (53 * hash) + useInactiveLns_;
3126  hash = (53 * hash) + useGlobalCheapestInsertionPathLns_;
3128  hash = (53 * hash) + useLocalCheapestInsertionPathLns_;
3130  hash = (53 * hash) + useGlobalCheapestInsertionExpensiveChainLns_;
3132  hash = (53 * hash) + useLocalCheapestInsertionExpensiveChainLns_;
3133  hash = (29 * hash) + unknownFields.hashCode();
3134  memoizedHashCode = hash;
3135  return hash;
3136  }
3137 
3139  java.nio.ByteBuffer data)
3140  throws com.google.protobuf.InvalidProtocolBufferException {
3141  return PARSER.parseFrom(data);
3142  }
3144  java.nio.ByteBuffer data,
3145  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3146  throws com.google.protobuf.InvalidProtocolBufferException {
3147  return PARSER.parseFrom(data, extensionRegistry);
3148  }
3150  com.google.protobuf.ByteString data)
3151  throws com.google.protobuf.InvalidProtocolBufferException {
3152  return PARSER.parseFrom(data);
3153  }
3155  com.google.protobuf.ByteString data,
3156  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3157  throws com.google.protobuf.InvalidProtocolBufferException {
3158  return PARSER.parseFrom(data, extensionRegistry);
3159  }
3161  throws com.google.protobuf.InvalidProtocolBufferException {
3162  return PARSER.parseFrom(data);
3163  }
3165  byte[] data,
3166  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3167  throws com.google.protobuf.InvalidProtocolBufferException {
3168  return PARSER.parseFrom(data, extensionRegistry);
3169  }
3171  throws java.io.IOException {
3172  return com.google.protobuf.GeneratedMessageV3
3173  .parseWithIOException(PARSER, input);
3174  }
3176  java.io.InputStream input,
3177  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3178  throws java.io.IOException {
3179  return com.google.protobuf.GeneratedMessageV3
3180  .parseWithIOException(PARSER, input, extensionRegistry);
3181  }
3183  throws java.io.IOException {
3184  return com.google.protobuf.GeneratedMessageV3
3185  .parseDelimitedWithIOException(PARSER, input);
3186  }
3188  java.io.InputStream input,
3189  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3190  throws java.io.IOException {
3191  return com.google.protobuf.GeneratedMessageV3
3192  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
3193  }
3195  com.google.protobuf.CodedInputStream input)
3196  throws java.io.IOException {
3197  return com.google.protobuf.GeneratedMessageV3
3198  .parseWithIOException(PARSER, input);
3199  }
3201  com.google.protobuf.CodedInputStream input,
3202  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3203  throws java.io.IOException {
3204  return com.google.protobuf.GeneratedMessageV3
3205  .parseWithIOException(PARSER, input, extensionRegistry);
3206  }
3207 
3208  @java.lang.Override
3209  public Builder newBuilderForType() { return newBuilder(); }
3210  public static Builder newBuilder() {
3211  return DEFAULT_INSTANCE.toBuilder();
3212  }
3214  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
3215  }
3216  @java.lang.Override
3217  public Builder toBuilder() {
3218  return this == DEFAULT_INSTANCE
3219  ? new Builder() : new Builder().mergeFrom(this);
3220  }
3221 
3222  @java.lang.Override
3224  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
3225  Builder builder = new Builder(parent);
3226  return builder;
3227  }
3236  public static final class Builder extends
3237  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
3238  // @@protoc_insertion_point(builder_implements:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
3240  public static final com.google.protobuf.Descriptors.Descriptor
3242  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
3243  }
3244 
3245  @java.lang.Override
3246  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
3248  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_fieldAccessorTable
3249  .ensureFieldAccessorsInitialized(
3251  }
3252 
3253  // Construct using com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.newBuilder()
3254  private Builder() {
3255  maybeForceBuilderInitialization();
3256  }
3257 
3258  private Builder(
3259  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
3260  super(parent);
3261  maybeForceBuilderInitialization();
3262  }
3263  private void maybeForceBuilderInitialization() {
3264  if (com.google.protobuf.GeneratedMessageV3
3265  .alwaysUseFieldBuilders) {
3266  }
3267  }
3268  @java.lang.Override
3269  public Builder clear() {
3270  super.clear();
3271  useRelocate_ = 0;
3272 
3273  useRelocatePair_ = 0;
3274 
3275  useLightRelocatePair_ = 0;
3276 
3277  useRelocateNeighbors_ = 0;
3278 
3279  useRelocateSubtrip_ = 0;
3280 
3281  useExchange_ = 0;
3282 
3283  useExchangePair_ = 0;
3284 
3285  useExchangeSubtrip_ = 0;
3286 
3287  useCross_ = 0;
3288 
3289  useCrossExchange_ = 0;
3290 
3291  useRelocateExpensiveChain_ = 0;
3292 
3293  useTwoOpt_ = 0;
3294 
3295  useOrOpt_ = 0;
3296 
3297  useLinKernighan_ = 0;
3298 
3299  useTspOpt_ = 0;
3300 
3301  useMakeActive_ = 0;
3302 
3303  useRelocateAndMakeActive_ = 0;
3304 
3305  useMakeInactive_ = 0;
3306 
3307  useMakeChainInactive_ = 0;
3308 
3309  useSwapActive_ = 0;
3310 
3311  useExtendedSwapActive_ = 0;
3312 
3313  useNodePairSwapActive_ = 0;
3314 
3315  usePathLns_ = 0;
3316 
3317  useFullPathLns_ = 0;
3318 
3319  useTspLns_ = 0;
3320 
3321  useInactiveLns_ = 0;
3322 
3323  useGlobalCheapestInsertionPathLns_ = 0;
3324 
3325  useLocalCheapestInsertionPathLns_ = 0;
3326 
3327  useGlobalCheapestInsertionExpensiveChainLns_ = 0;
3328 
3329  useLocalCheapestInsertionExpensiveChainLns_ = 0;
3330 
3331  return this;
3332  }
3333 
3334  @java.lang.Override
3335  public com.google.protobuf.Descriptors.Descriptor
3337  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
3338  }
3339 
3340  @java.lang.Override
3343  }
3344 
3345  @java.lang.Override
3348  if (!result.isInitialized()) {
3349  throw newUninitializedMessageException(result);
3350  }
3351  return result;
3352  }
3353 
3354  @java.lang.Override
3357  result.useRelocate_ = useRelocate_;
3358  result.useRelocatePair_ = useRelocatePair_;
3359  result.useLightRelocatePair_ = useLightRelocatePair_;
3360  result.useRelocateNeighbors_ = useRelocateNeighbors_;
3361  result.useRelocateSubtrip_ = useRelocateSubtrip_;
3362  result.useExchange_ = useExchange_;
3363  result.useExchangePair_ = useExchangePair_;
3364  result.useExchangeSubtrip_ = useExchangeSubtrip_;
3365  result.useCross_ = useCross_;
3366  result.useCrossExchange_ = useCrossExchange_;
3367  result.useRelocateExpensiveChain_ = useRelocateExpensiveChain_;
3368  result.useTwoOpt_ = useTwoOpt_;
3369  result.useOrOpt_ = useOrOpt_;
3370  result.useLinKernighan_ = useLinKernighan_;
3371  result.useTspOpt_ = useTspOpt_;
3372  result.useMakeActive_ = useMakeActive_;
3373  result.useRelocateAndMakeActive_ = useRelocateAndMakeActive_;
3374  result.useMakeInactive_ = useMakeInactive_;
3375  result.useMakeChainInactive_ = useMakeChainInactive_;
3376  result.useSwapActive_ = useSwapActive_;
3377  result.useExtendedSwapActive_ = useExtendedSwapActive_;
3378  result.useNodePairSwapActive_ = useNodePairSwapActive_;
3379  result.usePathLns_ = usePathLns_;
3380  result.useFullPathLns_ = useFullPathLns_;
3381  result.useTspLns_ = useTspLns_;
3382  result.useInactiveLns_ = useInactiveLns_;
3383  result.useGlobalCheapestInsertionPathLns_ = useGlobalCheapestInsertionPathLns_;
3384  result.useLocalCheapestInsertionPathLns_ = useLocalCheapestInsertionPathLns_;
3385  result.useGlobalCheapestInsertionExpensiveChainLns_ = useGlobalCheapestInsertionExpensiveChainLns_;
3386  result.useLocalCheapestInsertionExpensiveChainLns_ = useLocalCheapestInsertionExpensiveChainLns_;
3387  onBuilt();
3388  return result;
3389  }
3390 
3391  @java.lang.Override
3392  public Builder clone() {
3393  return super.clone();
3394  }
3395  @java.lang.Override
3397  com.google.protobuf.Descriptors.FieldDescriptor field,
3398  java.lang.Object value) {
3399  return super.setField(field, value);
3400  }
3401  @java.lang.Override
3403  com.google.protobuf.Descriptors.FieldDescriptor field) {
3404  return super.clearField(field);
3405  }
3406  @java.lang.Override
3408  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
3409  return super.clearOneof(oneof);
3410  }
3411  @java.lang.Override
3413  com.google.protobuf.Descriptors.FieldDescriptor field,
3414  int index, java.lang.Object value) {
3415  return super.setRepeatedField(field, index, value);
3416  }
3417  @java.lang.Override
3419  com.google.protobuf.Descriptors.FieldDescriptor field,
3420  java.lang.Object value) {
3421  return super.addRepeatedField(field, value);
3422  }
3423  @java.lang.Override
3424  public Builder mergeFrom(com.google.protobuf.Message other) {
3427  } else {
3428  super.mergeFrom(other);
3429  return this;
3430  }
3431  }
3432 
3435  if (other.useRelocate_ != 0) {
3436  setUseRelocateValue(other.getUseRelocateValue());
3437  }
3438  if (other.useRelocatePair_ != 0) {
3439  setUseRelocatePairValue(other.getUseRelocatePairValue());
3440  }
3441  if (other.useLightRelocatePair_ != 0) {
3442  setUseLightRelocatePairValue(other.getUseLightRelocatePairValue());
3443  }
3444  if (other.useRelocateNeighbors_ != 0) {
3445  setUseRelocateNeighborsValue(other.getUseRelocateNeighborsValue());
3446  }
3447  if (other.useRelocateSubtrip_ != 0) {
3448  setUseRelocateSubtripValue(other.getUseRelocateSubtripValue());
3449  }
3450  if (other.useExchange_ != 0) {
3451  setUseExchangeValue(other.getUseExchangeValue());
3452  }
3453  if (other.useExchangePair_ != 0) {
3454  setUseExchangePairValue(other.getUseExchangePairValue());
3455  }
3456  if (other.useExchangeSubtrip_ != 0) {
3457  setUseExchangeSubtripValue(other.getUseExchangeSubtripValue());
3458  }
3459  if (other.useCross_ != 0) {
3460  setUseCrossValue(other.getUseCrossValue());
3461  }
3462  if (other.useCrossExchange_ != 0) {
3463  setUseCrossExchangeValue(other.getUseCrossExchangeValue());
3464  }
3465  if (other.useRelocateExpensiveChain_ != 0) {
3466  setUseRelocateExpensiveChainValue(other.getUseRelocateExpensiveChainValue());
3467  }
3468  if (other.useTwoOpt_ != 0) {
3469  setUseTwoOptValue(other.getUseTwoOptValue());
3470  }
3471  if (other.useOrOpt_ != 0) {
3472  setUseOrOptValue(other.getUseOrOptValue());
3473  }
3474  if (other.useLinKernighan_ != 0) {
3475  setUseLinKernighanValue(other.getUseLinKernighanValue());
3476  }
3477  if (other.useTspOpt_ != 0) {
3478  setUseTspOptValue(other.getUseTspOptValue());
3479  }
3480  if (other.useMakeActive_ != 0) {
3481  setUseMakeActiveValue(other.getUseMakeActiveValue());
3482  }
3483  if (other.useRelocateAndMakeActive_ != 0) {
3484  setUseRelocateAndMakeActiveValue(other.getUseRelocateAndMakeActiveValue());
3485  }
3486  if (other.useMakeInactive_ != 0) {
3487  setUseMakeInactiveValue(other.getUseMakeInactiveValue());
3488  }
3489  if (other.useMakeChainInactive_ != 0) {
3490  setUseMakeChainInactiveValue(other.getUseMakeChainInactiveValue());
3491  }
3492  if (other.useSwapActive_ != 0) {
3493  setUseSwapActiveValue(other.getUseSwapActiveValue());
3494  }
3495  if (other.useExtendedSwapActive_ != 0) {
3496  setUseExtendedSwapActiveValue(other.getUseExtendedSwapActiveValue());
3497  }
3498  if (other.useNodePairSwapActive_ != 0) {
3499  setUseNodePairSwapActiveValue(other.getUseNodePairSwapActiveValue());
3500  }
3501  if (other.usePathLns_ != 0) {
3502  setUsePathLnsValue(other.getUsePathLnsValue());
3503  }
3504  if (other.useFullPathLns_ != 0) {
3505  setUseFullPathLnsValue(other.getUseFullPathLnsValue());
3506  }
3507  if (other.useTspLns_ != 0) {
3508  setUseTspLnsValue(other.getUseTspLnsValue());
3509  }
3510  if (other.useInactiveLns_ != 0) {
3511  setUseInactiveLnsValue(other.getUseInactiveLnsValue());
3512  }
3513  if (other.useGlobalCheapestInsertionPathLns_ != 0) {
3514  setUseGlobalCheapestInsertionPathLnsValue(other.getUseGlobalCheapestInsertionPathLnsValue());
3515  }
3516  if (other.useLocalCheapestInsertionPathLns_ != 0) {
3517  setUseLocalCheapestInsertionPathLnsValue(other.getUseLocalCheapestInsertionPathLnsValue());
3518  }
3519  if (other.useGlobalCheapestInsertionExpensiveChainLns_ != 0) {
3520  setUseGlobalCheapestInsertionExpensiveChainLnsValue(other.getUseGlobalCheapestInsertionExpensiveChainLnsValue());
3521  }
3522  if (other.useLocalCheapestInsertionExpensiveChainLns_ != 0) {
3523  setUseLocalCheapestInsertionExpensiveChainLnsValue(other.getUseLocalCheapestInsertionExpensiveChainLnsValue());
3524  }
3525  this.mergeUnknownFields(other.unknownFields);
3526  onChanged();
3527  return this;
3528  }
3529 
3530  @java.lang.Override
3531  public final boolean isInitialized() {
3532  return true;
3533  }
3534 
3535  @java.lang.Override
3537  com.google.protobuf.CodedInputStream input,
3538  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3539  throws java.io.IOException {
3541  try {
3542  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
3543  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3545  throw e.unwrapIOException();
3546  } finally {
3547  if (parsedMessage != null) {
3548  mergeFrom(parsedMessage);
3549  }
3550  }
3551  return this;
3552  }
3553 
3554  private int useRelocate_ = 0;
3571  public int getUseRelocateValue() {
3572  return useRelocate_;
3573  }
3591  public Builder setUseRelocateValue(int value) {
3592  useRelocate_ = value;
3593  onChanged();
3594  return this;
3595  }
3613  @SuppressWarnings("deprecation")
3615  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3616  }
3635  if (value == null) {
3636  throw new NullPointerException();
3637  }
3638 
3639  useRelocate_ = value.getNumber();
3640  onChanged();
3641  return this;
3642  }
3660 
3661  useRelocate_ = 0;
3662  onChanged();
3663  return this;
3664  }
3665 
3666  private int useRelocatePair_ = 0;
3684  return useRelocatePair_;
3685  }
3703  public Builder setUseRelocatePairValue(int value) {
3704  useRelocatePair_ = value;
3705  onChanged();
3706  return this;
3707  }
3725  @SuppressWarnings("deprecation")
3727  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3728  }
3747  if (value == null) {
3748  throw new NullPointerException();
3749  }
3750 
3751  useRelocatePair_ = value.getNumber();
3752  onChanged();
3753  return this;
3754  }
3772 
3773  useRelocatePair_ = 0;
3774  onChanged();
3775  return this;
3776  }
3777 
3778  private int useLightRelocatePair_ = 0;
3794  return useLightRelocatePair_;
3795  }
3812  useLightRelocatePair_ = value;
3813  onChanged();
3814  return this;
3815  }
3831  @SuppressWarnings("deprecation")
3833  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3834  }
3851  if (value == null) {
3852  throw new NullPointerException();
3853  }
3854 
3855  useLightRelocatePair_ = value.getNumber();
3856  onChanged();
3857  return this;
3858  }
3874 
3875  useLightRelocatePair_ = 0;
3876  onChanged();
3877  return this;
3878  }
3879 
3880  private int useRelocateNeighbors_ = 0;
3911  return useRelocateNeighbors_;
3912  }
3944  useRelocateNeighbors_ = value;
3945  onChanged();
3946  return this;
3947  }
3978  @SuppressWarnings("deprecation")
3980  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3981  }
4013  if (value == null) {
4014  throw new NullPointerException();
4015  }
4016 
4017  useRelocateNeighbors_ = value.getNumber();
4018  onChanged();
4019  return this;
4020  }
4051 
4052  useRelocateNeighbors_ = 0;
4053  onChanged();
4054  return this;
4055  }
4056 
4057  private int useRelocateSubtrip_ = 0;
4078  return useRelocateSubtrip_;
4079  }
4101  useRelocateSubtrip_ = value;
4102  onChanged();
4103  return this;
4104  }
4125  @SuppressWarnings("deprecation")
4127  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4128  }
4150  if (value == null) {
4151  throw new NullPointerException();
4152  }
4153 
4154  useRelocateSubtrip_ = value.getNumber();
4155  onChanged();
4156  return this;
4157  }
4178 
4179  useRelocateSubtrip_ = 0;
4180  onChanged();
4181  return this;
4182  }
4183 
4184  private int useExchange_ = 0;
4199  public int getUseExchangeValue() {
4200  return useExchange_;
4201  }
4217  public Builder setUseExchangeValue(int value) {
4218  useExchange_ = value;
4219  onChanged();
4220  return this;
4221  }
4237  @SuppressWarnings("deprecation")
4239  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4240  }
4257  if (value == null) {
4258  throw new NullPointerException();
4259  }
4260 
4261  useExchange_ = value.getNumber();
4262  onChanged();
4263  return this;
4264  }
4280 
4281  useExchange_ = 0;
4282  onChanged();
4283  return this;
4284  }
4285 
4286  private int useExchangePair_ = 0;
4302  return useExchangePair_;
4303  }
4319  public Builder setUseExchangePairValue(int value) {
4320  useExchangePair_ = value;
4321  onChanged();
4322  return this;
4323  }
4339  @SuppressWarnings("deprecation")
4341  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4342  }
4359  if (value == null) {
4360  throw new NullPointerException();
4361  }
4362 
4363  useExchangePair_ = value.getNumber();
4364  onChanged();
4365  return this;
4366  }
4382 
4383  useExchangePair_ = 0;
4384  onChanged();
4385  return this;
4386  }
4387 
4388  private int useExchangeSubtrip_ = 0;
4399  return useExchangeSubtrip_;
4400  }
4412  useExchangeSubtrip_ = value;
4413  onChanged();
4414  return this;
4415  }
4426  @SuppressWarnings("deprecation")
4428  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4429  }
4441  if (value == null) {
4442  throw new NullPointerException();
4443  }
4444 
4445  useExchangeSubtrip_ = value.getNumber();
4446  onChanged();
4447  return this;
4448  }
4459 
4460  useExchangeSubtrip_ = 0;
4461  onChanged();
4462  return this;
4463  }
4464 
4465  private int useCross_ = 0;
4482  public int getUseCrossValue() {
4483  return useCross_;
4484  }
4502  public Builder setUseCrossValue(int value) {
4503  useCross_ = value;
4504  onChanged();
4505  return this;
4506  }
4524  @SuppressWarnings("deprecation")
4526  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4527  }
4546  if (value == null) {
4547  throw new NullPointerException();
4548  }
4549 
4550  useCross_ = value.getNumber();
4551  onChanged();
4552  return this;
4553  }
4571 
4572  useCross_ = 0;
4573  onChanged();
4574  return this;
4575  }
4576 
4577  private int useCrossExchange_ = 0;
4587  return useCrossExchange_;
4588  }
4598  public Builder setUseCrossExchangeValue(int value) {
4599  useCrossExchange_ = value;
4600  onChanged();
4601  return this;
4602  }
4612  @SuppressWarnings("deprecation")
4614  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4615  }
4626  if (value == null) {
4627  throw new NullPointerException();
4628  }
4629 
4630  useCrossExchange_ = value.getNumber();
4631  onChanged();
4632  return this;
4633  }
4643 
4644  useCrossExchange_ = 0;
4645  onChanged();
4646  return this;
4647  }
4648 
4649  private int useRelocateExpensiveChain_ = 0;
4668  return useRelocateExpensiveChain_;
4669  }
4689  useRelocateExpensiveChain_ = value;
4690  onChanged();
4691  return this;
4692  }
4711  @SuppressWarnings("deprecation")
4712  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateExpensiveChain_);
4713  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4714  }
4734  if (value == null) {
4735  throw new NullPointerException();
4736  }
4737 
4738  useRelocateExpensiveChain_ = value.getNumber();
4739  onChanged();
4740  return this;
4741  }
4760 
4761  useRelocateExpensiveChain_ = 0;
4762  onChanged();
4763  return this;
4764  }
4765 
4766  private int useTwoOpt_ = 0;
4784  public int getUseTwoOptValue() {
4785  return useTwoOpt_;
4786  }
4805  public Builder setUseTwoOptValue(int value) {
4806  useTwoOpt_ = value;
4807  onChanged();
4808  return this;
4809  }
4828  @SuppressWarnings("deprecation")
4830  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4831  }
4851  if (value == null) {
4852  throw new NullPointerException();
4853  }
4854 
4855  useTwoOpt_ = value.getNumber();
4856  onChanged();
4857  return this;
4858  }
4877 
4878  useTwoOpt_ = 0;
4879  onChanged();
4880  return this;
4881  }
4882 
4883  private int useOrOpt_ = 0;
4902  public int getUseOrOptValue() {
4903  return useOrOpt_;
4904  }
4924  public Builder setUseOrOptValue(int value) {
4925  useOrOpt_ = value;
4926  onChanged();
4927  return this;
4928  }
4948  @SuppressWarnings("deprecation")
4950  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4951  }
4972  if (value == null) {
4973  throw new NullPointerException();
4974  }
4975 
4976  useOrOpt_ = value.getNumber();
4977  onChanged();
4978  return this;
4979  }
4999 
5000  useOrOpt_ = 0;
5001  onChanged();
5002  return this;
5003  }
5004 
5005  private int useLinKernighan_ = 0;
5018  return useLinKernighan_;
5019  }
5032  public Builder setUseLinKernighanValue(int value) {
5033  useLinKernighan_ = value;
5034  onChanged();
5035  return this;
5036  }
5049  @SuppressWarnings("deprecation")
5051  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5052  }
5066  if (value == null) {
5067  throw new NullPointerException();
5068  }
5069 
5070  useLinKernighan_ = value.getNumber();
5071  onChanged();
5072  return this;
5073  }
5086 
5087  useLinKernighan_ = 0;
5088  onChanged();
5089  return this;
5090  }
5091 
5092  private int useTspOpt_ = 0;
5106  public int getUseTspOptValue() {
5107  return useTspOpt_;
5108  }
5123  public Builder setUseTspOptValue(int value) {
5124  useTspOpt_ = value;
5125  onChanged();
5126  return this;
5127  }
5142  @SuppressWarnings("deprecation")
5144  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5145  }
5161  if (value == null) {
5162  throw new NullPointerException();
5163  }
5164 
5165  useTspOpt_ = value.getNumber();
5166  onChanged();
5167  return this;
5168  }
5183 
5184  useTspOpt_ = 0;
5185  onChanged();
5186  return this;
5187  }
5188 
5189  private int useMakeActive_ = 0;
5204  public int getUseMakeActiveValue() {
5205  return useMakeActive_;
5206  }
5222  public Builder setUseMakeActiveValue(int value) {
5223  useMakeActive_ = value;
5224  onChanged();
5225  return this;
5226  }
5242  @SuppressWarnings("deprecation")
5244  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5245  }
5262  if (value == null) {
5263  throw new NullPointerException();
5264  }
5265 
5266  useMakeActive_ = value.getNumber();
5267  onChanged();
5268  return this;
5269  }
5285 
5286  useMakeActive_ = 0;
5287  onChanged();
5288  return this;
5289  }
5290 
5291  private int useRelocateAndMakeActive_ = 0;
5310  return useRelocateAndMakeActive_;
5311  }
5331  useRelocateAndMakeActive_ = value;
5332  onChanged();
5333  return this;
5334  }
5353  @SuppressWarnings("deprecation")
5354  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateAndMakeActive_);
5355  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5356  }
5376  if (value == null) {
5377  throw new NullPointerException();
5378  }
5379 
5380  useRelocateAndMakeActive_ = value.getNumber();
5381  onChanged();
5382  return this;
5383  }
5402 
5403  useRelocateAndMakeActive_ = 0;
5404  onChanged();
5405  return this;
5406  }
5407 
5408  private int useMakeInactive_ = 0;
5422  return useMakeInactive_;
5423  }
5437  public Builder setUseMakeInactiveValue(int value) {
5438  useMakeInactive_ = value;
5439  onChanged();
5440  return this;
5441  }
5455  @SuppressWarnings("deprecation")
5457  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5458  }
5473  if (value == null) {
5474  throw new NullPointerException();
5475  }
5476 
5477  useMakeInactive_ = value.getNumber();
5478  onChanged();
5479  return this;
5480  }
5494 
5495  useMakeInactive_ = 0;
5496  onChanged();
5497  return this;
5498  }
5499 
5500  private int useMakeChainInactive_ = 0;
5515  return useMakeChainInactive_;
5516  }
5532  useMakeChainInactive_ = value;
5533  onChanged();
5534  return this;
5535  }
5550  @SuppressWarnings("deprecation")
5552  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5553  }
5569  if (value == null) {
5570  throw new NullPointerException();
5571  }
5572 
5573  useMakeChainInactive_ = value.getNumber();
5574  onChanged();
5575  return this;
5576  }
5591 
5592  useMakeChainInactive_ = 0;
5593  onChanged();
5594  return this;
5595  }
5596 
5597  private int useSwapActive_ = 0;
5610  public int getUseSwapActiveValue() {
5611  return useSwapActive_;
5612  }
5626  public Builder setUseSwapActiveValue(int value) {
5627  useSwapActive_ = value;
5628  onChanged();
5629  return this;
5630  }
5644  @SuppressWarnings("deprecation")
5646  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5647  }
5662  if (value == null) {
5663  throw new NullPointerException();
5664  }
5665 
5666  useSwapActive_ = value.getNumber();
5667  onChanged();
5668  return this;
5669  }
5683 
5684  useSwapActive_ = 0;
5685  onChanged();
5686  return this;
5687  }
5688 
5689  private int useExtendedSwapActive_ = 0;
5708  return useExtendedSwapActive_;
5709  }
5729  useExtendedSwapActive_ = value;
5730  onChanged();
5731  return this;
5732  }
5751  @SuppressWarnings("deprecation")
5752  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useExtendedSwapActive_);
5753  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5754  }
5774  if (value == null) {
5775  throw new NullPointerException();
5776  }
5777 
5778  useExtendedSwapActive_ = value.getNumber();
5779  onChanged();
5780  return this;
5781  }
5800 
5801  useExtendedSwapActive_ = 0;
5802  onChanged();
5803  return this;
5804  }
5805 
5806  private int useNodePairSwapActive_ = 0;
5826  return useNodePairSwapActive_;
5827  }
5848  useNodePairSwapActive_ = value;
5849  onChanged();
5850  return this;
5851  }
5871  @SuppressWarnings("deprecation")
5872  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useNodePairSwapActive_);
5873  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5874  }
5895  if (value == null) {
5896  throw new NullPointerException();
5897  }
5898 
5899  useNodePairSwapActive_ = value.getNumber();
5900  onChanged();
5901  return this;
5902  }
5922 
5923  useNodePairSwapActive_ = 0;
5924  onChanged();
5925  return this;
5926  }
5927 
5928  private int usePathLns_ = 0;
5944  public int getUsePathLnsValue() {
5945  return usePathLns_;
5946  }
5963  public Builder setUsePathLnsValue(int value) {
5964  usePathLns_ = value;
5965  onChanged();
5966  return this;
5967  }
5984  @SuppressWarnings("deprecation")
5986  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5987  }
6005  if (value == null) {
6006  throw new NullPointerException();
6007  }
6008 
6009  usePathLns_ = value.getNumber();
6010  onChanged();
6011  return this;
6012  }
6029 
6030  usePathLns_ = 0;
6031  onChanged();
6032  return this;
6033  }
6034 
6035  private int useFullPathLns_ = 0;
6044  public int getUseFullPathLnsValue() {
6045  return useFullPathLns_;
6046  }
6056  public Builder setUseFullPathLnsValue(int value) {
6057  useFullPathLns_ = value;
6058  onChanged();
6059  return this;
6060  }
6070  @SuppressWarnings("deprecation")
6072  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6073  }
6084  if (value == null) {
6085  throw new NullPointerException();
6086  }
6087 
6088  useFullPathLns_ = value.getNumber();
6089  onChanged();
6090  return this;
6091  }
6101 
6102  useFullPathLns_ = 0;
6103  onChanged();
6104  return this;
6105  }
6106 
6107  private int useTspLns_ = 0;
6121  public int getUseTspLnsValue() {
6122  return useTspLns_;
6123  }
6138  public Builder setUseTspLnsValue(int value) {
6139  useTspLns_ = value;
6140  onChanged();
6141  return this;
6142  }
6157  @SuppressWarnings("deprecation")
6159  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6160  }
6176  if (value == null) {
6177  throw new NullPointerException();
6178  }
6179 
6180  useTspLns_ = value.getNumber();
6181  onChanged();
6182  return this;
6183  }
6198 
6199  useTspLns_ = 0;
6200  onChanged();
6201  return this;
6202  }
6203 
6204  private int useInactiveLns_ = 0;
6215  public int getUseInactiveLnsValue() {
6216  return useInactiveLns_;
6217  }
6229  public Builder setUseInactiveLnsValue(int value) {
6230  useInactiveLns_ = value;
6231  onChanged();
6232  return this;
6233  }
6245  @SuppressWarnings("deprecation")
6247  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6248  }
6261  if (value == null) {
6262  throw new NullPointerException();
6263  }
6264 
6265  useInactiveLns_ = value.getNumber();
6266  onChanged();
6267  return this;
6268  }
6280 
6281  useInactiveLns_ = 0;
6282  onChanged();
6283  return this;
6284  }
6285 
6286  private int useGlobalCheapestInsertionPathLns_ = 0;
6298  return useGlobalCheapestInsertionPathLns_;
6299  }
6312  useGlobalCheapestInsertionPathLns_ = value;
6313  onChanged();
6314  return this;
6315  }
6327  @SuppressWarnings("deprecation")
6328  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionPathLns_);
6329  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6330  }
6343  if (value == null) {
6344  throw new NullPointerException();
6345  }
6346 
6347  useGlobalCheapestInsertionPathLns_ = value.getNumber();
6348  onChanged();
6349  return this;
6350  }
6362 
6363  useGlobalCheapestInsertionPathLns_ = 0;
6364  onChanged();
6365  return this;
6366  }
6367 
6368  private int useLocalCheapestInsertionPathLns_ = 0;
6378  return useLocalCheapestInsertionPathLns_;
6379  }
6390  useLocalCheapestInsertionPathLns_ = value;
6391  onChanged();
6392  return this;
6393  }
6403  @SuppressWarnings("deprecation")
6404  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionPathLns_);
6405  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6406  }
6417  if (value == null) {
6418  throw new NullPointerException();
6419  }
6420 
6421  useLocalCheapestInsertionPathLns_ = value.getNumber();
6422  onChanged();
6423  return this;
6424  }
6434 
6435  useLocalCheapestInsertionPathLns_ = 0;
6436  onChanged();
6437  return this;
6438  }
6439 
6440  private int useGlobalCheapestInsertionExpensiveChainLns_ = 0;
6453  return useGlobalCheapestInsertionExpensiveChainLns_;
6454  }
6468  useGlobalCheapestInsertionExpensiveChainLns_ = value;
6469  onChanged();
6470  return this;
6471  }
6484  @SuppressWarnings("deprecation")
6485  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useGlobalCheapestInsertionExpensiveChainLns_);
6486  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6487  }
6501  if (value == null) {
6502  throw new NullPointerException();
6503  }
6504 
6505  useGlobalCheapestInsertionExpensiveChainLns_ = value.getNumber();
6506  onChanged();
6507  return this;
6508  }
6521 
6522  useGlobalCheapestInsertionExpensiveChainLns_ = 0;
6523  onChanged();
6524  return this;
6525  }
6526 
6527  private int useLocalCheapestInsertionExpensiveChainLns_ = 0;
6538  return useLocalCheapestInsertionExpensiveChainLns_;
6539  }
6551  useLocalCheapestInsertionExpensiveChainLns_ = value;
6552  onChanged();
6553  return this;
6554  }
6565  @SuppressWarnings("deprecation")
6566  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useLocalCheapestInsertionExpensiveChainLns_);
6567  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6568  }
6580  if (value == null) {
6581  throw new NullPointerException();
6582  }
6583 
6584  useLocalCheapestInsertionExpensiveChainLns_ = value.getNumber();
6585  onChanged();
6586  return this;
6587  }
6598 
6599  useLocalCheapestInsertionExpensiveChainLns_ = 0;
6600  onChanged();
6601  return this;
6602  }
6603  @java.lang.Override
6605  final com.google.protobuf.UnknownFieldSet unknownFields) {
6606  return super.setUnknownFields(unknownFields);
6607  }
6608 
6609  @java.lang.Override
6611  final com.google.protobuf.UnknownFieldSet unknownFields) {
6612  return super.mergeUnknownFields(unknownFields);
6613  }
6614 
6615 
6616  // @@protoc_insertion_point(builder_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
6617  }
6618 
6619  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
6621  static {
6623  }
6624 
6626  return DEFAULT_INSTANCE;
6627  }
6628 
6629  private static final com.google.protobuf.Parser<LocalSearchNeighborhoodOperators>
6630  PARSER = new com.google.protobuf.AbstractParser<LocalSearchNeighborhoodOperators>() {
6631  @java.lang.Override
6632  public LocalSearchNeighborhoodOperators parsePartialFrom(
6633  com.google.protobuf.CodedInputStream input,
6634  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6635  throws com.google.protobuf.InvalidProtocolBufferException {
6636  return new LocalSearchNeighborhoodOperators(input, extensionRegistry);
6637  }
6638  };
6639 
6640  public static com.google.protobuf.Parser<LocalSearchNeighborhoodOperators> parser() {
6641  return PARSER;
6642  }
6643 
6644  @java.lang.Override
6646  return PARSER;
6647  }
6648 
6649  @java.lang.Override
6651  return DEFAULT_INSTANCE;
6652  }
6653 
6654  }
6655 
6656  public static final int FIRST_SOLUTION_STRATEGY_FIELD_NUMBER = 1;
6657  private int firstSolutionStrategy_;
6667  return firstSolutionStrategy_;
6668  }
6678  @SuppressWarnings("deprecation")
6680  return result == null ? com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNRECOGNIZED : result;
6681  }
6682 
6684  private boolean useUnfilteredFirstSolutionStrategy_;
6696  return useUnfilteredFirstSolutionStrategy_;
6697  }
6698 
6699  public static final int SAVINGS_NEIGHBORS_RATIO_FIELD_NUMBER = 14;
6700  private double savingsNeighborsRatio_;
6711  public double getSavingsNeighborsRatio() {
6712  return savingsNeighborsRatio_;
6713  }
6714 
6715  public static final int SAVINGS_MAX_MEMORY_USAGE_BYTES_FIELD_NUMBER = 23;
6716  private double savingsMaxMemoryUsageBytes_;
6731  return savingsMaxMemoryUsageBytes_;
6732  }
6733 
6734  public static final int SAVINGS_ADD_REVERSE_ARCS_FIELD_NUMBER = 15;
6735  private boolean savingsAddReverseArcs_;
6745  public boolean getSavingsAddReverseArcs() {
6746  return savingsAddReverseArcs_;
6747  }
6748 
6749  public static final int SAVINGS_ARC_COEFFICIENT_FIELD_NUMBER = 18;
6750  private double savingsArcCoefficient_;
6763  public double getSavingsArcCoefficient() {
6764  return savingsArcCoefficient_;
6765  }
6766 
6767  public static final int SAVINGS_PARALLEL_ROUTES_FIELD_NUMBER = 19;
6768  private boolean savingsParallelRoutes_;
6777  public boolean getSavingsParallelRoutes() {
6778  return savingsParallelRoutes_;
6779  }
6780 
6782  private double cheapestInsertionFarthestSeedsRatio_;
6794  return cheapestInsertionFarthestSeedsRatio_;
6795  }
6796 
6798  private double cheapestInsertionFirstSolutionNeighborsRatio_;
6812  return cheapestInsertionFirstSolutionNeighborsRatio_;
6813  }
6814 
6816  private double cheapestInsertionLsOperatorNeighborsRatio_;
6828  return cheapestInsertionLsOperatorNeighborsRatio_;
6829  }
6830 
6832  private boolean christofidesUseMinimumMatching_;
6843  return christofidesUseMinimumMatching_;
6844  }
6845 
6846  public static final int LOCAL_SEARCH_OPERATORS_FIELD_NUMBER = 3;
6852  public boolean hasLocalSearchOperators() {
6853  return localSearchOperators_ != null;
6854  }
6860  return localSearchOperators_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
6861  }
6866  return getLocalSearchOperators();
6867  }
6868 
6870  private int relocateExpensiveChainNumArcsToConsider_;
6886  return relocateExpensiveChainNumArcsToConsider_;
6887  }
6888 
6890  private int heuristicExpensiveChainLnsNumArcsToConsider_;
6901  return heuristicExpensiveChainLnsNumArcsToConsider_;
6902  }
6903 
6904  public static final int LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER = 4;
6905  private int localSearchMetaheuristic_;
6915  return localSearchMetaheuristic_;
6916  }
6926  @SuppressWarnings("deprecation")
6929  }
6930 
6932  private double guidedLocalSearchLambdaCoefficient_;
6945  return guidedLocalSearchLambdaCoefficient_;
6946  }
6947 
6948  public static final int USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER = 6;
6949  private boolean useDepthFirstSearch_;
6960  public boolean getUseDepthFirstSearch() {
6961  return useDepthFirstSearch_;
6962  }
6963 
6964  public static final int USE_CP_FIELD_NUMBER = 28;
6965  private int useCp_;
6976  public int getUseCpValue() {
6977  return useCp_;
6978  }
6990  @SuppressWarnings("deprecation")
6992  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
6993  }
6994 
6995  public static final int USE_CP_SAT_FIELD_NUMBER = 27;
6996  private int useCpSat_;
7008  public int getUseCpSatValue() {
7009  return useCpSat_;
7010  }
7023  @SuppressWarnings("deprecation")
7025  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7026  }
7027 
7028  public static final int CONTINUOUS_SCHEDULING_SOLVER_FIELD_NUMBER = 33;
7029  private int continuousSchedulingSolver_;
7035  return continuousSchedulingSolver_;
7036  }
7042  @SuppressWarnings("deprecation")
7045  }
7046 
7047  public static final int MIXED_INTEGER_SCHEDULING_SOLVER_FIELD_NUMBER = 34;
7048  private int mixedIntegerSchedulingSolver_;
7054  return mixedIntegerSchedulingSolver_;
7055  }
7061  @SuppressWarnings("deprecation")
7064  }
7065 
7066  public static final int OPTIMIZATION_STEP_FIELD_NUMBER = 7;
7067  private double optimizationStep_;
7078  public double getOptimizationStep() {
7079  return optimizationStep_;
7080  }
7081 
7082  public static final int NUMBER_OF_SOLUTIONS_TO_COLLECT_FIELD_NUMBER = 17;
7083  private int numberOfSolutionsToCollect_;
7094  return numberOfSolutionsToCollect_;
7095  }
7096 
7097  public static final int SOLUTION_LIMIT_FIELD_NUMBER = 8;
7098  private long solutionLimit_;
7109  public long getSolutionLimit() {
7110  return solutionLimit_;
7111  }
7112 
7113  public static final int TIME_LIMIT_FIELD_NUMBER = 9;
7114  private com.google.protobuf.Duration timeLimit_;
7123  public boolean hasTimeLimit() {
7124  return timeLimit_ != null;
7125  }
7134  public com.google.protobuf.Duration getTimeLimit() {
7135  return timeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
7136  }
7144  public com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder() {
7145  return getTimeLimit();
7146  }
7147 
7148  public static final int LNS_TIME_LIMIT_FIELD_NUMBER = 10;
7149  private com.google.protobuf.Duration lnsTimeLimit_;
7159  public boolean hasLnsTimeLimit() {
7160  return lnsTimeLimit_ != null;
7161  }
7171  public com.google.protobuf.Duration getLnsTimeLimit() {
7172  return lnsTimeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
7173  }
7182  public com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder() {
7183  return getLnsTimeLimit();
7184  }
7185 
7186  public static final int USE_FULL_PROPAGATION_FIELD_NUMBER = 11;
7187  private boolean useFullPropagation_;
7204  public boolean getUseFullPropagation() {
7205  return useFullPropagation_;
7206  }
7207 
7208  public static final int LOG_SEARCH_FIELD_NUMBER = 13;
7209  private boolean logSearch_;
7229  public boolean getLogSearch() {
7230  return logSearch_;
7231  }
7232 
7233  public static final int LOG_COST_SCALING_FACTOR_FIELD_NUMBER = 22;
7234  private double logCostScalingFactor_;
7244  public double getLogCostScalingFactor() {
7245  return logCostScalingFactor_;
7246  }
7247 
7248  public static final int LOG_COST_OFFSET_FIELD_NUMBER = 29;
7249  private double logCostOffset_;
7254  public double getLogCostOffset() {
7255  return logCostOffset_;
7256  }
7257 
7258  private byte memoizedIsInitialized = -1;
7259  @java.lang.Override
7260  public final boolean isInitialized() {
7261  byte isInitialized = memoizedIsInitialized;
7262  if (isInitialized == 1) return true;
7263  if (isInitialized == 0) return false;
7264 
7265  memoizedIsInitialized = 1;
7266  return true;
7267  }
7268 
7269  @java.lang.Override
7270  public void writeTo(com.google.protobuf.CodedOutputStream output)
7271  throws java.io.IOException {
7272  if (firstSolutionStrategy_ != com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNSET.getNumber()) {
7273  output.writeEnum(1, firstSolutionStrategy_);
7274  }
7275  if (useUnfilteredFirstSolutionStrategy_ != false) {
7276  output.writeBool(2, useUnfilteredFirstSolutionStrategy_);
7277  }
7278  if (localSearchOperators_ != null) {
7279  output.writeMessage(3, getLocalSearchOperators());
7280  }
7281  if (localSearchMetaheuristic_ != com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNSET.getNumber()) {
7282  output.writeEnum(4, localSearchMetaheuristic_);
7283  }
7284  if (guidedLocalSearchLambdaCoefficient_ != 0D) {
7285  output.writeDouble(5, guidedLocalSearchLambdaCoefficient_);
7286  }
7287  if (useDepthFirstSearch_ != false) {
7288  output.writeBool(6, useDepthFirstSearch_);
7289  }
7290  if (optimizationStep_ != 0D) {
7291  output.writeDouble(7, optimizationStep_);
7292  }
7293  if (solutionLimit_ != 0L) {
7294  output.writeInt64(8, solutionLimit_);
7295  }
7296  if (timeLimit_ != null) {
7297  output.writeMessage(9, getTimeLimit());
7298  }
7299  if (lnsTimeLimit_ != null) {
7300  output.writeMessage(10, getLnsTimeLimit());
7301  }
7302  if (useFullPropagation_ != false) {
7303  output.writeBool(11, useFullPropagation_);
7304  }
7305  if (logSearch_ != false) {
7306  output.writeBool(13, logSearch_);
7307  }
7308  if (savingsNeighborsRatio_ != 0D) {
7309  output.writeDouble(14, savingsNeighborsRatio_);
7310  }
7311  if (savingsAddReverseArcs_ != false) {
7312  output.writeBool(15, savingsAddReverseArcs_);
7313  }
7314  if (cheapestInsertionFarthestSeedsRatio_ != 0D) {
7315  output.writeDouble(16, cheapestInsertionFarthestSeedsRatio_);
7316  }
7317  if (numberOfSolutionsToCollect_ != 0) {
7318  output.writeInt32(17, numberOfSolutionsToCollect_);
7319  }
7320  if (savingsArcCoefficient_ != 0D) {
7321  output.writeDouble(18, savingsArcCoefficient_);
7322  }
7323  if (savingsParallelRoutes_ != false) {
7324  output.writeBool(19, savingsParallelRoutes_);
7325  }
7326  if (relocateExpensiveChainNumArcsToConsider_ != 0) {
7327  output.writeInt32(20, relocateExpensiveChainNumArcsToConsider_);
7328  }
7329  if (cheapestInsertionFirstSolutionNeighborsRatio_ != 0D) {
7330  output.writeDouble(21, cheapestInsertionFirstSolutionNeighborsRatio_);
7331  }
7332  if (logCostScalingFactor_ != 0D) {
7333  output.writeDouble(22, logCostScalingFactor_);
7334  }
7335  if (savingsMaxMemoryUsageBytes_ != 0D) {
7336  output.writeDouble(23, savingsMaxMemoryUsageBytes_);
7337  }
7338  if (useCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
7339  output.writeEnum(27, useCpSat_);
7340  }
7341  if (useCp_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
7342  output.writeEnum(28, useCp_);
7343  }
7344  if (logCostOffset_ != 0D) {
7345  output.writeDouble(29, logCostOffset_);
7346  }
7347  if (christofidesUseMinimumMatching_ != false) {
7348  output.writeBool(30, christofidesUseMinimumMatching_);
7349  }
7350  if (cheapestInsertionLsOperatorNeighborsRatio_ != 0D) {
7351  output.writeDouble(31, cheapestInsertionLsOperatorNeighborsRatio_);
7352  }
7353  if (heuristicExpensiveChainLnsNumArcsToConsider_ != 0) {
7354  output.writeInt32(32, heuristicExpensiveChainLnsNumArcsToConsider_);
7355  }
7356  if (continuousSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNSET.getNumber()) {
7357  output.writeEnum(33, continuousSchedulingSolver_);
7358  }
7359  if (mixedIntegerSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNSET.getNumber()) {
7360  output.writeEnum(34, mixedIntegerSchedulingSolver_);
7361  }
7362  unknownFields.writeTo(output);
7363  }
7364 
7365  @java.lang.Override
7366  public int getSerializedSize() {
7367  int size = memoizedSize;
7368  if (size != -1) return size;
7369 
7370  size = 0;
7371  if (firstSolutionStrategy_ != com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNSET.getNumber()) {
7372  size += com.google.protobuf.CodedOutputStream
7373  .computeEnumSize(1, firstSolutionStrategy_);
7374  }
7375  if (useUnfilteredFirstSolutionStrategy_ != false) {
7376  size += com.google.protobuf.CodedOutputStream
7377  .computeBoolSize(2, useUnfilteredFirstSolutionStrategy_);
7378  }
7379  if (localSearchOperators_ != null) {
7380  size += com.google.protobuf.CodedOutputStream
7381  .computeMessageSize(3, getLocalSearchOperators());
7382  }
7383  if (localSearchMetaheuristic_ != com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNSET.getNumber()) {
7384  size += com.google.protobuf.CodedOutputStream
7385  .computeEnumSize(4, localSearchMetaheuristic_);
7386  }
7387  if (guidedLocalSearchLambdaCoefficient_ != 0D) {
7388  size += com.google.protobuf.CodedOutputStream
7389  .computeDoubleSize(5, guidedLocalSearchLambdaCoefficient_);
7390  }
7391  if (useDepthFirstSearch_ != false) {
7392  size += com.google.protobuf.CodedOutputStream
7393  .computeBoolSize(6, useDepthFirstSearch_);
7394  }
7395  if (optimizationStep_ != 0D) {
7396  size += com.google.protobuf.CodedOutputStream
7397  .computeDoubleSize(7, optimizationStep_);
7398  }
7399  if (solutionLimit_ != 0L) {
7400  size += com.google.protobuf.CodedOutputStream
7401  .computeInt64Size(8, solutionLimit_);
7402  }
7403  if (timeLimit_ != null) {
7404  size += com.google.protobuf.CodedOutputStream
7405  .computeMessageSize(9, getTimeLimit());
7406  }
7407  if (lnsTimeLimit_ != null) {
7408  size += com.google.protobuf.CodedOutputStream
7409  .computeMessageSize(10, getLnsTimeLimit());
7410  }
7411  if (useFullPropagation_ != false) {
7412  size += com.google.protobuf.CodedOutputStream
7413  .computeBoolSize(11, useFullPropagation_);
7414  }
7415  if (logSearch_ != false) {
7416  size += com.google.protobuf.CodedOutputStream
7417  .computeBoolSize(13, logSearch_);
7418  }
7419  if (savingsNeighborsRatio_ != 0D) {
7420  size += com.google.protobuf.CodedOutputStream
7421  .computeDoubleSize(14, savingsNeighborsRatio_);
7422  }
7423  if (savingsAddReverseArcs_ != false) {
7424  size += com.google.protobuf.CodedOutputStream
7425  .computeBoolSize(15, savingsAddReverseArcs_);
7426  }
7427  if (cheapestInsertionFarthestSeedsRatio_ != 0D) {
7428  size += com.google.protobuf.CodedOutputStream
7429  .computeDoubleSize(16, cheapestInsertionFarthestSeedsRatio_);
7430  }
7431  if (numberOfSolutionsToCollect_ != 0) {
7432  size += com.google.protobuf.CodedOutputStream
7433  .computeInt32Size(17, numberOfSolutionsToCollect_);
7434  }
7435  if (savingsArcCoefficient_ != 0D) {
7436  size += com.google.protobuf.CodedOutputStream
7437  .computeDoubleSize(18, savingsArcCoefficient_);
7438  }
7439  if (savingsParallelRoutes_ != false) {
7440  size += com.google.protobuf.CodedOutputStream
7441  .computeBoolSize(19, savingsParallelRoutes_);
7442  }
7443  if (relocateExpensiveChainNumArcsToConsider_ != 0) {
7444  size += com.google.protobuf.CodedOutputStream
7445  .computeInt32Size(20, relocateExpensiveChainNumArcsToConsider_);
7446  }
7447  if (cheapestInsertionFirstSolutionNeighborsRatio_ != 0D) {
7448  size += com.google.protobuf.CodedOutputStream
7449  .computeDoubleSize(21, cheapestInsertionFirstSolutionNeighborsRatio_);
7450  }
7451  if (logCostScalingFactor_ != 0D) {
7452  size += com.google.protobuf.CodedOutputStream
7453  .computeDoubleSize(22, logCostScalingFactor_);
7454  }
7455  if (savingsMaxMemoryUsageBytes_ != 0D) {
7456  size += com.google.protobuf.CodedOutputStream
7457  .computeDoubleSize(23, savingsMaxMemoryUsageBytes_);
7458  }
7459  if (useCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
7460  size += com.google.protobuf.CodedOutputStream
7461  .computeEnumSize(27, useCpSat_);
7462  }
7463  if (useCp_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
7464  size += com.google.protobuf.CodedOutputStream
7465  .computeEnumSize(28, useCp_);
7466  }
7467  if (logCostOffset_ != 0D) {
7468  size += com.google.protobuf.CodedOutputStream
7469  .computeDoubleSize(29, logCostOffset_);
7470  }
7471  if (christofidesUseMinimumMatching_ != false) {
7472  size += com.google.protobuf.CodedOutputStream
7473  .computeBoolSize(30, christofidesUseMinimumMatching_);
7474  }
7475  if (cheapestInsertionLsOperatorNeighborsRatio_ != 0D) {
7476  size += com.google.protobuf.CodedOutputStream
7477  .computeDoubleSize(31, cheapestInsertionLsOperatorNeighborsRatio_);
7478  }
7479  if (heuristicExpensiveChainLnsNumArcsToConsider_ != 0) {
7480  size += com.google.protobuf.CodedOutputStream
7481  .computeInt32Size(32, heuristicExpensiveChainLnsNumArcsToConsider_);
7482  }
7483  if (continuousSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNSET.getNumber()) {
7484  size += com.google.protobuf.CodedOutputStream
7485  .computeEnumSize(33, continuousSchedulingSolver_);
7486  }
7487  if (mixedIntegerSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.UNSET.getNumber()) {
7488  size += com.google.protobuf.CodedOutputStream
7489  .computeEnumSize(34, mixedIntegerSchedulingSolver_);
7490  }
7491  size += unknownFields.getSerializedSize();
7492  memoizedSize = size;
7493  return size;
7494  }
7495 
7496  @java.lang.Override
7497  public boolean equals(final java.lang.Object obj) {
7498  if (obj == this) {
7499  return true;
7500  }
7501  if (!(obj instanceof com.google.ortools.constraintsolver.RoutingSearchParameters)) {
7502  return super.equals(obj);
7503  }
7505 
7506  if (firstSolutionStrategy_ != other.firstSolutionStrategy_) return false;
7508  != other.getUseUnfilteredFirstSolutionStrategy()) return false;
7509  if (java.lang.Double.doubleToLongBits(getSavingsNeighborsRatio())
7510  != java.lang.Double.doubleToLongBits(
7511  other.getSavingsNeighborsRatio())) return false;
7512  if (java.lang.Double.doubleToLongBits(getSavingsMaxMemoryUsageBytes())
7513  != java.lang.Double.doubleToLongBits(
7514  other.getSavingsMaxMemoryUsageBytes())) return false;
7516  != other.getSavingsAddReverseArcs()) return false;
7517  if (java.lang.Double.doubleToLongBits(getSavingsArcCoefficient())
7518  != java.lang.Double.doubleToLongBits(
7519  other.getSavingsArcCoefficient())) return false;
7521  != other.getSavingsParallelRoutes()) return false;
7522  if (java.lang.Double.doubleToLongBits(getCheapestInsertionFarthestSeedsRatio())
7523  != java.lang.Double.doubleToLongBits(
7524  other.getCheapestInsertionFarthestSeedsRatio())) return false;
7525  if (java.lang.Double.doubleToLongBits(getCheapestInsertionFirstSolutionNeighborsRatio())
7526  != java.lang.Double.doubleToLongBits(
7527  other.getCheapestInsertionFirstSolutionNeighborsRatio())) return false;
7528  if (java.lang.Double.doubleToLongBits(getCheapestInsertionLsOperatorNeighborsRatio())
7529  != java.lang.Double.doubleToLongBits(
7530  other.getCheapestInsertionLsOperatorNeighborsRatio())) return false;
7532  != other.getChristofidesUseMinimumMatching()) return false;
7533  if (hasLocalSearchOperators() != other.hasLocalSearchOperators()) return false;
7534  if (hasLocalSearchOperators()) {
7536  .equals(other.getLocalSearchOperators())) return false;
7537  }
7539  != other.getRelocateExpensiveChainNumArcsToConsider()) return false;
7541  != other.getHeuristicExpensiveChainLnsNumArcsToConsider()) return false;
7542  if (localSearchMetaheuristic_ != other.localSearchMetaheuristic_) return false;
7543  if (java.lang.Double.doubleToLongBits(getGuidedLocalSearchLambdaCoefficient())
7544  != java.lang.Double.doubleToLongBits(
7545  other.getGuidedLocalSearchLambdaCoefficient())) return false;
7547  != other.getUseDepthFirstSearch()) return false;
7548  if (useCp_ != other.useCp_) return false;
7549  if (useCpSat_ != other.useCpSat_) return false;
7550  if (continuousSchedulingSolver_ != other.continuousSchedulingSolver_) return false;
7551  if (mixedIntegerSchedulingSolver_ != other.mixedIntegerSchedulingSolver_) return false;
7552  if (java.lang.Double.doubleToLongBits(getOptimizationStep())
7553  != java.lang.Double.doubleToLongBits(
7554  other.getOptimizationStep())) return false;
7556  != other.getNumberOfSolutionsToCollect()) return false;
7557  if (getSolutionLimit()
7558  != other.getSolutionLimit()) return false;
7559  if (hasTimeLimit() != other.hasTimeLimit()) return false;
7560  if (hasTimeLimit()) {
7561  if (!getTimeLimit()
7562  .equals(other.getTimeLimit())) return false;
7563  }
7564  if (hasLnsTimeLimit() != other.hasLnsTimeLimit()) return false;
7565  if (hasLnsTimeLimit()) {
7566  if (!getLnsTimeLimit()
7567  .equals(other.getLnsTimeLimit())) return false;
7568  }
7569  if (getUseFullPropagation()
7570  != other.getUseFullPropagation()) return false;
7571  if (getLogSearch()
7572  != other.getLogSearch()) return false;
7573  if (java.lang.Double.doubleToLongBits(getLogCostScalingFactor())
7574  != java.lang.Double.doubleToLongBits(
7575  other.getLogCostScalingFactor())) return false;
7576  if (java.lang.Double.doubleToLongBits(getLogCostOffset())
7577  != java.lang.Double.doubleToLongBits(
7578  other.getLogCostOffset())) return false;
7579  if (!unknownFields.equals(other.unknownFields)) return false;
7580  return true;
7581  }
7582 
7583  @java.lang.Override
7584  public int hashCode() {
7585  if (memoizedHashCode != 0) {
7586  return memoizedHashCode;
7587  }
7588  int hash = 41;
7589  hash = (19 * hash) + getDescriptor().hashCode();
7590  hash = (37 * hash) + FIRST_SOLUTION_STRATEGY_FIELD_NUMBER;
7591  hash = (53 * hash) + firstSolutionStrategy_;
7593  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
7595  hash = (37 * hash) + SAVINGS_NEIGHBORS_RATIO_FIELD_NUMBER;
7596  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7597  java.lang.Double.doubleToLongBits(getSavingsNeighborsRatio()));
7598  hash = (37 * hash) + SAVINGS_MAX_MEMORY_USAGE_BYTES_FIELD_NUMBER;
7599  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7600  java.lang.Double.doubleToLongBits(getSavingsMaxMemoryUsageBytes()));
7601  hash = (37 * hash) + SAVINGS_ADD_REVERSE_ARCS_FIELD_NUMBER;
7602  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
7604  hash = (37 * hash) + SAVINGS_ARC_COEFFICIENT_FIELD_NUMBER;
7605  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7606  java.lang.Double.doubleToLongBits(getSavingsArcCoefficient()));
7607  hash = (37 * hash) + SAVINGS_PARALLEL_ROUTES_FIELD_NUMBER;
7608  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
7611  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7612  java.lang.Double.doubleToLongBits(getCheapestInsertionFarthestSeedsRatio()));
7614  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7615  java.lang.Double.doubleToLongBits(getCheapestInsertionFirstSolutionNeighborsRatio()));
7617  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7618  java.lang.Double.doubleToLongBits(getCheapestInsertionLsOperatorNeighborsRatio()));
7620  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
7622  if (hasLocalSearchOperators()) {
7623  hash = (37 * hash) + LOCAL_SEARCH_OPERATORS_FIELD_NUMBER;
7624  hash = (53 * hash) + getLocalSearchOperators().hashCode();
7625  }
7627  hash = (53 * hash) + getRelocateExpensiveChainNumArcsToConsider();
7629  hash = (53 * hash) + getHeuristicExpensiveChainLnsNumArcsToConsider();
7630  hash = (37 * hash) + LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER;
7631  hash = (53 * hash) + localSearchMetaheuristic_;
7633  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7634  java.lang.Double.doubleToLongBits(getGuidedLocalSearchLambdaCoefficient()));
7635  hash = (37 * hash) + USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER;
7636  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
7638  hash = (37 * hash) + USE_CP_FIELD_NUMBER;
7639  hash = (53 * hash) + useCp_;
7640  hash = (37 * hash) + USE_CP_SAT_FIELD_NUMBER;
7641  hash = (53 * hash) + useCpSat_;
7642  hash = (37 * hash) + CONTINUOUS_SCHEDULING_SOLVER_FIELD_NUMBER;
7643  hash = (53 * hash) + continuousSchedulingSolver_;
7644  hash = (37 * hash) + MIXED_INTEGER_SCHEDULING_SOLVER_FIELD_NUMBER;
7645  hash = (53 * hash) + mixedIntegerSchedulingSolver_;
7646  hash = (37 * hash) + OPTIMIZATION_STEP_FIELD_NUMBER;
7647  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7648  java.lang.Double.doubleToLongBits(getOptimizationStep()));
7649  hash = (37 * hash) + NUMBER_OF_SOLUTIONS_TO_COLLECT_FIELD_NUMBER;
7650  hash = (53 * hash) + getNumberOfSolutionsToCollect();
7651  hash = (37 * hash) + SOLUTION_LIMIT_FIELD_NUMBER;
7652  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7653  getSolutionLimit());
7654  if (hasTimeLimit()) {
7655  hash = (37 * hash) + TIME_LIMIT_FIELD_NUMBER;
7656  hash = (53 * hash) + getTimeLimit().hashCode();
7657  }
7658  if (hasLnsTimeLimit()) {
7659  hash = (37 * hash) + LNS_TIME_LIMIT_FIELD_NUMBER;
7660  hash = (53 * hash) + getLnsTimeLimit().hashCode();
7661  }
7662  hash = (37 * hash) + USE_FULL_PROPAGATION_FIELD_NUMBER;
7663  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
7665  hash = (37 * hash) + LOG_SEARCH_FIELD_NUMBER;
7666  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
7667  getLogSearch());
7668  hash = (37 * hash) + LOG_COST_SCALING_FACTOR_FIELD_NUMBER;
7669  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7670  java.lang.Double.doubleToLongBits(getLogCostScalingFactor()));
7671  hash = (37 * hash) + LOG_COST_OFFSET_FIELD_NUMBER;
7672  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
7673  java.lang.Double.doubleToLongBits(getLogCostOffset()));
7674  hash = (29 * hash) + unknownFields.hashCode();
7675  memoizedHashCode = hash;
7676  return hash;
7677  }
7678 
7680  java.nio.ByteBuffer data)
7681  throws com.google.protobuf.InvalidProtocolBufferException {
7682  return PARSER.parseFrom(data);
7683  }
7685  java.nio.ByteBuffer data,
7686  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7687  throws com.google.protobuf.InvalidProtocolBufferException {
7688  return PARSER.parseFrom(data, extensionRegistry);
7689  }
7691  com.google.protobuf.ByteString data)
7692  throws com.google.protobuf.InvalidProtocolBufferException {
7693  return PARSER.parseFrom(data);
7694  }
7696  com.google.protobuf.ByteString data,
7697  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7698  throws com.google.protobuf.InvalidProtocolBufferException {
7699  return PARSER.parseFrom(data, extensionRegistry);
7700  }
7702  throws com.google.protobuf.InvalidProtocolBufferException {
7703  return PARSER.parseFrom(data);
7704  }
7706  byte[] data,
7707  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7708  throws com.google.protobuf.InvalidProtocolBufferException {
7709  return PARSER.parseFrom(data, extensionRegistry);
7710  }
7711  public static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.io.InputStream input)
7712  throws java.io.IOException {
7713  return com.google.protobuf.GeneratedMessageV3
7714  .parseWithIOException(PARSER, input);
7715  }
7717  java.io.InputStream input,
7718  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7719  throws java.io.IOException {
7720  return com.google.protobuf.GeneratedMessageV3
7721  .parseWithIOException(PARSER, input, extensionRegistry);
7722  }
7724  throws java.io.IOException {
7725  return com.google.protobuf.GeneratedMessageV3
7726  .parseDelimitedWithIOException(PARSER, input);
7727  }
7729  java.io.InputStream input,
7730  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7731  throws java.io.IOException {
7732  return com.google.protobuf.GeneratedMessageV3
7733  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
7734  }
7736  com.google.protobuf.CodedInputStream input)
7737  throws java.io.IOException {
7738  return com.google.protobuf.GeneratedMessageV3
7739  .parseWithIOException(PARSER, input);
7740  }
7742  com.google.protobuf.CodedInputStream input,
7743  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7744  throws java.io.IOException {
7745  return com.google.protobuf.GeneratedMessageV3
7746  .parseWithIOException(PARSER, input, extensionRegistry);
7747  }
7748 
7749  @java.lang.Override
7750  public Builder newBuilderForType() { return newBuilder(); }
7751  public static Builder newBuilder() {
7752  return DEFAULT_INSTANCE.toBuilder();
7753  }
7755  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
7756  }
7757  @java.lang.Override
7758  public Builder toBuilder() {
7759  return this == DEFAULT_INSTANCE
7760  ? new Builder() : new Builder().mergeFrom(this);
7761  }
7762 
7763  @java.lang.Override
7765  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
7766  Builder builder = new Builder(parent);
7767  return builder;
7768  }
7781  public static final class Builder extends
7782  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
7783  // @@protoc_insertion_point(builder_implements:operations_research.RoutingSearchParameters)
7784  com.google.ortools.constraintsolver.RoutingSearchParametersOrBuilder {
7785  public static final com.google.protobuf.Descriptors.Descriptor
7787  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
7788  }
7789 
7790  @java.lang.Override
7791  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
7793  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_fieldAccessorTable
7794  .ensureFieldAccessorsInitialized(
7796  }
7797 
7798  // Construct using com.google.ortools.constraintsolver.RoutingSearchParameters.newBuilder()
7799  private Builder() {
7800  maybeForceBuilderInitialization();
7801  }
7802 
7803  private Builder(
7804  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
7805  super(parent);
7806  maybeForceBuilderInitialization();
7807  }
7808  private void maybeForceBuilderInitialization() {
7809  if (com.google.protobuf.GeneratedMessageV3
7810  .alwaysUseFieldBuilders) {
7811  }
7812  }
7813  @java.lang.Override
7814  public Builder clear() {
7815  super.clear();
7816  firstSolutionStrategy_ = 0;
7817 
7818  useUnfilteredFirstSolutionStrategy_ = false;
7819 
7820  savingsNeighborsRatio_ = 0D;
7821 
7822  savingsMaxMemoryUsageBytes_ = 0D;
7823 
7824  savingsAddReverseArcs_ = false;
7825 
7826  savingsArcCoefficient_ = 0D;
7827 
7828  savingsParallelRoutes_ = false;
7829 
7830  cheapestInsertionFarthestSeedsRatio_ = 0D;
7831 
7832  cheapestInsertionFirstSolutionNeighborsRatio_ = 0D;
7833 
7834  cheapestInsertionLsOperatorNeighborsRatio_ = 0D;
7835 
7836  christofidesUseMinimumMatching_ = false;
7837 
7838  if (localSearchOperatorsBuilder_ == null) {
7839  localSearchOperators_ = null;
7840  } else {
7841  localSearchOperators_ = null;
7842  localSearchOperatorsBuilder_ = null;
7843  }
7844  relocateExpensiveChainNumArcsToConsider_ = 0;
7845 
7846  heuristicExpensiveChainLnsNumArcsToConsider_ = 0;
7847 
7848  localSearchMetaheuristic_ = 0;
7849 
7850  guidedLocalSearchLambdaCoefficient_ = 0D;
7851 
7852  useDepthFirstSearch_ = false;
7853 
7854  useCp_ = 0;
7855 
7856  useCpSat_ = 0;
7857 
7858  continuousSchedulingSolver_ = 0;
7859 
7860  mixedIntegerSchedulingSolver_ = 0;
7861 
7862  optimizationStep_ = 0D;
7863 
7864  numberOfSolutionsToCollect_ = 0;
7865 
7866  solutionLimit_ = 0L;
7867 
7868  if (timeLimitBuilder_ == null) {
7869  timeLimit_ = null;
7870  } else {
7871  timeLimit_ = null;
7872  timeLimitBuilder_ = null;
7873  }
7874  if (lnsTimeLimitBuilder_ == null) {
7875  lnsTimeLimit_ = null;
7876  } else {
7877  lnsTimeLimit_ = null;
7878  lnsTimeLimitBuilder_ = null;
7879  }
7880  useFullPropagation_ = false;
7881 
7882  logSearch_ = false;
7883 
7884  logCostScalingFactor_ = 0D;
7885 
7886  logCostOffset_ = 0D;
7887 
7888  return this;
7889  }
7890 
7891  @java.lang.Override
7892  public com.google.protobuf.Descriptors.Descriptor
7894  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
7895  }
7896 
7897  @java.lang.Override
7900  }
7901 
7902  @java.lang.Override
7905  if (!result.isInitialized()) {
7906  throw newUninitializedMessageException(result);
7907  }
7908  return result;
7909  }
7910 
7911  @java.lang.Override
7914  result.firstSolutionStrategy_ = firstSolutionStrategy_;
7915  result.useUnfilteredFirstSolutionStrategy_ = useUnfilteredFirstSolutionStrategy_;
7916  result.savingsNeighborsRatio_ = savingsNeighborsRatio_;
7917  result.savingsMaxMemoryUsageBytes_ = savingsMaxMemoryUsageBytes_;
7918  result.savingsAddReverseArcs_ = savingsAddReverseArcs_;
7919  result.savingsArcCoefficient_ = savingsArcCoefficient_;
7920  result.savingsParallelRoutes_ = savingsParallelRoutes_;
7921  result.cheapestInsertionFarthestSeedsRatio_ = cheapestInsertionFarthestSeedsRatio_;
7922  result.cheapestInsertionFirstSolutionNeighborsRatio_ = cheapestInsertionFirstSolutionNeighborsRatio_;
7923  result.cheapestInsertionLsOperatorNeighborsRatio_ = cheapestInsertionLsOperatorNeighborsRatio_;
7924  result.christofidesUseMinimumMatching_ = christofidesUseMinimumMatching_;
7925  if (localSearchOperatorsBuilder_ == null) {
7926  result.localSearchOperators_ = localSearchOperators_;
7927  } else {
7928  result.localSearchOperators_ = localSearchOperatorsBuilder_.build();
7929  }
7930  result.relocateExpensiveChainNumArcsToConsider_ = relocateExpensiveChainNumArcsToConsider_;
7931  result.heuristicExpensiveChainLnsNumArcsToConsider_ = heuristicExpensiveChainLnsNumArcsToConsider_;
7932  result.localSearchMetaheuristic_ = localSearchMetaheuristic_;
7933  result.guidedLocalSearchLambdaCoefficient_ = guidedLocalSearchLambdaCoefficient_;
7934  result.useDepthFirstSearch_ = useDepthFirstSearch_;
7935  result.useCp_ = useCp_;
7936  result.useCpSat_ = useCpSat_;
7937  result.continuousSchedulingSolver_ = continuousSchedulingSolver_;
7938  result.mixedIntegerSchedulingSolver_ = mixedIntegerSchedulingSolver_;
7939  result.optimizationStep_ = optimizationStep_;
7940  result.numberOfSolutionsToCollect_ = numberOfSolutionsToCollect_;
7941  result.solutionLimit_ = solutionLimit_;
7942  if (timeLimitBuilder_ == null) {
7943  result.timeLimit_ = timeLimit_;
7944  } else {
7945  result.timeLimit_ = timeLimitBuilder_.build();
7946  }
7947  if (lnsTimeLimitBuilder_ == null) {
7948  result.lnsTimeLimit_ = lnsTimeLimit_;
7949  } else {
7950  result.lnsTimeLimit_ = lnsTimeLimitBuilder_.build();
7951  }
7952  result.useFullPropagation_ = useFullPropagation_;
7953  result.logSearch_ = logSearch_;
7954  result.logCostScalingFactor_ = logCostScalingFactor_;
7955  result.logCostOffset_ = logCostOffset_;
7956  onBuilt();
7957  return result;
7958  }
7959 
7960  @java.lang.Override
7961  public Builder clone() {
7962  return super.clone();
7963  }
7964  @java.lang.Override
7966  com.google.protobuf.Descriptors.FieldDescriptor field,
7967  java.lang.Object value) {
7968  return super.setField(field, value);
7969  }
7970  @java.lang.Override
7972  com.google.protobuf.Descriptors.FieldDescriptor field) {
7973  return super.clearField(field);
7974  }
7975  @java.lang.Override
7977  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
7978  return super.clearOneof(oneof);
7979  }
7980  @java.lang.Override
7982  com.google.protobuf.Descriptors.FieldDescriptor field,
7983  int index, java.lang.Object value) {
7984  return super.setRepeatedField(field, index, value);
7985  }
7986  @java.lang.Override
7988  com.google.protobuf.Descriptors.FieldDescriptor field,
7989  java.lang.Object value) {
7990  return super.addRepeatedField(field, value);
7991  }
7992  @java.lang.Override
7993  public Builder mergeFrom(com.google.protobuf.Message other) {
7996  } else {
7997  super.mergeFrom(other);
7998  return this;
7999  }
8000  }
8001 
8004  if (other.firstSolutionStrategy_ != 0) {
8005  setFirstSolutionStrategyValue(other.getFirstSolutionStrategyValue());
8006  }
8007  if (other.getUseUnfilteredFirstSolutionStrategy() != false) {
8008  setUseUnfilteredFirstSolutionStrategy(other.getUseUnfilteredFirstSolutionStrategy());
8009  }
8010  if (other.getSavingsNeighborsRatio() != 0D) {
8011  setSavingsNeighborsRatio(other.getSavingsNeighborsRatio());
8012  }
8013  if (other.getSavingsMaxMemoryUsageBytes() != 0D) {
8014  setSavingsMaxMemoryUsageBytes(other.getSavingsMaxMemoryUsageBytes());
8015  }
8016  if (other.getSavingsAddReverseArcs() != false) {
8017  setSavingsAddReverseArcs(other.getSavingsAddReverseArcs());
8018  }
8019  if (other.getSavingsArcCoefficient() != 0D) {
8020  setSavingsArcCoefficient(other.getSavingsArcCoefficient());
8021  }
8022  if (other.getSavingsParallelRoutes() != false) {
8023  setSavingsParallelRoutes(other.getSavingsParallelRoutes());
8024  }
8025  if (other.getCheapestInsertionFarthestSeedsRatio() != 0D) {
8026  setCheapestInsertionFarthestSeedsRatio(other.getCheapestInsertionFarthestSeedsRatio());
8027  }
8028  if (other.getCheapestInsertionFirstSolutionNeighborsRatio() != 0D) {
8029  setCheapestInsertionFirstSolutionNeighborsRatio(other.getCheapestInsertionFirstSolutionNeighborsRatio());
8030  }
8031  if (other.getCheapestInsertionLsOperatorNeighborsRatio() != 0D) {
8032  setCheapestInsertionLsOperatorNeighborsRatio(other.getCheapestInsertionLsOperatorNeighborsRatio());
8033  }
8034  if (other.getChristofidesUseMinimumMatching() != false) {
8035  setChristofidesUseMinimumMatching(other.getChristofidesUseMinimumMatching());
8036  }
8037  if (other.hasLocalSearchOperators()) {
8038  mergeLocalSearchOperators(other.getLocalSearchOperators());
8039  }
8040  if (other.getRelocateExpensiveChainNumArcsToConsider() != 0) {
8041  setRelocateExpensiveChainNumArcsToConsider(other.getRelocateExpensiveChainNumArcsToConsider());
8042  }
8043  if (other.getHeuristicExpensiveChainLnsNumArcsToConsider() != 0) {
8044  setHeuristicExpensiveChainLnsNumArcsToConsider(other.getHeuristicExpensiveChainLnsNumArcsToConsider());
8045  }
8046  if (other.localSearchMetaheuristic_ != 0) {
8047  setLocalSearchMetaheuristicValue(other.getLocalSearchMetaheuristicValue());
8048  }
8049  if (other.getGuidedLocalSearchLambdaCoefficient() != 0D) {
8050  setGuidedLocalSearchLambdaCoefficient(other.getGuidedLocalSearchLambdaCoefficient());
8051  }
8052  if (other.getUseDepthFirstSearch() != false) {
8053  setUseDepthFirstSearch(other.getUseDepthFirstSearch());
8054  }
8055  if (other.useCp_ != 0) {
8056  setUseCpValue(other.getUseCpValue());
8057  }
8058  if (other.useCpSat_ != 0) {
8059  setUseCpSatValue(other.getUseCpSatValue());
8060  }
8061  if (other.continuousSchedulingSolver_ != 0) {
8062  setContinuousSchedulingSolverValue(other.getContinuousSchedulingSolverValue());
8063  }
8064  if (other.mixedIntegerSchedulingSolver_ != 0) {
8065  setMixedIntegerSchedulingSolverValue(other.getMixedIntegerSchedulingSolverValue());
8066  }
8067  if (other.getOptimizationStep() != 0D) {
8068  setOptimizationStep(other.getOptimizationStep());
8069  }
8070  if (other.getNumberOfSolutionsToCollect() != 0) {
8071  setNumberOfSolutionsToCollect(other.getNumberOfSolutionsToCollect());
8072  }
8073  if (other.getSolutionLimit() != 0L) {
8074  setSolutionLimit(other.getSolutionLimit());
8075  }
8076  if (other.hasTimeLimit()) {
8077  mergeTimeLimit(other.getTimeLimit());
8078  }
8079  if (other.hasLnsTimeLimit()) {
8080  mergeLnsTimeLimit(other.getLnsTimeLimit());
8081  }
8082  if (other.getUseFullPropagation() != false) {
8083  setUseFullPropagation(other.getUseFullPropagation());
8084  }
8085  if (other.getLogSearch() != false) {
8086  setLogSearch(other.getLogSearch());
8087  }
8088  if (other.getLogCostScalingFactor() != 0D) {
8089  setLogCostScalingFactor(other.getLogCostScalingFactor());
8090  }
8091  if (other.getLogCostOffset() != 0D) {
8092  setLogCostOffset(other.getLogCostOffset());
8093  }
8094  this.mergeUnknownFields(other.unknownFields);
8095  onChanged();
8096  return this;
8097  }
8098 
8099  @java.lang.Override
8100  public final boolean isInitialized() {
8101  return true;
8102  }
8103 
8104  @java.lang.Override
8106  com.google.protobuf.CodedInputStream input,
8107  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8108  throws java.io.IOException {
8110  try {
8111  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
8112  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8113  parsedMessage = (com.google.ortools.constraintsolver.RoutingSearchParameters) e.getUnfinishedMessage();
8114  throw e.unwrapIOException();
8115  } finally {
8116  if (parsedMessage != null) {
8117  mergeFrom(parsedMessage);
8118  }
8119  }
8120  return this;
8121  }
8122 
8123  private int firstSolutionStrategy_ = 0;
8133  return firstSolutionStrategy_;
8134  }
8145  firstSolutionStrategy_ = value;
8146  onChanged();
8147  return this;
8148  }
8158  @SuppressWarnings("deprecation")
8160  return result == null ? com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNRECOGNIZED : result;
8161  }
8172  if (value == null) {
8173  throw new NullPointerException();
8174  }
8175 
8176  firstSolutionStrategy_ = value.getNumber();
8177  onChanged();
8178  return this;
8179  }
8189 
8190  firstSolutionStrategy_ = 0;
8191  onChanged();
8192  return this;
8193  }
8194 
8195  private boolean useUnfilteredFirstSolutionStrategy_ ;
8207  return useUnfilteredFirstSolutionStrategy_;
8208  }
8221 
8222  useUnfilteredFirstSolutionStrategy_ = value;
8223  onChanged();
8224  return this;
8225  }
8237 
8238  useUnfilteredFirstSolutionStrategy_ = false;
8239  onChanged();
8240  return this;
8241  }
8242 
8243  private double savingsNeighborsRatio_ ;
8254  public double getSavingsNeighborsRatio() {
8255  return savingsNeighborsRatio_;
8256  }
8268  public Builder setSavingsNeighborsRatio(double value) {
8269 
8270  savingsNeighborsRatio_ = value;
8271  onChanged();
8272  return this;
8273  }
8285 
8286  savingsNeighborsRatio_ = 0D;
8287  onChanged();
8288  return this;
8289  }
8290 
8291  private double savingsMaxMemoryUsageBytes_ ;
8306  return savingsMaxMemoryUsageBytes_;
8307  }
8323 
8324  savingsMaxMemoryUsageBytes_ = value;
8325  onChanged();
8326  return this;
8327  }
8342 
8343  savingsMaxMemoryUsageBytes_ = 0D;
8344  onChanged();
8345  return this;
8346  }
8347 
8348  private boolean savingsAddReverseArcs_ ;
8358  public boolean getSavingsAddReverseArcs() {
8359  return savingsAddReverseArcs_;
8360  }
8371  public Builder setSavingsAddReverseArcs(boolean value) {
8372 
8373  savingsAddReverseArcs_ = value;
8374  onChanged();
8375  return this;
8376  }
8387 
8388  savingsAddReverseArcs_ = false;
8389  onChanged();
8390  return this;
8391  }
8392 
8393  private double savingsArcCoefficient_ ;
8406  public double getSavingsArcCoefficient() {
8407  return savingsArcCoefficient_;
8408  }
8422  public Builder setSavingsArcCoefficient(double value) {
8423 
8424  savingsArcCoefficient_ = value;
8425  onChanged();
8426  return this;
8427  }
8441 
8442  savingsArcCoefficient_ = 0D;
8443  onChanged();
8444  return this;
8445  }
8446 
8447  private boolean savingsParallelRoutes_ ;
8456  public boolean getSavingsParallelRoutes() {
8457  return savingsParallelRoutes_;
8458  }
8468  public Builder setSavingsParallelRoutes(boolean value) {
8469 
8470  savingsParallelRoutes_ = value;
8471  onChanged();
8472  return this;
8473  }
8483 
8484  savingsParallelRoutes_ = false;
8485  onChanged();
8486  return this;
8487  }
8488 
8489  private double cheapestInsertionFarthestSeedsRatio_ ;
8501  return cheapestInsertionFarthestSeedsRatio_;
8502  }
8515 
8516  cheapestInsertionFarthestSeedsRatio_ = value;
8517  onChanged();
8518  return this;
8519  }
8531 
8532  cheapestInsertionFarthestSeedsRatio_ = 0D;
8533  onChanged();
8534  return this;
8535  }
8536 
8537  private double cheapestInsertionFirstSolutionNeighborsRatio_ ;
8551  return cheapestInsertionFirstSolutionNeighborsRatio_;
8552  }
8567 
8568  cheapestInsertionFirstSolutionNeighborsRatio_ = value;
8569  onChanged();
8570  return this;
8571  }
8585 
8586  cheapestInsertionFirstSolutionNeighborsRatio_ = 0D;
8587  onChanged();
8588  return this;
8589  }
8590 
8591  private double cheapestInsertionLsOperatorNeighborsRatio_ ;
8603  return cheapestInsertionLsOperatorNeighborsRatio_;
8604  }
8617 
8618  cheapestInsertionLsOperatorNeighborsRatio_ = value;
8619  onChanged();
8620  return this;
8621  }
8633 
8634  cheapestInsertionLsOperatorNeighborsRatio_ = 0D;
8635  onChanged();
8636  return this;
8637  }
8638 
8639  private boolean christofidesUseMinimumMatching_ ;
8650  return christofidesUseMinimumMatching_;
8651  }
8663 
8664  christofidesUseMinimumMatching_ = value;
8665  onChanged();
8666  return this;
8667  }
8678 
8679  christofidesUseMinimumMatching_ = false;
8680  onChanged();
8681  return this;
8682  }
8683 
8685  private com.google.protobuf.SingleFieldBuilderV3<
8691  public boolean hasLocalSearchOperators() {
8692  return localSearchOperatorsBuilder_ != null || localSearchOperators_ != null;
8693  }
8699  if (localSearchOperatorsBuilder_ == null) {
8700  return localSearchOperators_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
8701  } else {
8702  return localSearchOperatorsBuilder_.getMessage();
8703  }
8704  }
8709  if (localSearchOperatorsBuilder_ == null) {
8710  if (value == null) {
8711  throw new NullPointerException();
8712  }
8713  localSearchOperators_ = value;
8714  onChanged();
8715  } else {
8716  localSearchOperatorsBuilder_.setMessage(value);
8717  }
8718 
8719  return this;
8720  }
8726  if (localSearchOperatorsBuilder_ == null) {
8727  localSearchOperators_ = builderForValue.build();
8728  onChanged();
8729  } else {
8730  localSearchOperatorsBuilder_.setMessage(builderForValue.build());
8731  }
8732 
8733  return this;
8734  }
8739  if (localSearchOperatorsBuilder_ == null) {
8740  if (localSearchOperators_ != null) {
8741  localSearchOperators_ =
8743  } else {
8744  localSearchOperators_ = value;
8745  }
8746  onChanged();
8747  } else {
8748  localSearchOperatorsBuilder_.mergeFrom(value);
8749  }
8750 
8751  return this;
8752  }
8757  if (localSearchOperatorsBuilder_ == null) {
8758  localSearchOperators_ = null;
8759  onChanged();
8760  } else {
8761  localSearchOperators_ = null;
8762  localSearchOperatorsBuilder_ = null;
8763  }
8764 
8765  return this;
8766  }
8771 
8772  onChanged();
8773  return getLocalSearchOperatorsFieldBuilder().getBuilder();
8774  }
8779  if (localSearchOperatorsBuilder_ != null) {
8780  return localSearchOperatorsBuilder_.getMessageOrBuilder();
8781  } else {
8782  return localSearchOperators_ == null ?
8784  }
8785  }
8789  private com.google.protobuf.SingleFieldBuilderV3<
8791  getLocalSearchOperatorsFieldBuilder() {
8792  if (localSearchOperatorsBuilder_ == null) {
8793  localSearchOperatorsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
8796  getParentForChildren(),
8797  isClean());
8798  localSearchOperators_ = null;
8799  }
8800  return localSearchOperatorsBuilder_;
8801  }
8802 
8803  private int relocateExpensiveChainNumArcsToConsider_ ;
8819  return relocateExpensiveChainNumArcsToConsider_;
8820  }
8837 
8838  relocateExpensiveChainNumArcsToConsider_ = value;
8839  onChanged();
8840  return this;
8841  }
8857 
8858  relocateExpensiveChainNumArcsToConsider_ = 0;
8859  onChanged();
8860  return this;
8861  }
8862 
8863  private int heuristicExpensiveChainLnsNumArcsToConsider_ ;
8874  return heuristicExpensiveChainLnsNumArcsToConsider_;
8875  }
8887 
8888  heuristicExpensiveChainLnsNumArcsToConsider_ = value;
8889  onChanged();
8890  return this;
8891  }
8902 
8903  heuristicExpensiveChainLnsNumArcsToConsider_ = 0;
8904  onChanged();
8905  return this;
8906  }
8907 
8908  private int localSearchMetaheuristic_ = 0;
8918  return localSearchMetaheuristic_;
8919  }
8930  localSearchMetaheuristic_ = value;
8931  onChanged();
8932  return this;
8933  }
8943  @SuppressWarnings("deprecation")
8946  }
8957  if (value == null) {
8958  throw new NullPointerException();
8959  }
8960 
8961  localSearchMetaheuristic_ = value.getNumber();
8962  onChanged();
8963  return this;
8964  }
8974 
8975  localSearchMetaheuristic_ = 0;
8976  onChanged();
8977  return this;
8978  }
8979 
8980  private double guidedLocalSearchLambdaCoefficient_ ;
8993  return guidedLocalSearchLambdaCoefficient_;
8994  }
9008 
9009  guidedLocalSearchLambdaCoefficient_ = value;
9010  onChanged();
9011  return this;
9012  }
9025 
9026  guidedLocalSearchLambdaCoefficient_ = 0D;
9027  onChanged();
9028  return this;
9029  }
9030 
9031  private boolean useDepthFirstSearch_ ;
9042  public boolean getUseDepthFirstSearch() {
9043  return useDepthFirstSearch_;
9044  }
9056  public Builder setUseDepthFirstSearch(boolean value) {
9057 
9058  useDepthFirstSearch_ = value;
9059  onChanged();
9060  return this;
9061  }
9073 
9074  useDepthFirstSearch_ = false;
9075  onChanged();
9076  return this;
9077  }
9078 
9079  private int useCp_ = 0;
9090  public int getUseCpValue() {
9091  return useCp_;
9092  }
9104  public Builder setUseCpValue(int value) {
9105  useCp_ = value;
9106  onChanged();
9107  return this;
9108  }
9120  @SuppressWarnings("deprecation")
9122  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
9123  }
9136  if (value == null) {
9137  throw new NullPointerException();
9138  }
9139 
9140  useCp_ = value.getNumber();
9141  onChanged();
9142  return this;
9143  }
9154  public Builder clearUseCp() {
9155 
9156  useCp_ = 0;
9157  onChanged();
9158  return this;
9159  }
9160 
9161  private int useCpSat_ = 0;
9173  public int getUseCpSatValue() {
9174  return useCpSat_;
9175  }
9188  public Builder setUseCpSatValue(int value) {
9189  useCpSat_ = value;
9190  onChanged();
9191  return this;
9192  }
9205  @SuppressWarnings("deprecation")
9207  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
9208  }
9222  if (value == null) {
9223  throw new NullPointerException();
9224  }
9225 
9226  useCpSat_ = value.getNumber();
9227  onChanged();
9228  return this;
9229  }
9242 
9243  useCpSat_ = 0;
9244  onChanged();
9245  return this;
9246  }
9247 
9248  private int continuousSchedulingSolver_ = 0;
9254  return continuousSchedulingSolver_;
9255  }
9262  continuousSchedulingSolver_ = value;
9263  onChanged();
9264  return this;
9265  }
9271  @SuppressWarnings("deprecation")
9274  }
9281  if (value == null) {
9282  throw new NullPointerException();
9283  }
9284 
9285  continuousSchedulingSolver_ = value.getNumber();
9286  onChanged();
9287  return this;
9288  }
9294 
9295  continuousSchedulingSolver_ = 0;
9296  onChanged();
9297  return this;
9298  }
9299 
9300  private int mixedIntegerSchedulingSolver_ = 0;
9306  return mixedIntegerSchedulingSolver_;
9307  }
9314  mixedIntegerSchedulingSolver_ = value;
9315  onChanged();
9316  return this;
9317  }
9323  @SuppressWarnings("deprecation")
9326  }
9333  if (value == null) {
9334  throw new NullPointerException();
9335  }
9336 
9337  mixedIntegerSchedulingSolver_ = value.getNumber();
9338  onChanged();
9339  return this;
9340  }
9346 
9347  mixedIntegerSchedulingSolver_ = 0;
9348  onChanged();
9349  return this;
9350  }
9351 
9352  private double optimizationStep_ ;
9363  public double getOptimizationStep() {
9364  return optimizationStep_;
9365  }
9377  public Builder setOptimizationStep(double value) {
9378 
9379  optimizationStep_ = value;
9380  onChanged();
9381  return this;
9382  }
9394 
9395  optimizationStep_ = 0D;
9396  onChanged();
9397  return this;
9398  }
9399 
9400  private int numberOfSolutionsToCollect_ ;
9411  return numberOfSolutionsToCollect_;
9412  }
9424 
9425  numberOfSolutionsToCollect_ = value;
9426  onChanged();
9427  return this;
9428  }
9439 
9440  numberOfSolutionsToCollect_ = 0;
9441  onChanged();
9442  return this;
9443  }
9444 
9445  private long solutionLimit_ ;
9456  public long getSolutionLimit() {
9457  return solutionLimit_;
9458  }
9470  public Builder setSolutionLimit(long value) {
9471 
9472  solutionLimit_ = value;
9473  onChanged();
9474  return this;
9475  }
9487 
9488  solutionLimit_ = 0L;
9489  onChanged();
9490  return this;
9491  }
9492 
9493  private com.google.protobuf.Duration timeLimit_;
9494  private com.google.protobuf.SingleFieldBuilderV3<
9495  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> timeLimitBuilder_;
9504  public boolean hasTimeLimit() {
9505  return timeLimitBuilder_ != null || timeLimit_ != null;
9506  }
9515  public com.google.protobuf.Duration getTimeLimit() {
9516  if (timeLimitBuilder_ == null) {
9517  return timeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
9518  } else {
9519  return timeLimitBuilder_.getMessage();
9520  }
9521  }
9529  public Builder setTimeLimit(com.google.protobuf.Duration value) {
9530  if (timeLimitBuilder_ == null) {
9531  if (value == null) {
9532  throw new NullPointerException();
9533  }
9534  timeLimit_ = value;
9535  onChanged();
9536  } else {
9537  timeLimitBuilder_.setMessage(value);
9538  }
9539 
9540  return this;
9541  }
9550  com.google.protobuf.Duration.Builder builderForValue) {
9551  if (timeLimitBuilder_ == null) {
9552  timeLimit_ = builderForValue.build();
9553  onChanged();
9554  } else {
9555  timeLimitBuilder_.setMessage(builderForValue.build());
9556  }
9557 
9558  return this;
9559  }
9567  public Builder mergeTimeLimit(com.google.protobuf.Duration value) {
9568  if (timeLimitBuilder_ == null) {
9569  if (timeLimit_ != null) {
9570  timeLimit_ =
9571  com.google.protobuf.Duration.newBuilder(timeLimit_).mergeFrom(value).buildPartial();
9572  } else {
9573  timeLimit_ = value;
9574  }
9575  onChanged();
9576  } else {
9577  timeLimitBuilder_.mergeFrom(value);
9578  }
9579 
9580  return this;
9581  }
9590  if (timeLimitBuilder_ == null) {
9591  timeLimit_ = null;
9592  onChanged();
9593  } else {
9594  timeLimit_ = null;
9595  timeLimitBuilder_ = null;
9596  }
9597 
9598  return this;
9599  }
9607  public com.google.protobuf.Duration.Builder getTimeLimitBuilder() {
9608 
9609  onChanged();
9610  return getTimeLimitFieldBuilder().getBuilder();
9611  }
9619  public com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder() {
9620  if (timeLimitBuilder_ != null) {
9621  return timeLimitBuilder_.getMessageOrBuilder();
9622  } else {
9623  return timeLimit_ == null ?
9624  com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
9625  }
9626  }
9634  private com.google.protobuf.SingleFieldBuilderV3<
9635  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
9636  getTimeLimitFieldBuilder() {
9637  if (timeLimitBuilder_ == null) {
9638  timeLimitBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
9639  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
9640  getTimeLimit(),
9641  getParentForChildren(),
9642  isClean());
9643  timeLimit_ = null;
9644  }
9645  return timeLimitBuilder_;
9646  }
9647 
9648  private com.google.protobuf.Duration lnsTimeLimit_;
9649  private com.google.protobuf.SingleFieldBuilderV3<
9650  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> lnsTimeLimitBuilder_;
9660  public boolean hasLnsTimeLimit() {
9661  return lnsTimeLimitBuilder_ != null || lnsTimeLimit_ != null;
9662  }
9672  public com.google.protobuf.Duration getLnsTimeLimit() {
9673  if (lnsTimeLimitBuilder_ == null) {
9674  return lnsTimeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
9675  } else {
9676  return lnsTimeLimitBuilder_.getMessage();
9677  }
9678  }
9687  public Builder setLnsTimeLimit(com.google.protobuf.Duration value) {
9688  if (lnsTimeLimitBuilder_ == null) {
9689  if (value == null) {
9690  throw new NullPointerException();
9691  }
9692  lnsTimeLimit_ = value;
9693  onChanged();
9694  } else {
9695  lnsTimeLimitBuilder_.setMessage(value);
9696  }
9697 
9698  return this;
9699  }
9709  com.google.protobuf.Duration.Builder builderForValue) {
9710  if (lnsTimeLimitBuilder_ == null) {
9711  lnsTimeLimit_ = builderForValue.build();
9712  onChanged();
9713  } else {
9714  lnsTimeLimitBuilder_.setMessage(builderForValue.build());
9715  }
9716 
9717  return this;
9718  }
9727  public Builder mergeLnsTimeLimit(com.google.protobuf.Duration value) {
9728  if (lnsTimeLimitBuilder_ == null) {
9729  if (lnsTimeLimit_ != null) {
9730  lnsTimeLimit_ =
9731  com.google.protobuf.Duration.newBuilder(lnsTimeLimit_).mergeFrom(value).buildPartial();
9732  } else {
9733  lnsTimeLimit_ = value;
9734  }
9735  onChanged();
9736  } else {
9737  lnsTimeLimitBuilder_.mergeFrom(value);
9738  }
9739 
9740  return this;
9741  }
9751  if (lnsTimeLimitBuilder_ == null) {
9752  lnsTimeLimit_ = null;
9753  onChanged();
9754  } else {
9755  lnsTimeLimit_ = null;
9756  lnsTimeLimitBuilder_ = null;
9757  }
9758 
9759  return this;
9760  }
9769  public com.google.protobuf.Duration.Builder getLnsTimeLimitBuilder() {
9770 
9771  onChanged();
9772  return getLnsTimeLimitFieldBuilder().getBuilder();
9773  }
9782  public com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder() {
9783  if (lnsTimeLimitBuilder_ != null) {
9784  return lnsTimeLimitBuilder_.getMessageOrBuilder();
9785  } else {
9786  return lnsTimeLimit_ == null ?
9787  com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
9788  }
9789  }
9798  private com.google.protobuf.SingleFieldBuilderV3<
9799  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
9800  getLnsTimeLimitFieldBuilder() {
9801  if (lnsTimeLimitBuilder_ == null) {
9802  lnsTimeLimitBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
9803  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
9804  getLnsTimeLimit(),
9805  getParentForChildren(),
9806  isClean());
9807  lnsTimeLimit_ = null;
9808  }
9809  return lnsTimeLimitBuilder_;
9810  }
9811 
9812  private boolean useFullPropagation_ ;
9829  public boolean getUseFullPropagation() {
9830  return useFullPropagation_;
9831  }
9849  public Builder setUseFullPropagation(boolean value) {
9850 
9851  useFullPropagation_ = value;
9852  onChanged();
9853  return this;
9854  }
9872 
9873  useFullPropagation_ = false;
9874  onChanged();
9875  return this;
9876  }
9877 
9878  private boolean logSearch_ ;
9898  public boolean getLogSearch() {
9899  return logSearch_;
9900  }
9921  public Builder setLogSearch(boolean value) {
9922 
9923  logSearch_ = value;
9924  onChanged();
9925  return this;
9926  }
9947 
9948  logSearch_ = false;
9949  onChanged();
9950  return this;
9951  }
9952 
9953  private double logCostScalingFactor_ ;
9963  public double getLogCostScalingFactor() {
9964  return logCostScalingFactor_;
9965  }
9976  public Builder setLogCostScalingFactor(double value) {
9977 
9978  logCostScalingFactor_ = value;
9979  onChanged();
9980  return this;
9981  }
9992 
9993  logCostScalingFactor_ = 0D;
9994  onChanged();
9995  return this;
9996  }
9997 
9998  private double logCostOffset_ ;
10003  public double getLogCostOffset() {
10004  return logCostOffset_;
10005  }
10011  public Builder setLogCostOffset(double value) {
10012 
10013  logCostOffset_ = value;
10014  onChanged();
10015  return this;
10016  }
10022 
10023  logCostOffset_ = 0D;
10024  onChanged();
10025  return this;
10026  }
10027  @java.lang.Override
10029  final com.google.protobuf.UnknownFieldSet unknownFields) {
10030  return super.setUnknownFields(unknownFields);
10031  }
10032 
10033  @java.lang.Override
10035  final com.google.protobuf.UnknownFieldSet unknownFields) {
10036  return super.mergeUnknownFields(unknownFields);
10037  }
10038 
10039 
10040  // @@protoc_insertion_point(builder_scope:operations_research.RoutingSearchParameters)
10041  }
10042 
10043  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters)
10044  private static final com.google.ortools.constraintsolver.RoutingSearchParameters DEFAULT_INSTANCE;
10045  static {
10046  DEFAULT_INSTANCE = new com.google.ortools.constraintsolver.RoutingSearchParameters();
10047  }
10048 
10050  return DEFAULT_INSTANCE;
10051  }
10052 
10053  private static final com.google.protobuf.Parser<RoutingSearchParameters>
10054  PARSER = new com.google.protobuf.AbstractParser<RoutingSearchParameters>() {
10055  @java.lang.Override
10056  public RoutingSearchParameters parsePartialFrom(
10057  com.google.protobuf.CodedInputStream input,
10058  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10059  throws com.google.protobuf.InvalidProtocolBufferException {
10060  return new RoutingSearchParameters(input, extensionRegistry);
10061  }
10062  };
10063 
10064  public static com.google.protobuf.Parser<RoutingSearchParameters> parser() {
10065  return PARSER;
10066  }
10067 
10068  @java.lang.Override
10070  return PARSER;
10071  }
10072 
10073  @java.lang.Override
10075  return DEFAULT_INSTANCE;
10076  }
10077 
10078 }
10079 
int getUseInactiveLnsValue()
int getUseCpValue()
int getUseMakeActiveValue()
int getContinuousSchedulingSolverValue()
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
.lang.Override void writeTo(com.google.protobuf.CodedOutputStream output)
int getUseRelocateExpensiveChainValue()
Builder setLogCostOffset(double value)
double log_cost_offset = 29;
Builder clearUseTwoOpt()
boolean hasTimeLimit()
int getUseLinKernighanValue()
Builder setUseLocalCheapestInsertionPathLnsValue(int value)
int getLocalSearchMetaheuristicValue()
com.google.ortools.util.OptionalBoolean getUseTspLns()
com.google.ortools.util.OptionalBoolean getUseExchange()
.lang.Override Builder mergeFrom(com.google.protobuf.Message other)
com.google.ortools.util.OptionalBoolean getUseRelocate()
com.google.ortools.util.OptionalBoolean getUseMakeActive()
com.google.ortools.util.OptionalBoolean getUseCpSat()
int getUseCrossExchangeValue()
Builder clearLogCostOffset()
double log_cost_offset = 29;
com.google.ortools.util.OptionalBoolean getUseMakeChainInactive()
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)
com.google.ortools.util.OptionalBoolean getUseTspOpt()
com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value getLocalSearchMetaheuristic()
Builder clearUseInactiveLns()
int getUseLocalCheapestInsertionPathLnsValue()
Builder setUseRelocatePairValue(int value)
com.google.protobuf.Duration.Builder getTimeLimitBuilder()
com.google.ortools.util.OptionalBoolean getUseTspLns()
com.google.ortools.util.OptionalBoolean getUseNodePairSwapActive()
double getCheapestInsertionFirstSolutionNeighborsRatio()
static final int LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER
.lang.Override void writeTo(com.google.protobuf.CodedOutputStream output)
com.google.ortools.util.OptionalBoolean getUseLightRelocatePair()
com.google.ortools.util.OptionalBoolean getUseCross()
Builder clearRelocateExpensiveChainNumArcsToConsider()
.lang.Override Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
int getUseRelocateValue()
double getCheapestInsertionFarthestSeedsRatio()
com.google.ortools.util.OptionalBoolean getUseExchangePair()
int getUseTwoOptValue()
Builder setUseMakeChainInactive(com.google.ortools.util.OptionalBoolean value)
com.google.ortools.util.OptionalBoolean getUseTwoOpt()
static final int USE_MAKE_CHAIN_INACTIVE_FIELD_NUMBER
Builder setUseOrOpt(com.google.ortools.util.OptionalBoolean value)
com.google.ortools.util.OptionalBoolean getUseNodePairSwapActive()
int getNumberOfSolutionsToCollect()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver getContinuousSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
Builder setUseLocalCheapestInsertionPathLns(com.google.ortools.util.OptionalBoolean value)
com.google.protobuf.Duration getTimeLimit()
int getUseExchangePairValue()
Builder setSolutionLimit(long value)
int getUseMakeInactiveValue()
Builder setUseExchangeSubtrip(com.google.ortools.util.OptionalBoolean value)
com.google.ortools.util.OptionalBoolean getUseRelocateAndMakeActive()
int getUseExchangePairValue()
Builder clearUseCross()
com.google.ortools.util.OptionalBoolean getUseRelocateAndMakeActive()
static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators prototype)
int getUseGlobalCheapestInsertionExpensiveChainLnsValue()
boolean hasLnsTimeLimit()
int getRelocateExpensiveChainNumArcsToConsider()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters build()
com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionExpensiveChainLns()
int getUseRelocateValue()
double getSavingsArcCoefficient()
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)
com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder()
com.google.ortools.util.OptionalBoolean getUseExchangePair()
static final int LOG_COST_SCALING_FACTOR_FIELD_NUMBER
static final int SOLUTION_LIMIT_FIELD_NUMBER
Builder setOptimizationStep(double value)
int getUseExtendedSwapActiveValue()
com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver getMixedIntegerSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
Builder clearUseRelocateSubtrip()
com.google.ortools.util.OptionalBoolean getUseInactiveLns()
long getSolutionLimit()
com.google.protobuf.Duration getTimeLimit()
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()
int getUseLinKernighanValue()
Builder setUseGlobalCheapestInsertionPathLnsValue(int value)
int getUseMakeChainInactiveValue()
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
boolean getChristofidesUseMinimumMatching()
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Builder clearGuidedLocalSearchLambdaCoefficient()
Builder setUseMakeInactiveValue(int value)
com.google.ortools.util.OptionalBoolean getUseSwapActive()
Builder setUseMakeChainInactiveValue(int value)
Builder clearUseExtendedSwapActive()
boolean getUseDepthFirstSearch()
com.google.ortools.constraintsolver.FirstSolutionStrategy.Value getFirstSolutionStrategy()
int getUseCrossValue()
Builder clearSavingsNeighborsRatio()
boolean getSavingsAddReverseArcs()
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
com.google.ortools.util.OptionalBoolean getUseCrossExchange()
.lang.Override com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
double getGuidedLocalSearchLambdaCoefficient()
Builder setUsePathLnsValue(int value)
com.google.ortools.util.OptionalBoolean getUseNodePairSwapActive()
com.google.ortools.util.OptionalBoolean getUseMakeActive()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.CodedInputStream input)
Builder setUseRelocateExpensiveChain(com.google.ortools.util.OptionalBoolean value)
.lang.Override final boolean isInitialized()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
int getUseExchangeValue()
double getOptimizationStep()
com.google.ortools.util.OptionalBoolean getUsePathLns()
Builder setUseInactiveLns(com.google.ortools.util.OptionalBoolean value)
int getHeuristicExpensiveChainLnsNumArcsToConsider()
Builder setLocalSearchMetaheuristic(com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value value)
static final int USE_LOCAL_CHEAPEST_INSERTION_PATH_LNS_FIELD_NUMBER
.lang.Override final com.google.protobuf.UnknownFieldSet getUnknownFields()
Builder setUseRelocateSubtripValue(int value)
int getUseInactiveLnsValue()
com.google.ortools.util.OptionalBoolean getUseExchange()
Builder setUseInactiveLnsValue(int value)
Builder setRelocateExpensiveChainNumArcsToConsider(int value)
Builder setUseMakeActive(com.google.ortools.util.OptionalBoolean value)
int getUseLightRelocatePairValue()
int getUseRelocateSubtripValue()
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 getUsePathLnsValue()
com.google.ortools.util.OptionalBoolean getUseCpSat()
Builder setSavingsAddReverseArcs(boolean value)
.lang.Override com.google.protobuf.Parser< RoutingSearchParameters > getParserForType()
static final int USE_SWAP_ACTIVE_FIELD_NUMBER
Builder clearUseOrOpt()
double getSavingsNeighborsRatio()
Builder clearUseExchangePair()
static final int USE_EXTENDED_SWAP_ACTIVE_FIELD_NUMBER
.lang.Override java.lang.Object newInstance(UnusedPrivateParameter unused)
.lang.Override Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
static SchedulingSolver forNumber(int value)
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
com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionPathLns()
Builder clearUseRelocateExpensiveChain()
com.google.ortools.util.OptionalBoolean getUseLightRelocatePair()
.lang.Override com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
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)
Builder clearUseLightRelocatePair()
int getUseTspOptValue()
Builder setUseLocalCheapestInsertionExpensiveChainLns(com.google.ortools.util.OptionalBoolean value)
com.google.protobuf.Duration.Builder getLnsTimeLimitBuilder()
com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionExpensiveChainLns()
static Builder newBuilder()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final int USE_LIN_KERNIGHAN_FIELD_NUMBER
.lang.Override final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
int getUseLightRelocatePairValue()
Builder clearUseMakeActive()
static Builder newBuilder()
int getUseNodePairSwapActiveValue()
int getUseExtendedSwapActiveValue()
Builder setUseLinKernighan(com.google.ortools.util.OptionalBoolean value)
.lang.Override final boolean isInitialized()
com.google.ortools.util.OptionalBoolean getUseCp()
Builder setChristofidesUseMinimumMatching(boolean value)
Builder clearContinuousSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
boolean getUseFullPropagation()
com.google.ortools.util.OptionalBoolean getUseTspOpt()
com.google.ortools.util.OptionalBoolean getUseLinKernighan()
.lang.Override java.lang.Object newInstance(UnusedPrivateParameter unused)
double getLogCostOffset()
double log_cost_offset = 29;
double getCheapestInsertionLsOperatorNeighborsRatio()
Builder mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters other)
int getUseCrossValue()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.ByteString data)
.lang.Override int hashCode()
static final int TIME_LIMIT_FIELD_NUMBER
Builder setMixedIntegerSchedulingSolver(com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver value)
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
Builder clearLnsTimeLimit()
com.google.ortools.util.OptionalBoolean getUseExtendedSwapActive()
Builder clearUseCpSat()
Builder clearChristofidesUseMinimumMatching()
static final int USE_LOCAL_CHEAPEST_INSERTION_EXPENSIVE_CHAIN_LNS_FIELD_NUMBER
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getDefaultInstanceForType()
Builder setUseCross(com.google.ortools.util.OptionalBoolean value)
boolean getUseDepthFirstSearch()
CP_SAT
CP_SAT = 2;
Builder clearUseLocalCheapestInsertionExpensiveChainLns()
com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder()
Builder setCheapestInsertionLsOperatorNeighborsRatio(double value)
Builder clearUseGlobalCheapestInsertionPathLns()
.lang.Override int hashCode()
boolean getSavingsAddReverseArcs()
int getUseExchangeValue()
int getUseExtendedSwapActiveValue()
Builder clearOptimizationStep()
static final int CONTINUOUS_SCHEDULING_SOLVER_FIELD_NUMBER
com.google.ortools.util.OptionalBoolean getUseCp()
Builder clearUseNodePairSwapActive()
UNSET
UNSET = 0;
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators build()
com.google.ortools.util.OptionalBoolean getUseTwoOpt()
Builder clearUseRelocateNeighbors()
com.google.ortools.util.OptionalBoolean getUseCross()
Builder clearLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
static com.google.ortools.constraintsolver.RoutingSearchParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
int getUseExchangeSubtripValue()
int getUseMakeActiveValue()
static com.google.protobuf.Parser< RoutingSearchParameters > parser()
Builder setUseRelocateAndMakeActive(com.google.ortools.util.OptionalBoolean value)
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
int getUseTwoOptValue()
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
Builder setUsePathLns(com.google.ortools.util.OptionalBoolean value)
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)
com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value getLocalSearchMetaheuristic()
com.google.ortools.util.OptionalBoolean getUseOrOpt()
Builder clearUseFullPropagation()
double getCheapestInsertionFarthestSeedsRatio()
Builder setUseTspOpt(com.google.ortools.util.OptionalBoolean value)
int getUseRelocateNeighborsValue()
com.google.ortools.util.OptionalBoolean getUseExchangePair()
.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)
int getUseFullPathLnsValue()
Builder setHeuristicExpensiveChainLnsNumArcsToConsider(int value)
com.google.ortools.util.OptionalBoolean getUseRelocate()
int getUseCpSatValue()
Builder setLnsTimeLimit(com.google.protobuf.Duration.Builder builderForValue)
com.google.ortools.util.OptionalBoolean getUseRelocateExpensiveChain()
.lang.Override Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionPathLns()
int getUseTspLnsValue()
com.google.ortools.util.OptionalBoolean getUseSwapActive()
int getUseLocalCheapestInsertionPathLnsValue()
com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionExpensiveChainLns()
Builder clearTimeLimit()
static final int SAVINGS_PARALLEL_ROUTES_FIELD_NUMBER
double getSavingsNeighborsRatio()
Builder setUseLightRelocatePairValue(int value)
int getUseRelocateSubtripValue()
int getUseInactiveLnsValue()
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
static final int USE_EXCHANGE_SUBTRIP_FIELD_NUMBER
com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.CodedInputStream input)
Builder setUseLightRelocatePair(com.google.ortools.util.OptionalBoolean value)
boolean hasLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
com.google.ortools.util.OptionalBoolean getUseRelocatePair()
.lang.Override com.google.protobuf.Parser< LocalSearchNeighborhoodOperators > getParserForType()
.lang.Deprecated static OptionalBoolean valueOf(int value)
Builder clearCheapestInsertionLsOperatorNeighborsRatio()
Builder setLogSearch(boolean value)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseDelimitedFrom(java.io.InputStream input)
Builder setUseDepthFirstSearch(boolean value)
Builder setUseSwapActive(com.google.ortools.util.OptionalBoolean value)
int getHeuristicExpensiveChainLnsNumArcsToConsider()
static final int CHEAPEST_INSERTION_FARTHEST_SEEDS_RATIO_FIELD_NUMBER
Builder clearSavingsParallelRoutes()
com.google.ortools.util.OptionalBoolean getUseLinKernighan()
Builder setUseFullPathLns(com.google.ortools.util.OptionalBoolean value)
com.google.ortools.util.OptionalBoolean getUseRelocateNeighbors()
.lang.Override Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
int getRelocateExpensiveChainNumArcsToConsider()
Builder setUseCpSat(com.google.ortools.util.OptionalBoolean value)
Builder clearFirstSolutionStrategy()
com.google.ortools.util.OptionalBoolean getUseTspLns()
Builder clearUseRelocate()
double getLogCostScalingFactor()
static com.google.ortools.constraintsolver.RoutingSearchParameters getDefaultInstance()
Builder setUseLocalCheapestInsertionExpensiveChainLnsValue(int value)
com.google.ortools.util.OptionalBoolean getUseTwoOpt()
int getFirstSolutionStrategyValue()
com.google.ortools.util.OptionalBoolean getUseRelocateSubtrip()
Builder setUseExchange(com.google.ortools.util.OptionalBoolean value)
Protobuf enum.
int getUseRelocatePairValue()
int getUseRelocateAndMakeActiveValue()
Builder setUseNodePairSwapActive(com.google.ortools.util.OptionalBoolean value)
.lang.Override final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
int getUseRelocatePairValue()
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)
boolean getLogSearch()
static final int SAVINGS_ARC_COEFFICIENT_FIELD_NUMBER
int getLocalSearchMetaheuristicValue()
int getUseLocalCheapestInsertionExpensiveChainLnsValue()
int getUseCrossExchangeValue()
int getUseRelocateNeighborsValue()
Builder clearSavingsArcCoefficient()
Builder clearUseExchangeSubtrip()
static final int GUIDED_LOCAL_SEARCH_LAMBDA_COEFFICIENT_FIELD_NUMBER
int getUseExchangePairValue()
int getUseLinKernighanValue()
UNRECOGNIZED
com.google.ortools.util.OptionalBoolean getUseOrOpt()
int getNumberOfSolutionsToCollect()
static final int USE_TSP_LNS_FIELD_NUMBER
int getUseGlobalCheapestInsertionPathLnsValue()
boolean getChristofidesUseMinimumMatching()
static final int USE_RELOCATE_EXPENSIVE_CHAIN_FIELD_NUMBER
com.google.ortools.util.OptionalBoolean getUseFullPathLns()
Builder setUseRelocateExpensiveChainValue(int value)
int getUseFullPathLnsValue()
static final int USE_OR_OPT_FIELD_NUMBER
static final int CHEAPEST_INSERTION_FIRST_SOLUTION_NEIGHBORS_RATIO_FIELD_NUMBER
static final int USE_GLOBAL_CHEAPEST_INSERTION_EXPENSIVE_CHAIN_LNS_FIELD_NUMBER
boolean getSavingsParallelRoutes()
com.google.ortools.util.OptionalBoolean getUseMakeActive()
double getCheapestInsertionLsOperatorNeighborsRatio()
Builder setUseExchangePair(com.google.ortools.util.OptionalBoolean value)
int getUseLightRelocatePairValue()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.io.InputStream input)
UNSET
com.google.ortools.util.OptionalBoolean getUseCross()
int getUseGlobalCheapestInsertionPathLnsValue()
com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionExpensiveChainLns()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
int getUseMakeInactiveValue()
int getUseExchangeSubtripValue()
Builder setSavingsParallelRoutes(boolean value)
com.google.ortools.util.OptionalBoolean getUseFullPathLns()
Builder setTimeLimit(com.google.protobuf.Duration value)
int getUseMakeChainInactiveValue()
int getUseTspOptValue()
static final int USE_CP_SAT_FIELD_NUMBER
com.google.ortools.util.OptionalBoolean getUseRelocateAndMakeActive()
static final int SAVINGS_NEIGHBORS_RATIO_FIELD_NUMBER
int getUseMakeChainInactiveValue()
static final int USE_RELOCATE_SUBTRIP_FIELD_NUMBER
GLOP
GLOP = 1;
Builder setUseGlobalCheapestInsertionExpensiveChainLnsValue(int value)
int getUseSwapActiveValue()
com.google.ortools.util.OptionalBoolean getUseRelocateExpensiveChain()
com.google.ortools.util.OptionalBoolean getUseLocalCheapestInsertionPathLns()
com.google.ortools.util.OptionalBoolean getUseMakeChainInactive()
Builder setUseMakeActiveValue(int value)
int getUseRelocateSubtripValue()
static final int CHEAPEST_INSERTION_LS_OPERATOR_NEIGHBORS_RATIO_FIELD_NUMBER
int getUseRelocateNeighborsValue()
double getCheapestInsertionFirstSolutionNeighborsRatio()
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()
Builder setUseGlobalCheapestInsertionExpensiveChainLns(com.google.ortools.util.OptionalBoolean value)
double getSavingsArcCoefficient()
int getUseCpValue()
int getUseRelocateExpensiveChainValue()
Builder clearLogSearch()
com.google.ortools.util.OptionalBoolean getUseExtendedSwapActive()
int getUseCrossValue()
Builder clearUseRelocatePair()
Builder clearUseExchange()
Builder setCheapestInsertionFirstSolutionNeighborsRatio(double value)
boolean getUseFullPropagation()
com.google.ortools.util.OptionalBoolean getUseRelocateExpensiveChain()
Builder setUseCpSatValue(int value)
.lang.Override Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
Builder clearLogCostScalingFactor()
boolean getUseUnfilteredFirstSolutionStrategy()
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()
static final int SAVINGS_ADD_REVERSE_ARCS_FIELD_NUMBER
com.google.ortools.util.OptionalBoolean getUseCrossExchange()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
int getUseOrOptValue()
.lang.Override boolean equals(final java.lang.Object obj)
Builder clearMixedIntegerSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
boolean getUseUnfilteredFirstSolutionStrategy()
com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver getMixedIntegerSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
Builder setUseRelocateNeighbors(com.google.ortools.util.OptionalBoolean value)
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
int getUseRelocateExpensiveChainValue()
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
.lang.Override Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
int getUsePathLnsValue()
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()
long getSolutionLimit()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.nio.ByteBuffer data)
double getSavingsMaxMemoryUsageBytes()
.lang.Override boolean equals(final java.lang.Object obj)
Builder clearUseMakeInactive()
Builder setUseTwoOpt(com.google.ortools.util.OptionalBoolean value)
.lang.Override Builder toBuilder()
UNRECOGNIZED
.lang.Override Builder newBuilderForType()
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
static final int USE_NODE_PAIR_SWAP_ACTIVE_FIELD_NUMBER
Builder setUseOrOptValue(int value)
double getOptimizationStep()
Builder clearUseSwapActive()
.lang.Override Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
Builder setUseRelocateSubtrip(com.google.ortools.util.OptionalBoolean value)
com.google.ortools.util.OptionalBoolean getUseFullPathLns()
Builder clearCheapestInsertionFirstSolutionNeighborsRatio()
Builder mergeLnsTimeLimit(com.google.protobuf.Duration value)
int getUseLocalCheapestInsertionExpensiveChainLnsValue()
Builder setUseFullPathLnsValue(int value)
Builder setUseRelocateAndMakeActiveValue(int value)
com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionExpensiveChainLns()
int getUseLocalCheapestInsertionPathLnsValue()
static final int USE_MAKE_ACTIVE_FIELD_NUMBER
static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters prototype)
Builder clearLocalSearchMetaheuristic()
Builder clearUseLinKernighan()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(byte[] data)
Builder setUseUnfilteredFirstSolutionStrategy(boolean value)
Builder setGuidedLocalSearchLambdaCoefficient(double value)
Builder setTimeLimit(com.google.protobuf.Duration.Builder builderForValue)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(byte[] data)
static final int USE_MAKE_INACTIVE_FIELD_NUMBER
.lang.Override final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override Builder clear()
Builder setFirstSolutionStrategyValue(int value)
com.google.ortools.util.OptionalBoolean getUseRelocatePair()
double getGuidedLocalSearchLambdaCoefficient()
Builder setNumberOfSolutionsToCollect(int value)
Builder setUseSwapActiveValue(int value)
Builder clearUseFullPathLns()
.lang.Override Builder mergeFrom(com.google.protobuf.Message other)
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
static final int CHRISTOFIDES_USE_MINIMUM_MATCHING_FIELD_NUMBER
Builder setContinuousSchedulingSolver(com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver value)
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
int getUseRelocatePairValue()
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()
int getUseCpSatValue()
int getUseOrOptValue()
int getMixedIntegerSchedulingSolverValue()
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
Builder setUseRelocate(com.google.ortools.util.OptionalBoolean value)
static final int USE_PATH_LNS_FIELD_NUMBER
com.google.ortools.util.OptionalBoolean getUseLightRelocatePair()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters buildPartial()
.lang.Override Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
Builder setUseExtendedSwapActive(com.google.ortools.util.OptionalBoolean value)
Builder clearUseTspOpt()
com.google.ortools.util.OptionalBoolean getUseMakeInactive()
Builder setUseCp(com.google.ortools.util.OptionalBoolean value)
int getUseNodePairSwapActiveValue()
Builder setLnsTimeLimit(com.google.protobuf.Duration value)
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder getLocalSearchOperatorsOrBuilder()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static final int USE_RELOCATE_AND_MAKE_ACTIVE_FIELD_NUMBER
com.google.ortools.util.OptionalBoolean getUseExchangeSubtrip()
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Builder setFirstSolutionStrategy(com.google.ortools.constraintsolver.FirstSolutionStrategy.Value value)
int getUseMakeActiveValue()
Builder setUseTwoOptValue(int value)
com.google.ortools.util.OptionalBoolean getUseMakeInactive()
com.google.ortools.util.OptionalBoolean getUseExchangeSubtrip()
double getSavingsMaxMemoryUsageBytes()
Builder clearUseCrossExchange()
com.google.ortools.util.OptionalBoolean getUsePathLns()
static final int USE_TWO_OPT_FIELD_NUMBER
.lang.Override Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Builder clearUseGlobalCheapestInsertionExpensiveChainLns()
Builder setContinuousSchedulingSolverValue(int value)
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
int getUseTspLnsValue()
com.google.ortools.util.OptionalBoolean getUseExchange()
com.google.ortools.util.OptionalBoolean getUseSwapActive()
static final int LNS_TIME_LIMIT_FIELD_NUMBER
final int getNumber()
Builder clearSavingsAddReverseArcs()
Builder setUseExchangeValue(int value)
com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionPathLns()
int getUseGlobalCheapestInsertionExpensiveChainLnsValue()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getDefaultInstanceForType()
Builder setUseExchangeSubtripValue(int value)
com.google.ortools.util.OptionalBoolean getUseMakeInactive()
int getUseRelocateValue()
int getFirstSolutionStrategyValue()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters getDefaultInstanceForType()
com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionPathLns()
double getLogCostOffset()
double log_cost_offset = 29;
Builder setUseTspLnsValue(int value)
static final int USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER
.lang.Deprecated static Value valueOf(int value)
UNSET
boolean hasLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
int getUseTspLnsValue()
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)
boolean getSavingsParallelRoutes()
double getLogCostScalingFactor()
Definition: Domain.java:9
com.google.ortools.util.OptionalBoolean getUseInactiveLns()
Builder setUseLinKernighanValue(int value)
Builder mergeLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators value)
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
.lang.Override Builder clear()
int getUseGlobalCheapestInsertionPathLnsValue()
Builder clearUseUnfilteredFirstSolutionStrategy()
UNRECOGNIZED
static final int USE_CROSS_EXCHANGE_FIELD_NUMBER
UNRECOGNIZED
com.google.ortools.util.OptionalBoolean getUseLinKernighan()
int getUseGlobalCheapestInsertionExpensiveChainLnsValue()
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder getLocalSearchOperatorsOrBuilder()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
int getUseCrossExchangeValue()
int getUseSwapActiveValue()
boolean hasLnsTimeLimit()
com.google.ortools.util.OptionalBoolean getUseRelocate()
com.google.protobuf.Duration getLnsTimeLimit()
int getUseLocalCheapestInsertionExpensiveChainLnsValue()
Builder setUseRelocatePair(com.google.ortools.util.OptionalBoolean value)
int getUseTspOptValue()
Builder clearSolutionLimit()
Builder clearUseCp()
Builder clearNumberOfSolutionsToCollect()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getDefaultInstance()
static final int USE_RELOCATE_PAIR_FIELD_NUMBER
com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver getContinuousSchedulingSolver()
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
static com.google.protobuf.Parser< LocalSearchNeighborhoodOperators > parser()
Builder setUseTspOptValue(int value)
Builder setUseExtendedSwapActiveValue(int value)
com.google.ortools.util.OptionalBoolean getUseExchangeSubtrip()
com.google.ortools.util.OptionalBoolean getUseTspOpt()
int getUseFullPathLnsValue()
static final int MIXED_INTEGER_SCHEDULING_SOLVER_FIELD_NUMBER
static final int LOG_SEARCH_FIELD_NUMBER
int getUseRelocateAndMakeActiveValue()
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)
Builder setUseMakeInactive(com.google.ortools.util.OptionalBoolean value)
static final int SAVINGS_MAX_MEMORY_USAGE_BYTES_FIELD_NUMBER
Builder mergeTimeLimit(com.google.protobuf.Duration value)
int getContinuousSchedulingSolverValue()
.operations_research.RoutingSearchParameters.SchedulingSolver continuous_scheduling_solver = 33;
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()
int getUseSwapActiveValue()
com.google.ortools.constraintsolver.FirstSolutionStrategy.Value getFirstSolutionStrategy()
com.google.ortools.util.OptionalBoolean getUseMakeChainInactive()
Builder clearUseDepthFirstSearch()
.lang.Override Builder clone()
Builder setUseCrossExchangeValue(int value)
com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionPathLns()
int getMixedIntegerSchedulingSolverValue()
.operations_research.RoutingSearchParameters.SchedulingSolver mixed_integer_scheduling_solver = 34;
boolean hasTimeLimit()
int getUseExchangeSubtripValue()
Builder setLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators value)
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
int getUseExchangeValue()
Builder setUseCrossValue(int value)
static final int USE_EXCHANGE_FIELD_NUMBER
com.google.ortools.util.OptionalBoolean getUseRelocateNeighbors()
.lang.Override Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
.lang.Override Builder toBuilder()
com.google.ortools.util.OptionalBoolean getUseRelocatePair()
static final int HEURISTIC_EXPENSIVE_CHAIN_LNS_NUM_ARCS_TO_CONSIDER_FIELD_NUMBER
static final int USE_RELOCATE_FIELD_NUMBER
com.google.ortools.util.OptionalBoolean getUsePathLns()
boolean getLogSearch()
Builder setUseExchangePairValue(int value)
int getUseTwoOptValue()
Builder setLogCostScalingFactor(double value)
Builder setUseNodePairSwapActiveValue(int value)
Builder clearSavingsMaxMemoryUsageBytes()
int getUseOrOptValue()
static final int USE_GLOBAL_CHEAPEST_INSERTION_PATH_LNS_FIELD_NUMBER
com.google.ortools.util.OptionalBoolean getUseRelocateSubtrip()
com.google.ortools.util.OptionalBoolean getUseGlobalCheapestInsertionExpensiveChainLns()