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 
17 public final class RoutingSearchParameters extends
18  com.google.protobuf.GeneratedMessageV3 implements
19  // @@protoc_insertion_point(message_implements:operations_research.RoutingSearchParameters)
21 private static final long serialVersionUID = 0L;
22  // Use RoutingSearchParameters.newBuilder() to construct.
23  private RoutingSearchParameters(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
24  super(builder);
25  }
26  private RoutingSearchParameters() {
27  firstSolutionStrategy_ = 0;
28  localSearchMetaheuristic_ = 0;
29  useCp_ = 0;
30  useCpSat_ = 0;
31  }
32 
33  @java.lang.Override
34  @SuppressWarnings({"unused"})
35  protected java.lang.Object newInstance(
36  UnusedPrivateParameter unused) {
37  return new RoutingSearchParameters();
38  }
39 
40  @java.lang.Override
41  public final com.google.protobuf.UnknownFieldSet
43  return this.unknownFields;
44  }
46  com.google.protobuf.CodedInputStream input,
47  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
48  throws com.google.protobuf.InvalidProtocolBufferException {
49  this();
50  if (extensionRegistry == null) {
51  throw new java.lang.NullPointerException();
52  }
53  com.google.protobuf.UnknownFieldSet.Builder unknownFields =
54  com.google.protobuf.UnknownFieldSet.newBuilder();
55  try {
56  boolean done = false;
57  while (!done) {
58  int tag = input.readTag();
59  switch (tag) {
60  case 0:
61  done = true;
62  break;
63  case 8: {
64  int rawValue = input.readEnum();
65 
66  firstSolutionStrategy_ = rawValue;
67  break;
68  }
69  case 16: {
70 
71  useUnfilteredFirstSolutionStrategy_ = input.readBool();
72  break;
73  }
74  case 26: {
76  if (localSearchOperators_ != null) {
77  subBuilder = localSearchOperators_.toBuilder();
78  }
79  localSearchOperators_ = input.readMessage(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.parser(), extensionRegistry);
80  if (subBuilder != null) {
81  subBuilder.mergeFrom(localSearchOperators_);
82  localSearchOperators_ = subBuilder.buildPartial();
83  }
84 
85  break;
86  }
87  case 32: {
88  int rawValue = input.readEnum();
89 
90  localSearchMetaheuristic_ = rawValue;
91  break;
92  }
93  case 41: {
94 
95  guidedLocalSearchLambdaCoefficient_ = input.readDouble();
96  break;
97  }
98  case 48: {
99 
100  useDepthFirstSearch_ = input.readBool();
101  break;
102  }
103  case 57: {
104 
105  optimizationStep_ = input.readDouble();
106  break;
107  }
108  case 64: {
109 
110  solutionLimit_ = input.readInt64();
111  break;
112  }
113  case 74: {
114  com.google.protobuf.Duration.Builder subBuilder = null;
115  if (timeLimit_ != null) {
116  subBuilder = timeLimit_.toBuilder();
117  }
118  timeLimit_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
119  if (subBuilder != null) {
120  subBuilder.mergeFrom(timeLimit_);
121  timeLimit_ = subBuilder.buildPartial();
122  }
123 
124  break;
125  }
126  case 82: {
127  com.google.protobuf.Duration.Builder subBuilder = null;
128  if (lnsTimeLimit_ != null) {
129  subBuilder = lnsTimeLimit_.toBuilder();
130  }
131  lnsTimeLimit_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
132  if (subBuilder != null) {
133  subBuilder.mergeFrom(lnsTimeLimit_);
134  lnsTimeLimit_ = subBuilder.buildPartial();
135  }
136 
137  break;
138  }
139  case 88: {
140 
141  useFullPropagation_ = input.readBool();
142  break;
143  }
144  case 104: {
145 
146  logSearch_ = input.readBool();
147  break;
148  }
149  case 113: {
150 
151  savingsNeighborsRatio_ = input.readDouble();
152  break;
153  }
154  case 120: {
155 
156  savingsAddReverseArcs_ = input.readBool();
157  break;
158  }
159  case 129: {
160 
161  cheapestInsertionFarthestSeedsRatio_ = input.readDouble();
162  break;
163  }
164  case 136: {
165 
166  numberOfSolutionsToCollect_ = input.readInt32();
167  break;
168  }
169  case 145: {
170 
171  savingsArcCoefficient_ = input.readDouble();
172  break;
173  }
174  case 152: {
175 
176  savingsParallelRoutes_ = input.readBool();
177  break;
178  }
179  case 160: {
180 
181  relocateExpensiveChainNumArcsToConsider_ = input.readInt32();
182  break;
183  }
184  case 169: {
185 
186  cheapestInsertionNeighborsRatio_ = input.readDouble();
187  break;
188  }
189  case 177: {
190 
191  logCostScalingFactor_ = input.readDouble();
192  break;
193  }
194  case 185: {
195 
196  savingsMaxMemoryUsageBytes_ = input.readDouble();
197  break;
198  }
199  case 216: {
200  int rawValue = input.readEnum();
201 
202  useCpSat_ = rawValue;
203  break;
204  }
205  case 224: {
206  int rawValue = input.readEnum();
207 
208  useCp_ = rawValue;
209  break;
210  }
211  default: {
212  if (!parseUnknownField(
213  input, unknownFields, extensionRegistry, tag)) {
214  done = true;
215  }
216  break;
217  }
218  }
219  }
220  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
221  throw e.setUnfinishedMessage(this);
222  } catch (java.io.IOException e) {
223  throw new com.google.protobuf.InvalidProtocolBufferException(
224  e).setUnfinishedMessage(this);
225  } finally {
226  this.unknownFields = unknownFields.build();
227  makeExtensionsImmutable();
228  }
229  }
230  public static final com.google.protobuf.Descriptors.Descriptor
232  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
233  }
234 
235  @java.lang.Override
236  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
238  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_fieldAccessorTable
239  .ensureFieldAccessorsInitialized(
241  }
242 
244  // @@protoc_insertion_point(interface_extends:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
245  com.google.protobuf.MessageOrBuilder {
246 
262  int getUseRelocateValue();
279 
312 
341 
400 
439 
453  int getUseExchangeValue();
468 
497 
516 
532  int getUseCrossValue();
549 
566 
601 
618  int getUseTwoOptValue();
636 
654  int getUseOrOptValue();
673 
696 
709  int getUseTspOptValue();
723 
737  int getUseMakeActiveValue();
752 
787 
812 
839 
851  int getUseSwapActiveValue();
864 
899 
936 
951  int getUsePathLnsValue();
967 
984 
997  int getUseTspLnsValue();
1011 
1021  int getUseInactiveLnsValue();
1032  }
1041  public static final class LocalSearchNeighborhoodOperators extends
1042  com.google.protobuf.GeneratedMessageV3 implements
1043  // @@protoc_insertion_point(message_implements:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
1045  private static final long serialVersionUID = 0L;
1046  // Use LocalSearchNeighborhoodOperators.newBuilder() to construct.
1047  private LocalSearchNeighborhoodOperators(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
1048  super(builder);
1049  }
1051  useRelocate_ = 0;
1052  useRelocatePair_ = 0;
1053  useLightRelocatePair_ = 0;
1054  useRelocateNeighbors_ = 0;
1055  useRelocateSubtrip_ = 0;
1056  useExchange_ = 0;
1057  useExchangePair_ = 0;
1058  useExchangeSubtrip_ = 0;
1059  useCross_ = 0;
1060  useCrossExchange_ = 0;
1061  useRelocateExpensiveChain_ = 0;
1062  useTwoOpt_ = 0;
1063  useOrOpt_ = 0;
1064  useLinKernighan_ = 0;
1065  useTspOpt_ = 0;
1066  useMakeActive_ = 0;
1067  useRelocateAndMakeActive_ = 0;
1068  useMakeInactive_ = 0;
1069  useMakeChainInactive_ = 0;
1070  useSwapActive_ = 0;
1071  useExtendedSwapActive_ = 0;
1072  useNodePairSwapActive_ = 0;
1073  usePathLns_ = 0;
1074  useFullPathLns_ = 0;
1075  useTspLns_ = 0;
1076  useInactiveLns_ = 0;
1077  }
1078 
1079  @java.lang.Override
1080  @SuppressWarnings({"unused"})
1081  protected java.lang.Object newInstance(
1082  UnusedPrivateParameter unused) {
1083  return new LocalSearchNeighborhoodOperators();
1084  }
1085 
1086  @java.lang.Override
1087  public final com.google.protobuf.UnknownFieldSet
1089  return this.unknownFields;
1090  }
1092  com.google.protobuf.CodedInputStream input,
1093  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1094  throws com.google.protobuf.InvalidProtocolBufferException {
1095  this();
1096  if (extensionRegistry == null) {
1097  throw new java.lang.NullPointerException();
1098  }
1099  com.google.protobuf.UnknownFieldSet.Builder unknownFields =
1100  com.google.protobuf.UnknownFieldSet.newBuilder();
1101  try {
1102  boolean done = false;
1103  while (!done) {
1104  int tag = input.readTag();
1105  switch (tag) {
1106  case 0:
1107  done = true;
1108  break;
1109  case 8: {
1110  int rawValue = input.readEnum();
1111 
1112  useRelocate_ = rawValue;
1113  break;
1114  }
1115  case 16: {
1116  int rawValue = input.readEnum();
1117 
1118  useRelocatePair_ = rawValue;
1119  break;
1120  }
1121  case 24: {
1122  int rawValue = input.readEnum();
1123 
1124  useRelocateNeighbors_ = rawValue;
1125  break;
1126  }
1127  case 32: {
1128  int rawValue = input.readEnum();
1129 
1130  useExchange_ = rawValue;
1131  break;
1132  }
1133  case 40: {
1134  int rawValue = input.readEnum();
1135 
1136  useCross_ = rawValue;
1137  break;
1138  }
1139  case 48: {
1140  int rawValue = input.readEnum();
1141 
1142  useCrossExchange_ = rawValue;
1143  break;
1144  }
1145  case 56: {
1146  int rawValue = input.readEnum();
1147 
1148  useTwoOpt_ = rawValue;
1149  break;
1150  }
1151  case 64: {
1152  int rawValue = input.readEnum();
1153 
1154  useOrOpt_ = rawValue;
1155  break;
1156  }
1157  case 72: {
1158  int rawValue = input.readEnum();
1159 
1160  useLinKernighan_ = rawValue;
1161  break;
1162  }
1163  case 80: {
1164  int rawValue = input.readEnum();
1165 
1166  useTspOpt_ = rawValue;
1167  break;
1168  }
1169  case 88: {
1170  int rawValue = input.readEnum();
1171 
1172  useMakeActive_ = rawValue;
1173  break;
1174  }
1175  case 96: {
1176  int rawValue = input.readEnum();
1177 
1178  useMakeInactive_ = rawValue;
1179  break;
1180  }
1181  case 104: {
1182  int rawValue = input.readEnum();
1183 
1184  useMakeChainInactive_ = rawValue;
1185  break;
1186  }
1187  case 112: {
1188  int rawValue = input.readEnum();
1189 
1190  useSwapActive_ = rawValue;
1191  break;
1192  }
1193  case 120: {
1194  int rawValue = input.readEnum();
1195 
1196  useExtendedSwapActive_ = rawValue;
1197  break;
1198  }
1199  case 128: {
1200  int rawValue = input.readEnum();
1201 
1202  usePathLns_ = rawValue;
1203  break;
1204  }
1205  case 136: {
1206  int rawValue = input.readEnum();
1207 
1208  useFullPathLns_ = rawValue;
1209  break;
1210  }
1211  case 144: {
1212  int rawValue = input.readEnum();
1213 
1214  useTspLns_ = rawValue;
1215  break;
1216  }
1217  case 152: {
1218  int rawValue = input.readEnum();
1219 
1220  useInactiveLns_ = rawValue;
1221  break;
1222  }
1223  case 160: {
1224  int rawValue = input.readEnum();
1225 
1226  useNodePairSwapActive_ = rawValue;
1227  break;
1228  }
1229  case 168: {
1230  int rawValue = input.readEnum();
1231 
1232  useRelocateAndMakeActive_ = rawValue;
1233  break;
1234  }
1235  case 176: {
1236  int rawValue = input.readEnum();
1237 
1238  useExchangePair_ = rawValue;
1239  break;
1240  }
1241  case 184: {
1242  int rawValue = input.readEnum();
1243 
1244  useRelocateExpensiveChain_ = rawValue;
1245  break;
1246  }
1247  case 192: {
1248  int rawValue = input.readEnum();
1249 
1250  useLightRelocatePair_ = rawValue;
1251  break;
1252  }
1253  case 200: {
1254  int rawValue = input.readEnum();
1255 
1256  useRelocateSubtrip_ = rawValue;
1257  break;
1258  }
1259  case 208: {
1260  int rawValue = input.readEnum();
1261 
1262  useExchangeSubtrip_ = rawValue;
1263  break;
1264  }
1265  default: {
1266  if (!parseUnknownField(
1267  input, unknownFields, extensionRegistry, tag)) {
1268  done = true;
1269  }
1270  break;
1271  }
1272  }
1273  }
1274  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1275  throw e.setUnfinishedMessage(this);
1276  } catch (java.io.IOException e) {
1277  throw new com.google.protobuf.InvalidProtocolBufferException(
1278  e).setUnfinishedMessage(this);
1279  } finally {
1280  this.unknownFields = unknownFields.build();
1281  makeExtensionsImmutable();
1282  }
1283  }
1284  public static final com.google.protobuf.Descriptors.Descriptor
1286  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
1287  }
1288 
1289  @java.lang.Override
1290  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
1292  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_fieldAccessorTable
1293  .ensureFieldAccessorsInitialized(
1295  }
1296 
1297  public static final int USE_RELOCATE_FIELD_NUMBER = 1;
1298  private int useRelocate_;
1314  public int getUseRelocateValue() {
1315  return useRelocate_;
1316  }
1333  @SuppressWarnings("deprecation")
1335  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1336  }
1337 
1338  public static final int USE_RELOCATE_PAIR_FIELD_NUMBER = 2;
1339  private int useRelocatePair_;
1356  return useRelocatePair_;
1357  }
1374  @SuppressWarnings("deprecation")
1376  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1377  }
1378 
1379  public static final int USE_LIGHT_RELOCATE_PAIR_FIELD_NUMBER = 24;
1380  private int useLightRelocatePair_;
1395  return useLightRelocatePair_;
1396  }
1411  @SuppressWarnings("deprecation")
1413  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1414  }
1415 
1416  public static final int USE_RELOCATE_NEIGHBORS_FIELD_NUMBER = 3;
1417  private int useRelocateNeighbors_;
1447  return useRelocateNeighbors_;
1448  }
1478  @SuppressWarnings("deprecation")
1480  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1481  }
1482 
1483  public static final int USE_RELOCATE_SUBTRIP_FIELD_NUMBER = 25;
1484  private int useRelocateSubtrip_;
1504  return useRelocateSubtrip_;
1505  }
1525  @SuppressWarnings("deprecation")
1527  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1528  }
1529 
1530  public static final int USE_EXCHANGE_FIELD_NUMBER = 4;
1531  private int useExchange_;
1545  public int getUseExchangeValue() {
1546  return useExchange_;
1547  }
1562  @SuppressWarnings("deprecation")
1564  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1565  }
1566 
1567  public static final int USE_EXCHANGE_PAIR_FIELD_NUMBER = 22;
1568  private int useExchangePair_;
1583  return useExchangePair_;
1584  }
1599  @SuppressWarnings("deprecation")
1601  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1602  }
1603 
1604  public static final int USE_EXCHANGE_SUBTRIP_FIELD_NUMBER = 26;
1605  private int useExchangeSubtrip_;
1615  return useExchangeSubtrip_;
1616  }
1626  @SuppressWarnings("deprecation")
1628  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1629  }
1630 
1631  public static final int USE_CROSS_FIELD_NUMBER = 5;
1632  private int useCross_;
1648  public int getUseCrossValue() {
1649  return useCross_;
1650  }
1667  @SuppressWarnings("deprecation")
1669  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1670  }
1671 
1672  public static final int USE_CROSS_EXCHANGE_FIELD_NUMBER = 6;
1673  private int useCrossExchange_;
1682  return useCrossExchange_;
1683  }
1692  @SuppressWarnings("deprecation")
1694  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1695  }
1696 
1697  public static final int USE_RELOCATE_EXPENSIVE_CHAIN_FIELD_NUMBER = 23;
1698  private int useRelocateExpensiveChain_;
1716  return useRelocateExpensiveChain_;
1717  }
1735  @SuppressWarnings("deprecation")
1736  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateExpensiveChain_);
1737  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1738  }
1739 
1740  public static final int USE_TWO_OPT_FIELD_NUMBER = 7;
1741  private int useTwoOpt_;
1758  public int getUseTwoOptValue() {
1759  return useTwoOpt_;
1760  }
1778  @SuppressWarnings("deprecation")
1780  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1781  }
1782 
1783  public static final int USE_OR_OPT_FIELD_NUMBER = 8;
1784  private int useOrOpt_;
1802  public int getUseOrOptValue() {
1803  return useOrOpt_;
1804  }
1823  @SuppressWarnings("deprecation")
1825  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1826  }
1827 
1828  public static final int USE_LIN_KERNIGHAN_FIELD_NUMBER = 9;
1829  private int useLinKernighan_;
1841  return useLinKernighan_;
1842  }
1854  @SuppressWarnings("deprecation")
1856  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1857  }
1858 
1859  public static final int USE_TSP_OPT_FIELD_NUMBER = 10;
1860  private int useTspOpt_;
1873  public int getUseTspOptValue() {
1874  return useTspOpt_;
1875  }
1889  @SuppressWarnings("deprecation")
1891  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1892  }
1893 
1894  public static final int USE_MAKE_ACTIVE_FIELD_NUMBER = 11;
1895  private int useMakeActive_;
1909  public int getUseMakeActiveValue() {
1910  return useMakeActive_;
1911  }
1926  @SuppressWarnings("deprecation")
1928  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1929  }
1930 
1931  public static final int USE_RELOCATE_AND_MAKE_ACTIVE_FIELD_NUMBER = 21;
1932  private int useRelocateAndMakeActive_;
1950  return useRelocateAndMakeActive_;
1951  }
1969  @SuppressWarnings("deprecation")
1970  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateAndMakeActive_);
1971  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1972  }
1973 
1974  public static final int USE_MAKE_INACTIVE_FIELD_NUMBER = 12;
1975  private int useMakeInactive_;
1988  return useMakeInactive_;
1989  }
2002  @SuppressWarnings("deprecation")
2004  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2005  }
2006 
2007  public static final int USE_MAKE_CHAIN_INACTIVE_FIELD_NUMBER = 13;
2008  private int useMakeChainInactive_;
2022  return useMakeChainInactive_;
2023  }
2037  @SuppressWarnings("deprecation")
2039  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2040  }
2041 
2042  public static final int USE_SWAP_ACTIVE_FIELD_NUMBER = 14;
2043  private int useSwapActive_;
2055  public int getUseSwapActiveValue() {
2056  return useSwapActive_;
2057  }
2070  @SuppressWarnings("deprecation")
2072  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2073  }
2074 
2075  public static final int USE_EXTENDED_SWAP_ACTIVE_FIELD_NUMBER = 15;
2076  private int useExtendedSwapActive_;
2094  return useExtendedSwapActive_;
2095  }
2113  @SuppressWarnings("deprecation")
2114  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useExtendedSwapActive_);
2115  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2116  }
2117 
2118  public static final int USE_NODE_PAIR_SWAP_ACTIVE_FIELD_NUMBER = 20;
2119  private int useNodePairSwapActive_;
2138  return useNodePairSwapActive_;
2139  }
2158  @SuppressWarnings("deprecation")
2159  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useNodePairSwapActive_);
2160  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2161  }
2162 
2163  public static final int USE_PATH_LNS_FIELD_NUMBER = 16;
2164  private int usePathLns_;
2179  public int getUsePathLnsValue() {
2180  return usePathLns_;
2181  }
2197  @SuppressWarnings("deprecation")
2199  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2200  }
2201 
2202  public static final int USE_FULL_PATH_LNS_FIELD_NUMBER = 17;
2203  private int useFullPathLns_;
2211  public int getUseFullPathLnsValue() {
2212  return useFullPathLns_;
2213  }
2222  @SuppressWarnings("deprecation")
2224  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2225  }
2226 
2227  public static final int USE_TSP_LNS_FIELD_NUMBER = 18;
2228  private int useTspLns_;
2241  public int getUseTspLnsValue() {
2242  return useTspLns_;
2243  }
2257  @SuppressWarnings("deprecation")
2259  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2260  }
2261 
2262  public static final int USE_INACTIVE_LNS_FIELD_NUMBER = 19;
2263  private int useInactiveLns_;
2273  public int getUseInactiveLnsValue() {
2274  return useInactiveLns_;
2275  }
2286  @SuppressWarnings("deprecation")
2288  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2289  }
2290 
2291  private byte memoizedIsInitialized = -1;
2292  @java.lang.Override
2293  public final boolean isInitialized() {
2294  byte isInitialized = memoizedIsInitialized;
2295  if (isInitialized == 1) return true;
2296  if (isInitialized == 0) return false;
2297 
2298  memoizedIsInitialized = 1;
2299  return true;
2300  }
2301 
2302  @java.lang.Override
2303  public void writeTo(com.google.protobuf.CodedOutputStream output)
2304  throws java.io.IOException {
2305  if (useRelocate_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2306  output.writeEnum(1, useRelocate_);
2307  }
2308  if (useRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2309  output.writeEnum(2, useRelocatePair_);
2310  }
2311  if (useRelocateNeighbors_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2312  output.writeEnum(3, useRelocateNeighbors_);
2313  }
2314  if (useExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2315  output.writeEnum(4, useExchange_);
2316  }
2317  if (useCross_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2318  output.writeEnum(5, useCross_);
2319  }
2320  if (useCrossExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2321  output.writeEnum(6, useCrossExchange_);
2322  }
2323  if (useTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2324  output.writeEnum(7, useTwoOpt_);
2325  }
2326  if (useOrOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2327  output.writeEnum(8, useOrOpt_);
2328  }
2329  if (useLinKernighan_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2330  output.writeEnum(9, useLinKernighan_);
2331  }
2332  if (useTspOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2333  output.writeEnum(10, useTspOpt_);
2334  }
2335  if (useMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2336  output.writeEnum(11, useMakeActive_);
2337  }
2338  if (useMakeInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2339  output.writeEnum(12, useMakeInactive_);
2340  }
2341  if (useMakeChainInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2342  output.writeEnum(13, useMakeChainInactive_);
2343  }
2344  if (useSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2345  output.writeEnum(14, useSwapActive_);
2346  }
2347  if (useExtendedSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2348  output.writeEnum(15, useExtendedSwapActive_);
2349  }
2350  if (usePathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2351  output.writeEnum(16, usePathLns_);
2352  }
2353  if (useFullPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2354  output.writeEnum(17, useFullPathLns_);
2355  }
2356  if (useTspLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2357  output.writeEnum(18, useTspLns_);
2358  }
2359  if (useInactiveLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2360  output.writeEnum(19, useInactiveLns_);
2361  }
2362  if (useNodePairSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2363  output.writeEnum(20, useNodePairSwapActive_);
2364  }
2365  if (useRelocateAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2366  output.writeEnum(21, useRelocateAndMakeActive_);
2367  }
2368  if (useExchangePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2369  output.writeEnum(22, useExchangePair_);
2370  }
2371  if (useRelocateExpensiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2372  output.writeEnum(23, useRelocateExpensiveChain_);
2373  }
2374  if (useLightRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2375  output.writeEnum(24, useLightRelocatePair_);
2376  }
2377  if (useRelocateSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2378  output.writeEnum(25, useRelocateSubtrip_);
2379  }
2380  if (useExchangeSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2381  output.writeEnum(26, useExchangeSubtrip_);
2382  }
2383  unknownFields.writeTo(output);
2384  }
2385 
2386  @java.lang.Override
2387  public int getSerializedSize() {
2388  int size = memoizedSize;
2389  if (size != -1) return size;
2390 
2391  size = 0;
2392  if (useRelocate_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2393  size += com.google.protobuf.CodedOutputStream
2394  .computeEnumSize(1, useRelocate_);
2395  }
2396  if (useRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2397  size += com.google.protobuf.CodedOutputStream
2398  .computeEnumSize(2, useRelocatePair_);
2399  }
2400  if (useRelocateNeighbors_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2401  size += com.google.protobuf.CodedOutputStream
2402  .computeEnumSize(3, useRelocateNeighbors_);
2403  }
2404  if (useExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2405  size += com.google.protobuf.CodedOutputStream
2406  .computeEnumSize(4, useExchange_);
2407  }
2408  if (useCross_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2409  size += com.google.protobuf.CodedOutputStream
2410  .computeEnumSize(5, useCross_);
2411  }
2412  if (useCrossExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2413  size += com.google.protobuf.CodedOutputStream
2414  .computeEnumSize(6, useCrossExchange_);
2415  }
2416  if (useTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2417  size += com.google.protobuf.CodedOutputStream
2418  .computeEnumSize(7, useTwoOpt_);
2419  }
2420  if (useOrOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2421  size += com.google.protobuf.CodedOutputStream
2422  .computeEnumSize(8, useOrOpt_);
2423  }
2424  if (useLinKernighan_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2425  size += com.google.protobuf.CodedOutputStream
2426  .computeEnumSize(9, useLinKernighan_);
2427  }
2428  if (useTspOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2429  size += com.google.protobuf.CodedOutputStream
2430  .computeEnumSize(10, useTspOpt_);
2431  }
2432  if (useMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2433  size += com.google.protobuf.CodedOutputStream
2434  .computeEnumSize(11, useMakeActive_);
2435  }
2436  if (useMakeInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2437  size += com.google.protobuf.CodedOutputStream
2438  .computeEnumSize(12, useMakeInactive_);
2439  }
2440  if (useMakeChainInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2441  size += com.google.protobuf.CodedOutputStream
2442  .computeEnumSize(13, useMakeChainInactive_);
2443  }
2444  if (useSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2445  size += com.google.protobuf.CodedOutputStream
2446  .computeEnumSize(14, useSwapActive_);
2447  }
2448  if (useExtendedSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2449  size += com.google.protobuf.CodedOutputStream
2450  .computeEnumSize(15, useExtendedSwapActive_);
2451  }
2452  if (usePathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2453  size += com.google.protobuf.CodedOutputStream
2454  .computeEnumSize(16, usePathLns_);
2455  }
2456  if (useFullPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2457  size += com.google.protobuf.CodedOutputStream
2458  .computeEnumSize(17, useFullPathLns_);
2459  }
2460  if (useTspLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2461  size += com.google.protobuf.CodedOutputStream
2462  .computeEnumSize(18, useTspLns_);
2463  }
2464  if (useInactiveLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2465  size += com.google.protobuf.CodedOutputStream
2466  .computeEnumSize(19, useInactiveLns_);
2467  }
2468  if (useNodePairSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2469  size += com.google.protobuf.CodedOutputStream
2470  .computeEnumSize(20, useNodePairSwapActive_);
2471  }
2472  if (useRelocateAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2473  size += com.google.protobuf.CodedOutputStream
2474  .computeEnumSize(21, useRelocateAndMakeActive_);
2475  }
2476  if (useExchangePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2477  size += com.google.protobuf.CodedOutputStream
2478  .computeEnumSize(22, useExchangePair_);
2479  }
2480  if (useRelocateExpensiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2481  size += com.google.protobuf.CodedOutputStream
2482  .computeEnumSize(23, useRelocateExpensiveChain_);
2483  }
2484  if (useLightRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2485  size += com.google.protobuf.CodedOutputStream
2486  .computeEnumSize(24, useLightRelocatePair_);
2487  }
2488  if (useRelocateSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2489  size += com.google.protobuf.CodedOutputStream
2490  .computeEnumSize(25, useRelocateSubtrip_);
2491  }
2492  if (useExchangeSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2493  size += com.google.protobuf.CodedOutputStream
2494  .computeEnumSize(26, useExchangeSubtrip_);
2495  }
2496  size += unknownFields.getSerializedSize();
2497  memoizedSize = size;
2498  return size;
2499  }
2500 
2501  @java.lang.Override
2502  public boolean equals(final java.lang.Object obj) {
2503  if (obj == this) {
2504  return true;
2505  }
2507  return super.equals(obj);
2508  }
2510 
2511  if (useRelocate_ != other.useRelocate_) return false;
2512  if (useRelocatePair_ != other.useRelocatePair_) return false;
2513  if (useLightRelocatePair_ != other.useLightRelocatePair_) return false;
2514  if (useRelocateNeighbors_ != other.useRelocateNeighbors_) return false;
2515  if (useRelocateSubtrip_ != other.useRelocateSubtrip_) return false;
2516  if (useExchange_ != other.useExchange_) return false;
2517  if (useExchangePair_ != other.useExchangePair_) return false;
2518  if (useExchangeSubtrip_ != other.useExchangeSubtrip_) return false;
2519  if (useCross_ != other.useCross_) return false;
2520  if (useCrossExchange_ != other.useCrossExchange_) return false;
2521  if (useRelocateExpensiveChain_ != other.useRelocateExpensiveChain_) return false;
2522  if (useTwoOpt_ != other.useTwoOpt_) return false;
2523  if (useOrOpt_ != other.useOrOpt_) return false;
2524  if (useLinKernighan_ != other.useLinKernighan_) return false;
2525  if (useTspOpt_ != other.useTspOpt_) return false;
2526  if (useMakeActive_ != other.useMakeActive_) return false;
2527  if (useRelocateAndMakeActive_ != other.useRelocateAndMakeActive_) return false;
2528  if (useMakeInactive_ != other.useMakeInactive_) return false;
2529  if (useMakeChainInactive_ != other.useMakeChainInactive_) return false;
2530  if (useSwapActive_ != other.useSwapActive_) return false;
2531  if (useExtendedSwapActive_ != other.useExtendedSwapActive_) return false;
2532  if (useNodePairSwapActive_ != other.useNodePairSwapActive_) return false;
2533  if (usePathLns_ != other.usePathLns_) return false;
2534  if (useFullPathLns_ != other.useFullPathLns_) return false;
2535  if (useTspLns_ != other.useTspLns_) return false;
2536  if (useInactiveLns_ != other.useInactiveLns_) return false;
2537  if (!unknownFields.equals(other.unknownFields)) return false;
2538  return true;
2539  }
2540 
2541  @java.lang.Override
2542  public int hashCode() {
2543  if (memoizedHashCode != 0) {
2544  return memoizedHashCode;
2545  }
2546  int hash = 41;
2547  hash = (19 * hash) + getDescriptor().hashCode();
2548  hash = (37 * hash) + USE_RELOCATE_FIELD_NUMBER;
2549  hash = (53 * hash) + useRelocate_;
2550  hash = (37 * hash) + USE_RELOCATE_PAIR_FIELD_NUMBER;
2551  hash = (53 * hash) + useRelocatePair_;
2552  hash = (37 * hash) + USE_LIGHT_RELOCATE_PAIR_FIELD_NUMBER;
2553  hash = (53 * hash) + useLightRelocatePair_;
2554  hash = (37 * hash) + USE_RELOCATE_NEIGHBORS_FIELD_NUMBER;
2555  hash = (53 * hash) + useRelocateNeighbors_;
2556  hash = (37 * hash) + USE_RELOCATE_SUBTRIP_FIELD_NUMBER;
2557  hash = (53 * hash) + useRelocateSubtrip_;
2558  hash = (37 * hash) + USE_EXCHANGE_FIELD_NUMBER;
2559  hash = (53 * hash) + useExchange_;
2560  hash = (37 * hash) + USE_EXCHANGE_PAIR_FIELD_NUMBER;
2561  hash = (53 * hash) + useExchangePair_;
2562  hash = (37 * hash) + USE_EXCHANGE_SUBTRIP_FIELD_NUMBER;
2563  hash = (53 * hash) + useExchangeSubtrip_;
2564  hash = (37 * hash) + USE_CROSS_FIELD_NUMBER;
2565  hash = (53 * hash) + useCross_;
2566  hash = (37 * hash) + USE_CROSS_EXCHANGE_FIELD_NUMBER;
2567  hash = (53 * hash) + useCrossExchange_;
2568  hash = (37 * hash) + USE_RELOCATE_EXPENSIVE_CHAIN_FIELD_NUMBER;
2569  hash = (53 * hash) + useRelocateExpensiveChain_;
2570  hash = (37 * hash) + USE_TWO_OPT_FIELD_NUMBER;
2571  hash = (53 * hash) + useTwoOpt_;
2572  hash = (37 * hash) + USE_OR_OPT_FIELD_NUMBER;
2573  hash = (53 * hash) + useOrOpt_;
2574  hash = (37 * hash) + USE_LIN_KERNIGHAN_FIELD_NUMBER;
2575  hash = (53 * hash) + useLinKernighan_;
2576  hash = (37 * hash) + USE_TSP_OPT_FIELD_NUMBER;
2577  hash = (53 * hash) + useTspOpt_;
2578  hash = (37 * hash) + USE_MAKE_ACTIVE_FIELD_NUMBER;
2579  hash = (53 * hash) + useMakeActive_;
2580  hash = (37 * hash) + USE_RELOCATE_AND_MAKE_ACTIVE_FIELD_NUMBER;
2581  hash = (53 * hash) + useRelocateAndMakeActive_;
2582  hash = (37 * hash) + USE_MAKE_INACTIVE_FIELD_NUMBER;
2583  hash = (53 * hash) + useMakeInactive_;
2584  hash = (37 * hash) + USE_MAKE_CHAIN_INACTIVE_FIELD_NUMBER;
2585  hash = (53 * hash) + useMakeChainInactive_;
2586  hash = (37 * hash) + USE_SWAP_ACTIVE_FIELD_NUMBER;
2587  hash = (53 * hash) + useSwapActive_;
2588  hash = (37 * hash) + USE_EXTENDED_SWAP_ACTIVE_FIELD_NUMBER;
2589  hash = (53 * hash) + useExtendedSwapActive_;
2590  hash = (37 * hash) + USE_NODE_PAIR_SWAP_ACTIVE_FIELD_NUMBER;
2591  hash = (53 * hash) + useNodePairSwapActive_;
2592  hash = (37 * hash) + USE_PATH_LNS_FIELD_NUMBER;
2593  hash = (53 * hash) + usePathLns_;
2594  hash = (37 * hash) + USE_FULL_PATH_LNS_FIELD_NUMBER;
2595  hash = (53 * hash) + useFullPathLns_;
2596  hash = (37 * hash) + USE_TSP_LNS_FIELD_NUMBER;
2597  hash = (53 * hash) + useTspLns_;
2598  hash = (37 * hash) + USE_INACTIVE_LNS_FIELD_NUMBER;
2599  hash = (53 * hash) + useInactiveLns_;
2600  hash = (29 * hash) + unknownFields.hashCode();
2601  memoizedHashCode = hash;
2602  return hash;
2603  }
2604 
2606  java.nio.ByteBuffer data)
2607  throws com.google.protobuf.InvalidProtocolBufferException {
2608  return PARSER.parseFrom(data);
2609  }
2611  java.nio.ByteBuffer data,
2612  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2613  throws com.google.protobuf.InvalidProtocolBufferException {
2614  return PARSER.parseFrom(data, extensionRegistry);
2615  }
2617  com.google.protobuf.ByteString data)
2618  throws com.google.protobuf.InvalidProtocolBufferException {
2619  return PARSER.parseFrom(data);
2620  }
2622  com.google.protobuf.ByteString data,
2623  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2624  throws com.google.protobuf.InvalidProtocolBufferException {
2625  return PARSER.parseFrom(data, extensionRegistry);
2626  }
2628  throws com.google.protobuf.InvalidProtocolBufferException {
2629  return PARSER.parseFrom(data);
2630  }
2632  byte[] data,
2633  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2634  throws com.google.protobuf.InvalidProtocolBufferException {
2635  return PARSER.parseFrom(data, extensionRegistry);
2636  }
2638  throws java.io.IOException {
2639  return com.google.protobuf.GeneratedMessageV3
2640  .parseWithIOException(PARSER, input);
2641  }
2643  java.io.InputStream input,
2644  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2645  throws java.io.IOException {
2646  return com.google.protobuf.GeneratedMessageV3
2647  .parseWithIOException(PARSER, input, extensionRegistry);
2648  }
2650  throws java.io.IOException {
2651  return com.google.protobuf.GeneratedMessageV3
2652  .parseDelimitedWithIOException(PARSER, input);
2653  }
2655  java.io.InputStream input,
2656  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2657  throws java.io.IOException {
2658  return com.google.protobuf.GeneratedMessageV3
2659  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
2660  }
2662  com.google.protobuf.CodedInputStream input)
2663  throws java.io.IOException {
2664  return com.google.protobuf.GeneratedMessageV3
2665  .parseWithIOException(PARSER, input);
2666  }
2668  com.google.protobuf.CodedInputStream input,
2669  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2670  throws java.io.IOException {
2671  return com.google.protobuf.GeneratedMessageV3
2672  .parseWithIOException(PARSER, input, extensionRegistry);
2673  }
2674 
2675  @java.lang.Override
2676  public Builder newBuilderForType() { return newBuilder(); }
2677  public static Builder newBuilder() {
2678  return DEFAULT_INSTANCE.toBuilder();
2679  }
2681  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
2682  }
2683  @java.lang.Override
2684  public Builder toBuilder() {
2685  return this == DEFAULT_INSTANCE
2686  ? new Builder() : new Builder().mergeFrom(this);
2687  }
2688 
2689  @java.lang.Override
2691  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
2692  Builder builder = new Builder(parent);
2693  return builder;
2694  }
2703  public static final class Builder extends
2704  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
2705  // @@protoc_insertion_point(builder_implements:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
2707  public static final com.google.protobuf.Descriptors.Descriptor
2709  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
2710  }
2711 
2712  @java.lang.Override
2713  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
2715  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_fieldAccessorTable
2716  .ensureFieldAccessorsInitialized(
2718  }
2719 
2720  // Construct using com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.newBuilder()
2721  private Builder() {
2722  maybeForceBuilderInitialization();
2723  }
2724 
2725  private Builder(
2726  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
2727  super(parent);
2728  maybeForceBuilderInitialization();
2729  }
2730  private void maybeForceBuilderInitialization() {
2731  if (com.google.protobuf.GeneratedMessageV3
2732  .alwaysUseFieldBuilders) {
2733  }
2734  }
2735  @java.lang.Override
2736  public Builder clear() {
2737  super.clear();
2738  useRelocate_ = 0;
2739 
2740  useRelocatePair_ = 0;
2741 
2742  useLightRelocatePair_ = 0;
2743 
2744  useRelocateNeighbors_ = 0;
2745 
2746  useRelocateSubtrip_ = 0;
2747 
2748  useExchange_ = 0;
2749 
2750  useExchangePair_ = 0;
2751 
2752  useExchangeSubtrip_ = 0;
2753 
2754  useCross_ = 0;
2755 
2756  useCrossExchange_ = 0;
2757 
2758  useRelocateExpensiveChain_ = 0;
2759 
2760  useTwoOpt_ = 0;
2761 
2762  useOrOpt_ = 0;
2763 
2764  useLinKernighan_ = 0;
2765 
2766  useTspOpt_ = 0;
2767 
2768  useMakeActive_ = 0;
2769 
2770  useRelocateAndMakeActive_ = 0;
2771 
2772  useMakeInactive_ = 0;
2773 
2774  useMakeChainInactive_ = 0;
2775 
2776  useSwapActive_ = 0;
2777 
2778  useExtendedSwapActive_ = 0;
2779 
2780  useNodePairSwapActive_ = 0;
2781 
2782  usePathLns_ = 0;
2783 
2784  useFullPathLns_ = 0;
2785 
2786  useTspLns_ = 0;
2787 
2788  useInactiveLns_ = 0;
2789 
2790  return this;
2791  }
2792 
2793  @java.lang.Override
2794  public com.google.protobuf.Descriptors.Descriptor
2796  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
2797  }
2798 
2799  @java.lang.Override
2802  }
2803 
2804  @java.lang.Override
2807  if (!result.isInitialized()) {
2808  throw newUninitializedMessageException(result);
2809  }
2810  return result;
2811  }
2812 
2813  @java.lang.Override
2816  result.useRelocate_ = useRelocate_;
2817  result.useRelocatePair_ = useRelocatePair_;
2818  result.useLightRelocatePair_ = useLightRelocatePair_;
2819  result.useRelocateNeighbors_ = useRelocateNeighbors_;
2820  result.useRelocateSubtrip_ = useRelocateSubtrip_;
2821  result.useExchange_ = useExchange_;
2822  result.useExchangePair_ = useExchangePair_;
2823  result.useExchangeSubtrip_ = useExchangeSubtrip_;
2824  result.useCross_ = useCross_;
2825  result.useCrossExchange_ = useCrossExchange_;
2826  result.useRelocateExpensiveChain_ = useRelocateExpensiveChain_;
2827  result.useTwoOpt_ = useTwoOpt_;
2828  result.useOrOpt_ = useOrOpt_;
2829  result.useLinKernighan_ = useLinKernighan_;
2830  result.useTspOpt_ = useTspOpt_;
2831  result.useMakeActive_ = useMakeActive_;
2832  result.useRelocateAndMakeActive_ = useRelocateAndMakeActive_;
2833  result.useMakeInactive_ = useMakeInactive_;
2834  result.useMakeChainInactive_ = useMakeChainInactive_;
2835  result.useSwapActive_ = useSwapActive_;
2836  result.useExtendedSwapActive_ = useExtendedSwapActive_;
2837  result.useNodePairSwapActive_ = useNodePairSwapActive_;
2838  result.usePathLns_ = usePathLns_;
2839  result.useFullPathLns_ = useFullPathLns_;
2840  result.useTspLns_ = useTspLns_;
2841  result.useInactiveLns_ = useInactiveLns_;
2842  onBuilt();
2843  return result;
2844  }
2845 
2846  @java.lang.Override
2847  public Builder clone() {
2848  return super.clone();
2849  }
2850  @java.lang.Override
2852  com.google.protobuf.Descriptors.FieldDescriptor field,
2853  java.lang.Object value) {
2854  return super.setField(field, value);
2855  }
2856  @java.lang.Override
2858  com.google.protobuf.Descriptors.FieldDescriptor field) {
2859  return super.clearField(field);
2860  }
2861  @java.lang.Override
2863  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
2864  return super.clearOneof(oneof);
2865  }
2866  @java.lang.Override
2868  com.google.protobuf.Descriptors.FieldDescriptor field,
2869  int index, java.lang.Object value) {
2870  return super.setRepeatedField(field, index, value);
2871  }
2872  @java.lang.Override
2874  com.google.protobuf.Descriptors.FieldDescriptor field,
2875  java.lang.Object value) {
2876  return super.addRepeatedField(field, value);
2877  }
2878  @java.lang.Override
2879  public Builder mergeFrom(com.google.protobuf.Message other) {
2882  } else {
2883  super.mergeFrom(other);
2884  return this;
2885  }
2886  }
2887 
2890  if (other.useRelocate_ != 0) {
2891  setUseRelocateValue(other.getUseRelocateValue());
2892  }
2893  if (other.useRelocatePair_ != 0) {
2894  setUseRelocatePairValue(other.getUseRelocatePairValue());
2895  }
2896  if (other.useLightRelocatePair_ != 0) {
2897  setUseLightRelocatePairValue(other.getUseLightRelocatePairValue());
2898  }
2899  if (other.useRelocateNeighbors_ != 0) {
2900  setUseRelocateNeighborsValue(other.getUseRelocateNeighborsValue());
2901  }
2902  if (other.useRelocateSubtrip_ != 0) {
2903  setUseRelocateSubtripValue(other.getUseRelocateSubtripValue());
2904  }
2905  if (other.useExchange_ != 0) {
2906  setUseExchangeValue(other.getUseExchangeValue());
2907  }
2908  if (other.useExchangePair_ != 0) {
2909  setUseExchangePairValue(other.getUseExchangePairValue());
2910  }
2911  if (other.useExchangeSubtrip_ != 0) {
2912  setUseExchangeSubtripValue(other.getUseExchangeSubtripValue());
2913  }
2914  if (other.useCross_ != 0) {
2915  setUseCrossValue(other.getUseCrossValue());
2916  }
2917  if (other.useCrossExchange_ != 0) {
2918  setUseCrossExchangeValue(other.getUseCrossExchangeValue());
2919  }
2920  if (other.useRelocateExpensiveChain_ != 0) {
2921  setUseRelocateExpensiveChainValue(other.getUseRelocateExpensiveChainValue());
2922  }
2923  if (other.useTwoOpt_ != 0) {
2924  setUseTwoOptValue(other.getUseTwoOptValue());
2925  }
2926  if (other.useOrOpt_ != 0) {
2927  setUseOrOptValue(other.getUseOrOptValue());
2928  }
2929  if (other.useLinKernighan_ != 0) {
2930  setUseLinKernighanValue(other.getUseLinKernighanValue());
2931  }
2932  if (other.useTspOpt_ != 0) {
2933  setUseTspOptValue(other.getUseTspOptValue());
2934  }
2935  if (other.useMakeActive_ != 0) {
2936  setUseMakeActiveValue(other.getUseMakeActiveValue());
2937  }
2938  if (other.useRelocateAndMakeActive_ != 0) {
2939  setUseRelocateAndMakeActiveValue(other.getUseRelocateAndMakeActiveValue());
2940  }
2941  if (other.useMakeInactive_ != 0) {
2942  setUseMakeInactiveValue(other.getUseMakeInactiveValue());
2943  }
2944  if (other.useMakeChainInactive_ != 0) {
2945  setUseMakeChainInactiveValue(other.getUseMakeChainInactiveValue());
2946  }
2947  if (other.useSwapActive_ != 0) {
2948  setUseSwapActiveValue(other.getUseSwapActiveValue());
2949  }
2950  if (other.useExtendedSwapActive_ != 0) {
2951  setUseExtendedSwapActiveValue(other.getUseExtendedSwapActiveValue());
2952  }
2953  if (other.useNodePairSwapActive_ != 0) {
2954  setUseNodePairSwapActiveValue(other.getUseNodePairSwapActiveValue());
2955  }
2956  if (other.usePathLns_ != 0) {
2957  setUsePathLnsValue(other.getUsePathLnsValue());
2958  }
2959  if (other.useFullPathLns_ != 0) {
2960  setUseFullPathLnsValue(other.getUseFullPathLnsValue());
2961  }
2962  if (other.useTspLns_ != 0) {
2963  setUseTspLnsValue(other.getUseTspLnsValue());
2964  }
2965  if (other.useInactiveLns_ != 0) {
2966  setUseInactiveLnsValue(other.getUseInactiveLnsValue());
2967  }
2968  this.mergeUnknownFields(other.unknownFields);
2969  onChanged();
2970  return this;
2971  }
2972 
2973  @java.lang.Override
2974  public final boolean isInitialized() {
2975  return true;
2976  }
2977 
2978  @java.lang.Override
2980  com.google.protobuf.CodedInputStream input,
2981  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2982  throws java.io.IOException {
2984  try {
2985  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
2986  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2988  throw e.unwrapIOException();
2989  } finally {
2990  if (parsedMessage != null) {
2991  mergeFrom(parsedMessage);
2992  }
2993  }
2994  return this;
2995  }
2996 
2997  private int useRelocate_ = 0;
3013  public int getUseRelocateValue() {
3014  return useRelocate_;
3015  }
3031  public Builder setUseRelocateValue(int value) {
3032  useRelocate_ = value;
3033  onChanged();
3034  return this;
3035  }
3052  @SuppressWarnings("deprecation")
3054  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3055  }
3072  if (value == null) {
3073  throw new NullPointerException();
3074  }
3075 
3076  useRelocate_ = value.getNumber();
3077  onChanged();
3078  return this;
3079  }
3096 
3097  useRelocate_ = 0;
3098  onChanged();
3099  return this;
3100  }
3101 
3102  private int useRelocatePair_ = 0;
3119  return useRelocatePair_;
3120  }
3136  public Builder setUseRelocatePairValue(int value) {
3137  useRelocatePair_ = value;
3138  onChanged();
3139  return this;
3140  }
3157  @SuppressWarnings("deprecation")
3159  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3160  }
3177  if (value == null) {
3178  throw new NullPointerException();
3179  }
3180 
3181  useRelocatePair_ = value.getNumber();
3182  onChanged();
3183  return this;
3184  }
3201 
3202  useRelocatePair_ = 0;
3203  onChanged();
3204  return this;
3205  }
3206 
3207  private int useLightRelocatePair_ = 0;
3222  return useLightRelocatePair_;
3223  }
3238  useLightRelocatePair_ = value;
3239  onChanged();
3240  return this;
3241  }
3256  @SuppressWarnings("deprecation")
3258  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3259  }
3274  if (value == null) {
3275  throw new NullPointerException();
3276  }
3277 
3278  useLightRelocatePair_ = value.getNumber();
3279  onChanged();
3280  return this;
3281  }
3296 
3297  useLightRelocatePair_ = 0;
3298  onChanged();
3299  return this;
3300  }
3301 
3302  private int useRelocateNeighbors_ = 0;
3332  return useRelocateNeighbors_;
3333  }
3363  useRelocateNeighbors_ = value;
3364  onChanged();
3365  return this;
3366  }
3396  @SuppressWarnings("deprecation")
3398  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3399  }
3429  if (value == null) {
3430  throw new NullPointerException();
3431  }
3432 
3433  useRelocateNeighbors_ = value.getNumber();
3434  onChanged();
3435  return this;
3436  }
3466 
3467  useRelocateNeighbors_ = 0;
3468  onChanged();
3469  return this;
3470  }
3471 
3472  private int useRelocateSubtrip_ = 0;
3492  return useRelocateSubtrip_;
3493  }
3513  useRelocateSubtrip_ = value;
3514  onChanged();
3515  return this;
3516  }
3536  @SuppressWarnings("deprecation")
3538  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3539  }
3559  if (value == null) {
3560  throw new NullPointerException();
3561  }
3562 
3563  useRelocateSubtrip_ = value.getNumber();
3564  onChanged();
3565  return this;
3566  }
3586 
3587  useRelocateSubtrip_ = 0;
3588  onChanged();
3589  return this;
3590  }
3591 
3592  private int useExchange_ = 0;
3606  public int getUseExchangeValue() {
3607  return useExchange_;
3608  }
3622  public Builder setUseExchangeValue(int value) {
3623  useExchange_ = value;
3624  onChanged();
3625  return this;
3626  }
3641  @SuppressWarnings("deprecation")
3643  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3644  }
3659  if (value == null) {
3660  throw new NullPointerException();
3661  }
3662 
3663  useExchange_ = value.getNumber();
3664  onChanged();
3665  return this;
3666  }
3681 
3682  useExchange_ = 0;
3683  onChanged();
3684  return this;
3685  }
3686 
3687  private int useExchangePair_ = 0;
3702  return useExchangePair_;
3703  }
3717  public Builder setUseExchangePairValue(int value) {
3718  useExchangePair_ = value;
3719  onChanged();
3720  return this;
3721  }
3736  @SuppressWarnings("deprecation")
3738  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3739  }
3754  if (value == null) {
3755  throw new NullPointerException();
3756  }
3757 
3758  useExchangePair_ = value.getNumber();
3759  onChanged();
3760  return this;
3761  }
3776 
3777  useExchangePair_ = 0;
3778  onChanged();
3779  return this;
3780  }
3781 
3782  private int useExchangeSubtrip_ = 0;
3792  return useExchangeSubtrip_;
3793  }
3803  useExchangeSubtrip_ = value;
3804  onChanged();
3805  return this;
3806  }
3816  @SuppressWarnings("deprecation")
3818  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3819  }
3829  if (value == null) {
3830  throw new NullPointerException();
3831  }
3832 
3833  useExchangeSubtrip_ = value.getNumber();
3834  onChanged();
3835  return this;
3836  }
3846 
3847  useExchangeSubtrip_ = 0;
3848  onChanged();
3849  return this;
3850  }
3851 
3852  private int useCross_ = 0;
3868  public int getUseCrossValue() {
3869  return useCross_;
3870  }
3886  public Builder setUseCrossValue(int value) {
3887  useCross_ = value;
3888  onChanged();
3889  return this;
3890  }
3907  @SuppressWarnings("deprecation")
3909  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3910  }
3927  if (value == null) {
3928  throw new NullPointerException();
3929  }
3930 
3931  useCross_ = value.getNumber();
3932  onChanged();
3933  return this;
3934  }
3951 
3952  useCross_ = 0;
3953  onChanged();
3954  return this;
3955  }
3956 
3957  private int useCrossExchange_ = 0;
3966  return useCrossExchange_;
3967  }
3975  public Builder setUseCrossExchangeValue(int value) {
3976  useCrossExchange_ = value;
3977  onChanged();
3978  return this;
3979  }
3988  @SuppressWarnings("deprecation")
3990  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3991  }
4000  if (value == null) {
4001  throw new NullPointerException();
4002  }
4003 
4004  useCrossExchange_ = value.getNumber();
4005  onChanged();
4006  return this;
4007  }
4016 
4017  useCrossExchange_ = 0;
4018  onChanged();
4019  return this;
4020  }
4021 
4022  private int useRelocateExpensiveChain_ = 0;
4040  return useRelocateExpensiveChain_;
4041  }
4059  useRelocateExpensiveChain_ = value;
4060  onChanged();
4061  return this;
4062  }
4080  @SuppressWarnings("deprecation")
4081  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateExpensiveChain_);
4082  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4083  }
4101  if (value == null) {
4102  throw new NullPointerException();
4103  }
4104 
4105  useRelocateExpensiveChain_ = value.getNumber();
4106  onChanged();
4107  return this;
4108  }
4126 
4127  useRelocateExpensiveChain_ = 0;
4128  onChanged();
4129  return this;
4130  }
4131 
4132  private int useTwoOpt_ = 0;
4149  public int getUseTwoOptValue() {
4150  return useTwoOpt_;
4151  }
4168  public Builder setUseTwoOptValue(int value) {
4169  useTwoOpt_ = value;
4170  onChanged();
4171  return this;
4172  }
4190  @SuppressWarnings("deprecation")
4192  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4193  }
4211  if (value == null) {
4212  throw new NullPointerException();
4213  }
4214 
4215  useTwoOpt_ = value.getNumber();
4216  onChanged();
4217  return this;
4218  }
4236 
4237  useTwoOpt_ = 0;
4238  onChanged();
4239  return this;
4240  }
4241 
4242  private int useOrOpt_ = 0;
4260  public int getUseOrOptValue() {
4261  return useOrOpt_;
4262  }
4280  public Builder setUseOrOptValue(int value) {
4281  useOrOpt_ = value;
4282  onChanged();
4283  return this;
4284  }
4303  @SuppressWarnings("deprecation")
4305  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4306  }
4325  if (value == null) {
4326  throw new NullPointerException();
4327  }
4328 
4329  useOrOpt_ = value.getNumber();
4330  onChanged();
4331  return this;
4332  }
4351 
4352  useOrOpt_ = 0;
4353  onChanged();
4354  return this;
4355  }
4356 
4357  private int useLinKernighan_ = 0;
4369  return useLinKernighan_;
4370  }
4381  public Builder setUseLinKernighanValue(int value) {
4382  useLinKernighan_ = value;
4383  onChanged();
4384  return this;
4385  }
4397  @SuppressWarnings("deprecation")
4399  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4400  }
4412  if (value == null) {
4413  throw new NullPointerException();
4414  }
4415 
4416  useLinKernighan_ = value.getNumber();
4417  onChanged();
4418  return this;
4419  }
4431 
4432  useLinKernighan_ = 0;
4433  onChanged();
4434  return this;
4435  }
4436 
4437  private int useTspOpt_ = 0;
4450  public int getUseTspOptValue() {
4451  return useTspOpt_;
4452  }
4465  public Builder setUseTspOptValue(int value) {
4466  useTspOpt_ = value;
4467  onChanged();
4468  return this;
4469  }
4483  @SuppressWarnings("deprecation")
4485  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4486  }
4500  if (value == null) {
4501  throw new NullPointerException();
4502  }
4503 
4504  useTspOpt_ = value.getNumber();
4505  onChanged();
4506  return this;
4507  }
4521 
4522  useTspOpt_ = 0;
4523  onChanged();
4524  return this;
4525  }
4526 
4527  private int useMakeActive_ = 0;
4541  public int getUseMakeActiveValue() {
4542  return useMakeActive_;
4543  }
4557  public Builder setUseMakeActiveValue(int value) {
4558  useMakeActive_ = value;
4559  onChanged();
4560  return this;
4561  }
4576  @SuppressWarnings("deprecation")
4578  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4579  }
4594  if (value == null) {
4595  throw new NullPointerException();
4596  }
4597 
4598  useMakeActive_ = value.getNumber();
4599  onChanged();
4600  return this;
4601  }
4616 
4617  useMakeActive_ = 0;
4618  onChanged();
4619  return this;
4620  }
4621 
4622  private int useRelocateAndMakeActive_ = 0;
4640  return useRelocateAndMakeActive_;
4641  }
4659  useRelocateAndMakeActive_ = value;
4660  onChanged();
4661  return this;
4662  }
4680  @SuppressWarnings("deprecation")
4681  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateAndMakeActive_);
4682  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4683  }
4701  if (value == null) {
4702  throw new NullPointerException();
4703  }
4704 
4705  useRelocateAndMakeActive_ = value.getNumber();
4706  onChanged();
4707  return this;
4708  }
4726 
4727  useRelocateAndMakeActive_ = 0;
4728  onChanged();
4729  return this;
4730  }
4731 
4732  private int useMakeInactive_ = 0;
4745  return useMakeInactive_;
4746  }
4758  public Builder setUseMakeInactiveValue(int value) {
4759  useMakeInactive_ = value;
4760  onChanged();
4761  return this;
4762  }
4775  @SuppressWarnings("deprecation")
4777  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4778  }
4791  if (value == null) {
4792  throw new NullPointerException();
4793  }
4794 
4795  useMakeInactive_ = value.getNumber();
4796  onChanged();
4797  return this;
4798  }
4811 
4812  useMakeInactive_ = 0;
4813  onChanged();
4814  return this;
4815  }
4816 
4817  private int useMakeChainInactive_ = 0;
4831  return useMakeChainInactive_;
4832  }
4846  useMakeChainInactive_ = value;
4847  onChanged();
4848  return this;
4849  }
4863  @SuppressWarnings("deprecation")
4865  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4866  }
4880  if (value == null) {
4881  throw new NullPointerException();
4882  }
4883 
4884  useMakeChainInactive_ = value.getNumber();
4885  onChanged();
4886  return this;
4887  }
4901 
4902  useMakeChainInactive_ = 0;
4903  onChanged();
4904  return this;
4905  }
4906 
4907  private int useSwapActive_ = 0;
4919  public int getUseSwapActiveValue() {
4920  return useSwapActive_;
4921  }
4933  public Builder setUseSwapActiveValue(int value) {
4934  useSwapActive_ = value;
4935  onChanged();
4936  return this;
4937  }
4950  @SuppressWarnings("deprecation")
4952  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4953  }
4966  if (value == null) {
4967  throw new NullPointerException();
4968  }
4969 
4970  useSwapActive_ = value.getNumber();
4971  onChanged();
4972  return this;
4973  }
4986 
4987  useSwapActive_ = 0;
4988  onChanged();
4989  return this;
4990  }
4991 
4992  private int useExtendedSwapActive_ = 0;
5010  return useExtendedSwapActive_;
5011  }
5029  useExtendedSwapActive_ = value;
5030  onChanged();
5031  return this;
5032  }
5050  @SuppressWarnings("deprecation")
5051  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useExtendedSwapActive_);
5052  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5053  }
5071  if (value == null) {
5072  throw new NullPointerException();
5073  }
5074 
5075  useExtendedSwapActive_ = value.getNumber();
5076  onChanged();
5077  return this;
5078  }
5096 
5097  useExtendedSwapActive_ = 0;
5098  onChanged();
5099  return this;
5100  }
5101 
5102  private int useNodePairSwapActive_ = 0;
5121  return useNodePairSwapActive_;
5122  }
5141  useNodePairSwapActive_ = value;
5142  onChanged();
5143  return this;
5144  }
5163  @SuppressWarnings("deprecation")
5164  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useNodePairSwapActive_);
5165  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5166  }
5185  if (value == null) {
5186  throw new NullPointerException();
5187  }
5188 
5189  useNodePairSwapActive_ = value.getNumber();
5190  onChanged();
5191  return this;
5192  }
5211 
5212  useNodePairSwapActive_ = 0;
5213  onChanged();
5214  return this;
5215  }
5216 
5217  private int usePathLns_ = 0;
5232  public int getUsePathLnsValue() {
5233  return usePathLns_;
5234  }
5249  public Builder setUsePathLnsValue(int value) {
5250  usePathLns_ = value;
5251  onChanged();
5252  return this;
5253  }
5269  @SuppressWarnings("deprecation")
5271  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5272  }
5288  if (value == null) {
5289  throw new NullPointerException();
5290  }
5291 
5292  usePathLns_ = value.getNumber();
5293  onChanged();
5294  return this;
5295  }
5311 
5312  usePathLns_ = 0;
5313  onChanged();
5314  return this;
5315  }
5316 
5317  private int useFullPathLns_ = 0;
5325  public int getUseFullPathLnsValue() {
5326  return useFullPathLns_;
5327  }
5335  public Builder setUseFullPathLnsValue(int value) {
5336  useFullPathLns_ = value;
5337  onChanged();
5338  return this;
5339  }
5348  @SuppressWarnings("deprecation")
5350  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5351  }
5360  if (value == null) {
5361  throw new NullPointerException();
5362  }
5363 
5364  useFullPathLns_ = value.getNumber();
5365  onChanged();
5366  return this;
5367  }
5376 
5377  useFullPathLns_ = 0;
5378  onChanged();
5379  return this;
5380  }
5381 
5382  private int useTspLns_ = 0;
5395  public int getUseTspLnsValue() {
5396  return useTspLns_;
5397  }
5410  public Builder setUseTspLnsValue(int value) {
5411  useTspLns_ = value;
5412  onChanged();
5413  return this;
5414  }
5428  @SuppressWarnings("deprecation")
5430  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5431  }
5445  if (value == null) {
5446  throw new NullPointerException();
5447  }
5448 
5449  useTspLns_ = value.getNumber();
5450  onChanged();
5451  return this;
5452  }
5466 
5467  useTspLns_ = 0;
5468  onChanged();
5469  return this;
5470  }
5471 
5472  private int useInactiveLns_ = 0;
5482  public int getUseInactiveLnsValue() {
5483  return useInactiveLns_;
5484  }
5494  public Builder setUseInactiveLnsValue(int value) {
5495  useInactiveLns_ = value;
5496  onChanged();
5497  return this;
5498  }
5509  @SuppressWarnings("deprecation")
5511  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5512  }
5523  if (value == null) {
5524  throw new NullPointerException();
5525  }
5526 
5527  useInactiveLns_ = value.getNumber();
5528  onChanged();
5529  return this;
5530  }
5541 
5542  useInactiveLns_ = 0;
5543  onChanged();
5544  return this;
5545  }
5546  @java.lang.Override
5548  final com.google.protobuf.UnknownFieldSet unknownFields) {
5549  return super.setUnknownFields(unknownFields);
5550  }
5551 
5552  @java.lang.Override
5554  final com.google.protobuf.UnknownFieldSet unknownFields) {
5555  return super.mergeUnknownFields(unknownFields);
5556  }
5557 
5558 
5559  // @@protoc_insertion_point(builder_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
5560  }
5561 
5562  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
5564  static {
5566  }
5567 
5569  return DEFAULT_INSTANCE;
5570  }
5571 
5572  private static final com.google.protobuf.Parser<LocalSearchNeighborhoodOperators>
5573  PARSER = new com.google.protobuf.AbstractParser<LocalSearchNeighborhoodOperators>() {
5574  @java.lang.Override
5575  public LocalSearchNeighborhoodOperators parsePartialFrom(
5576  com.google.protobuf.CodedInputStream input,
5577  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5578  throws com.google.protobuf.InvalidProtocolBufferException {
5579  return new LocalSearchNeighborhoodOperators(input, extensionRegistry);
5580  }
5581  };
5582 
5583  public static com.google.protobuf.Parser<LocalSearchNeighborhoodOperators> parser() {
5584  return PARSER;
5585  }
5586 
5587  @java.lang.Override
5589  return PARSER;
5590  }
5591 
5592  @java.lang.Override
5594  return DEFAULT_INSTANCE;
5595  }
5596 
5597  }
5598 
5599  public static final int FIRST_SOLUTION_STRATEGY_FIELD_NUMBER = 1;
5600  private int firstSolutionStrategy_;
5609  return firstSolutionStrategy_;
5610  }
5619  @SuppressWarnings("deprecation")
5621  return result == null ? com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNRECOGNIZED : result;
5622  }
5623 
5625  private boolean useUnfilteredFirstSolutionStrategy_;
5636  return useUnfilteredFirstSolutionStrategy_;
5637  }
5638 
5639  public static final int SAVINGS_NEIGHBORS_RATIO_FIELD_NUMBER = 14;
5640  private double savingsNeighborsRatio_;
5650  public double getSavingsNeighborsRatio() {
5651  return savingsNeighborsRatio_;
5652  }
5653 
5654  public static final int SAVINGS_MAX_MEMORY_USAGE_BYTES_FIELD_NUMBER = 23;
5655  private double savingsMaxMemoryUsageBytes_;
5669  return savingsMaxMemoryUsageBytes_;
5670  }
5671 
5672  public static final int SAVINGS_ADD_REVERSE_ARCS_FIELD_NUMBER = 15;
5673  private boolean savingsAddReverseArcs_;
5682  public boolean getSavingsAddReverseArcs() {
5683  return savingsAddReverseArcs_;
5684  }
5685 
5686  public static final int SAVINGS_ARC_COEFFICIENT_FIELD_NUMBER = 18;
5687  private double savingsArcCoefficient_;
5699  public double getSavingsArcCoefficient() {
5700  return savingsArcCoefficient_;
5701  }
5702 
5703  public static final int SAVINGS_PARALLEL_ROUTES_FIELD_NUMBER = 19;
5704  private boolean savingsParallelRoutes_;
5712  public boolean getSavingsParallelRoutes() {
5713  return savingsParallelRoutes_;
5714  }
5715 
5717  private double cheapestInsertionFarthestSeedsRatio_;
5728  return cheapestInsertionFarthestSeedsRatio_;
5729  }
5730 
5732  private double cheapestInsertionNeighborsRatio_;
5744  return cheapestInsertionNeighborsRatio_;
5745  }
5746 
5747  public static final int LOCAL_SEARCH_OPERATORS_FIELD_NUMBER = 3;
5752  public boolean hasLocalSearchOperators() {
5753  return localSearchOperators_ != null;
5754  }
5759  return localSearchOperators_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
5760  }
5765  return getLocalSearchOperators();
5766  }
5767 
5769  private int relocateExpensiveChainNumArcsToConsider_;
5784  return relocateExpensiveChainNumArcsToConsider_;
5785  }
5786 
5787  public static final int LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER = 4;
5788  private int localSearchMetaheuristic_;
5797  return localSearchMetaheuristic_;
5798  }
5807  @SuppressWarnings("deprecation")
5810  }
5811 
5813  private double guidedLocalSearchLambdaCoefficient_;
5825  return guidedLocalSearchLambdaCoefficient_;
5826  }
5827 
5828  public static final int USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER = 6;
5829  private boolean useDepthFirstSearch_;
5839  public boolean getUseDepthFirstSearch() {
5840  return useDepthFirstSearch_;
5841  }
5842 
5843  public static final int USE_CP_FIELD_NUMBER = 28;
5844  private int useCp_;
5854  public int getUseCpValue() {
5855  return useCp_;
5856  }
5867  @SuppressWarnings("deprecation")
5869  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5870  }
5871 
5872  public static final int USE_CP_SAT_FIELD_NUMBER = 27;
5873  private int useCpSat_;
5884  public int getUseCpSatValue() {
5885  return useCpSat_;
5886  }
5898  @SuppressWarnings("deprecation")
5900  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5901  }
5902 
5903  public static final int OPTIMIZATION_STEP_FIELD_NUMBER = 7;
5904  private double optimizationStep_;
5914  public double getOptimizationStep() {
5915  return optimizationStep_;
5916  }
5917 
5918  public static final int NUMBER_OF_SOLUTIONS_TO_COLLECT_FIELD_NUMBER = 17;
5919  private int numberOfSolutionsToCollect_;
5929  return numberOfSolutionsToCollect_;
5930  }
5931 
5932  public static final int SOLUTION_LIMIT_FIELD_NUMBER = 8;
5933  private long solutionLimit_;
5943  public long getSolutionLimit() {
5944  return solutionLimit_;
5945  }
5946 
5947  public static final int TIME_LIMIT_FIELD_NUMBER = 9;
5948  private com.google.protobuf.Duration timeLimit_;
5956  public boolean hasTimeLimit() {
5957  return timeLimit_ != null;
5958  }
5966  public com.google.protobuf.Duration getTimeLimit() {
5967  return timeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
5968  }
5976  public com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder() {
5977  return getTimeLimit();
5978  }
5979 
5980  public static final int LNS_TIME_LIMIT_FIELD_NUMBER = 10;
5981  private com.google.protobuf.Duration lnsTimeLimit_;
5990  public boolean hasLnsTimeLimit() {
5991  return lnsTimeLimit_ != null;
5992  }
6001  public com.google.protobuf.Duration getLnsTimeLimit() {
6002  return lnsTimeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
6003  }
6012  public com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder() {
6013  return getLnsTimeLimit();
6014  }
6015 
6016  public static final int USE_FULL_PROPAGATION_FIELD_NUMBER = 11;
6017  private boolean useFullPropagation_;
6033  public boolean getUseFullPropagation() {
6034  return useFullPropagation_;
6035  }
6036 
6037  public static final int LOG_SEARCH_FIELD_NUMBER = 13;
6038  private boolean logSearch_;
6057  public boolean getLogSearch() {
6058  return logSearch_;
6059  }
6060 
6061  public static final int LOG_COST_SCALING_FACTOR_FIELD_NUMBER = 22;
6062  private double logCostScalingFactor_;
6070  public double getLogCostScalingFactor() {
6071  return logCostScalingFactor_;
6072  }
6073 
6074  private byte memoizedIsInitialized = -1;
6075  @java.lang.Override
6076  public final boolean isInitialized() {
6077  byte isInitialized = memoizedIsInitialized;
6078  if (isInitialized == 1) return true;
6079  if (isInitialized == 0) return false;
6080 
6081  memoizedIsInitialized = 1;
6082  return true;
6083  }
6084 
6085  @java.lang.Override
6086  public void writeTo(com.google.protobuf.CodedOutputStream output)
6087  throws java.io.IOException {
6088  if (firstSolutionStrategy_ != com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNSET.getNumber()) {
6089  output.writeEnum(1, firstSolutionStrategy_);
6090  }
6091  if (useUnfilteredFirstSolutionStrategy_ != false) {
6092  output.writeBool(2, useUnfilteredFirstSolutionStrategy_);
6093  }
6094  if (localSearchOperators_ != null) {
6095  output.writeMessage(3, getLocalSearchOperators());
6096  }
6097  if (localSearchMetaheuristic_ != com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNSET.getNumber()) {
6098  output.writeEnum(4, localSearchMetaheuristic_);
6099  }
6100  if (guidedLocalSearchLambdaCoefficient_ != 0D) {
6101  output.writeDouble(5, guidedLocalSearchLambdaCoefficient_);
6102  }
6103  if (useDepthFirstSearch_ != false) {
6104  output.writeBool(6, useDepthFirstSearch_);
6105  }
6106  if (optimizationStep_ != 0D) {
6107  output.writeDouble(7, optimizationStep_);
6108  }
6109  if (solutionLimit_ != 0L) {
6110  output.writeInt64(8, solutionLimit_);
6111  }
6112  if (timeLimit_ != null) {
6113  output.writeMessage(9, getTimeLimit());
6114  }
6115  if (lnsTimeLimit_ != null) {
6116  output.writeMessage(10, getLnsTimeLimit());
6117  }
6118  if (useFullPropagation_ != false) {
6119  output.writeBool(11, useFullPropagation_);
6120  }
6121  if (logSearch_ != false) {
6122  output.writeBool(13, logSearch_);
6123  }
6124  if (savingsNeighborsRatio_ != 0D) {
6125  output.writeDouble(14, savingsNeighborsRatio_);
6126  }
6127  if (savingsAddReverseArcs_ != false) {
6128  output.writeBool(15, savingsAddReverseArcs_);
6129  }
6130  if (cheapestInsertionFarthestSeedsRatio_ != 0D) {
6131  output.writeDouble(16, cheapestInsertionFarthestSeedsRatio_);
6132  }
6133  if (numberOfSolutionsToCollect_ != 0) {
6134  output.writeInt32(17, numberOfSolutionsToCollect_);
6135  }
6136  if (savingsArcCoefficient_ != 0D) {
6137  output.writeDouble(18, savingsArcCoefficient_);
6138  }
6139  if (savingsParallelRoutes_ != false) {
6140  output.writeBool(19, savingsParallelRoutes_);
6141  }
6142  if (relocateExpensiveChainNumArcsToConsider_ != 0) {
6143  output.writeInt32(20, relocateExpensiveChainNumArcsToConsider_);
6144  }
6145  if (cheapestInsertionNeighborsRatio_ != 0D) {
6146  output.writeDouble(21, cheapestInsertionNeighborsRatio_);
6147  }
6148  if (logCostScalingFactor_ != 0D) {
6149  output.writeDouble(22, logCostScalingFactor_);
6150  }
6151  if (savingsMaxMemoryUsageBytes_ != 0D) {
6152  output.writeDouble(23, savingsMaxMemoryUsageBytes_);
6153  }
6154  if (useCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
6155  output.writeEnum(27, useCpSat_);
6156  }
6157  if (useCp_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
6158  output.writeEnum(28, useCp_);
6159  }
6160  unknownFields.writeTo(output);
6161  }
6162 
6163  @java.lang.Override
6164  public int getSerializedSize() {
6165  int size = memoizedSize;
6166  if (size != -1) return size;
6167 
6168  size = 0;
6169  if (firstSolutionStrategy_ != com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNSET.getNumber()) {
6170  size += com.google.protobuf.CodedOutputStream
6171  .computeEnumSize(1, firstSolutionStrategy_);
6172  }
6173  if (useUnfilteredFirstSolutionStrategy_ != false) {
6174  size += com.google.protobuf.CodedOutputStream
6175  .computeBoolSize(2, useUnfilteredFirstSolutionStrategy_);
6176  }
6177  if (localSearchOperators_ != null) {
6178  size += com.google.protobuf.CodedOutputStream
6179  .computeMessageSize(3, getLocalSearchOperators());
6180  }
6181  if (localSearchMetaheuristic_ != com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNSET.getNumber()) {
6182  size += com.google.protobuf.CodedOutputStream
6183  .computeEnumSize(4, localSearchMetaheuristic_);
6184  }
6185  if (guidedLocalSearchLambdaCoefficient_ != 0D) {
6186  size += com.google.protobuf.CodedOutputStream
6187  .computeDoubleSize(5, guidedLocalSearchLambdaCoefficient_);
6188  }
6189  if (useDepthFirstSearch_ != false) {
6190  size += com.google.protobuf.CodedOutputStream
6191  .computeBoolSize(6, useDepthFirstSearch_);
6192  }
6193  if (optimizationStep_ != 0D) {
6194  size += com.google.protobuf.CodedOutputStream
6195  .computeDoubleSize(7, optimizationStep_);
6196  }
6197  if (solutionLimit_ != 0L) {
6198  size += com.google.protobuf.CodedOutputStream
6199  .computeInt64Size(8, solutionLimit_);
6200  }
6201  if (timeLimit_ != null) {
6202  size += com.google.protobuf.CodedOutputStream
6203  .computeMessageSize(9, getTimeLimit());
6204  }
6205  if (lnsTimeLimit_ != null) {
6206  size += com.google.protobuf.CodedOutputStream
6207  .computeMessageSize(10, getLnsTimeLimit());
6208  }
6209  if (useFullPropagation_ != false) {
6210  size += com.google.protobuf.CodedOutputStream
6211  .computeBoolSize(11, useFullPropagation_);
6212  }
6213  if (logSearch_ != false) {
6214  size += com.google.protobuf.CodedOutputStream
6215  .computeBoolSize(13, logSearch_);
6216  }
6217  if (savingsNeighborsRatio_ != 0D) {
6218  size += com.google.protobuf.CodedOutputStream
6219  .computeDoubleSize(14, savingsNeighborsRatio_);
6220  }
6221  if (savingsAddReverseArcs_ != false) {
6222  size += com.google.protobuf.CodedOutputStream
6223  .computeBoolSize(15, savingsAddReverseArcs_);
6224  }
6225  if (cheapestInsertionFarthestSeedsRatio_ != 0D) {
6226  size += com.google.protobuf.CodedOutputStream
6227  .computeDoubleSize(16, cheapestInsertionFarthestSeedsRatio_);
6228  }
6229  if (numberOfSolutionsToCollect_ != 0) {
6230  size += com.google.protobuf.CodedOutputStream
6231  .computeInt32Size(17, numberOfSolutionsToCollect_);
6232  }
6233  if (savingsArcCoefficient_ != 0D) {
6234  size += com.google.protobuf.CodedOutputStream
6235  .computeDoubleSize(18, savingsArcCoefficient_);
6236  }
6237  if (savingsParallelRoutes_ != false) {
6238  size += com.google.protobuf.CodedOutputStream
6239  .computeBoolSize(19, savingsParallelRoutes_);
6240  }
6241  if (relocateExpensiveChainNumArcsToConsider_ != 0) {
6242  size += com.google.protobuf.CodedOutputStream
6243  .computeInt32Size(20, relocateExpensiveChainNumArcsToConsider_);
6244  }
6245  if (cheapestInsertionNeighborsRatio_ != 0D) {
6246  size += com.google.protobuf.CodedOutputStream
6247  .computeDoubleSize(21, cheapestInsertionNeighborsRatio_);
6248  }
6249  if (logCostScalingFactor_ != 0D) {
6250  size += com.google.protobuf.CodedOutputStream
6251  .computeDoubleSize(22, logCostScalingFactor_);
6252  }
6253  if (savingsMaxMemoryUsageBytes_ != 0D) {
6254  size += com.google.protobuf.CodedOutputStream
6255  .computeDoubleSize(23, savingsMaxMemoryUsageBytes_);
6256  }
6257  if (useCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
6258  size += com.google.protobuf.CodedOutputStream
6259  .computeEnumSize(27, useCpSat_);
6260  }
6261  if (useCp_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
6262  size += com.google.protobuf.CodedOutputStream
6263  .computeEnumSize(28, useCp_);
6264  }
6265  size += unknownFields.getSerializedSize();
6266  memoizedSize = size;
6267  return size;
6268  }
6269 
6270  @java.lang.Override
6271  public boolean equals(final java.lang.Object obj) {
6272  if (obj == this) {
6273  return true;
6274  }
6275  if (!(obj instanceof com.google.ortools.constraintsolver.RoutingSearchParameters)) {
6276  return super.equals(obj);
6277  }
6279 
6280  if (firstSolutionStrategy_ != other.firstSolutionStrategy_) return false;
6282  != other.getUseUnfilteredFirstSolutionStrategy()) return false;
6283  if (java.lang.Double.doubleToLongBits(getSavingsNeighborsRatio())
6284  != java.lang.Double.doubleToLongBits(
6285  other.getSavingsNeighborsRatio())) return false;
6286  if (java.lang.Double.doubleToLongBits(getSavingsMaxMemoryUsageBytes())
6287  != java.lang.Double.doubleToLongBits(
6288  other.getSavingsMaxMemoryUsageBytes())) return false;
6290  != other.getSavingsAddReverseArcs()) return false;
6291  if (java.lang.Double.doubleToLongBits(getSavingsArcCoefficient())
6292  != java.lang.Double.doubleToLongBits(
6293  other.getSavingsArcCoefficient())) return false;
6295  != other.getSavingsParallelRoutes()) return false;
6296  if (java.lang.Double.doubleToLongBits(getCheapestInsertionFarthestSeedsRatio())
6297  != java.lang.Double.doubleToLongBits(
6298  other.getCheapestInsertionFarthestSeedsRatio())) return false;
6299  if (java.lang.Double.doubleToLongBits(getCheapestInsertionNeighborsRatio())
6300  != java.lang.Double.doubleToLongBits(
6301  other.getCheapestInsertionNeighborsRatio())) return false;
6302  if (hasLocalSearchOperators() != other.hasLocalSearchOperators()) return false;
6303  if (hasLocalSearchOperators()) {
6305  .equals(other.getLocalSearchOperators())) return false;
6306  }
6308  != other.getRelocateExpensiveChainNumArcsToConsider()) return false;
6309  if (localSearchMetaheuristic_ != other.localSearchMetaheuristic_) return false;
6310  if (java.lang.Double.doubleToLongBits(getGuidedLocalSearchLambdaCoefficient())
6311  != java.lang.Double.doubleToLongBits(
6312  other.getGuidedLocalSearchLambdaCoefficient())) return false;
6314  != other.getUseDepthFirstSearch()) return false;
6315  if (useCp_ != other.useCp_) return false;
6316  if (useCpSat_ != other.useCpSat_) return false;
6317  if (java.lang.Double.doubleToLongBits(getOptimizationStep())
6318  != java.lang.Double.doubleToLongBits(
6319  other.getOptimizationStep())) return false;
6321  != other.getNumberOfSolutionsToCollect()) return false;
6322  if (getSolutionLimit()
6323  != other.getSolutionLimit()) return false;
6324  if (hasTimeLimit() != other.hasTimeLimit()) return false;
6325  if (hasTimeLimit()) {
6326  if (!getTimeLimit()
6327  .equals(other.getTimeLimit())) return false;
6328  }
6329  if (hasLnsTimeLimit() != other.hasLnsTimeLimit()) return false;
6330  if (hasLnsTimeLimit()) {
6331  if (!getLnsTimeLimit()
6332  .equals(other.getLnsTimeLimit())) return false;
6333  }
6334  if (getUseFullPropagation()
6335  != other.getUseFullPropagation()) return false;
6336  if (getLogSearch()
6337  != other.getLogSearch()) return false;
6338  if (java.lang.Double.doubleToLongBits(getLogCostScalingFactor())
6339  != java.lang.Double.doubleToLongBits(
6340  other.getLogCostScalingFactor())) return false;
6341  if (!unknownFields.equals(other.unknownFields)) return false;
6342  return true;
6343  }
6344 
6345  @java.lang.Override
6346  public int hashCode() {
6347  if (memoizedHashCode != 0) {
6348  return memoizedHashCode;
6349  }
6350  int hash = 41;
6351  hash = (19 * hash) + getDescriptor().hashCode();
6352  hash = (37 * hash) + FIRST_SOLUTION_STRATEGY_FIELD_NUMBER;
6353  hash = (53 * hash) + firstSolutionStrategy_;
6355  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
6357  hash = (37 * hash) + SAVINGS_NEIGHBORS_RATIO_FIELD_NUMBER;
6358  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
6359  java.lang.Double.doubleToLongBits(getSavingsNeighborsRatio()));
6360  hash = (37 * hash) + SAVINGS_MAX_MEMORY_USAGE_BYTES_FIELD_NUMBER;
6361  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
6362  java.lang.Double.doubleToLongBits(getSavingsMaxMemoryUsageBytes()));
6363  hash = (37 * hash) + SAVINGS_ADD_REVERSE_ARCS_FIELD_NUMBER;
6364  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
6366  hash = (37 * hash) + SAVINGS_ARC_COEFFICIENT_FIELD_NUMBER;
6367  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
6368  java.lang.Double.doubleToLongBits(getSavingsArcCoefficient()));
6369  hash = (37 * hash) + SAVINGS_PARALLEL_ROUTES_FIELD_NUMBER;
6370  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
6373  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
6374  java.lang.Double.doubleToLongBits(getCheapestInsertionFarthestSeedsRatio()));
6376  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
6377  java.lang.Double.doubleToLongBits(getCheapestInsertionNeighborsRatio()));
6378  if (hasLocalSearchOperators()) {
6379  hash = (37 * hash) + LOCAL_SEARCH_OPERATORS_FIELD_NUMBER;
6380  hash = (53 * hash) + getLocalSearchOperators().hashCode();
6381  }
6383  hash = (53 * hash) + getRelocateExpensiveChainNumArcsToConsider();
6384  hash = (37 * hash) + LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER;
6385  hash = (53 * hash) + localSearchMetaheuristic_;
6387  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
6388  java.lang.Double.doubleToLongBits(getGuidedLocalSearchLambdaCoefficient()));
6389  hash = (37 * hash) + USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER;
6390  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
6392  hash = (37 * hash) + USE_CP_FIELD_NUMBER;
6393  hash = (53 * hash) + useCp_;
6394  hash = (37 * hash) + USE_CP_SAT_FIELD_NUMBER;
6395  hash = (53 * hash) + useCpSat_;
6396  hash = (37 * hash) + OPTIMIZATION_STEP_FIELD_NUMBER;
6397  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
6398  java.lang.Double.doubleToLongBits(getOptimizationStep()));
6399  hash = (37 * hash) + NUMBER_OF_SOLUTIONS_TO_COLLECT_FIELD_NUMBER;
6400  hash = (53 * hash) + getNumberOfSolutionsToCollect();
6401  hash = (37 * hash) + SOLUTION_LIMIT_FIELD_NUMBER;
6402  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
6403  getSolutionLimit());
6404  if (hasTimeLimit()) {
6405  hash = (37 * hash) + TIME_LIMIT_FIELD_NUMBER;
6406  hash = (53 * hash) + getTimeLimit().hashCode();
6407  }
6408  if (hasLnsTimeLimit()) {
6409  hash = (37 * hash) + LNS_TIME_LIMIT_FIELD_NUMBER;
6410  hash = (53 * hash) + getLnsTimeLimit().hashCode();
6411  }
6412  hash = (37 * hash) + USE_FULL_PROPAGATION_FIELD_NUMBER;
6413  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
6415  hash = (37 * hash) + LOG_SEARCH_FIELD_NUMBER;
6416  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
6417  getLogSearch());
6418  hash = (37 * hash) + LOG_COST_SCALING_FACTOR_FIELD_NUMBER;
6419  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
6420  java.lang.Double.doubleToLongBits(getLogCostScalingFactor()));
6421  hash = (29 * hash) + unknownFields.hashCode();
6422  memoizedHashCode = hash;
6423  return hash;
6424  }
6425 
6427  java.nio.ByteBuffer data)
6428  throws com.google.protobuf.InvalidProtocolBufferException {
6429  return PARSER.parseFrom(data);
6430  }
6432  java.nio.ByteBuffer data,
6433  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6434  throws com.google.protobuf.InvalidProtocolBufferException {
6435  return PARSER.parseFrom(data, extensionRegistry);
6436  }
6438  com.google.protobuf.ByteString data)
6439  throws com.google.protobuf.InvalidProtocolBufferException {
6440  return PARSER.parseFrom(data);
6441  }
6443  com.google.protobuf.ByteString data,
6444  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6445  throws com.google.protobuf.InvalidProtocolBufferException {
6446  return PARSER.parseFrom(data, extensionRegistry);
6447  }
6449  throws com.google.protobuf.InvalidProtocolBufferException {
6450  return PARSER.parseFrom(data);
6451  }
6453  byte[] data,
6454  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6455  throws com.google.protobuf.InvalidProtocolBufferException {
6456  return PARSER.parseFrom(data, extensionRegistry);
6457  }
6458  public static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.io.InputStream input)
6459  throws java.io.IOException {
6460  return com.google.protobuf.GeneratedMessageV3
6461  .parseWithIOException(PARSER, input);
6462  }
6464  java.io.InputStream input,
6465  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6466  throws java.io.IOException {
6467  return com.google.protobuf.GeneratedMessageV3
6468  .parseWithIOException(PARSER, input, extensionRegistry);
6469  }
6471  throws java.io.IOException {
6472  return com.google.protobuf.GeneratedMessageV3
6473  .parseDelimitedWithIOException(PARSER, input);
6474  }
6476  java.io.InputStream input,
6477  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6478  throws java.io.IOException {
6479  return com.google.protobuf.GeneratedMessageV3
6480  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
6481  }
6483  com.google.protobuf.CodedInputStream input)
6484  throws java.io.IOException {
6485  return com.google.protobuf.GeneratedMessageV3
6486  .parseWithIOException(PARSER, input);
6487  }
6489  com.google.protobuf.CodedInputStream input,
6490  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6491  throws java.io.IOException {
6492  return com.google.protobuf.GeneratedMessageV3
6493  .parseWithIOException(PARSER, input, extensionRegistry);
6494  }
6495 
6496  @java.lang.Override
6497  public Builder newBuilderForType() { return newBuilder(); }
6498  public static Builder newBuilder() {
6499  return DEFAULT_INSTANCE.toBuilder();
6500  }
6502  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
6503  }
6504  @java.lang.Override
6505  public Builder toBuilder() {
6506  return this == DEFAULT_INSTANCE
6507  ? new Builder() : new Builder().mergeFrom(this);
6508  }
6509 
6510  @java.lang.Override
6512  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
6513  Builder builder = new Builder(parent);
6514  return builder;
6515  }
6527  public static final class Builder extends
6528  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
6529  // @@protoc_insertion_point(builder_implements:operations_research.RoutingSearchParameters)
6530  com.google.ortools.constraintsolver.RoutingSearchParametersOrBuilder {
6531  public static final com.google.protobuf.Descriptors.Descriptor
6533  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
6534  }
6535 
6536  @java.lang.Override
6537  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
6539  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_fieldAccessorTable
6540  .ensureFieldAccessorsInitialized(
6542  }
6543 
6544  // Construct using com.google.ortools.constraintsolver.RoutingSearchParameters.newBuilder()
6545  private Builder() {
6546  maybeForceBuilderInitialization();
6547  }
6548 
6549  private Builder(
6550  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
6551  super(parent);
6552  maybeForceBuilderInitialization();
6553  }
6554  private void maybeForceBuilderInitialization() {
6555  if (com.google.protobuf.GeneratedMessageV3
6556  .alwaysUseFieldBuilders) {
6557  }
6558  }
6559  @java.lang.Override
6560  public Builder clear() {
6561  super.clear();
6562  firstSolutionStrategy_ = 0;
6563 
6564  useUnfilteredFirstSolutionStrategy_ = false;
6565 
6566  savingsNeighborsRatio_ = 0D;
6567 
6568  savingsMaxMemoryUsageBytes_ = 0D;
6569 
6570  savingsAddReverseArcs_ = false;
6571 
6572  savingsArcCoefficient_ = 0D;
6573 
6574  savingsParallelRoutes_ = false;
6575 
6576  cheapestInsertionFarthestSeedsRatio_ = 0D;
6577 
6578  cheapestInsertionNeighborsRatio_ = 0D;
6579 
6580  if (localSearchOperatorsBuilder_ == null) {
6581  localSearchOperators_ = null;
6582  } else {
6583  localSearchOperators_ = null;
6584  localSearchOperatorsBuilder_ = null;
6585  }
6586  relocateExpensiveChainNumArcsToConsider_ = 0;
6587 
6588  localSearchMetaheuristic_ = 0;
6589 
6590  guidedLocalSearchLambdaCoefficient_ = 0D;
6591 
6592  useDepthFirstSearch_ = false;
6593 
6594  useCp_ = 0;
6595 
6596  useCpSat_ = 0;
6597 
6598  optimizationStep_ = 0D;
6599 
6600  numberOfSolutionsToCollect_ = 0;
6601 
6602  solutionLimit_ = 0L;
6603 
6604  if (timeLimitBuilder_ == null) {
6605  timeLimit_ = null;
6606  } else {
6607  timeLimit_ = null;
6608  timeLimitBuilder_ = null;
6609  }
6610  if (lnsTimeLimitBuilder_ == null) {
6611  lnsTimeLimit_ = null;
6612  } else {
6613  lnsTimeLimit_ = null;
6614  lnsTimeLimitBuilder_ = null;
6615  }
6616  useFullPropagation_ = false;
6617 
6618  logSearch_ = false;
6619 
6620  logCostScalingFactor_ = 0D;
6621 
6622  return this;
6623  }
6624 
6625  @java.lang.Override
6626  public com.google.protobuf.Descriptors.Descriptor
6628  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
6629  }
6630 
6631  @java.lang.Override
6634  }
6635 
6636  @java.lang.Override
6639  if (!result.isInitialized()) {
6640  throw newUninitializedMessageException(result);
6641  }
6642  return result;
6643  }
6644 
6645  @java.lang.Override
6648  result.firstSolutionStrategy_ = firstSolutionStrategy_;
6649  result.useUnfilteredFirstSolutionStrategy_ = useUnfilteredFirstSolutionStrategy_;
6650  result.savingsNeighborsRatio_ = savingsNeighborsRatio_;
6651  result.savingsMaxMemoryUsageBytes_ = savingsMaxMemoryUsageBytes_;
6652  result.savingsAddReverseArcs_ = savingsAddReverseArcs_;
6653  result.savingsArcCoefficient_ = savingsArcCoefficient_;
6654  result.savingsParallelRoutes_ = savingsParallelRoutes_;
6655  result.cheapestInsertionFarthestSeedsRatio_ = cheapestInsertionFarthestSeedsRatio_;
6656  result.cheapestInsertionNeighborsRatio_ = cheapestInsertionNeighborsRatio_;
6657  if (localSearchOperatorsBuilder_ == null) {
6658  result.localSearchOperators_ = localSearchOperators_;
6659  } else {
6660  result.localSearchOperators_ = localSearchOperatorsBuilder_.build();
6661  }
6662  result.relocateExpensiveChainNumArcsToConsider_ = relocateExpensiveChainNumArcsToConsider_;
6663  result.localSearchMetaheuristic_ = localSearchMetaheuristic_;
6664  result.guidedLocalSearchLambdaCoefficient_ = guidedLocalSearchLambdaCoefficient_;
6665  result.useDepthFirstSearch_ = useDepthFirstSearch_;
6666  result.useCp_ = useCp_;
6667  result.useCpSat_ = useCpSat_;
6668  result.optimizationStep_ = optimizationStep_;
6669  result.numberOfSolutionsToCollect_ = numberOfSolutionsToCollect_;
6670  result.solutionLimit_ = solutionLimit_;
6671  if (timeLimitBuilder_ == null) {
6672  result.timeLimit_ = timeLimit_;
6673  } else {
6674  result.timeLimit_ = timeLimitBuilder_.build();
6675  }
6676  if (lnsTimeLimitBuilder_ == null) {
6677  result.lnsTimeLimit_ = lnsTimeLimit_;
6678  } else {
6679  result.lnsTimeLimit_ = lnsTimeLimitBuilder_.build();
6680  }
6681  result.useFullPropagation_ = useFullPropagation_;
6682  result.logSearch_ = logSearch_;
6683  result.logCostScalingFactor_ = logCostScalingFactor_;
6684  onBuilt();
6685  return result;
6686  }
6687 
6688  @java.lang.Override
6689  public Builder clone() {
6690  return super.clone();
6691  }
6692  @java.lang.Override
6694  com.google.protobuf.Descriptors.FieldDescriptor field,
6695  java.lang.Object value) {
6696  return super.setField(field, value);
6697  }
6698  @java.lang.Override
6700  com.google.protobuf.Descriptors.FieldDescriptor field) {
6701  return super.clearField(field);
6702  }
6703  @java.lang.Override
6705  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
6706  return super.clearOneof(oneof);
6707  }
6708  @java.lang.Override
6710  com.google.protobuf.Descriptors.FieldDescriptor field,
6711  int index, java.lang.Object value) {
6712  return super.setRepeatedField(field, index, value);
6713  }
6714  @java.lang.Override
6716  com.google.protobuf.Descriptors.FieldDescriptor field,
6717  java.lang.Object value) {
6718  return super.addRepeatedField(field, value);
6719  }
6720  @java.lang.Override
6721  public Builder mergeFrom(com.google.protobuf.Message other) {
6724  } else {
6725  super.mergeFrom(other);
6726  return this;
6727  }
6728  }
6729 
6732  if (other.firstSolutionStrategy_ != 0) {
6733  setFirstSolutionStrategyValue(other.getFirstSolutionStrategyValue());
6734  }
6735  if (other.getUseUnfilteredFirstSolutionStrategy() != false) {
6736  setUseUnfilteredFirstSolutionStrategy(other.getUseUnfilteredFirstSolutionStrategy());
6737  }
6738  if (other.getSavingsNeighborsRatio() != 0D) {
6739  setSavingsNeighborsRatio(other.getSavingsNeighborsRatio());
6740  }
6741  if (other.getSavingsMaxMemoryUsageBytes() != 0D) {
6742  setSavingsMaxMemoryUsageBytes(other.getSavingsMaxMemoryUsageBytes());
6743  }
6744  if (other.getSavingsAddReverseArcs() != false) {
6745  setSavingsAddReverseArcs(other.getSavingsAddReverseArcs());
6746  }
6747  if (other.getSavingsArcCoefficient() != 0D) {
6748  setSavingsArcCoefficient(other.getSavingsArcCoefficient());
6749  }
6750  if (other.getSavingsParallelRoutes() != false) {
6751  setSavingsParallelRoutes(other.getSavingsParallelRoutes());
6752  }
6753  if (other.getCheapestInsertionFarthestSeedsRatio() != 0D) {
6754  setCheapestInsertionFarthestSeedsRatio(other.getCheapestInsertionFarthestSeedsRatio());
6755  }
6756  if (other.getCheapestInsertionNeighborsRatio() != 0D) {
6757  setCheapestInsertionNeighborsRatio(other.getCheapestInsertionNeighborsRatio());
6758  }
6759  if (other.hasLocalSearchOperators()) {
6760  mergeLocalSearchOperators(other.getLocalSearchOperators());
6761  }
6762  if (other.getRelocateExpensiveChainNumArcsToConsider() != 0) {
6763  setRelocateExpensiveChainNumArcsToConsider(other.getRelocateExpensiveChainNumArcsToConsider());
6764  }
6765  if (other.localSearchMetaheuristic_ != 0) {
6766  setLocalSearchMetaheuristicValue(other.getLocalSearchMetaheuristicValue());
6767  }
6768  if (other.getGuidedLocalSearchLambdaCoefficient() != 0D) {
6769  setGuidedLocalSearchLambdaCoefficient(other.getGuidedLocalSearchLambdaCoefficient());
6770  }
6771  if (other.getUseDepthFirstSearch() != false) {
6772  setUseDepthFirstSearch(other.getUseDepthFirstSearch());
6773  }
6774  if (other.useCp_ != 0) {
6775  setUseCpValue(other.getUseCpValue());
6776  }
6777  if (other.useCpSat_ != 0) {
6778  setUseCpSatValue(other.getUseCpSatValue());
6779  }
6780  if (other.getOptimizationStep() != 0D) {
6781  setOptimizationStep(other.getOptimizationStep());
6782  }
6783  if (other.getNumberOfSolutionsToCollect() != 0) {
6784  setNumberOfSolutionsToCollect(other.getNumberOfSolutionsToCollect());
6785  }
6786  if (other.getSolutionLimit() != 0L) {
6787  setSolutionLimit(other.getSolutionLimit());
6788  }
6789  if (other.hasTimeLimit()) {
6790  mergeTimeLimit(other.getTimeLimit());
6791  }
6792  if (other.hasLnsTimeLimit()) {
6793  mergeLnsTimeLimit(other.getLnsTimeLimit());
6794  }
6795  if (other.getUseFullPropagation() != false) {
6796  setUseFullPropagation(other.getUseFullPropagation());
6797  }
6798  if (other.getLogSearch() != false) {
6799  setLogSearch(other.getLogSearch());
6800  }
6801  if (other.getLogCostScalingFactor() != 0D) {
6802  setLogCostScalingFactor(other.getLogCostScalingFactor());
6803  }
6804  this.mergeUnknownFields(other.unknownFields);
6805  onChanged();
6806  return this;
6807  }
6808 
6809  @java.lang.Override
6810  public final boolean isInitialized() {
6811  return true;
6812  }
6813 
6814  @java.lang.Override
6816  com.google.protobuf.CodedInputStream input,
6817  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6818  throws java.io.IOException {
6820  try {
6821  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
6822  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
6823  parsedMessage = (com.google.ortools.constraintsolver.RoutingSearchParameters) e.getUnfinishedMessage();
6824  throw e.unwrapIOException();
6825  } finally {
6826  if (parsedMessage != null) {
6827  mergeFrom(parsedMessage);
6828  }
6829  }
6830  return this;
6831  }
6832 
6833  private int firstSolutionStrategy_ = 0;
6842  return firstSolutionStrategy_;
6843  }
6852  firstSolutionStrategy_ = value;
6853  onChanged();
6854  return this;
6855  }
6864  @SuppressWarnings("deprecation")
6866  return result == null ? com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNRECOGNIZED : result;
6867  }
6876  if (value == null) {
6877  throw new NullPointerException();
6878  }
6879 
6880  firstSolutionStrategy_ = value.getNumber();
6881  onChanged();
6882  return this;
6883  }
6892 
6893  firstSolutionStrategy_ = 0;
6894  onChanged();
6895  return this;
6896  }
6897 
6898  private boolean useUnfilteredFirstSolutionStrategy_ ;
6909  return useUnfilteredFirstSolutionStrategy_;
6910  }
6921 
6922  useUnfilteredFirstSolutionStrategy_ = value;
6923  onChanged();
6924  return this;
6925  }
6936 
6937  useUnfilteredFirstSolutionStrategy_ = false;
6938  onChanged();
6939  return this;
6940  }
6941 
6942  private double savingsNeighborsRatio_ ;
6952  public double getSavingsNeighborsRatio() {
6953  return savingsNeighborsRatio_;
6954  }
6964  public Builder setSavingsNeighborsRatio(double value) {
6965 
6966  savingsNeighborsRatio_ = value;
6967  onChanged();
6968  return this;
6969  }
6980 
6981  savingsNeighborsRatio_ = 0D;
6982  onChanged();
6983  return this;
6984  }
6985 
6986  private double savingsMaxMemoryUsageBytes_ ;
7000  return savingsMaxMemoryUsageBytes_;
7001  }
7015 
7016  savingsMaxMemoryUsageBytes_ = value;
7017  onChanged();
7018  return this;
7019  }
7033 
7034  savingsMaxMemoryUsageBytes_ = 0D;
7035  onChanged();
7036  return this;
7037  }
7038 
7039  private boolean savingsAddReverseArcs_ ;
7048  public boolean getSavingsAddReverseArcs() {
7049  return savingsAddReverseArcs_;
7050  }
7059  public Builder setSavingsAddReverseArcs(boolean value) {
7060 
7061  savingsAddReverseArcs_ = value;
7062  onChanged();
7063  return this;
7064  }
7074 
7075  savingsAddReverseArcs_ = false;
7076  onChanged();
7077  return this;
7078  }
7079 
7080  private double savingsArcCoefficient_ ;
7092  public double getSavingsArcCoefficient() {
7093  return savingsArcCoefficient_;
7094  }
7106  public Builder setSavingsArcCoefficient(double value) {
7107 
7108  savingsArcCoefficient_ = value;
7109  onChanged();
7110  return this;
7111  }
7124 
7125  savingsArcCoefficient_ = 0D;
7126  onChanged();
7127  return this;
7128  }
7129 
7130  private boolean savingsParallelRoutes_ ;
7138  public boolean getSavingsParallelRoutes() {
7139  return savingsParallelRoutes_;
7140  }
7148  public Builder setSavingsParallelRoutes(boolean value) {
7149 
7150  savingsParallelRoutes_ = value;
7151  onChanged();
7152  return this;
7153  }
7162 
7163  savingsParallelRoutes_ = false;
7164  onChanged();
7165  return this;
7166  }
7167 
7168  private double cheapestInsertionFarthestSeedsRatio_ ;
7179  return cheapestInsertionFarthestSeedsRatio_;
7180  }
7191 
7192  cheapestInsertionFarthestSeedsRatio_ = value;
7193  onChanged();
7194  return this;
7195  }
7206 
7207  cheapestInsertionFarthestSeedsRatio_ = 0D;
7208  onChanged();
7209  return this;
7210  }
7211 
7212  private double cheapestInsertionNeighborsRatio_ ;
7224  return cheapestInsertionNeighborsRatio_;
7225  }
7237 
7238  cheapestInsertionNeighborsRatio_ = value;
7239  onChanged();
7240  return this;
7241  }
7253 
7254  cheapestInsertionNeighborsRatio_ = 0D;
7255  onChanged();
7256  return this;
7257  }
7258 
7260  private com.google.protobuf.SingleFieldBuilderV3<
7265  public boolean hasLocalSearchOperators() {
7266  return localSearchOperatorsBuilder_ != null || localSearchOperators_ != null;
7267  }
7272  if (localSearchOperatorsBuilder_ == null) {
7273  return localSearchOperators_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
7274  } else {
7275  return localSearchOperatorsBuilder_.getMessage();
7276  }
7277  }
7282  if (localSearchOperatorsBuilder_ == null) {
7283  if (value == null) {
7284  throw new NullPointerException();
7285  }
7286  localSearchOperators_ = value;
7287  onChanged();
7288  } else {
7289  localSearchOperatorsBuilder_.setMessage(value);
7290  }
7291 
7292  return this;
7293  }
7299  if (localSearchOperatorsBuilder_ == null) {
7300  localSearchOperators_ = builderForValue.build();
7301  onChanged();
7302  } else {
7303  localSearchOperatorsBuilder_.setMessage(builderForValue.build());
7304  }
7305 
7306  return this;
7307  }
7312  if (localSearchOperatorsBuilder_ == null) {
7313  if (localSearchOperators_ != null) {
7314  localSearchOperators_ =
7316  } else {
7317  localSearchOperators_ = value;
7318  }
7319  onChanged();
7320  } else {
7321  localSearchOperatorsBuilder_.mergeFrom(value);
7322  }
7323 
7324  return this;
7325  }
7330  if (localSearchOperatorsBuilder_ == null) {
7331  localSearchOperators_ = null;
7332  onChanged();
7333  } else {
7334  localSearchOperators_ = null;
7335  localSearchOperatorsBuilder_ = null;
7336  }
7337 
7338  return this;
7339  }
7344 
7345  onChanged();
7346  return getLocalSearchOperatorsFieldBuilder().getBuilder();
7347  }
7352  if (localSearchOperatorsBuilder_ != null) {
7353  return localSearchOperatorsBuilder_.getMessageOrBuilder();
7354  } else {
7355  return localSearchOperators_ == null ?
7357  }
7358  }
7362  private com.google.protobuf.SingleFieldBuilderV3<
7364  getLocalSearchOperatorsFieldBuilder() {
7365  if (localSearchOperatorsBuilder_ == null) {
7366  localSearchOperatorsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
7369  getParentForChildren(),
7370  isClean());
7371  localSearchOperators_ = null;
7372  }
7373  return localSearchOperatorsBuilder_;
7374  }
7375 
7376  private int relocateExpensiveChainNumArcsToConsider_ ;
7391  return relocateExpensiveChainNumArcsToConsider_;
7392  }
7407 
7408  relocateExpensiveChainNumArcsToConsider_ = value;
7409  onChanged();
7410  return this;
7411  }
7426 
7427  relocateExpensiveChainNumArcsToConsider_ = 0;
7428  onChanged();
7429  return this;
7430  }
7431 
7432  private int localSearchMetaheuristic_ = 0;
7441  return localSearchMetaheuristic_;
7442  }
7451  localSearchMetaheuristic_ = value;
7452  onChanged();
7453  return this;
7454  }
7463  @SuppressWarnings("deprecation")
7466  }
7475  if (value == null) {
7476  throw new NullPointerException();
7477  }
7478 
7479  localSearchMetaheuristic_ = value.getNumber();
7480  onChanged();
7481  return this;
7482  }
7491 
7492  localSearchMetaheuristic_ = 0;
7493  onChanged();
7494  return this;
7495  }
7496 
7497  private double guidedLocalSearchLambdaCoefficient_ ;
7509  return guidedLocalSearchLambdaCoefficient_;
7510  }
7522 
7523  guidedLocalSearchLambdaCoefficient_ = value;
7524  onChanged();
7525  return this;
7526  }
7538 
7539  guidedLocalSearchLambdaCoefficient_ = 0D;
7540  onChanged();
7541  return this;
7542  }
7543 
7544  private boolean useDepthFirstSearch_ ;
7554  public boolean getUseDepthFirstSearch() {
7555  return useDepthFirstSearch_;
7556  }
7566  public Builder setUseDepthFirstSearch(boolean value) {
7567 
7568  useDepthFirstSearch_ = value;
7569  onChanged();
7570  return this;
7571  }
7582 
7583  useDepthFirstSearch_ = false;
7584  onChanged();
7585  return this;
7586  }
7587 
7588  private int useCp_ = 0;
7598  public int getUseCpValue() {
7599  return useCp_;
7600  }
7610  public Builder setUseCpValue(int value) {
7611  useCp_ = value;
7612  onChanged();
7613  return this;
7614  }
7625  @SuppressWarnings("deprecation")
7627  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7628  }
7639  if (value == null) {
7640  throw new NullPointerException();
7641  }
7642 
7643  useCp_ = value.getNumber();
7644  onChanged();
7645  return this;
7646  }
7656  public Builder clearUseCp() {
7657 
7658  useCp_ = 0;
7659  onChanged();
7660  return this;
7661  }
7662 
7663  private int useCpSat_ = 0;
7674  public int getUseCpSatValue() {
7675  return useCpSat_;
7676  }
7687  public Builder setUseCpSatValue(int value) {
7688  useCpSat_ = value;
7689  onChanged();
7690  return this;
7691  }
7703  @SuppressWarnings("deprecation")
7705  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7706  }
7718  if (value == null) {
7719  throw new NullPointerException();
7720  }
7721 
7722  useCpSat_ = value.getNumber();
7723  onChanged();
7724  return this;
7725  }
7737 
7738  useCpSat_ = 0;
7739  onChanged();
7740  return this;
7741  }
7742 
7743  private double optimizationStep_ ;
7753  public double getOptimizationStep() {
7754  return optimizationStep_;
7755  }
7765  public Builder setOptimizationStep(double value) {
7766 
7767  optimizationStep_ = value;
7768  onChanged();
7769  return this;
7770  }
7781 
7782  optimizationStep_ = 0D;
7783  onChanged();
7784  return this;
7785  }
7786 
7787  private int numberOfSolutionsToCollect_ ;
7797  return numberOfSolutionsToCollect_;
7798  }
7808 
7809  numberOfSolutionsToCollect_ = value;
7810  onChanged();
7811  return this;
7812  }
7822 
7823  numberOfSolutionsToCollect_ = 0;
7824  onChanged();
7825  return this;
7826  }
7827 
7828  private long solutionLimit_ ;
7838  public long getSolutionLimit() {
7839  return solutionLimit_;
7840  }
7850  public Builder setSolutionLimit(long value) {
7851 
7852  solutionLimit_ = value;
7853  onChanged();
7854  return this;
7855  }
7866 
7867  solutionLimit_ = 0L;
7868  onChanged();
7869  return this;
7870  }
7871 
7872  private com.google.protobuf.Duration timeLimit_;
7873  private com.google.protobuf.SingleFieldBuilderV3<
7874  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> timeLimitBuilder_;
7882  public boolean hasTimeLimit() {
7883  return timeLimitBuilder_ != null || timeLimit_ != null;
7884  }
7892  public com.google.protobuf.Duration getTimeLimit() {
7893  if (timeLimitBuilder_ == null) {
7894  return timeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
7895  } else {
7896  return timeLimitBuilder_.getMessage();
7897  }
7898  }
7906  public Builder setTimeLimit(com.google.protobuf.Duration value) {
7907  if (timeLimitBuilder_ == null) {
7908  if (value == null) {
7909  throw new NullPointerException();
7910  }
7911  timeLimit_ = value;
7912  onChanged();
7913  } else {
7914  timeLimitBuilder_.setMessage(value);
7915  }
7916 
7917  return this;
7918  }
7927  com.google.protobuf.Duration.Builder builderForValue) {
7928  if (timeLimitBuilder_ == null) {
7929  timeLimit_ = builderForValue.build();
7930  onChanged();
7931  } else {
7932  timeLimitBuilder_.setMessage(builderForValue.build());
7933  }
7934 
7935  return this;
7936  }
7944  public Builder mergeTimeLimit(com.google.protobuf.Duration value) {
7945  if (timeLimitBuilder_ == null) {
7946  if (timeLimit_ != null) {
7947  timeLimit_ =
7948  com.google.protobuf.Duration.newBuilder(timeLimit_).mergeFrom(value).buildPartial();
7949  } else {
7950  timeLimit_ = value;
7951  }
7952  onChanged();
7953  } else {
7954  timeLimitBuilder_.mergeFrom(value);
7955  }
7956 
7957  return this;
7958  }
7967  if (timeLimitBuilder_ == null) {
7968  timeLimit_ = null;
7969  onChanged();
7970  } else {
7971  timeLimit_ = null;
7972  timeLimitBuilder_ = null;
7973  }
7974 
7975  return this;
7976  }
7984  public com.google.protobuf.Duration.Builder getTimeLimitBuilder() {
7985 
7986  onChanged();
7987  return getTimeLimitFieldBuilder().getBuilder();
7988  }
7996  public com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder() {
7997  if (timeLimitBuilder_ != null) {
7998  return timeLimitBuilder_.getMessageOrBuilder();
7999  } else {
8000  return timeLimit_ == null ?
8001  com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
8002  }
8003  }
8011  private com.google.protobuf.SingleFieldBuilderV3<
8012  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
8013  getTimeLimitFieldBuilder() {
8014  if (timeLimitBuilder_ == null) {
8015  timeLimitBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
8016  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
8017  getTimeLimit(),
8018  getParentForChildren(),
8019  isClean());
8020  timeLimit_ = null;
8021  }
8022  return timeLimitBuilder_;
8023  }
8024 
8025  private com.google.protobuf.Duration lnsTimeLimit_;
8026  private com.google.protobuf.SingleFieldBuilderV3<
8027  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> lnsTimeLimitBuilder_;
8036  public boolean hasLnsTimeLimit() {
8037  return lnsTimeLimitBuilder_ != null || lnsTimeLimit_ != null;
8038  }
8047  public com.google.protobuf.Duration getLnsTimeLimit() {
8048  if (lnsTimeLimitBuilder_ == null) {
8049  return lnsTimeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
8050  } else {
8051  return lnsTimeLimitBuilder_.getMessage();
8052  }
8053  }
8062  public Builder setLnsTimeLimit(com.google.protobuf.Duration value) {
8063  if (lnsTimeLimitBuilder_ == null) {
8064  if (value == null) {
8065  throw new NullPointerException();
8066  }
8067  lnsTimeLimit_ = value;
8068  onChanged();
8069  } else {
8070  lnsTimeLimitBuilder_.setMessage(value);
8071  }
8072 
8073  return this;
8074  }
8084  com.google.protobuf.Duration.Builder builderForValue) {
8085  if (lnsTimeLimitBuilder_ == null) {
8086  lnsTimeLimit_ = builderForValue.build();
8087  onChanged();
8088  } else {
8089  lnsTimeLimitBuilder_.setMessage(builderForValue.build());
8090  }
8091 
8092  return this;
8093  }
8102  public Builder mergeLnsTimeLimit(com.google.protobuf.Duration value) {
8103  if (lnsTimeLimitBuilder_ == null) {
8104  if (lnsTimeLimit_ != null) {
8105  lnsTimeLimit_ =
8106  com.google.protobuf.Duration.newBuilder(lnsTimeLimit_).mergeFrom(value).buildPartial();
8107  } else {
8108  lnsTimeLimit_ = value;
8109  }
8110  onChanged();
8111  } else {
8112  lnsTimeLimitBuilder_.mergeFrom(value);
8113  }
8114 
8115  return this;
8116  }
8126  if (lnsTimeLimitBuilder_ == null) {
8127  lnsTimeLimit_ = null;
8128  onChanged();
8129  } else {
8130  lnsTimeLimit_ = null;
8131  lnsTimeLimitBuilder_ = null;
8132  }
8133 
8134  return this;
8135  }
8144  public com.google.protobuf.Duration.Builder getLnsTimeLimitBuilder() {
8145 
8146  onChanged();
8147  return getLnsTimeLimitFieldBuilder().getBuilder();
8148  }
8157  public com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder() {
8158  if (lnsTimeLimitBuilder_ != null) {
8159  return lnsTimeLimitBuilder_.getMessageOrBuilder();
8160  } else {
8161  return lnsTimeLimit_ == null ?
8162  com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
8163  }
8164  }
8173  private com.google.protobuf.SingleFieldBuilderV3<
8174  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
8175  getLnsTimeLimitFieldBuilder() {
8176  if (lnsTimeLimitBuilder_ == null) {
8177  lnsTimeLimitBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
8178  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
8179  getLnsTimeLimit(),
8180  getParentForChildren(),
8181  isClean());
8182  lnsTimeLimit_ = null;
8183  }
8184  return lnsTimeLimitBuilder_;
8185  }
8186 
8187  private boolean useFullPropagation_ ;
8203  public boolean getUseFullPropagation() {
8204  return useFullPropagation_;
8205  }
8221  public Builder setUseFullPropagation(boolean value) {
8222 
8223  useFullPropagation_ = value;
8224  onChanged();
8225  return this;
8226  }
8243 
8244  useFullPropagation_ = false;
8245  onChanged();
8246  return this;
8247  }
8248 
8249  private boolean logSearch_ ;
8268  public boolean getLogSearch() {
8269  return logSearch_;
8270  }
8289  public Builder setLogSearch(boolean value) {
8290 
8291  logSearch_ = value;
8292  onChanged();
8293  return this;
8294  }
8314 
8315  logSearch_ = false;
8316  onChanged();
8317  return this;
8318  }
8319 
8320  private double logCostScalingFactor_ ;
8328  public double getLogCostScalingFactor() {
8329  return logCostScalingFactor_;
8330  }
8338  public Builder setLogCostScalingFactor(double value) {
8339 
8340  logCostScalingFactor_ = value;
8341  onChanged();
8342  return this;
8343  }
8352 
8353  logCostScalingFactor_ = 0D;
8354  onChanged();
8355  return this;
8356  }
8357  @java.lang.Override
8359  final com.google.protobuf.UnknownFieldSet unknownFields) {
8360  return super.setUnknownFields(unknownFields);
8361  }
8362 
8363  @java.lang.Override
8365  final com.google.protobuf.UnknownFieldSet unknownFields) {
8366  return super.mergeUnknownFields(unknownFields);
8367  }
8368 
8369 
8370  // @@protoc_insertion_point(builder_scope:operations_research.RoutingSearchParameters)
8371  }
8372 
8373  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters)
8374  private static final com.google.ortools.constraintsolver.RoutingSearchParameters DEFAULT_INSTANCE;
8375  static {
8376  DEFAULT_INSTANCE = new com.google.ortools.constraintsolver.RoutingSearchParameters();
8377  }
8378 
8380  return DEFAULT_INSTANCE;
8381  }
8382 
8383  private static final com.google.protobuf.Parser<RoutingSearchParameters>
8384  PARSER = new com.google.protobuf.AbstractParser<RoutingSearchParameters>() {
8385  @java.lang.Override
8386  public RoutingSearchParameters parsePartialFrom(
8387  com.google.protobuf.CodedInputStream input,
8388  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8389  throws com.google.protobuf.InvalidProtocolBufferException {
8390  return new RoutingSearchParameters(input, extensionRegistry);
8391  }
8392  };
8393 
8394  public static com.google.protobuf.Parser<RoutingSearchParameters> parser() {
8395  return PARSER;
8396  }
8397 
8398  @java.lang.Override
8400  return PARSER;
8401  }
8402 
8403  @java.lang.Override
8405  return DEFAULT_INSTANCE;
8406  }
8407 
8408 }
8409 
.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, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.io.InputStream input)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(byte[] data)
.lang.Override Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
.lang.Override com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.ByteString data)
.lang.Override Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
Builder setUseCpSat(com.google.ortools.util.OptionalBoolean value)
Builder setLnsTimeLimit(com.google.protobuf.Duration.Builder builderForValue)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getDefaultInstanceForType()
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.io.InputStream input)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getDefaultInstance()
.lang.Override final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
.lang.Override final com.google.protobuf.UnknownFieldSet getUnknownFields()
.lang.Override void writeTo(com.google.protobuf.CodedOutputStream output)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters getDefaultInstanceForType()
.lang.Override boolean equals(final java.lang.Object obj)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators buildPartial()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters prototype)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters getDefaultInstanceForType()
.lang.Override Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
static com.google.ortools.constraintsolver.RoutingSearchParameters getDefaultInstance()
.lang.Override com.google.protobuf.Parser< LocalSearchNeighborhoodOperators > getParserForType()
.lang.Override Builder mergeFrom(com.google.protobuf.Message other)
static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators prototype)
com.google.ortools.constraintsolver.FirstSolutionStrategy.Value getFirstSolutionStrategy()
Builder mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators other)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.protobuf.Parser< RoutingSearchParameters > parser()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters build()
.lang.Override java.lang.Object newInstance(UnusedPrivateParameter unused)
Builder setFirstSolutionStrategy(com.google.ortools.constraintsolver.FirstSolutionStrategy.Value value)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
Builder setLocalSearchMetaheuristic(com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value value)
.lang.Override Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder getLocalSearchOperatorsOrBuilder()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters buildPartial()
Builder setUseCp(com.google.ortools.util.OptionalBoolean value)
Builder setTimeLimit(com.google.protobuf.Duration.Builder builderForValue)
.lang.Override Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
boolean hasLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
Builder clearLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.CodedInputStream input)
.lang.Override Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.ByteString data)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.nio.ByteBuffer data)
.lang.Override com.google.protobuf.Parser< RoutingSearchParameters > getParserForType()
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
.lang.Override Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
.lang.Override Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(com.google.protobuf.CodedInputStream input)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(byte[] data)
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder getLocalSearchOperatorsOrBuilder()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Builder mergeLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators value)
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
static com.google.ortools.constraintsolver.RoutingSearchParameters parseDelimitedFrom(java.io.InputStream input)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseDelimitedFrom(java.io.InputStream input)
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.protobuf.Parser< LocalSearchNeighborhoodOperators > parser()
.lang.Override Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Builder setLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators value)
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
static com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
.lang.Override Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getDefaultInstanceForType()
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
.lang.Override Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
.lang.Override com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.nio.ByteBuffer data)
.lang.Deprecated static OptionalBoolean valueOf(int value)
.lang.Override final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
com.google.ortools.constraintsolver.FirstSolutionStrategy.Value getFirstSolutionStrategy()
.lang.Override Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder getLocalSearchOperatorsBuilder()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value getLocalSearchMetaheuristic()
Builder setLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder builderForValue)
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
Builder mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters other)
.lang.Override final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)
com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value getLocalSearchMetaheuristic()
.lang.Override com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators build()
com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators getLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
boolean hasLocalSearchOperators()
.operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators local_search_operators ...
.lang.Override Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)