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  public final com.google.protobuf.UnknownFieldSet
36  return this.unknownFields;
37  }
39  com.google.protobuf.CodedInputStream input,
40  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
41  throws com.google.protobuf.InvalidProtocolBufferException {
42  this();
43  if (extensionRegistry == null) {
44  throw new java.lang.NullPointerException();
45  }
46  int mutable_bitField0_ = 0;
47  com.google.protobuf.UnknownFieldSet.Builder unknownFields =
48  com.google.protobuf.UnknownFieldSet.newBuilder();
49  try {
50  boolean done = false;
51  while (!done) {
52  int tag = input.readTag();
53  switch (tag) {
54  case 0:
55  done = true;
56  break;
57  case 8: {
58  int rawValue = input.readEnum();
59 
60  firstSolutionStrategy_ = rawValue;
61  break;
62  }
63  case 16: {
64 
65  useUnfilteredFirstSolutionStrategy_ = input.readBool();
66  break;
67  }
68  case 26: {
70  if (localSearchOperators_ != null) {
71  subBuilder = localSearchOperators_.toBuilder();
72  }
73  localSearchOperators_ = input.readMessage(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.parser(), extensionRegistry);
74  if (subBuilder != null) {
75  subBuilder.mergeFrom(localSearchOperators_);
76  localSearchOperators_ = subBuilder.buildPartial();
77  }
78 
79  break;
80  }
81  case 32: {
82  int rawValue = input.readEnum();
83 
84  localSearchMetaheuristic_ = rawValue;
85  break;
86  }
87  case 41: {
88 
89  guidedLocalSearchLambdaCoefficient_ = input.readDouble();
90  break;
91  }
92  case 48: {
93 
94  useDepthFirstSearch_ = input.readBool();
95  break;
96  }
97  case 57: {
98 
99  optimizationStep_ = input.readDouble();
100  break;
101  }
102  case 64: {
103 
104  solutionLimit_ = input.readInt64();
105  break;
106  }
107  case 74: {
108  com.google.protobuf.Duration.Builder subBuilder = null;
109  if (timeLimit_ != null) {
110  subBuilder = timeLimit_.toBuilder();
111  }
112  timeLimit_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
113  if (subBuilder != null) {
114  subBuilder.mergeFrom(timeLimit_);
115  timeLimit_ = subBuilder.buildPartial();
116  }
117 
118  break;
119  }
120  case 82: {
121  com.google.protobuf.Duration.Builder subBuilder = null;
122  if (lnsTimeLimit_ != null) {
123  subBuilder = lnsTimeLimit_.toBuilder();
124  }
125  lnsTimeLimit_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
126  if (subBuilder != null) {
127  subBuilder.mergeFrom(lnsTimeLimit_);
128  lnsTimeLimit_ = subBuilder.buildPartial();
129  }
130 
131  break;
132  }
133  case 88: {
134 
135  useFullPropagation_ = input.readBool();
136  break;
137  }
138  case 104: {
139 
140  logSearch_ = input.readBool();
141  break;
142  }
143  case 113: {
144 
145  savingsNeighborsRatio_ = input.readDouble();
146  break;
147  }
148  case 120: {
149 
150  savingsAddReverseArcs_ = input.readBool();
151  break;
152  }
153  case 129: {
154 
155  cheapestInsertionFarthestSeedsRatio_ = input.readDouble();
156  break;
157  }
158  case 136: {
159 
160  numberOfSolutionsToCollect_ = input.readInt32();
161  break;
162  }
163  case 145: {
164 
165  savingsArcCoefficient_ = input.readDouble();
166  break;
167  }
168  case 152: {
169 
170  savingsParallelRoutes_ = input.readBool();
171  break;
172  }
173  case 160: {
174 
175  relocateExpensiveChainNumArcsToConsider_ = input.readInt32();
176  break;
177  }
178  case 169: {
179 
180  cheapestInsertionNeighborsRatio_ = input.readDouble();
181  break;
182  }
183  case 177: {
184 
185  logCostScalingFactor_ = input.readDouble();
186  break;
187  }
188  case 185: {
189 
190  savingsMaxMemoryUsageBytes_ = input.readDouble();
191  break;
192  }
193  case 216: {
194  int rawValue = input.readEnum();
195 
196  useCpSat_ = rawValue;
197  break;
198  }
199  case 224: {
200  int rawValue = input.readEnum();
201 
202  useCp_ = rawValue;
203  break;
204  }
205  default: {
206  if (!parseUnknownField(
207  input, unknownFields, extensionRegistry, tag)) {
208  done = true;
209  }
210  break;
211  }
212  }
213  }
214  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
215  throw e.setUnfinishedMessage(this);
216  } catch (java.io.IOException e) {
217  throw new com.google.protobuf.InvalidProtocolBufferException(
218  e).setUnfinishedMessage(this);
219  } finally {
220  this.unknownFields = unknownFields.build();
221  makeExtensionsImmutable();
222  }
223  }
224  public static final com.google.protobuf.Descriptors.Descriptor
226  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
227  }
228 
229  @java.lang.Override
230  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
232  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_fieldAccessorTable
233  .ensureFieldAccessorsInitialized(
235  }
236 
238  // @@protoc_insertion_point(interface_extends:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
239  com.google.protobuf.MessageOrBuilder {
240 
256  int getUseRelocateValue();
273 
306 
335 
394 
433 
447  int getUseExchangeValue();
462 
491 
510 
526  int getUseCrossValue();
543 
560 
595 
612  int getUseTwoOptValue();
630 
648  int getUseOrOptValue();
667 
690 
703  int getUseTspOptValue();
717 
731  int getUseMakeActiveValue();
746 
781 
806 
833 
845  int getUseSwapActiveValue();
858 
893 
930 
945  int getUsePathLnsValue();
961 
978 
991  int getUseTspLnsValue();
1005 
1015  int getUseInactiveLnsValue();
1026  }
1035  public static final class LocalSearchNeighborhoodOperators extends
1036  com.google.protobuf.GeneratedMessageV3 implements
1037  // @@protoc_insertion_point(message_implements:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
1039  private static final long serialVersionUID = 0L;
1040  // Use LocalSearchNeighborhoodOperators.newBuilder() to construct.
1041  private LocalSearchNeighborhoodOperators(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
1042  super(builder);
1043  }
1045  useRelocate_ = 0;
1046  useRelocatePair_ = 0;
1047  useLightRelocatePair_ = 0;
1048  useRelocateNeighbors_ = 0;
1049  useRelocateSubtrip_ = 0;
1050  useExchange_ = 0;
1051  useExchangePair_ = 0;
1052  useExchangeSubtrip_ = 0;
1053  useCross_ = 0;
1054  useCrossExchange_ = 0;
1055  useRelocateExpensiveChain_ = 0;
1056  useTwoOpt_ = 0;
1057  useOrOpt_ = 0;
1058  useLinKernighan_ = 0;
1059  useTspOpt_ = 0;
1060  useMakeActive_ = 0;
1061  useRelocateAndMakeActive_ = 0;
1062  useMakeInactive_ = 0;
1063  useMakeChainInactive_ = 0;
1064  useSwapActive_ = 0;
1065  useExtendedSwapActive_ = 0;
1066  useNodePairSwapActive_ = 0;
1067  usePathLns_ = 0;
1068  useFullPathLns_ = 0;
1069  useTspLns_ = 0;
1070  useInactiveLns_ = 0;
1071  }
1072 
1073  @java.lang.Override
1074  public final com.google.protobuf.UnknownFieldSet
1076  return this.unknownFields;
1077  }
1079  com.google.protobuf.CodedInputStream input,
1080  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1081  throws com.google.protobuf.InvalidProtocolBufferException {
1082  this();
1083  if (extensionRegistry == null) {
1084  throw new java.lang.NullPointerException();
1085  }
1086  int mutable_bitField0_ = 0;
1087  com.google.protobuf.UnknownFieldSet.Builder unknownFields =
1088  com.google.protobuf.UnknownFieldSet.newBuilder();
1089  try {
1090  boolean done = false;
1091  while (!done) {
1092  int tag = input.readTag();
1093  switch (tag) {
1094  case 0:
1095  done = true;
1096  break;
1097  case 8: {
1098  int rawValue = input.readEnum();
1099 
1100  useRelocate_ = rawValue;
1101  break;
1102  }
1103  case 16: {
1104  int rawValue = input.readEnum();
1105 
1106  useRelocatePair_ = rawValue;
1107  break;
1108  }
1109  case 24: {
1110  int rawValue = input.readEnum();
1111 
1112  useRelocateNeighbors_ = rawValue;
1113  break;
1114  }
1115  case 32: {
1116  int rawValue = input.readEnum();
1117 
1118  useExchange_ = rawValue;
1119  break;
1120  }
1121  case 40: {
1122  int rawValue = input.readEnum();
1123 
1124  useCross_ = rawValue;
1125  break;
1126  }
1127  case 48: {
1128  int rawValue = input.readEnum();
1129 
1130  useCrossExchange_ = rawValue;
1131  break;
1132  }
1133  case 56: {
1134  int rawValue = input.readEnum();
1135 
1136  useTwoOpt_ = rawValue;
1137  break;
1138  }
1139  case 64: {
1140  int rawValue = input.readEnum();
1141 
1142  useOrOpt_ = rawValue;
1143  break;
1144  }
1145  case 72: {
1146  int rawValue = input.readEnum();
1147 
1148  useLinKernighan_ = rawValue;
1149  break;
1150  }
1151  case 80: {
1152  int rawValue = input.readEnum();
1153 
1154  useTspOpt_ = rawValue;
1155  break;
1156  }
1157  case 88: {
1158  int rawValue = input.readEnum();
1159 
1160  useMakeActive_ = rawValue;
1161  break;
1162  }
1163  case 96: {
1164  int rawValue = input.readEnum();
1165 
1166  useMakeInactive_ = rawValue;
1167  break;
1168  }
1169  case 104: {
1170  int rawValue = input.readEnum();
1171 
1172  useMakeChainInactive_ = rawValue;
1173  break;
1174  }
1175  case 112: {
1176  int rawValue = input.readEnum();
1177 
1178  useSwapActive_ = rawValue;
1179  break;
1180  }
1181  case 120: {
1182  int rawValue = input.readEnum();
1183 
1184  useExtendedSwapActive_ = rawValue;
1185  break;
1186  }
1187  case 128: {
1188  int rawValue = input.readEnum();
1189 
1190  usePathLns_ = rawValue;
1191  break;
1192  }
1193  case 136: {
1194  int rawValue = input.readEnum();
1195 
1196  useFullPathLns_ = rawValue;
1197  break;
1198  }
1199  case 144: {
1200  int rawValue = input.readEnum();
1201 
1202  useTspLns_ = rawValue;
1203  break;
1204  }
1205  case 152: {
1206  int rawValue = input.readEnum();
1207 
1208  useInactiveLns_ = rawValue;
1209  break;
1210  }
1211  case 160: {
1212  int rawValue = input.readEnum();
1213 
1214  useNodePairSwapActive_ = rawValue;
1215  break;
1216  }
1217  case 168: {
1218  int rawValue = input.readEnum();
1219 
1220  useRelocateAndMakeActive_ = rawValue;
1221  break;
1222  }
1223  case 176: {
1224  int rawValue = input.readEnum();
1225 
1226  useExchangePair_ = rawValue;
1227  break;
1228  }
1229  case 184: {
1230  int rawValue = input.readEnum();
1231 
1232  useRelocateExpensiveChain_ = rawValue;
1233  break;
1234  }
1235  case 192: {
1236  int rawValue = input.readEnum();
1237 
1238  useLightRelocatePair_ = rawValue;
1239  break;
1240  }
1241  case 200: {
1242  int rawValue = input.readEnum();
1243 
1244  useRelocateSubtrip_ = rawValue;
1245  break;
1246  }
1247  case 208: {
1248  int rawValue = input.readEnum();
1249 
1250  useExchangeSubtrip_ = rawValue;
1251  break;
1252  }
1253  default: {
1254  if (!parseUnknownField(
1255  input, unknownFields, extensionRegistry, tag)) {
1256  done = true;
1257  }
1258  break;
1259  }
1260  }
1261  }
1262  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1263  throw e.setUnfinishedMessage(this);
1264  } catch (java.io.IOException e) {
1265  throw new com.google.protobuf.InvalidProtocolBufferException(
1266  e).setUnfinishedMessage(this);
1267  } finally {
1268  this.unknownFields = unknownFields.build();
1269  makeExtensionsImmutable();
1270  }
1271  }
1272  public static final com.google.protobuf.Descriptors.Descriptor
1274  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
1275  }
1276 
1277  @java.lang.Override
1278  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
1280  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_fieldAccessorTable
1281  .ensureFieldAccessorsInitialized(
1283  }
1284 
1285  public static final int USE_RELOCATE_FIELD_NUMBER = 1;
1286  private int useRelocate_;
1302  public int getUseRelocateValue() {
1303  return useRelocate_;
1304  }
1321  @SuppressWarnings("deprecation")
1323  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1324  }
1325 
1326  public static final int USE_RELOCATE_PAIR_FIELD_NUMBER = 2;
1327  private int useRelocatePair_;
1344  return useRelocatePair_;
1345  }
1362  @SuppressWarnings("deprecation")
1364  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1365  }
1366 
1367  public static final int USE_LIGHT_RELOCATE_PAIR_FIELD_NUMBER = 24;
1368  private int useLightRelocatePair_;
1383  return useLightRelocatePair_;
1384  }
1399  @SuppressWarnings("deprecation")
1401  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1402  }
1403 
1404  public static final int USE_RELOCATE_NEIGHBORS_FIELD_NUMBER = 3;
1405  private int useRelocateNeighbors_;
1435  return useRelocateNeighbors_;
1436  }
1466  @SuppressWarnings("deprecation")
1468  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1469  }
1470 
1471  public static final int USE_RELOCATE_SUBTRIP_FIELD_NUMBER = 25;
1472  private int useRelocateSubtrip_;
1492  return useRelocateSubtrip_;
1493  }
1513  @SuppressWarnings("deprecation")
1515  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1516  }
1517 
1518  public static final int USE_EXCHANGE_FIELD_NUMBER = 4;
1519  private int useExchange_;
1533  public int getUseExchangeValue() {
1534  return useExchange_;
1535  }
1550  @SuppressWarnings("deprecation")
1552  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1553  }
1554 
1555  public static final int USE_EXCHANGE_PAIR_FIELD_NUMBER = 22;
1556  private int useExchangePair_;
1571  return useExchangePair_;
1572  }
1587  @SuppressWarnings("deprecation")
1589  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1590  }
1591 
1592  public static final int USE_EXCHANGE_SUBTRIP_FIELD_NUMBER = 26;
1593  private int useExchangeSubtrip_;
1603  return useExchangeSubtrip_;
1604  }
1614  @SuppressWarnings("deprecation")
1616  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1617  }
1618 
1619  public static final int USE_CROSS_FIELD_NUMBER = 5;
1620  private int useCross_;
1636  public int getUseCrossValue() {
1637  return useCross_;
1638  }
1655  @SuppressWarnings("deprecation")
1657  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1658  }
1659 
1660  public static final int USE_CROSS_EXCHANGE_FIELD_NUMBER = 6;
1661  private int useCrossExchange_;
1670  return useCrossExchange_;
1671  }
1680  @SuppressWarnings("deprecation")
1682  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1683  }
1684 
1685  public static final int USE_RELOCATE_EXPENSIVE_CHAIN_FIELD_NUMBER = 23;
1686  private int useRelocateExpensiveChain_;
1704  return useRelocateExpensiveChain_;
1705  }
1723  @SuppressWarnings("deprecation")
1724  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateExpensiveChain_);
1725  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1726  }
1727 
1728  public static final int USE_TWO_OPT_FIELD_NUMBER = 7;
1729  private int useTwoOpt_;
1746  public int getUseTwoOptValue() {
1747  return useTwoOpt_;
1748  }
1766  @SuppressWarnings("deprecation")
1768  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1769  }
1770 
1771  public static final int USE_OR_OPT_FIELD_NUMBER = 8;
1772  private int useOrOpt_;
1790  public int getUseOrOptValue() {
1791  return useOrOpt_;
1792  }
1811  @SuppressWarnings("deprecation")
1813  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1814  }
1815 
1816  public static final int USE_LIN_KERNIGHAN_FIELD_NUMBER = 9;
1817  private int useLinKernighan_;
1829  return useLinKernighan_;
1830  }
1842  @SuppressWarnings("deprecation")
1844  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1845  }
1846 
1847  public static final int USE_TSP_OPT_FIELD_NUMBER = 10;
1848  private int useTspOpt_;
1861  public int getUseTspOptValue() {
1862  return useTspOpt_;
1863  }
1877  @SuppressWarnings("deprecation")
1879  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1880  }
1881 
1882  public static final int USE_MAKE_ACTIVE_FIELD_NUMBER = 11;
1883  private int useMakeActive_;
1897  public int getUseMakeActiveValue() {
1898  return useMakeActive_;
1899  }
1914  @SuppressWarnings("deprecation")
1916  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1917  }
1918 
1919  public static final int USE_RELOCATE_AND_MAKE_ACTIVE_FIELD_NUMBER = 21;
1920  private int useRelocateAndMakeActive_;
1938  return useRelocateAndMakeActive_;
1939  }
1957  @SuppressWarnings("deprecation")
1958  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateAndMakeActive_);
1959  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1960  }
1961 
1962  public static final int USE_MAKE_INACTIVE_FIELD_NUMBER = 12;
1963  private int useMakeInactive_;
1976  return useMakeInactive_;
1977  }
1990  @SuppressWarnings("deprecation")
1992  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
1993  }
1994 
1995  public static final int USE_MAKE_CHAIN_INACTIVE_FIELD_NUMBER = 13;
1996  private int useMakeChainInactive_;
2010  return useMakeChainInactive_;
2011  }
2025  @SuppressWarnings("deprecation")
2027  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2028  }
2029 
2030  public static final int USE_SWAP_ACTIVE_FIELD_NUMBER = 14;
2031  private int useSwapActive_;
2043  public int getUseSwapActiveValue() {
2044  return useSwapActive_;
2045  }
2058  @SuppressWarnings("deprecation")
2060  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2061  }
2062 
2063  public static final int USE_EXTENDED_SWAP_ACTIVE_FIELD_NUMBER = 15;
2064  private int useExtendedSwapActive_;
2082  return useExtendedSwapActive_;
2083  }
2101  @SuppressWarnings("deprecation")
2102  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useExtendedSwapActive_);
2103  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2104  }
2105 
2106  public static final int USE_NODE_PAIR_SWAP_ACTIVE_FIELD_NUMBER = 20;
2107  private int useNodePairSwapActive_;
2126  return useNodePairSwapActive_;
2127  }
2146  @SuppressWarnings("deprecation")
2147  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useNodePairSwapActive_);
2148  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2149  }
2150 
2151  public static final int USE_PATH_LNS_FIELD_NUMBER = 16;
2152  private int usePathLns_;
2167  public int getUsePathLnsValue() {
2168  return usePathLns_;
2169  }
2185  @SuppressWarnings("deprecation")
2187  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2188  }
2189 
2190  public static final int USE_FULL_PATH_LNS_FIELD_NUMBER = 17;
2191  private int useFullPathLns_;
2199  public int getUseFullPathLnsValue() {
2200  return useFullPathLns_;
2201  }
2210  @SuppressWarnings("deprecation")
2212  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2213  }
2214 
2215  public static final int USE_TSP_LNS_FIELD_NUMBER = 18;
2216  private int useTspLns_;
2229  public int getUseTspLnsValue() {
2230  return useTspLns_;
2231  }
2245  @SuppressWarnings("deprecation")
2247  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2248  }
2249 
2250  public static final int USE_INACTIVE_LNS_FIELD_NUMBER = 19;
2251  private int useInactiveLns_;
2261  public int getUseInactiveLnsValue() {
2262  return useInactiveLns_;
2263  }
2274  @SuppressWarnings("deprecation")
2276  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
2277  }
2278 
2279  private byte memoizedIsInitialized = -1;
2280  @java.lang.Override
2281  public final boolean isInitialized() {
2282  byte isInitialized = memoizedIsInitialized;
2283  if (isInitialized == 1) return true;
2284  if (isInitialized == 0) return false;
2285 
2286  memoizedIsInitialized = 1;
2287  return true;
2288  }
2289 
2290  @java.lang.Override
2291  public void writeTo(com.google.protobuf.CodedOutputStream output)
2292  throws java.io.IOException {
2293  if (useRelocate_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2294  output.writeEnum(1, useRelocate_);
2295  }
2296  if (useRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2297  output.writeEnum(2, useRelocatePair_);
2298  }
2299  if (useRelocateNeighbors_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2300  output.writeEnum(3, useRelocateNeighbors_);
2301  }
2302  if (useExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2303  output.writeEnum(4, useExchange_);
2304  }
2305  if (useCross_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2306  output.writeEnum(5, useCross_);
2307  }
2308  if (useCrossExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2309  output.writeEnum(6, useCrossExchange_);
2310  }
2311  if (useTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2312  output.writeEnum(7, useTwoOpt_);
2313  }
2314  if (useOrOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2315  output.writeEnum(8, useOrOpt_);
2316  }
2317  if (useLinKernighan_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2318  output.writeEnum(9, useLinKernighan_);
2319  }
2320  if (useTspOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2321  output.writeEnum(10, useTspOpt_);
2322  }
2323  if (useMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2324  output.writeEnum(11, useMakeActive_);
2325  }
2326  if (useMakeInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2327  output.writeEnum(12, useMakeInactive_);
2328  }
2329  if (useMakeChainInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2330  output.writeEnum(13, useMakeChainInactive_);
2331  }
2332  if (useSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2333  output.writeEnum(14, useSwapActive_);
2334  }
2335  if (useExtendedSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2336  output.writeEnum(15, useExtendedSwapActive_);
2337  }
2338  if (usePathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2339  output.writeEnum(16, usePathLns_);
2340  }
2341  if (useFullPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2342  output.writeEnum(17, useFullPathLns_);
2343  }
2344  if (useTspLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2345  output.writeEnum(18, useTspLns_);
2346  }
2347  if (useInactiveLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2348  output.writeEnum(19, useInactiveLns_);
2349  }
2350  if (useNodePairSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2351  output.writeEnum(20, useNodePairSwapActive_);
2352  }
2353  if (useRelocateAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2354  output.writeEnum(21, useRelocateAndMakeActive_);
2355  }
2356  if (useExchangePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2357  output.writeEnum(22, useExchangePair_);
2358  }
2359  if (useRelocateExpensiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2360  output.writeEnum(23, useRelocateExpensiveChain_);
2361  }
2362  if (useLightRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2363  output.writeEnum(24, useLightRelocatePair_);
2364  }
2365  if (useRelocateSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2366  output.writeEnum(25, useRelocateSubtrip_);
2367  }
2368  if (useExchangeSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2369  output.writeEnum(26, useExchangeSubtrip_);
2370  }
2371  unknownFields.writeTo(output);
2372  }
2373 
2374  @java.lang.Override
2375  public int getSerializedSize() {
2376  int size = memoizedSize;
2377  if (size != -1) return size;
2378 
2379  size = 0;
2380  if (useRelocate_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2381  size += com.google.protobuf.CodedOutputStream
2382  .computeEnumSize(1, useRelocate_);
2383  }
2384  if (useRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2385  size += com.google.protobuf.CodedOutputStream
2386  .computeEnumSize(2, useRelocatePair_);
2387  }
2388  if (useRelocateNeighbors_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2389  size += com.google.protobuf.CodedOutputStream
2390  .computeEnumSize(3, useRelocateNeighbors_);
2391  }
2392  if (useExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2393  size += com.google.protobuf.CodedOutputStream
2394  .computeEnumSize(4, useExchange_);
2395  }
2396  if (useCross_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2397  size += com.google.protobuf.CodedOutputStream
2398  .computeEnumSize(5, useCross_);
2399  }
2400  if (useCrossExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2401  size += com.google.protobuf.CodedOutputStream
2402  .computeEnumSize(6, useCrossExchange_);
2403  }
2404  if (useTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2405  size += com.google.protobuf.CodedOutputStream
2406  .computeEnumSize(7, useTwoOpt_);
2407  }
2408  if (useOrOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2409  size += com.google.protobuf.CodedOutputStream
2410  .computeEnumSize(8, useOrOpt_);
2411  }
2412  if (useLinKernighan_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2413  size += com.google.protobuf.CodedOutputStream
2414  .computeEnumSize(9, useLinKernighan_);
2415  }
2416  if (useTspOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2417  size += com.google.protobuf.CodedOutputStream
2418  .computeEnumSize(10, useTspOpt_);
2419  }
2420  if (useMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2421  size += com.google.protobuf.CodedOutputStream
2422  .computeEnumSize(11, useMakeActive_);
2423  }
2424  if (useMakeInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2425  size += com.google.protobuf.CodedOutputStream
2426  .computeEnumSize(12, useMakeInactive_);
2427  }
2428  if (useMakeChainInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2429  size += com.google.protobuf.CodedOutputStream
2430  .computeEnumSize(13, useMakeChainInactive_);
2431  }
2432  if (useSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2433  size += com.google.protobuf.CodedOutputStream
2434  .computeEnumSize(14, useSwapActive_);
2435  }
2436  if (useExtendedSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2437  size += com.google.protobuf.CodedOutputStream
2438  .computeEnumSize(15, useExtendedSwapActive_);
2439  }
2440  if (usePathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2441  size += com.google.protobuf.CodedOutputStream
2442  .computeEnumSize(16, usePathLns_);
2443  }
2444  if (useFullPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2445  size += com.google.protobuf.CodedOutputStream
2446  .computeEnumSize(17, useFullPathLns_);
2447  }
2448  if (useTspLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2449  size += com.google.protobuf.CodedOutputStream
2450  .computeEnumSize(18, useTspLns_);
2451  }
2452  if (useInactiveLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2453  size += com.google.protobuf.CodedOutputStream
2454  .computeEnumSize(19, useInactiveLns_);
2455  }
2456  if (useNodePairSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2457  size += com.google.protobuf.CodedOutputStream
2458  .computeEnumSize(20, useNodePairSwapActive_);
2459  }
2460  if (useRelocateAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2461  size += com.google.protobuf.CodedOutputStream
2462  .computeEnumSize(21, useRelocateAndMakeActive_);
2463  }
2464  if (useExchangePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2465  size += com.google.protobuf.CodedOutputStream
2466  .computeEnumSize(22, useExchangePair_);
2467  }
2468  if (useRelocateExpensiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2469  size += com.google.protobuf.CodedOutputStream
2470  .computeEnumSize(23, useRelocateExpensiveChain_);
2471  }
2472  if (useLightRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2473  size += com.google.protobuf.CodedOutputStream
2474  .computeEnumSize(24, useLightRelocatePair_);
2475  }
2476  if (useRelocateSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2477  size += com.google.protobuf.CodedOutputStream
2478  .computeEnumSize(25, useRelocateSubtrip_);
2479  }
2480  if (useExchangeSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
2481  size += com.google.protobuf.CodedOutputStream
2482  .computeEnumSize(26, useExchangeSubtrip_);
2483  }
2484  size += unknownFields.getSerializedSize();
2485  memoizedSize = size;
2486  return size;
2487  }
2488 
2489  @java.lang.Override
2490  public boolean equals(final java.lang.Object obj) {
2491  if (obj == this) {
2492  return true;
2493  }
2495  return super.equals(obj);
2496  }
2498 
2499  if (useRelocate_ != other.useRelocate_) return false;
2500  if (useRelocatePair_ != other.useRelocatePair_) return false;
2501  if (useLightRelocatePair_ != other.useLightRelocatePair_) return false;
2502  if (useRelocateNeighbors_ != other.useRelocateNeighbors_) return false;
2503  if (useRelocateSubtrip_ != other.useRelocateSubtrip_) return false;
2504  if (useExchange_ != other.useExchange_) return false;
2505  if (useExchangePair_ != other.useExchangePair_) return false;
2506  if (useExchangeSubtrip_ != other.useExchangeSubtrip_) return false;
2507  if (useCross_ != other.useCross_) return false;
2508  if (useCrossExchange_ != other.useCrossExchange_) return false;
2509  if (useRelocateExpensiveChain_ != other.useRelocateExpensiveChain_) return false;
2510  if (useTwoOpt_ != other.useTwoOpt_) return false;
2511  if (useOrOpt_ != other.useOrOpt_) return false;
2512  if (useLinKernighan_ != other.useLinKernighan_) return false;
2513  if (useTspOpt_ != other.useTspOpt_) return false;
2514  if (useMakeActive_ != other.useMakeActive_) return false;
2515  if (useRelocateAndMakeActive_ != other.useRelocateAndMakeActive_) return false;
2516  if (useMakeInactive_ != other.useMakeInactive_) return false;
2517  if (useMakeChainInactive_ != other.useMakeChainInactive_) return false;
2518  if (useSwapActive_ != other.useSwapActive_) return false;
2519  if (useExtendedSwapActive_ != other.useExtendedSwapActive_) return false;
2520  if (useNodePairSwapActive_ != other.useNodePairSwapActive_) return false;
2521  if (usePathLns_ != other.usePathLns_) return false;
2522  if (useFullPathLns_ != other.useFullPathLns_) return false;
2523  if (useTspLns_ != other.useTspLns_) return false;
2524  if (useInactiveLns_ != other.useInactiveLns_) return false;
2525  if (!unknownFields.equals(other.unknownFields)) return false;
2526  return true;
2527  }
2528 
2529  @java.lang.Override
2530  public int hashCode() {
2531  if (memoizedHashCode != 0) {
2532  return memoizedHashCode;
2533  }
2534  int hash = 41;
2535  hash = (19 * hash) + getDescriptor().hashCode();
2536  hash = (37 * hash) + USE_RELOCATE_FIELD_NUMBER;
2537  hash = (53 * hash) + useRelocate_;
2538  hash = (37 * hash) + USE_RELOCATE_PAIR_FIELD_NUMBER;
2539  hash = (53 * hash) + useRelocatePair_;
2540  hash = (37 * hash) + USE_LIGHT_RELOCATE_PAIR_FIELD_NUMBER;
2541  hash = (53 * hash) + useLightRelocatePair_;
2542  hash = (37 * hash) + USE_RELOCATE_NEIGHBORS_FIELD_NUMBER;
2543  hash = (53 * hash) + useRelocateNeighbors_;
2544  hash = (37 * hash) + USE_RELOCATE_SUBTRIP_FIELD_NUMBER;
2545  hash = (53 * hash) + useRelocateSubtrip_;
2546  hash = (37 * hash) + USE_EXCHANGE_FIELD_NUMBER;
2547  hash = (53 * hash) + useExchange_;
2548  hash = (37 * hash) + USE_EXCHANGE_PAIR_FIELD_NUMBER;
2549  hash = (53 * hash) + useExchangePair_;
2550  hash = (37 * hash) + USE_EXCHANGE_SUBTRIP_FIELD_NUMBER;
2551  hash = (53 * hash) + useExchangeSubtrip_;
2552  hash = (37 * hash) + USE_CROSS_FIELD_NUMBER;
2553  hash = (53 * hash) + useCross_;
2554  hash = (37 * hash) + USE_CROSS_EXCHANGE_FIELD_NUMBER;
2555  hash = (53 * hash) + useCrossExchange_;
2556  hash = (37 * hash) + USE_RELOCATE_EXPENSIVE_CHAIN_FIELD_NUMBER;
2557  hash = (53 * hash) + useRelocateExpensiveChain_;
2558  hash = (37 * hash) + USE_TWO_OPT_FIELD_NUMBER;
2559  hash = (53 * hash) + useTwoOpt_;
2560  hash = (37 * hash) + USE_OR_OPT_FIELD_NUMBER;
2561  hash = (53 * hash) + useOrOpt_;
2562  hash = (37 * hash) + USE_LIN_KERNIGHAN_FIELD_NUMBER;
2563  hash = (53 * hash) + useLinKernighan_;
2564  hash = (37 * hash) + USE_TSP_OPT_FIELD_NUMBER;
2565  hash = (53 * hash) + useTspOpt_;
2566  hash = (37 * hash) + USE_MAKE_ACTIVE_FIELD_NUMBER;
2567  hash = (53 * hash) + useMakeActive_;
2568  hash = (37 * hash) + USE_RELOCATE_AND_MAKE_ACTIVE_FIELD_NUMBER;
2569  hash = (53 * hash) + useRelocateAndMakeActive_;
2570  hash = (37 * hash) + USE_MAKE_INACTIVE_FIELD_NUMBER;
2571  hash = (53 * hash) + useMakeInactive_;
2572  hash = (37 * hash) + USE_MAKE_CHAIN_INACTIVE_FIELD_NUMBER;
2573  hash = (53 * hash) + useMakeChainInactive_;
2574  hash = (37 * hash) + USE_SWAP_ACTIVE_FIELD_NUMBER;
2575  hash = (53 * hash) + useSwapActive_;
2576  hash = (37 * hash) + USE_EXTENDED_SWAP_ACTIVE_FIELD_NUMBER;
2577  hash = (53 * hash) + useExtendedSwapActive_;
2578  hash = (37 * hash) + USE_NODE_PAIR_SWAP_ACTIVE_FIELD_NUMBER;
2579  hash = (53 * hash) + useNodePairSwapActive_;
2580  hash = (37 * hash) + USE_PATH_LNS_FIELD_NUMBER;
2581  hash = (53 * hash) + usePathLns_;
2582  hash = (37 * hash) + USE_FULL_PATH_LNS_FIELD_NUMBER;
2583  hash = (53 * hash) + useFullPathLns_;
2584  hash = (37 * hash) + USE_TSP_LNS_FIELD_NUMBER;
2585  hash = (53 * hash) + useTspLns_;
2586  hash = (37 * hash) + USE_INACTIVE_LNS_FIELD_NUMBER;
2587  hash = (53 * hash) + useInactiveLns_;
2588  hash = (29 * hash) + unknownFields.hashCode();
2589  memoizedHashCode = hash;
2590  return hash;
2591  }
2592 
2594  java.nio.ByteBuffer data)
2595  throws com.google.protobuf.InvalidProtocolBufferException {
2596  return PARSER.parseFrom(data);
2597  }
2599  java.nio.ByteBuffer data,
2600  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2601  throws com.google.protobuf.InvalidProtocolBufferException {
2602  return PARSER.parseFrom(data, extensionRegistry);
2603  }
2605  com.google.protobuf.ByteString data)
2606  throws com.google.protobuf.InvalidProtocolBufferException {
2607  return PARSER.parseFrom(data);
2608  }
2610  com.google.protobuf.ByteString data,
2611  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2612  throws com.google.protobuf.InvalidProtocolBufferException {
2613  return PARSER.parseFrom(data, extensionRegistry);
2614  }
2616  throws com.google.protobuf.InvalidProtocolBufferException {
2617  return PARSER.parseFrom(data);
2618  }
2620  byte[] data,
2621  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2622  throws com.google.protobuf.InvalidProtocolBufferException {
2623  return PARSER.parseFrom(data, extensionRegistry);
2624  }
2626  throws java.io.IOException {
2627  return com.google.protobuf.GeneratedMessageV3
2628  .parseWithIOException(PARSER, input);
2629  }
2631  java.io.InputStream input,
2632  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2633  throws java.io.IOException {
2634  return com.google.protobuf.GeneratedMessageV3
2635  .parseWithIOException(PARSER, input, extensionRegistry);
2636  }
2638  throws java.io.IOException {
2639  return com.google.protobuf.GeneratedMessageV3
2640  .parseDelimitedWithIOException(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  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
2648  }
2650  com.google.protobuf.CodedInputStream input)
2651  throws java.io.IOException {
2652  return com.google.protobuf.GeneratedMessageV3
2653  .parseWithIOException(PARSER, input);
2654  }
2656  com.google.protobuf.CodedInputStream input,
2657  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2658  throws java.io.IOException {
2659  return com.google.protobuf.GeneratedMessageV3
2660  .parseWithIOException(PARSER, input, extensionRegistry);
2661  }
2662 
2663  @java.lang.Override
2664  public Builder newBuilderForType() { return newBuilder(); }
2665  public static Builder newBuilder() {
2666  return DEFAULT_INSTANCE.toBuilder();
2667  }
2669  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
2670  }
2671  @java.lang.Override
2672  public Builder toBuilder() {
2673  return this == DEFAULT_INSTANCE
2674  ? new Builder() : new Builder().mergeFrom(this);
2675  }
2676 
2677  @java.lang.Override
2679  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
2680  Builder builder = new Builder(parent);
2681  return builder;
2682  }
2691  public static final class Builder extends
2692  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
2693  // @@protoc_insertion_point(builder_implements:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
2695  public static final com.google.protobuf.Descriptors.Descriptor
2697  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
2698  }
2699 
2700  @java.lang.Override
2701  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
2703  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_fieldAccessorTable
2704  .ensureFieldAccessorsInitialized(
2706  }
2707 
2708  // Construct using com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.newBuilder()
2709  private Builder() {
2710  maybeForceBuilderInitialization();
2711  }
2712 
2713  private Builder(
2714  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
2715  super(parent);
2716  maybeForceBuilderInitialization();
2717  }
2718  private void maybeForceBuilderInitialization() {
2719  if (com.google.protobuf.GeneratedMessageV3
2720  .alwaysUseFieldBuilders) {
2721  }
2722  }
2723  @java.lang.Override
2724  public Builder clear() {
2725  super.clear();
2726  useRelocate_ = 0;
2727 
2728  useRelocatePair_ = 0;
2729 
2730  useLightRelocatePair_ = 0;
2731 
2732  useRelocateNeighbors_ = 0;
2733 
2734  useRelocateSubtrip_ = 0;
2735 
2736  useExchange_ = 0;
2737 
2738  useExchangePair_ = 0;
2739 
2740  useExchangeSubtrip_ = 0;
2741 
2742  useCross_ = 0;
2743 
2744  useCrossExchange_ = 0;
2745 
2746  useRelocateExpensiveChain_ = 0;
2747 
2748  useTwoOpt_ = 0;
2749 
2750  useOrOpt_ = 0;
2751 
2752  useLinKernighan_ = 0;
2753 
2754  useTspOpt_ = 0;
2755 
2756  useMakeActive_ = 0;
2757 
2758  useRelocateAndMakeActive_ = 0;
2759 
2760  useMakeInactive_ = 0;
2761 
2762  useMakeChainInactive_ = 0;
2763 
2764  useSwapActive_ = 0;
2765 
2766  useExtendedSwapActive_ = 0;
2767 
2768  useNodePairSwapActive_ = 0;
2769 
2770  usePathLns_ = 0;
2771 
2772  useFullPathLns_ = 0;
2773 
2774  useTspLns_ = 0;
2775 
2776  useInactiveLns_ = 0;
2777 
2778  return this;
2779  }
2780 
2781  @java.lang.Override
2782  public com.google.protobuf.Descriptors.Descriptor
2784  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
2785  }
2786 
2787  @java.lang.Override
2790  }
2791 
2792  @java.lang.Override
2795  if (!result.isInitialized()) {
2796  throw newUninitializedMessageException(result);
2797  }
2798  return result;
2799  }
2800 
2801  @java.lang.Override
2804  result.useRelocate_ = useRelocate_;
2805  result.useRelocatePair_ = useRelocatePair_;
2806  result.useLightRelocatePair_ = useLightRelocatePair_;
2807  result.useRelocateNeighbors_ = useRelocateNeighbors_;
2808  result.useRelocateSubtrip_ = useRelocateSubtrip_;
2809  result.useExchange_ = useExchange_;
2810  result.useExchangePair_ = useExchangePair_;
2811  result.useExchangeSubtrip_ = useExchangeSubtrip_;
2812  result.useCross_ = useCross_;
2813  result.useCrossExchange_ = useCrossExchange_;
2814  result.useRelocateExpensiveChain_ = useRelocateExpensiveChain_;
2815  result.useTwoOpt_ = useTwoOpt_;
2816  result.useOrOpt_ = useOrOpt_;
2817  result.useLinKernighan_ = useLinKernighan_;
2818  result.useTspOpt_ = useTspOpt_;
2819  result.useMakeActive_ = useMakeActive_;
2820  result.useRelocateAndMakeActive_ = useRelocateAndMakeActive_;
2821  result.useMakeInactive_ = useMakeInactive_;
2822  result.useMakeChainInactive_ = useMakeChainInactive_;
2823  result.useSwapActive_ = useSwapActive_;
2824  result.useExtendedSwapActive_ = useExtendedSwapActive_;
2825  result.useNodePairSwapActive_ = useNodePairSwapActive_;
2826  result.usePathLns_ = usePathLns_;
2827  result.useFullPathLns_ = useFullPathLns_;
2828  result.useTspLns_ = useTspLns_;
2829  result.useInactiveLns_ = useInactiveLns_;
2830  onBuilt();
2831  return result;
2832  }
2833 
2834  @java.lang.Override
2835  public Builder clone() {
2836  return super.clone();
2837  }
2838  @java.lang.Override
2840  com.google.protobuf.Descriptors.FieldDescriptor field,
2841  java.lang.Object value) {
2842  return super.setField(field, value);
2843  }
2844  @java.lang.Override
2846  com.google.protobuf.Descriptors.FieldDescriptor field) {
2847  return super.clearField(field);
2848  }
2849  @java.lang.Override
2851  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
2852  return super.clearOneof(oneof);
2853  }
2854  @java.lang.Override
2856  com.google.protobuf.Descriptors.FieldDescriptor field,
2857  int index, java.lang.Object value) {
2858  return super.setRepeatedField(field, index, value);
2859  }
2860  @java.lang.Override
2862  com.google.protobuf.Descriptors.FieldDescriptor field,
2863  java.lang.Object value) {
2864  return super.addRepeatedField(field, value);
2865  }
2866  @java.lang.Override
2867  public Builder mergeFrom(com.google.protobuf.Message other) {
2870  } else {
2871  super.mergeFrom(other);
2872  return this;
2873  }
2874  }
2875 
2878  if (other.useRelocate_ != 0) {
2879  setUseRelocateValue(other.getUseRelocateValue());
2880  }
2881  if (other.useRelocatePair_ != 0) {
2882  setUseRelocatePairValue(other.getUseRelocatePairValue());
2883  }
2884  if (other.useLightRelocatePair_ != 0) {
2885  setUseLightRelocatePairValue(other.getUseLightRelocatePairValue());
2886  }
2887  if (other.useRelocateNeighbors_ != 0) {
2888  setUseRelocateNeighborsValue(other.getUseRelocateNeighborsValue());
2889  }
2890  if (other.useRelocateSubtrip_ != 0) {
2891  setUseRelocateSubtripValue(other.getUseRelocateSubtripValue());
2892  }
2893  if (other.useExchange_ != 0) {
2894  setUseExchangeValue(other.getUseExchangeValue());
2895  }
2896  if (other.useExchangePair_ != 0) {
2897  setUseExchangePairValue(other.getUseExchangePairValue());
2898  }
2899  if (other.useExchangeSubtrip_ != 0) {
2900  setUseExchangeSubtripValue(other.getUseExchangeSubtripValue());
2901  }
2902  if (other.useCross_ != 0) {
2903  setUseCrossValue(other.getUseCrossValue());
2904  }
2905  if (other.useCrossExchange_ != 0) {
2906  setUseCrossExchangeValue(other.getUseCrossExchangeValue());
2907  }
2908  if (other.useRelocateExpensiveChain_ != 0) {
2909  setUseRelocateExpensiveChainValue(other.getUseRelocateExpensiveChainValue());
2910  }
2911  if (other.useTwoOpt_ != 0) {
2912  setUseTwoOptValue(other.getUseTwoOptValue());
2913  }
2914  if (other.useOrOpt_ != 0) {
2915  setUseOrOptValue(other.getUseOrOptValue());
2916  }
2917  if (other.useLinKernighan_ != 0) {
2918  setUseLinKernighanValue(other.getUseLinKernighanValue());
2919  }
2920  if (other.useTspOpt_ != 0) {
2921  setUseTspOptValue(other.getUseTspOptValue());
2922  }
2923  if (other.useMakeActive_ != 0) {
2924  setUseMakeActiveValue(other.getUseMakeActiveValue());
2925  }
2926  if (other.useRelocateAndMakeActive_ != 0) {
2927  setUseRelocateAndMakeActiveValue(other.getUseRelocateAndMakeActiveValue());
2928  }
2929  if (other.useMakeInactive_ != 0) {
2930  setUseMakeInactiveValue(other.getUseMakeInactiveValue());
2931  }
2932  if (other.useMakeChainInactive_ != 0) {
2933  setUseMakeChainInactiveValue(other.getUseMakeChainInactiveValue());
2934  }
2935  if (other.useSwapActive_ != 0) {
2936  setUseSwapActiveValue(other.getUseSwapActiveValue());
2937  }
2938  if (other.useExtendedSwapActive_ != 0) {
2939  setUseExtendedSwapActiveValue(other.getUseExtendedSwapActiveValue());
2940  }
2941  if (other.useNodePairSwapActive_ != 0) {
2942  setUseNodePairSwapActiveValue(other.getUseNodePairSwapActiveValue());
2943  }
2944  if (other.usePathLns_ != 0) {
2945  setUsePathLnsValue(other.getUsePathLnsValue());
2946  }
2947  if (other.useFullPathLns_ != 0) {
2948  setUseFullPathLnsValue(other.getUseFullPathLnsValue());
2949  }
2950  if (other.useTspLns_ != 0) {
2951  setUseTspLnsValue(other.getUseTspLnsValue());
2952  }
2953  if (other.useInactiveLns_ != 0) {
2954  setUseInactiveLnsValue(other.getUseInactiveLnsValue());
2955  }
2956  this.mergeUnknownFields(other.unknownFields);
2957  onChanged();
2958  return this;
2959  }
2960 
2961  @java.lang.Override
2962  public final boolean isInitialized() {
2963  return true;
2964  }
2965 
2966  @java.lang.Override
2968  com.google.protobuf.CodedInputStream input,
2969  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2970  throws java.io.IOException {
2972  try {
2973  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
2974  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2976  throw e.unwrapIOException();
2977  } finally {
2978  if (parsedMessage != null) {
2979  mergeFrom(parsedMessage);
2980  }
2981  }
2982  return this;
2983  }
2984 
2985  private int useRelocate_ = 0;
3001  public int getUseRelocateValue() {
3002  return useRelocate_;
3003  }
3019  public Builder setUseRelocateValue(int value) {
3020  useRelocate_ = value;
3021  onChanged();
3022  return this;
3023  }
3040  @SuppressWarnings("deprecation")
3042  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3043  }
3060  if (value == null) {
3061  throw new NullPointerException();
3062  }
3063 
3064  useRelocate_ = value.getNumber();
3065  onChanged();
3066  return this;
3067  }
3084 
3085  useRelocate_ = 0;
3086  onChanged();
3087  return this;
3088  }
3089 
3090  private int useRelocatePair_ = 0;
3107  return useRelocatePair_;
3108  }
3124  public Builder setUseRelocatePairValue(int value) {
3125  useRelocatePair_ = value;
3126  onChanged();
3127  return this;
3128  }
3145  @SuppressWarnings("deprecation")
3147  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3148  }
3165  if (value == null) {
3166  throw new NullPointerException();
3167  }
3168 
3169  useRelocatePair_ = value.getNumber();
3170  onChanged();
3171  return this;
3172  }
3189 
3190  useRelocatePair_ = 0;
3191  onChanged();
3192  return this;
3193  }
3194 
3195  private int useLightRelocatePair_ = 0;
3210  return useLightRelocatePair_;
3211  }
3226  useLightRelocatePair_ = value;
3227  onChanged();
3228  return this;
3229  }
3244  @SuppressWarnings("deprecation")
3246  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3247  }
3262  if (value == null) {
3263  throw new NullPointerException();
3264  }
3265 
3266  useLightRelocatePair_ = value.getNumber();
3267  onChanged();
3268  return this;
3269  }
3284 
3285  useLightRelocatePair_ = 0;
3286  onChanged();
3287  return this;
3288  }
3289 
3290  private int useRelocateNeighbors_ = 0;
3320  return useRelocateNeighbors_;
3321  }
3351  useRelocateNeighbors_ = value;
3352  onChanged();
3353  return this;
3354  }
3384  @SuppressWarnings("deprecation")
3386  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3387  }
3417  if (value == null) {
3418  throw new NullPointerException();
3419  }
3420 
3421  useRelocateNeighbors_ = value.getNumber();
3422  onChanged();
3423  return this;
3424  }
3454 
3455  useRelocateNeighbors_ = 0;
3456  onChanged();
3457  return this;
3458  }
3459 
3460  private int useRelocateSubtrip_ = 0;
3480  return useRelocateSubtrip_;
3481  }
3501  useRelocateSubtrip_ = value;
3502  onChanged();
3503  return this;
3504  }
3524  @SuppressWarnings("deprecation")
3526  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3527  }
3547  if (value == null) {
3548  throw new NullPointerException();
3549  }
3550 
3551  useRelocateSubtrip_ = value.getNumber();
3552  onChanged();
3553  return this;
3554  }
3574 
3575  useRelocateSubtrip_ = 0;
3576  onChanged();
3577  return this;
3578  }
3579 
3580  private int useExchange_ = 0;
3594  public int getUseExchangeValue() {
3595  return useExchange_;
3596  }
3610  public Builder setUseExchangeValue(int value) {
3611  useExchange_ = value;
3612  onChanged();
3613  return this;
3614  }
3629  @SuppressWarnings("deprecation")
3631  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3632  }
3647  if (value == null) {
3648  throw new NullPointerException();
3649  }
3650 
3651  useExchange_ = value.getNumber();
3652  onChanged();
3653  return this;
3654  }
3669 
3670  useExchange_ = 0;
3671  onChanged();
3672  return this;
3673  }
3674 
3675  private int useExchangePair_ = 0;
3690  return useExchangePair_;
3691  }
3705  public Builder setUseExchangePairValue(int value) {
3706  useExchangePair_ = value;
3707  onChanged();
3708  return this;
3709  }
3724  @SuppressWarnings("deprecation")
3726  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3727  }
3742  if (value == null) {
3743  throw new NullPointerException();
3744  }
3745 
3746  useExchangePair_ = value.getNumber();
3747  onChanged();
3748  return this;
3749  }
3764 
3765  useExchangePair_ = 0;
3766  onChanged();
3767  return this;
3768  }
3769 
3770  private int useExchangeSubtrip_ = 0;
3780  return useExchangeSubtrip_;
3781  }
3791  useExchangeSubtrip_ = value;
3792  onChanged();
3793  return this;
3794  }
3804  @SuppressWarnings("deprecation")
3806  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3807  }
3817  if (value == null) {
3818  throw new NullPointerException();
3819  }
3820 
3821  useExchangeSubtrip_ = value.getNumber();
3822  onChanged();
3823  return this;
3824  }
3834 
3835  useExchangeSubtrip_ = 0;
3836  onChanged();
3837  return this;
3838  }
3839 
3840  private int useCross_ = 0;
3856  public int getUseCrossValue() {
3857  return useCross_;
3858  }
3874  public Builder setUseCrossValue(int value) {
3875  useCross_ = value;
3876  onChanged();
3877  return this;
3878  }
3895  @SuppressWarnings("deprecation")
3897  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3898  }
3915  if (value == null) {
3916  throw new NullPointerException();
3917  }
3918 
3919  useCross_ = value.getNumber();
3920  onChanged();
3921  return this;
3922  }
3939 
3940  useCross_ = 0;
3941  onChanged();
3942  return this;
3943  }
3944 
3945  private int useCrossExchange_ = 0;
3954  return useCrossExchange_;
3955  }
3963  public Builder setUseCrossExchangeValue(int value) {
3964  useCrossExchange_ = value;
3965  onChanged();
3966  return this;
3967  }
3976  @SuppressWarnings("deprecation")
3978  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
3979  }
3988  if (value == null) {
3989  throw new NullPointerException();
3990  }
3991 
3992  useCrossExchange_ = value.getNumber();
3993  onChanged();
3994  return this;
3995  }
4004 
4005  useCrossExchange_ = 0;
4006  onChanged();
4007  return this;
4008  }
4009 
4010  private int useRelocateExpensiveChain_ = 0;
4028  return useRelocateExpensiveChain_;
4029  }
4047  useRelocateExpensiveChain_ = value;
4048  onChanged();
4049  return this;
4050  }
4068  @SuppressWarnings("deprecation")
4069  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateExpensiveChain_);
4070  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4071  }
4089  if (value == null) {
4090  throw new NullPointerException();
4091  }
4092 
4093  useRelocateExpensiveChain_ = value.getNumber();
4094  onChanged();
4095  return this;
4096  }
4114 
4115  useRelocateExpensiveChain_ = 0;
4116  onChanged();
4117  return this;
4118  }
4119 
4120  private int useTwoOpt_ = 0;
4137  public int getUseTwoOptValue() {
4138  return useTwoOpt_;
4139  }
4156  public Builder setUseTwoOptValue(int value) {
4157  useTwoOpt_ = value;
4158  onChanged();
4159  return this;
4160  }
4178  @SuppressWarnings("deprecation")
4180  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4181  }
4199  if (value == null) {
4200  throw new NullPointerException();
4201  }
4202 
4203  useTwoOpt_ = value.getNumber();
4204  onChanged();
4205  return this;
4206  }
4224 
4225  useTwoOpt_ = 0;
4226  onChanged();
4227  return this;
4228  }
4229 
4230  private int useOrOpt_ = 0;
4248  public int getUseOrOptValue() {
4249  return useOrOpt_;
4250  }
4268  public Builder setUseOrOptValue(int value) {
4269  useOrOpt_ = value;
4270  onChanged();
4271  return this;
4272  }
4291  @SuppressWarnings("deprecation")
4293  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4294  }
4313  if (value == null) {
4314  throw new NullPointerException();
4315  }
4316 
4317  useOrOpt_ = value.getNumber();
4318  onChanged();
4319  return this;
4320  }
4339 
4340  useOrOpt_ = 0;
4341  onChanged();
4342  return this;
4343  }
4344 
4345  private int useLinKernighan_ = 0;
4357  return useLinKernighan_;
4358  }
4369  public Builder setUseLinKernighanValue(int value) {
4370  useLinKernighan_ = value;
4371  onChanged();
4372  return this;
4373  }
4385  @SuppressWarnings("deprecation")
4387  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4388  }
4400  if (value == null) {
4401  throw new NullPointerException();
4402  }
4403 
4404  useLinKernighan_ = value.getNumber();
4405  onChanged();
4406  return this;
4407  }
4419 
4420  useLinKernighan_ = 0;
4421  onChanged();
4422  return this;
4423  }
4424 
4425  private int useTspOpt_ = 0;
4438  public int getUseTspOptValue() {
4439  return useTspOpt_;
4440  }
4453  public Builder setUseTspOptValue(int value) {
4454  useTspOpt_ = value;
4455  onChanged();
4456  return this;
4457  }
4471  @SuppressWarnings("deprecation")
4473  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4474  }
4488  if (value == null) {
4489  throw new NullPointerException();
4490  }
4491 
4492  useTspOpt_ = value.getNumber();
4493  onChanged();
4494  return this;
4495  }
4509 
4510  useTspOpt_ = 0;
4511  onChanged();
4512  return this;
4513  }
4514 
4515  private int useMakeActive_ = 0;
4529  public int getUseMakeActiveValue() {
4530  return useMakeActive_;
4531  }
4545  public Builder setUseMakeActiveValue(int value) {
4546  useMakeActive_ = value;
4547  onChanged();
4548  return this;
4549  }
4564  @SuppressWarnings("deprecation")
4566  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4567  }
4582  if (value == null) {
4583  throw new NullPointerException();
4584  }
4585 
4586  useMakeActive_ = value.getNumber();
4587  onChanged();
4588  return this;
4589  }
4604 
4605  useMakeActive_ = 0;
4606  onChanged();
4607  return this;
4608  }
4609 
4610  private int useRelocateAndMakeActive_ = 0;
4628  return useRelocateAndMakeActive_;
4629  }
4647  useRelocateAndMakeActive_ = value;
4648  onChanged();
4649  return this;
4650  }
4668  @SuppressWarnings("deprecation")
4669  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useRelocateAndMakeActive_);
4670  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4671  }
4689  if (value == null) {
4690  throw new NullPointerException();
4691  }
4692 
4693  useRelocateAndMakeActive_ = value.getNumber();
4694  onChanged();
4695  return this;
4696  }
4714 
4715  useRelocateAndMakeActive_ = 0;
4716  onChanged();
4717  return this;
4718  }
4719 
4720  private int useMakeInactive_ = 0;
4733  return useMakeInactive_;
4734  }
4746  public Builder setUseMakeInactiveValue(int value) {
4747  useMakeInactive_ = value;
4748  onChanged();
4749  return this;
4750  }
4763  @SuppressWarnings("deprecation")
4765  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4766  }
4779  if (value == null) {
4780  throw new NullPointerException();
4781  }
4782 
4783  useMakeInactive_ = value.getNumber();
4784  onChanged();
4785  return this;
4786  }
4799 
4800  useMakeInactive_ = 0;
4801  onChanged();
4802  return this;
4803  }
4804 
4805  private int useMakeChainInactive_ = 0;
4819  return useMakeChainInactive_;
4820  }
4834  useMakeChainInactive_ = value;
4835  onChanged();
4836  return this;
4837  }
4851  @SuppressWarnings("deprecation")
4853  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4854  }
4868  if (value == null) {
4869  throw new NullPointerException();
4870  }
4871 
4872  useMakeChainInactive_ = value.getNumber();
4873  onChanged();
4874  return this;
4875  }
4889 
4890  useMakeChainInactive_ = 0;
4891  onChanged();
4892  return this;
4893  }
4894 
4895  private int useSwapActive_ = 0;
4907  public int getUseSwapActiveValue() {
4908  return useSwapActive_;
4909  }
4921  public Builder setUseSwapActiveValue(int value) {
4922  useSwapActive_ = value;
4923  onChanged();
4924  return this;
4925  }
4938  @SuppressWarnings("deprecation")
4940  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
4941  }
4954  if (value == null) {
4955  throw new NullPointerException();
4956  }
4957 
4958  useSwapActive_ = value.getNumber();
4959  onChanged();
4960  return this;
4961  }
4974 
4975  useSwapActive_ = 0;
4976  onChanged();
4977  return this;
4978  }
4979 
4980  private int useExtendedSwapActive_ = 0;
4998  return useExtendedSwapActive_;
4999  }
5017  useExtendedSwapActive_ = value;
5018  onChanged();
5019  return this;
5020  }
5038  @SuppressWarnings("deprecation")
5039  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useExtendedSwapActive_);
5040  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5041  }
5059  if (value == null) {
5060  throw new NullPointerException();
5061  }
5062 
5063  useExtendedSwapActive_ = value.getNumber();
5064  onChanged();
5065  return this;
5066  }
5084 
5085  useExtendedSwapActive_ = 0;
5086  onChanged();
5087  return this;
5088  }
5089 
5090  private int useNodePairSwapActive_ = 0;
5109  return useNodePairSwapActive_;
5110  }
5129  useNodePairSwapActive_ = value;
5130  onChanged();
5131  return this;
5132  }
5151  @SuppressWarnings("deprecation")
5152  com.google.ortools.util.OptionalBoolean result = com.google.ortools.util.OptionalBoolean.valueOf(useNodePairSwapActive_);
5153  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5154  }
5173  if (value == null) {
5174  throw new NullPointerException();
5175  }
5176 
5177  useNodePairSwapActive_ = value.getNumber();
5178  onChanged();
5179  return this;
5180  }
5199 
5200  useNodePairSwapActive_ = 0;
5201  onChanged();
5202  return this;
5203  }
5204 
5205  private int usePathLns_ = 0;
5220  public int getUsePathLnsValue() {
5221  return usePathLns_;
5222  }
5237  public Builder setUsePathLnsValue(int value) {
5238  usePathLns_ = value;
5239  onChanged();
5240  return this;
5241  }
5257  @SuppressWarnings("deprecation")
5259  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5260  }
5276  if (value == null) {
5277  throw new NullPointerException();
5278  }
5279 
5280  usePathLns_ = value.getNumber();
5281  onChanged();
5282  return this;
5283  }
5299 
5300  usePathLns_ = 0;
5301  onChanged();
5302  return this;
5303  }
5304 
5305  private int useFullPathLns_ = 0;
5313  public int getUseFullPathLnsValue() {
5314  return useFullPathLns_;
5315  }
5323  public Builder setUseFullPathLnsValue(int value) {
5324  useFullPathLns_ = value;
5325  onChanged();
5326  return this;
5327  }
5336  @SuppressWarnings("deprecation")
5338  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5339  }
5348  if (value == null) {
5349  throw new NullPointerException();
5350  }
5351 
5352  useFullPathLns_ = value.getNumber();
5353  onChanged();
5354  return this;
5355  }
5364 
5365  useFullPathLns_ = 0;
5366  onChanged();
5367  return this;
5368  }
5369 
5370  private int useTspLns_ = 0;
5383  public int getUseTspLnsValue() {
5384  return useTspLns_;
5385  }
5398  public Builder setUseTspLnsValue(int value) {
5399  useTspLns_ = value;
5400  onChanged();
5401  return this;
5402  }
5416  @SuppressWarnings("deprecation")
5418  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5419  }
5433  if (value == null) {
5434  throw new NullPointerException();
5435  }
5436 
5437  useTspLns_ = value.getNumber();
5438  onChanged();
5439  return this;
5440  }
5454 
5455  useTspLns_ = 0;
5456  onChanged();
5457  return this;
5458  }
5459 
5460  private int useInactiveLns_ = 0;
5470  public int getUseInactiveLnsValue() {
5471  return useInactiveLns_;
5472  }
5482  public Builder setUseInactiveLnsValue(int value) {
5483  useInactiveLns_ = value;
5484  onChanged();
5485  return this;
5486  }
5497  @SuppressWarnings("deprecation")
5499  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5500  }
5511  if (value == null) {
5512  throw new NullPointerException();
5513  }
5514 
5515  useInactiveLns_ = value.getNumber();
5516  onChanged();
5517  return this;
5518  }
5529 
5530  useInactiveLns_ = 0;
5531  onChanged();
5532  return this;
5533  }
5534  @java.lang.Override
5536  final com.google.protobuf.UnknownFieldSet unknownFields) {
5537  return super.setUnknownFields(unknownFields);
5538  }
5539 
5540  @java.lang.Override
5542  final com.google.protobuf.UnknownFieldSet unknownFields) {
5543  return super.mergeUnknownFields(unknownFields);
5544  }
5545 
5546 
5547  // @@protoc_insertion_point(builder_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
5548  }
5549 
5550  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters.LocalSearchNeighborhoodOperators)
5552  static {
5554  }
5555 
5557  return DEFAULT_INSTANCE;
5558  }
5559 
5560  private static final com.google.protobuf.Parser<LocalSearchNeighborhoodOperators>
5561  PARSER = new com.google.protobuf.AbstractParser<LocalSearchNeighborhoodOperators>() {
5562  @java.lang.Override
5563  public LocalSearchNeighborhoodOperators parsePartialFrom(
5564  com.google.protobuf.CodedInputStream input,
5565  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5566  throws com.google.protobuf.InvalidProtocolBufferException {
5567  return new LocalSearchNeighborhoodOperators(input, extensionRegistry);
5568  }
5569  };
5570 
5571  public static com.google.protobuf.Parser<LocalSearchNeighborhoodOperators> parser() {
5572  return PARSER;
5573  }
5574 
5575  @java.lang.Override
5577  return PARSER;
5578  }
5579 
5580  @java.lang.Override
5582  return DEFAULT_INSTANCE;
5583  }
5584 
5585  }
5586 
5587  public static final int FIRST_SOLUTION_STRATEGY_FIELD_NUMBER = 1;
5588  private int firstSolutionStrategy_;
5597  return firstSolutionStrategy_;
5598  }
5607  @SuppressWarnings("deprecation")
5609  return result == null ? com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNRECOGNIZED : result;
5610  }
5611 
5613  private boolean useUnfilteredFirstSolutionStrategy_;
5624  return useUnfilteredFirstSolutionStrategy_;
5625  }
5626 
5627  public static final int SAVINGS_NEIGHBORS_RATIO_FIELD_NUMBER = 14;
5628  private double savingsNeighborsRatio_;
5638  public double getSavingsNeighborsRatio() {
5639  return savingsNeighborsRatio_;
5640  }
5641 
5642  public static final int SAVINGS_MAX_MEMORY_USAGE_BYTES_FIELD_NUMBER = 23;
5643  private double savingsMaxMemoryUsageBytes_;
5657  return savingsMaxMemoryUsageBytes_;
5658  }
5659 
5660  public static final int SAVINGS_ADD_REVERSE_ARCS_FIELD_NUMBER = 15;
5661  private boolean savingsAddReverseArcs_;
5670  public boolean getSavingsAddReverseArcs() {
5671  return savingsAddReverseArcs_;
5672  }
5673 
5674  public static final int SAVINGS_ARC_COEFFICIENT_FIELD_NUMBER = 18;
5675  private double savingsArcCoefficient_;
5687  public double getSavingsArcCoefficient() {
5688  return savingsArcCoefficient_;
5689  }
5690 
5691  public static final int SAVINGS_PARALLEL_ROUTES_FIELD_NUMBER = 19;
5692  private boolean savingsParallelRoutes_;
5700  public boolean getSavingsParallelRoutes() {
5701  return savingsParallelRoutes_;
5702  }
5703 
5705  private double cheapestInsertionFarthestSeedsRatio_;
5716  return cheapestInsertionFarthestSeedsRatio_;
5717  }
5718 
5720  private double cheapestInsertionNeighborsRatio_;
5732  return cheapestInsertionNeighborsRatio_;
5733  }
5734 
5735  public static final int LOCAL_SEARCH_OPERATORS_FIELD_NUMBER = 3;
5740  public boolean hasLocalSearchOperators() {
5741  return localSearchOperators_ != null;
5742  }
5747  return localSearchOperators_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
5748  }
5753  return getLocalSearchOperators();
5754  }
5755 
5757  private int relocateExpensiveChainNumArcsToConsider_;
5772  return relocateExpensiveChainNumArcsToConsider_;
5773  }
5774 
5775  public static final int LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER = 4;
5776  private int localSearchMetaheuristic_;
5785  return localSearchMetaheuristic_;
5786  }
5795  @SuppressWarnings("deprecation")
5798  }
5799 
5801  private double guidedLocalSearchLambdaCoefficient_;
5813  return guidedLocalSearchLambdaCoefficient_;
5814  }
5815 
5816  public static final int USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER = 6;
5817  private boolean useDepthFirstSearch_;
5827  public boolean getUseDepthFirstSearch() {
5828  return useDepthFirstSearch_;
5829  }
5830 
5831  public static final int USE_CP_FIELD_NUMBER = 28;
5832  private int useCp_;
5842  public int getUseCpValue() {
5843  return useCp_;
5844  }
5855  @SuppressWarnings("deprecation")
5857  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5858  }
5859 
5860  public static final int USE_CP_SAT_FIELD_NUMBER = 27;
5861  private int useCpSat_;
5872  public int getUseCpSatValue() {
5873  return useCpSat_;
5874  }
5886  @SuppressWarnings("deprecation")
5888  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
5889  }
5890 
5891  public static final int OPTIMIZATION_STEP_FIELD_NUMBER = 7;
5892  private double optimizationStep_;
5902  public double getOptimizationStep() {
5903  return optimizationStep_;
5904  }
5905 
5906  public static final int NUMBER_OF_SOLUTIONS_TO_COLLECT_FIELD_NUMBER = 17;
5907  private int numberOfSolutionsToCollect_;
5917  return numberOfSolutionsToCollect_;
5918  }
5919 
5920  public static final int SOLUTION_LIMIT_FIELD_NUMBER = 8;
5921  private long solutionLimit_;
5931  public long getSolutionLimit() {
5932  return solutionLimit_;
5933  }
5934 
5935  public static final int TIME_LIMIT_FIELD_NUMBER = 9;
5936  private com.google.protobuf.Duration timeLimit_;
5944  public boolean hasTimeLimit() {
5945  return timeLimit_ != null;
5946  }
5954  public com.google.protobuf.Duration getTimeLimit() {
5955  return timeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
5956  }
5964  public com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder() {
5965  return getTimeLimit();
5966  }
5967 
5968  public static final int LNS_TIME_LIMIT_FIELD_NUMBER = 10;
5969  private com.google.protobuf.Duration lnsTimeLimit_;
5978  public boolean hasLnsTimeLimit() {
5979  return lnsTimeLimit_ != null;
5980  }
5989  public com.google.protobuf.Duration getLnsTimeLimit() {
5990  return lnsTimeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
5991  }
6000  public com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder() {
6001  return getLnsTimeLimit();
6002  }
6003 
6004  public static final int USE_FULL_PROPAGATION_FIELD_NUMBER = 11;
6005  private boolean useFullPropagation_;
6021  public boolean getUseFullPropagation() {
6022  return useFullPropagation_;
6023  }
6024 
6025  public static final int LOG_SEARCH_FIELD_NUMBER = 13;
6026  private boolean logSearch_;
6045  public boolean getLogSearch() {
6046  return logSearch_;
6047  }
6048 
6049  public static final int LOG_COST_SCALING_FACTOR_FIELD_NUMBER = 22;
6050  private double logCostScalingFactor_;
6058  public double getLogCostScalingFactor() {
6059  return logCostScalingFactor_;
6060  }
6061 
6062  private byte memoizedIsInitialized = -1;
6063  @java.lang.Override
6064  public final boolean isInitialized() {
6065  byte isInitialized = memoizedIsInitialized;
6066  if (isInitialized == 1) return true;
6067  if (isInitialized == 0) return false;
6068 
6069  memoizedIsInitialized = 1;
6070  return true;
6071  }
6072 
6073  @java.lang.Override
6074  public void writeTo(com.google.protobuf.CodedOutputStream output)
6075  throws java.io.IOException {
6076  if (firstSolutionStrategy_ != com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNSET.getNumber()) {
6077  output.writeEnum(1, firstSolutionStrategy_);
6078  }
6079  if (useUnfilteredFirstSolutionStrategy_ != false) {
6080  output.writeBool(2, useUnfilteredFirstSolutionStrategy_);
6081  }
6082  if (localSearchOperators_ != null) {
6083  output.writeMessage(3, getLocalSearchOperators());
6084  }
6085  if (localSearchMetaheuristic_ != com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNSET.getNumber()) {
6086  output.writeEnum(4, localSearchMetaheuristic_);
6087  }
6088  if (guidedLocalSearchLambdaCoefficient_ != 0D) {
6089  output.writeDouble(5, guidedLocalSearchLambdaCoefficient_);
6090  }
6091  if (useDepthFirstSearch_ != false) {
6092  output.writeBool(6, useDepthFirstSearch_);
6093  }
6094  if (optimizationStep_ != 0D) {
6095  output.writeDouble(7, optimizationStep_);
6096  }
6097  if (solutionLimit_ != 0L) {
6098  output.writeInt64(8, solutionLimit_);
6099  }
6100  if (timeLimit_ != null) {
6101  output.writeMessage(9, getTimeLimit());
6102  }
6103  if (lnsTimeLimit_ != null) {
6104  output.writeMessage(10, getLnsTimeLimit());
6105  }
6106  if (useFullPropagation_ != false) {
6107  output.writeBool(11, useFullPropagation_);
6108  }
6109  if (logSearch_ != false) {
6110  output.writeBool(13, logSearch_);
6111  }
6112  if (savingsNeighborsRatio_ != 0D) {
6113  output.writeDouble(14, savingsNeighborsRatio_);
6114  }
6115  if (savingsAddReverseArcs_ != false) {
6116  output.writeBool(15, savingsAddReverseArcs_);
6117  }
6118  if (cheapestInsertionFarthestSeedsRatio_ != 0D) {
6119  output.writeDouble(16, cheapestInsertionFarthestSeedsRatio_);
6120  }
6121  if (numberOfSolutionsToCollect_ != 0) {
6122  output.writeInt32(17, numberOfSolutionsToCollect_);
6123  }
6124  if (savingsArcCoefficient_ != 0D) {
6125  output.writeDouble(18, savingsArcCoefficient_);
6126  }
6127  if (savingsParallelRoutes_ != false) {
6128  output.writeBool(19, savingsParallelRoutes_);
6129  }
6130  if (relocateExpensiveChainNumArcsToConsider_ != 0) {
6131  output.writeInt32(20, relocateExpensiveChainNumArcsToConsider_);
6132  }
6133  if (cheapestInsertionNeighborsRatio_ != 0D) {
6134  output.writeDouble(21, cheapestInsertionNeighborsRatio_);
6135  }
6136  if (logCostScalingFactor_ != 0D) {
6137  output.writeDouble(22, logCostScalingFactor_);
6138  }
6139  if (savingsMaxMemoryUsageBytes_ != 0D) {
6140  output.writeDouble(23, savingsMaxMemoryUsageBytes_);
6141  }
6142  if (useCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
6143  output.writeEnum(27, useCpSat_);
6144  }
6145  if (useCp_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
6146  output.writeEnum(28, useCp_);
6147  }
6148  unknownFields.writeTo(output);
6149  }
6150 
6151  @java.lang.Override
6152  public int getSerializedSize() {
6153  int size = memoizedSize;
6154  if (size != -1) return size;
6155 
6156  size = 0;
6157  if (firstSolutionStrategy_ != com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNSET.getNumber()) {
6158  size += com.google.protobuf.CodedOutputStream
6159  .computeEnumSize(1, firstSolutionStrategy_);
6160  }
6161  if (useUnfilteredFirstSolutionStrategy_ != false) {
6162  size += com.google.protobuf.CodedOutputStream
6163  .computeBoolSize(2, useUnfilteredFirstSolutionStrategy_);
6164  }
6165  if (localSearchOperators_ != null) {
6166  size += com.google.protobuf.CodedOutputStream
6167  .computeMessageSize(3, getLocalSearchOperators());
6168  }
6169  if (localSearchMetaheuristic_ != com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNSET.getNumber()) {
6170  size += com.google.protobuf.CodedOutputStream
6171  .computeEnumSize(4, localSearchMetaheuristic_);
6172  }
6173  if (guidedLocalSearchLambdaCoefficient_ != 0D) {
6174  size += com.google.protobuf.CodedOutputStream
6175  .computeDoubleSize(5, guidedLocalSearchLambdaCoefficient_);
6176  }
6177  if (useDepthFirstSearch_ != false) {
6178  size += com.google.protobuf.CodedOutputStream
6179  .computeBoolSize(6, useDepthFirstSearch_);
6180  }
6181  if (optimizationStep_ != 0D) {
6182  size += com.google.protobuf.CodedOutputStream
6183  .computeDoubleSize(7, optimizationStep_);
6184  }
6185  if (solutionLimit_ != 0L) {
6186  size += com.google.protobuf.CodedOutputStream
6187  .computeInt64Size(8, solutionLimit_);
6188  }
6189  if (timeLimit_ != null) {
6190  size += com.google.protobuf.CodedOutputStream
6191  .computeMessageSize(9, getTimeLimit());
6192  }
6193  if (lnsTimeLimit_ != null) {
6194  size += com.google.protobuf.CodedOutputStream
6195  .computeMessageSize(10, getLnsTimeLimit());
6196  }
6197  if (useFullPropagation_ != false) {
6198  size += com.google.protobuf.CodedOutputStream
6199  .computeBoolSize(11, useFullPropagation_);
6200  }
6201  if (logSearch_ != false) {
6202  size += com.google.protobuf.CodedOutputStream
6203  .computeBoolSize(13, logSearch_);
6204  }
6205  if (savingsNeighborsRatio_ != 0D) {
6206  size += com.google.protobuf.CodedOutputStream
6207  .computeDoubleSize(14, savingsNeighborsRatio_);
6208  }
6209  if (savingsAddReverseArcs_ != false) {
6210  size += com.google.protobuf.CodedOutputStream
6211  .computeBoolSize(15, savingsAddReverseArcs_);
6212  }
6213  if (cheapestInsertionFarthestSeedsRatio_ != 0D) {
6214  size += com.google.protobuf.CodedOutputStream
6215  .computeDoubleSize(16, cheapestInsertionFarthestSeedsRatio_);
6216  }
6217  if (numberOfSolutionsToCollect_ != 0) {
6218  size += com.google.protobuf.CodedOutputStream
6219  .computeInt32Size(17, numberOfSolutionsToCollect_);
6220  }
6221  if (savingsArcCoefficient_ != 0D) {
6222  size += com.google.protobuf.CodedOutputStream
6223  .computeDoubleSize(18, savingsArcCoefficient_);
6224  }
6225  if (savingsParallelRoutes_ != false) {
6226  size += com.google.protobuf.CodedOutputStream
6227  .computeBoolSize(19, savingsParallelRoutes_);
6228  }
6229  if (relocateExpensiveChainNumArcsToConsider_ != 0) {
6230  size += com.google.protobuf.CodedOutputStream
6231  .computeInt32Size(20, relocateExpensiveChainNumArcsToConsider_);
6232  }
6233  if (cheapestInsertionNeighborsRatio_ != 0D) {
6234  size += com.google.protobuf.CodedOutputStream
6235  .computeDoubleSize(21, cheapestInsertionNeighborsRatio_);
6236  }
6237  if (logCostScalingFactor_ != 0D) {
6238  size += com.google.protobuf.CodedOutputStream
6239  .computeDoubleSize(22, logCostScalingFactor_);
6240  }
6241  if (savingsMaxMemoryUsageBytes_ != 0D) {
6242  size += com.google.protobuf.CodedOutputStream
6243  .computeDoubleSize(23, savingsMaxMemoryUsageBytes_);
6244  }
6245  if (useCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
6246  size += com.google.protobuf.CodedOutputStream
6247  .computeEnumSize(27, useCpSat_);
6248  }
6249  if (useCp_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
6250  size += com.google.protobuf.CodedOutputStream
6251  .computeEnumSize(28, useCp_);
6252  }
6253  size += unknownFields.getSerializedSize();
6254  memoizedSize = size;
6255  return size;
6256  }
6257 
6258  @java.lang.Override
6259  public boolean equals(final java.lang.Object obj) {
6260  if (obj == this) {
6261  return true;
6262  }
6263  if (!(obj instanceof com.google.ortools.constraintsolver.RoutingSearchParameters)) {
6264  return super.equals(obj);
6265  }
6267 
6268  if (firstSolutionStrategy_ != other.firstSolutionStrategy_) return false;
6270  != other.getUseUnfilteredFirstSolutionStrategy()) return false;
6271  if (java.lang.Double.doubleToLongBits(getSavingsNeighborsRatio())
6272  != java.lang.Double.doubleToLongBits(
6273  other.getSavingsNeighborsRatio())) return false;
6274  if (java.lang.Double.doubleToLongBits(getSavingsMaxMemoryUsageBytes())
6275  != java.lang.Double.doubleToLongBits(
6276  other.getSavingsMaxMemoryUsageBytes())) return false;
6278  != other.getSavingsAddReverseArcs()) return false;
6279  if (java.lang.Double.doubleToLongBits(getSavingsArcCoefficient())
6280  != java.lang.Double.doubleToLongBits(
6281  other.getSavingsArcCoefficient())) return false;
6283  != other.getSavingsParallelRoutes()) return false;
6284  if (java.lang.Double.doubleToLongBits(getCheapestInsertionFarthestSeedsRatio())
6285  != java.lang.Double.doubleToLongBits(
6286  other.getCheapestInsertionFarthestSeedsRatio())) return false;
6287  if (java.lang.Double.doubleToLongBits(getCheapestInsertionNeighborsRatio())
6288  != java.lang.Double.doubleToLongBits(
6289  other.getCheapestInsertionNeighborsRatio())) return false;
6290  if (hasLocalSearchOperators() != other.hasLocalSearchOperators()) return false;
6291  if (hasLocalSearchOperators()) {
6293  .equals(other.getLocalSearchOperators())) return false;
6294  }
6296  != other.getRelocateExpensiveChainNumArcsToConsider()) return false;
6297  if (localSearchMetaheuristic_ != other.localSearchMetaheuristic_) return false;
6298  if (java.lang.Double.doubleToLongBits(getGuidedLocalSearchLambdaCoefficient())
6299  != java.lang.Double.doubleToLongBits(
6300  other.getGuidedLocalSearchLambdaCoefficient())) return false;
6302  != other.getUseDepthFirstSearch()) return false;
6303  if (useCp_ != other.useCp_) return false;
6304  if (useCpSat_ != other.useCpSat_) return false;
6305  if (java.lang.Double.doubleToLongBits(getOptimizationStep())
6306  != java.lang.Double.doubleToLongBits(
6307  other.getOptimizationStep())) return false;
6309  != other.getNumberOfSolutionsToCollect()) return false;
6310  if (getSolutionLimit()
6311  != other.getSolutionLimit()) return false;
6312  if (hasTimeLimit() != other.hasTimeLimit()) return false;
6313  if (hasTimeLimit()) {
6314  if (!getTimeLimit()
6315  .equals(other.getTimeLimit())) return false;
6316  }
6317  if (hasLnsTimeLimit() != other.hasLnsTimeLimit()) return false;
6318  if (hasLnsTimeLimit()) {
6319  if (!getLnsTimeLimit()
6320  .equals(other.getLnsTimeLimit())) return false;
6321  }
6322  if (getUseFullPropagation()
6323  != other.getUseFullPropagation()) return false;
6324  if (getLogSearch()
6325  != other.getLogSearch()) return false;
6326  if (java.lang.Double.doubleToLongBits(getLogCostScalingFactor())
6327  != java.lang.Double.doubleToLongBits(
6328  other.getLogCostScalingFactor())) return false;
6329  if (!unknownFields.equals(other.unknownFields)) return false;
6330  return true;
6331  }
6332 
6333  @java.lang.Override
6334  public int hashCode() {
6335  if (memoizedHashCode != 0) {
6336  return memoizedHashCode;
6337  }
6338  int hash = 41;
6339  hash = (19 * hash) + getDescriptor().hashCode();
6340  hash = (37 * hash) + FIRST_SOLUTION_STRATEGY_FIELD_NUMBER;
6341  hash = (53 * hash) + firstSolutionStrategy_;
6343  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
6345  hash = (37 * hash) + SAVINGS_NEIGHBORS_RATIO_FIELD_NUMBER;
6346  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
6347  java.lang.Double.doubleToLongBits(getSavingsNeighborsRatio()));
6348  hash = (37 * hash) + SAVINGS_MAX_MEMORY_USAGE_BYTES_FIELD_NUMBER;
6349  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
6350  java.lang.Double.doubleToLongBits(getSavingsMaxMemoryUsageBytes()));
6351  hash = (37 * hash) + SAVINGS_ADD_REVERSE_ARCS_FIELD_NUMBER;
6352  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
6354  hash = (37 * hash) + SAVINGS_ARC_COEFFICIENT_FIELD_NUMBER;
6355  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
6356  java.lang.Double.doubleToLongBits(getSavingsArcCoefficient()));
6357  hash = (37 * hash) + SAVINGS_PARALLEL_ROUTES_FIELD_NUMBER;
6358  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
6361  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
6362  java.lang.Double.doubleToLongBits(getCheapestInsertionFarthestSeedsRatio()));
6364  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
6365  java.lang.Double.doubleToLongBits(getCheapestInsertionNeighborsRatio()));
6366  if (hasLocalSearchOperators()) {
6367  hash = (37 * hash) + LOCAL_SEARCH_OPERATORS_FIELD_NUMBER;
6368  hash = (53 * hash) + getLocalSearchOperators().hashCode();
6369  }
6371  hash = (53 * hash) + getRelocateExpensiveChainNumArcsToConsider();
6372  hash = (37 * hash) + LOCAL_SEARCH_METAHEURISTIC_FIELD_NUMBER;
6373  hash = (53 * hash) + localSearchMetaheuristic_;
6375  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
6376  java.lang.Double.doubleToLongBits(getGuidedLocalSearchLambdaCoefficient()));
6377  hash = (37 * hash) + USE_DEPTH_FIRST_SEARCH_FIELD_NUMBER;
6378  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
6380  hash = (37 * hash) + USE_CP_FIELD_NUMBER;
6381  hash = (53 * hash) + useCp_;
6382  hash = (37 * hash) + USE_CP_SAT_FIELD_NUMBER;
6383  hash = (53 * hash) + useCpSat_;
6384  hash = (37 * hash) + OPTIMIZATION_STEP_FIELD_NUMBER;
6385  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
6386  java.lang.Double.doubleToLongBits(getOptimizationStep()));
6387  hash = (37 * hash) + NUMBER_OF_SOLUTIONS_TO_COLLECT_FIELD_NUMBER;
6388  hash = (53 * hash) + getNumberOfSolutionsToCollect();
6389  hash = (37 * hash) + SOLUTION_LIMIT_FIELD_NUMBER;
6390  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
6391  getSolutionLimit());
6392  if (hasTimeLimit()) {
6393  hash = (37 * hash) + TIME_LIMIT_FIELD_NUMBER;
6394  hash = (53 * hash) + getTimeLimit().hashCode();
6395  }
6396  if (hasLnsTimeLimit()) {
6397  hash = (37 * hash) + LNS_TIME_LIMIT_FIELD_NUMBER;
6398  hash = (53 * hash) + getLnsTimeLimit().hashCode();
6399  }
6400  hash = (37 * hash) + USE_FULL_PROPAGATION_FIELD_NUMBER;
6401  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
6403  hash = (37 * hash) + LOG_SEARCH_FIELD_NUMBER;
6404  hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
6405  getLogSearch());
6406  hash = (37 * hash) + LOG_COST_SCALING_FACTOR_FIELD_NUMBER;
6407  hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
6408  java.lang.Double.doubleToLongBits(getLogCostScalingFactor()));
6409  hash = (29 * hash) + unknownFields.hashCode();
6410  memoizedHashCode = hash;
6411  return hash;
6412  }
6413 
6415  java.nio.ByteBuffer data)
6416  throws com.google.protobuf.InvalidProtocolBufferException {
6417  return PARSER.parseFrom(data);
6418  }
6420  java.nio.ByteBuffer data,
6421  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6422  throws com.google.protobuf.InvalidProtocolBufferException {
6423  return PARSER.parseFrom(data, extensionRegistry);
6424  }
6426  com.google.protobuf.ByteString data)
6427  throws com.google.protobuf.InvalidProtocolBufferException {
6428  return PARSER.parseFrom(data);
6429  }
6431  com.google.protobuf.ByteString data,
6432  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6433  throws com.google.protobuf.InvalidProtocolBufferException {
6434  return PARSER.parseFrom(data, extensionRegistry);
6435  }
6437  throws com.google.protobuf.InvalidProtocolBufferException {
6438  return PARSER.parseFrom(data);
6439  }
6441  byte[] data,
6442  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6443  throws com.google.protobuf.InvalidProtocolBufferException {
6444  return PARSER.parseFrom(data, extensionRegistry);
6445  }
6446  public static com.google.ortools.constraintsolver.RoutingSearchParameters parseFrom(java.io.InputStream input)
6447  throws java.io.IOException {
6448  return com.google.protobuf.GeneratedMessageV3
6449  .parseWithIOException(PARSER, input);
6450  }
6452  java.io.InputStream input,
6453  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6454  throws java.io.IOException {
6455  return com.google.protobuf.GeneratedMessageV3
6456  .parseWithIOException(PARSER, input, extensionRegistry);
6457  }
6459  throws java.io.IOException {
6460  return com.google.protobuf.GeneratedMessageV3
6461  .parseDelimitedWithIOException(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  .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
6469  }
6471  com.google.protobuf.CodedInputStream input)
6472  throws java.io.IOException {
6473  return com.google.protobuf.GeneratedMessageV3
6474  .parseWithIOException(PARSER, input);
6475  }
6477  com.google.protobuf.CodedInputStream input,
6478  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6479  throws java.io.IOException {
6480  return com.google.protobuf.GeneratedMessageV3
6481  .parseWithIOException(PARSER, input, extensionRegistry);
6482  }
6483 
6484  @java.lang.Override
6485  public Builder newBuilderForType() { return newBuilder(); }
6486  public static Builder newBuilder() {
6487  return DEFAULT_INSTANCE.toBuilder();
6488  }
6490  return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
6491  }
6492  @java.lang.Override
6493  public Builder toBuilder() {
6494  return this == DEFAULT_INSTANCE
6495  ? new Builder() : new Builder().mergeFrom(this);
6496  }
6497 
6498  @java.lang.Override
6500  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
6501  Builder builder = new Builder(parent);
6502  return builder;
6503  }
6515  public static final class Builder extends
6516  com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
6517  // @@protoc_insertion_point(builder_implements:operations_research.RoutingSearchParameters)
6518  com.google.ortools.constraintsolver.RoutingSearchParametersOrBuilder {
6519  public static final com.google.protobuf.Descriptors.Descriptor
6521  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
6522  }
6523 
6524  @java.lang.Override
6525  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
6527  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_fieldAccessorTable
6528  .ensureFieldAccessorsInitialized(
6530  }
6531 
6532  // Construct using com.google.ortools.constraintsolver.RoutingSearchParameters.newBuilder()
6533  private Builder() {
6534  maybeForceBuilderInitialization();
6535  }
6536 
6537  private Builder(
6538  com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
6539  super(parent);
6540  maybeForceBuilderInitialization();
6541  }
6542  private void maybeForceBuilderInitialization() {
6543  if (com.google.protobuf.GeneratedMessageV3
6544  .alwaysUseFieldBuilders) {
6545  }
6546  }
6547  @java.lang.Override
6548  public Builder clear() {
6549  super.clear();
6550  firstSolutionStrategy_ = 0;
6551 
6552  useUnfilteredFirstSolutionStrategy_ = false;
6553 
6554  savingsNeighborsRatio_ = 0D;
6555 
6556  savingsMaxMemoryUsageBytes_ = 0D;
6557 
6558  savingsAddReverseArcs_ = false;
6559 
6560  savingsArcCoefficient_ = 0D;
6561 
6562  savingsParallelRoutes_ = false;
6563 
6564  cheapestInsertionFarthestSeedsRatio_ = 0D;
6565 
6566  cheapestInsertionNeighborsRatio_ = 0D;
6567 
6568  if (localSearchOperatorsBuilder_ == null) {
6569  localSearchOperators_ = null;
6570  } else {
6571  localSearchOperators_ = null;
6572  localSearchOperatorsBuilder_ = null;
6573  }
6574  relocateExpensiveChainNumArcsToConsider_ = 0;
6575 
6576  localSearchMetaheuristic_ = 0;
6577 
6578  guidedLocalSearchLambdaCoefficient_ = 0D;
6579 
6580  useDepthFirstSearch_ = false;
6581 
6582  useCp_ = 0;
6583 
6584  useCpSat_ = 0;
6585 
6586  optimizationStep_ = 0D;
6587 
6588  numberOfSolutionsToCollect_ = 0;
6589 
6590  solutionLimit_ = 0L;
6591 
6592  if (timeLimitBuilder_ == null) {
6593  timeLimit_ = null;
6594  } else {
6595  timeLimit_ = null;
6596  timeLimitBuilder_ = null;
6597  }
6598  if (lnsTimeLimitBuilder_ == null) {
6599  lnsTimeLimit_ = null;
6600  } else {
6601  lnsTimeLimit_ = null;
6602  lnsTimeLimitBuilder_ = null;
6603  }
6604  useFullPropagation_ = false;
6605 
6606  logSearch_ = false;
6607 
6608  logCostScalingFactor_ = 0D;
6609 
6610  return this;
6611  }
6612 
6613  @java.lang.Override
6614  public com.google.protobuf.Descriptors.Descriptor
6616  return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
6617  }
6618 
6619  @java.lang.Override
6622  }
6623 
6624  @java.lang.Override
6627  if (!result.isInitialized()) {
6628  throw newUninitializedMessageException(result);
6629  }
6630  return result;
6631  }
6632 
6633  @java.lang.Override
6636  result.firstSolutionStrategy_ = firstSolutionStrategy_;
6637  result.useUnfilteredFirstSolutionStrategy_ = useUnfilteredFirstSolutionStrategy_;
6638  result.savingsNeighborsRatio_ = savingsNeighborsRatio_;
6639  result.savingsMaxMemoryUsageBytes_ = savingsMaxMemoryUsageBytes_;
6640  result.savingsAddReverseArcs_ = savingsAddReverseArcs_;
6641  result.savingsArcCoefficient_ = savingsArcCoefficient_;
6642  result.savingsParallelRoutes_ = savingsParallelRoutes_;
6643  result.cheapestInsertionFarthestSeedsRatio_ = cheapestInsertionFarthestSeedsRatio_;
6644  result.cheapestInsertionNeighborsRatio_ = cheapestInsertionNeighborsRatio_;
6645  if (localSearchOperatorsBuilder_ == null) {
6646  result.localSearchOperators_ = localSearchOperators_;
6647  } else {
6648  result.localSearchOperators_ = localSearchOperatorsBuilder_.build();
6649  }
6650  result.relocateExpensiveChainNumArcsToConsider_ = relocateExpensiveChainNumArcsToConsider_;
6651  result.localSearchMetaheuristic_ = localSearchMetaheuristic_;
6652  result.guidedLocalSearchLambdaCoefficient_ = guidedLocalSearchLambdaCoefficient_;
6653  result.useDepthFirstSearch_ = useDepthFirstSearch_;
6654  result.useCp_ = useCp_;
6655  result.useCpSat_ = useCpSat_;
6656  result.optimizationStep_ = optimizationStep_;
6657  result.numberOfSolutionsToCollect_ = numberOfSolutionsToCollect_;
6658  result.solutionLimit_ = solutionLimit_;
6659  if (timeLimitBuilder_ == null) {
6660  result.timeLimit_ = timeLimit_;
6661  } else {
6662  result.timeLimit_ = timeLimitBuilder_.build();
6663  }
6664  if (lnsTimeLimitBuilder_ == null) {
6665  result.lnsTimeLimit_ = lnsTimeLimit_;
6666  } else {
6667  result.lnsTimeLimit_ = lnsTimeLimitBuilder_.build();
6668  }
6669  result.useFullPropagation_ = useFullPropagation_;
6670  result.logSearch_ = logSearch_;
6671  result.logCostScalingFactor_ = logCostScalingFactor_;
6672  onBuilt();
6673  return result;
6674  }
6675 
6676  @java.lang.Override
6677  public Builder clone() {
6678  return super.clone();
6679  }
6680  @java.lang.Override
6682  com.google.protobuf.Descriptors.FieldDescriptor field,
6683  java.lang.Object value) {
6684  return super.setField(field, value);
6685  }
6686  @java.lang.Override
6688  com.google.protobuf.Descriptors.FieldDescriptor field) {
6689  return super.clearField(field);
6690  }
6691  @java.lang.Override
6693  com.google.protobuf.Descriptors.OneofDescriptor oneof) {
6694  return super.clearOneof(oneof);
6695  }
6696  @java.lang.Override
6698  com.google.protobuf.Descriptors.FieldDescriptor field,
6699  int index, java.lang.Object value) {
6700  return super.setRepeatedField(field, index, value);
6701  }
6702  @java.lang.Override
6704  com.google.protobuf.Descriptors.FieldDescriptor field,
6705  java.lang.Object value) {
6706  return super.addRepeatedField(field, value);
6707  }
6708  @java.lang.Override
6709  public Builder mergeFrom(com.google.protobuf.Message other) {
6712  } else {
6713  super.mergeFrom(other);
6714  return this;
6715  }
6716  }
6717 
6720  if (other.firstSolutionStrategy_ != 0) {
6721  setFirstSolutionStrategyValue(other.getFirstSolutionStrategyValue());
6722  }
6723  if (other.getUseUnfilteredFirstSolutionStrategy() != false) {
6724  setUseUnfilteredFirstSolutionStrategy(other.getUseUnfilteredFirstSolutionStrategy());
6725  }
6726  if (other.getSavingsNeighborsRatio() != 0D) {
6727  setSavingsNeighborsRatio(other.getSavingsNeighborsRatio());
6728  }
6729  if (other.getSavingsMaxMemoryUsageBytes() != 0D) {
6730  setSavingsMaxMemoryUsageBytes(other.getSavingsMaxMemoryUsageBytes());
6731  }
6732  if (other.getSavingsAddReverseArcs() != false) {
6733  setSavingsAddReverseArcs(other.getSavingsAddReverseArcs());
6734  }
6735  if (other.getSavingsArcCoefficient() != 0D) {
6736  setSavingsArcCoefficient(other.getSavingsArcCoefficient());
6737  }
6738  if (other.getSavingsParallelRoutes() != false) {
6739  setSavingsParallelRoutes(other.getSavingsParallelRoutes());
6740  }
6741  if (other.getCheapestInsertionFarthestSeedsRatio() != 0D) {
6742  setCheapestInsertionFarthestSeedsRatio(other.getCheapestInsertionFarthestSeedsRatio());
6743  }
6744  if (other.getCheapestInsertionNeighborsRatio() != 0D) {
6745  setCheapestInsertionNeighborsRatio(other.getCheapestInsertionNeighborsRatio());
6746  }
6747  if (other.hasLocalSearchOperators()) {
6748  mergeLocalSearchOperators(other.getLocalSearchOperators());
6749  }
6750  if (other.getRelocateExpensiveChainNumArcsToConsider() != 0) {
6751  setRelocateExpensiveChainNumArcsToConsider(other.getRelocateExpensiveChainNumArcsToConsider());
6752  }
6753  if (other.localSearchMetaheuristic_ != 0) {
6754  setLocalSearchMetaheuristicValue(other.getLocalSearchMetaheuristicValue());
6755  }
6756  if (other.getGuidedLocalSearchLambdaCoefficient() != 0D) {
6757  setGuidedLocalSearchLambdaCoefficient(other.getGuidedLocalSearchLambdaCoefficient());
6758  }
6759  if (other.getUseDepthFirstSearch() != false) {
6760  setUseDepthFirstSearch(other.getUseDepthFirstSearch());
6761  }
6762  if (other.useCp_ != 0) {
6763  setUseCpValue(other.getUseCpValue());
6764  }
6765  if (other.useCpSat_ != 0) {
6766  setUseCpSatValue(other.getUseCpSatValue());
6767  }
6768  if (other.getOptimizationStep() != 0D) {
6769  setOptimizationStep(other.getOptimizationStep());
6770  }
6771  if (other.getNumberOfSolutionsToCollect() != 0) {
6772  setNumberOfSolutionsToCollect(other.getNumberOfSolutionsToCollect());
6773  }
6774  if (other.getSolutionLimit() != 0L) {
6775  setSolutionLimit(other.getSolutionLimit());
6776  }
6777  if (other.hasTimeLimit()) {
6778  mergeTimeLimit(other.getTimeLimit());
6779  }
6780  if (other.hasLnsTimeLimit()) {
6781  mergeLnsTimeLimit(other.getLnsTimeLimit());
6782  }
6783  if (other.getUseFullPropagation() != false) {
6784  setUseFullPropagation(other.getUseFullPropagation());
6785  }
6786  if (other.getLogSearch() != false) {
6787  setLogSearch(other.getLogSearch());
6788  }
6789  if (other.getLogCostScalingFactor() != 0D) {
6790  setLogCostScalingFactor(other.getLogCostScalingFactor());
6791  }
6792  this.mergeUnknownFields(other.unknownFields);
6793  onChanged();
6794  return this;
6795  }
6796 
6797  @java.lang.Override
6798  public final boolean isInitialized() {
6799  return true;
6800  }
6801 
6802  @java.lang.Override
6804  com.google.protobuf.CodedInputStream input,
6805  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6806  throws java.io.IOException {
6808  try {
6809  parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
6810  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
6811  parsedMessage = (com.google.ortools.constraintsolver.RoutingSearchParameters) e.getUnfinishedMessage();
6812  throw e.unwrapIOException();
6813  } finally {
6814  if (parsedMessage != null) {
6815  mergeFrom(parsedMessage);
6816  }
6817  }
6818  return this;
6819  }
6820 
6821  private int firstSolutionStrategy_ = 0;
6830  return firstSolutionStrategy_;
6831  }
6840  firstSolutionStrategy_ = value;
6841  onChanged();
6842  return this;
6843  }
6852  @SuppressWarnings("deprecation")
6854  return result == null ? com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNRECOGNIZED : result;
6855  }
6864  if (value == null) {
6865  throw new NullPointerException();
6866  }
6867 
6868  firstSolutionStrategy_ = value.getNumber();
6869  onChanged();
6870  return this;
6871  }
6880 
6881  firstSolutionStrategy_ = 0;
6882  onChanged();
6883  return this;
6884  }
6885 
6886  private boolean useUnfilteredFirstSolutionStrategy_ ;
6897  return useUnfilteredFirstSolutionStrategy_;
6898  }
6909 
6910  useUnfilteredFirstSolutionStrategy_ = value;
6911  onChanged();
6912  return this;
6913  }
6924 
6925  useUnfilteredFirstSolutionStrategy_ = false;
6926  onChanged();
6927  return this;
6928  }
6929 
6930  private double savingsNeighborsRatio_ ;
6940  public double getSavingsNeighborsRatio() {
6941  return savingsNeighborsRatio_;
6942  }
6952  public Builder setSavingsNeighborsRatio(double value) {
6953 
6954  savingsNeighborsRatio_ = value;
6955  onChanged();
6956  return this;
6957  }
6968 
6969  savingsNeighborsRatio_ = 0D;
6970  onChanged();
6971  return this;
6972  }
6973 
6974  private double savingsMaxMemoryUsageBytes_ ;
6988  return savingsMaxMemoryUsageBytes_;
6989  }
7003 
7004  savingsMaxMemoryUsageBytes_ = value;
7005  onChanged();
7006  return this;
7007  }
7021 
7022  savingsMaxMemoryUsageBytes_ = 0D;
7023  onChanged();
7024  return this;
7025  }
7026 
7027  private boolean savingsAddReverseArcs_ ;
7036  public boolean getSavingsAddReverseArcs() {
7037  return savingsAddReverseArcs_;
7038  }
7047  public Builder setSavingsAddReverseArcs(boolean value) {
7048 
7049  savingsAddReverseArcs_ = value;
7050  onChanged();
7051  return this;
7052  }
7062 
7063  savingsAddReverseArcs_ = false;
7064  onChanged();
7065  return this;
7066  }
7067 
7068  private double savingsArcCoefficient_ ;
7080  public double getSavingsArcCoefficient() {
7081  return savingsArcCoefficient_;
7082  }
7094  public Builder setSavingsArcCoefficient(double value) {
7095 
7096  savingsArcCoefficient_ = value;
7097  onChanged();
7098  return this;
7099  }
7112 
7113  savingsArcCoefficient_ = 0D;
7114  onChanged();
7115  return this;
7116  }
7117 
7118  private boolean savingsParallelRoutes_ ;
7126  public boolean getSavingsParallelRoutes() {
7127  return savingsParallelRoutes_;
7128  }
7136  public Builder setSavingsParallelRoutes(boolean value) {
7137 
7138  savingsParallelRoutes_ = value;
7139  onChanged();
7140  return this;
7141  }
7150 
7151  savingsParallelRoutes_ = false;
7152  onChanged();
7153  return this;
7154  }
7155 
7156  private double cheapestInsertionFarthestSeedsRatio_ ;
7167  return cheapestInsertionFarthestSeedsRatio_;
7168  }
7179 
7180  cheapestInsertionFarthestSeedsRatio_ = value;
7181  onChanged();
7182  return this;
7183  }
7194 
7195  cheapestInsertionFarthestSeedsRatio_ = 0D;
7196  onChanged();
7197  return this;
7198  }
7199 
7200  private double cheapestInsertionNeighborsRatio_ ;
7212  return cheapestInsertionNeighborsRatio_;
7213  }
7225 
7226  cheapestInsertionNeighborsRatio_ = value;
7227  onChanged();
7228  return this;
7229  }
7241 
7242  cheapestInsertionNeighborsRatio_ = 0D;
7243  onChanged();
7244  return this;
7245  }
7246 
7248  private com.google.protobuf.SingleFieldBuilderV3<
7253  public boolean hasLocalSearchOperators() {
7254  return localSearchOperatorsBuilder_ != null || localSearchOperators_ != null;
7255  }
7260  if (localSearchOperatorsBuilder_ == null) {
7261  return localSearchOperators_ == null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
7262  } else {
7263  return localSearchOperatorsBuilder_.getMessage();
7264  }
7265  }
7270  if (localSearchOperatorsBuilder_ == null) {
7271  if (value == null) {
7272  throw new NullPointerException();
7273  }
7274  localSearchOperators_ = value;
7275  onChanged();
7276  } else {
7277  localSearchOperatorsBuilder_.setMessage(value);
7278  }
7279 
7280  return this;
7281  }
7287  if (localSearchOperatorsBuilder_ == null) {
7288  localSearchOperators_ = builderForValue.build();
7289  onChanged();
7290  } else {
7291  localSearchOperatorsBuilder_.setMessage(builderForValue.build());
7292  }
7293 
7294  return this;
7295  }
7300  if (localSearchOperatorsBuilder_ == null) {
7301  if (localSearchOperators_ != null) {
7302  localSearchOperators_ =
7304  } else {
7305  localSearchOperators_ = value;
7306  }
7307  onChanged();
7308  } else {
7309  localSearchOperatorsBuilder_.mergeFrom(value);
7310  }
7311 
7312  return this;
7313  }
7318  if (localSearchOperatorsBuilder_ == null) {
7319  localSearchOperators_ = null;
7320  onChanged();
7321  } else {
7322  localSearchOperators_ = null;
7323  localSearchOperatorsBuilder_ = null;
7324  }
7325 
7326  return this;
7327  }
7332 
7333  onChanged();
7334  return getLocalSearchOperatorsFieldBuilder().getBuilder();
7335  }
7340  if (localSearchOperatorsBuilder_ != null) {
7341  return localSearchOperatorsBuilder_.getMessageOrBuilder();
7342  } else {
7343  return localSearchOperators_ == null ?
7345  }
7346  }
7350  private com.google.protobuf.SingleFieldBuilderV3<
7352  getLocalSearchOperatorsFieldBuilder() {
7353  if (localSearchOperatorsBuilder_ == null) {
7354  localSearchOperatorsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
7357  getParentForChildren(),
7358  isClean());
7359  localSearchOperators_ = null;
7360  }
7361  return localSearchOperatorsBuilder_;
7362  }
7363 
7364  private int relocateExpensiveChainNumArcsToConsider_ ;
7379  return relocateExpensiveChainNumArcsToConsider_;
7380  }
7395 
7396  relocateExpensiveChainNumArcsToConsider_ = value;
7397  onChanged();
7398  return this;
7399  }
7414 
7415  relocateExpensiveChainNumArcsToConsider_ = 0;
7416  onChanged();
7417  return this;
7418  }
7419 
7420  private int localSearchMetaheuristic_ = 0;
7429  return localSearchMetaheuristic_;
7430  }
7439  localSearchMetaheuristic_ = value;
7440  onChanged();
7441  return this;
7442  }
7451  @SuppressWarnings("deprecation")
7454  }
7463  if (value == null) {
7464  throw new NullPointerException();
7465  }
7466 
7467  localSearchMetaheuristic_ = value.getNumber();
7468  onChanged();
7469  return this;
7470  }
7479 
7480  localSearchMetaheuristic_ = 0;
7481  onChanged();
7482  return this;
7483  }
7484 
7485  private double guidedLocalSearchLambdaCoefficient_ ;
7497  return guidedLocalSearchLambdaCoefficient_;
7498  }
7510 
7511  guidedLocalSearchLambdaCoefficient_ = value;
7512  onChanged();
7513  return this;
7514  }
7526 
7527  guidedLocalSearchLambdaCoefficient_ = 0D;
7528  onChanged();
7529  return this;
7530  }
7531 
7532  private boolean useDepthFirstSearch_ ;
7542  public boolean getUseDepthFirstSearch() {
7543  return useDepthFirstSearch_;
7544  }
7554  public Builder setUseDepthFirstSearch(boolean value) {
7555 
7556  useDepthFirstSearch_ = value;
7557  onChanged();
7558  return this;
7559  }
7570 
7571  useDepthFirstSearch_ = false;
7572  onChanged();
7573  return this;
7574  }
7575 
7576  private int useCp_ = 0;
7586  public int getUseCpValue() {
7587  return useCp_;
7588  }
7598  public Builder setUseCpValue(int value) {
7599  useCp_ = value;
7600  onChanged();
7601  return this;
7602  }
7613  @SuppressWarnings("deprecation")
7615  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7616  }
7627  if (value == null) {
7628  throw new NullPointerException();
7629  }
7630 
7631  useCp_ = value.getNumber();
7632  onChanged();
7633  return this;
7634  }
7644  public Builder clearUseCp() {
7645 
7646  useCp_ = 0;
7647  onChanged();
7648  return this;
7649  }
7650 
7651  private int useCpSat_ = 0;
7662  public int getUseCpSatValue() {
7663  return useCpSat_;
7664  }
7675  public Builder setUseCpSatValue(int value) {
7676  useCpSat_ = value;
7677  onChanged();
7678  return this;
7679  }
7691  @SuppressWarnings("deprecation")
7693  return result == null ? com.google.ortools.util.OptionalBoolean.UNRECOGNIZED : result;
7694  }
7706  if (value == null) {
7707  throw new NullPointerException();
7708  }
7709 
7710  useCpSat_ = value.getNumber();
7711  onChanged();
7712  return this;
7713  }
7725 
7726  useCpSat_ = 0;
7727  onChanged();
7728  return this;
7729  }
7730 
7731  private double optimizationStep_ ;
7741  public double getOptimizationStep() {
7742  return optimizationStep_;
7743  }
7753  public Builder setOptimizationStep(double value) {
7754 
7755  optimizationStep_ = value;
7756  onChanged();
7757  return this;
7758  }
7769 
7770  optimizationStep_ = 0D;
7771  onChanged();
7772  return this;
7773  }
7774 
7775  private int numberOfSolutionsToCollect_ ;
7785  return numberOfSolutionsToCollect_;
7786  }
7796 
7797  numberOfSolutionsToCollect_ = value;
7798  onChanged();
7799  return this;
7800  }
7810 
7811  numberOfSolutionsToCollect_ = 0;
7812  onChanged();
7813  return this;
7814  }
7815 
7816  private long solutionLimit_ ;
7826  public long getSolutionLimit() {
7827  return solutionLimit_;
7828  }
7838  public Builder setSolutionLimit(long value) {
7839 
7840  solutionLimit_ = value;
7841  onChanged();
7842  return this;
7843  }
7854 
7855  solutionLimit_ = 0L;
7856  onChanged();
7857  return this;
7858  }
7859 
7860  private com.google.protobuf.Duration timeLimit_;
7861  private com.google.protobuf.SingleFieldBuilderV3<
7862  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> timeLimitBuilder_;
7870  public boolean hasTimeLimit() {
7871  return timeLimitBuilder_ != null || timeLimit_ != null;
7872  }
7880  public com.google.protobuf.Duration getTimeLimit() {
7881  if (timeLimitBuilder_ == null) {
7882  return timeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
7883  } else {
7884  return timeLimitBuilder_.getMessage();
7885  }
7886  }
7894  public Builder setTimeLimit(com.google.protobuf.Duration value) {
7895  if (timeLimitBuilder_ == null) {
7896  if (value == null) {
7897  throw new NullPointerException();
7898  }
7899  timeLimit_ = value;
7900  onChanged();
7901  } else {
7902  timeLimitBuilder_.setMessage(value);
7903  }
7904 
7905  return this;
7906  }
7915  com.google.protobuf.Duration.Builder builderForValue) {
7916  if (timeLimitBuilder_ == null) {
7917  timeLimit_ = builderForValue.build();
7918  onChanged();
7919  } else {
7920  timeLimitBuilder_.setMessage(builderForValue.build());
7921  }
7922 
7923  return this;
7924  }
7932  public Builder mergeTimeLimit(com.google.protobuf.Duration value) {
7933  if (timeLimitBuilder_ == null) {
7934  if (timeLimit_ != null) {
7935  timeLimit_ =
7936  com.google.protobuf.Duration.newBuilder(timeLimit_).mergeFrom(value).buildPartial();
7937  } else {
7938  timeLimit_ = value;
7939  }
7940  onChanged();
7941  } else {
7942  timeLimitBuilder_.mergeFrom(value);
7943  }
7944 
7945  return this;
7946  }
7955  if (timeLimitBuilder_ == null) {
7956  timeLimit_ = null;
7957  onChanged();
7958  } else {
7959  timeLimit_ = null;
7960  timeLimitBuilder_ = null;
7961  }
7962 
7963  return this;
7964  }
7972  public com.google.protobuf.Duration.Builder getTimeLimitBuilder() {
7973 
7974  onChanged();
7975  return getTimeLimitFieldBuilder().getBuilder();
7976  }
7984  public com.google.protobuf.DurationOrBuilder getTimeLimitOrBuilder() {
7985  if (timeLimitBuilder_ != null) {
7986  return timeLimitBuilder_.getMessageOrBuilder();
7987  } else {
7988  return timeLimit_ == null ?
7989  com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
7990  }
7991  }
7999  private com.google.protobuf.SingleFieldBuilderV3<
8000  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
8001  getTimeLimitFieldBuilder() {
8002  if (timeLimitBuilder_ == null) {
8003  timeLimitBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
8004  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
8005  getTimeLimit(),
8006  getParentForChildren(),
8007  isClean());
8008  timeLimit_ = null;
8009  }
8010  return timeLimitBuilder_;
8011  }
8012 
8013  private com.google.protobuf.Duration lnsTimeLimit_;
8014  private com.google.protobuf.SingleFieldBuilderV3<
8015  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> lnsTimeLimitBuilder_;
8024  public boolean hasLnsTimeLimit() {
8025  return lnsTimeLimitBuilder_ != null || lnsTimeLimit_ != null;
8026  }
8035  public com.google.protobuf.Duration getLnsTimeLimit() {
8036  if (lnsTimeLimitBuilder_ == null) {
8037  return lnsTimeLimit_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
8038  } else {
8039  return lnsTimeLimitBuilder_.getMessage();
8040  }
8041  }
8050  public Builder setLnsTimeLimit(com.google.protobuf.Duration value) {
8051  if (lnsTimeLimitBuilder_ == null) {
8052  if (value == null) {
8053  throw new NullPointerException();
8054  }
8055  lnsTimeLimit_ = value;
8056  onChanged();
8057  } else {
8058  lnsTimeLimitBuilder_.setMessage(value);
8059  }
8060 
8061  return this;
8062  }
8072  com.google.protobuf.Duration.Builder builderForValue) {
8073  if (lnsTimeLimitBuilder_ == null) {
8074  lnsTimeLimit_ = builderForValue.build();
8075  onChanged();
8076  } else {
8077  lnsTimeLimitBuilder_.setMessage(builderForValue.build());
8078  }
8079 
8080  return this;
8081  }
8090  public Builder mergeLnsTimeLimit(com.google.protobuf.Duration value) {
8091  if (lnsTimeLimitBuilder_ == null) {
8092  if (lnsTimeLimit_ != null) {
8093  lnsTimeLimit_ =
8094  com.google.protobuf.Duration.newBuilder(lnsTimeLimit_).mergeFrom(value).buildPartial();
8095  } else {
8096  lnsTimeLimit_ = value;
8097  }
8098  onChanged();
8099  } else {
8100  lnsTimeLimitBuilder_.mergeFrom(value);
8101  }
8102 
8103  return this;
8104  }
8114  if (lnsTimeLimitBuilder_ == null) {
8115  lnsTimeLimit_ = null;
8116  onChanged();
8117  } else {
8118  lnsTimeLimit_ = null;
8119  lnsTimeLimitBuilder_ = null;
8120  }
8121 
8122  return this;
8123  }
8132  public com.google.protobuf.Duration.Builder getLnsTimeLimitBuilder() {
8133 
8134  onChanged();
8135  return getLnsTimeLimitFieldBuilder().getBuilder();
8136  }
8145  public com.google.protobuf.DurationOrBuilder getLnsTimeLimitOrBuilder() {
8146  if (lnsTimeLimitBuilder_ != null) {
8147  return lnsTimeLimitBuilder_.getMessageOrBuilder();
8148  } else {
8149  return lnsTimeLimit_ == null ?
8150  com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
8151  }
8152  }
8161  private com.google.protobuf.SingleFieldBuilderV3<
8162  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
8163  getLnsTimeLimitFieldBuilder() {
8164  if (lnsTimeLimitBuilder_ == null) {
8165  lnsTimeLimitBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
8166  com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
8167  getLnsTimeLimit(),
8168  getParentForChildren(),
8169  isClean());
8170  lnsTimeLimit_ = null;
8171  }
8172  return lnsTimeLimitBuilder_;
8173  }
8174 
8175  private boolean useFullPropagation_ ;
8191  public boolean getUseFullPropagation() {
8192  return useFullPropagation_;
8193  }
8209  public Builder setUseFullPropagation(boolean value) {
8210 
8211  useFullPropagation_ = value;
8212  onChanged();
8213  return this;
8214  }
8231 
8232  useFullPropagation_ = false;
8233  onChanged();
8234  return this;
8235  }
8236 
8237  private boolean logSearch_ ;
8256  public boolean getLogSearch() {
8257  return logSearch_;
8258  }
8277  public Builder setLogSearch(boolean value) {
8278 
8279  logSearch_ = value;
8280  onChanged();
8281  return this;
8282  }
8302 
8303  logSearch_ = false;
8304  onChanged();
8305  return this;
8306  }
8307 
8308  private double logCostScalingFactor_ ;
8316  public double getLogCostScalingFactor() {
8317  return logCostScalingFactor_;
8318  }
8326  public Builder setLogCostScalingFactor(double value) {
8327 
8328  logCostScalingFactor_ = value;
8329  onChanged();
8330  return this;
8331  }
8340 
8341  logCostScalingFactor_ = 0D;
8342  onChanged();
8343  return this;
8344  }
8345  @java.lang.Override
8347  final com.google.protobuf.UnknownFieldSet unknownFields) {
8348  return super.setUnknownFields(unknownFields);
8349  }
8350 
8351  @java.lang.Override
8353  final com.google.protobuf.UnknownFieldSet unknownFields) {
8354  return super.mergeUnknownFields(unknownFields);
8355  }
8356 
8357 
8358  // @@protoc_insertion_point(builder_scope:operations_research.RoutingSearchParameters)
8359  }
8360 
8361  // @@protoc_insertion_point(class_scope:operations_research.RoutingSearchParameters)
8362  private static final com.google.ortools.constraintsolver.RoutingSearchParameters DEFAULT_INSTANCE;
8363  static {
8364  DEFAULT_INSTANCE = new com.google.ortools.constraintsolver.RoutingSearchParameters();
8365  }
8366 
8368  return DEFAULT_INSTANCE;
8369  }
8370 
8371  private static final com.google.protobuf.Parser<RoutingSearchParameters>
8372  PARSER = new com.google.protobuf.AbstractParser<RoutingSearchParameters>() {
8373  @java.lang.Override
8374  public RoutingSearchParameters parsePartialFrom(
8375  com.google.protobuf.CodedInputStream input,
8376  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8377  throws com.google.protobuf.InvalidProtocolBufferException {
8378  return new RoutingSearchParameters(input, extensionRegistry);
8379  }
8380  };
8381 
8382  public static com.google.protobuf.Parser<RoutingSearchParameters> parser() {
8383  return PARSER;
8384  }
8385 
8386  @java.lang.Override
8388  return PARSER;
8389  }
8390 
8391  @java.lang.Override
8393  return DEFAULT_INSTANCE;
8394  }
8395 
8396 }
8397 
.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()
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)