6package com.google.ortools.constraintsolver;
21@com.google.protobuf.Generated
22public final class RoutingSearchParameters
extends
23 com.google.protobuf.GeneratedMessage implements
26private static final long serialVersionUID = 0L;
28 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
29 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
34 RoutingSearchParameters.class.getName());
37 private RoutingSearchParameters(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
40 private RoutingSearchParameters() {
41 firstSolutionStrategy_ = 0;
42 localCheapestInsertionPickupDeliveryStrategy_ = 0;
43 localCheapestCostInsertionPickupDeliveryStrategy_ = 0;
44 localCheapestInsertionSortingProperties_ = emptyIntList();
45 localSearchMetaheuristic_ = 0;
46 localSearchMetaheuristics_ = emptyIntList();
49 useGeneralizedCpSat_ = 0;
50 continuousSchedulingSolver_ = 0;
51 mixedIntegerSchedulingSolver_ = 0;
55 public static final com.google.protobuf.Descriptors.Descriptor
57 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
61 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
63 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_fieldAccessorTable
64 .ensureFieldAccessorsInitialized(
65 com.google.ortools.constraintsolver.RoutingSearchParameters.class, com.google.ortools.constraintsolver.RoutingSearchParameters.Builder.class);
77 public enum PairInsertionStrategy
78 implements com.google.protobuf.ProtocolMessageEnum {
119 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
120 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
125 PairInsertionStrategy.class.getName());
167 throw new java.lang.IllegalArgumentException(
168 "Can't get the number of an unknown enum value.");
178 @java.lang.Deprecated
179 public static PairInsertionStrategy
valueOf(
int value) {
187 public static PairInsertionStrategy
forNumber(
int value) {
193 default:
return null;
199 return internalValueMap;
201 private static final com.google.protobuf.Internal.EnumLiteMap<
209 public final com.google.protobuf.Descriptors.EnumValueDescriptor
212 throw new java.lang.IllegalStateException(
213 "Can't get the descriptor of an unrecognized enum value.");
217 public final com.google.protobuf.Descriptors.EnumDescriptor
221 public static com.google.protobuf.Descriptors.EnumDescriptor
223 return com.google.ortools.constraintsolver.RoutingSearchParameters.getDescriptor().getEnumTypes().get(0);
229 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
231 throw new java.lang.IllegalArgumentException(
232 "EnumValueDescriptor is not for this type.");
234 if (desc.getIndex() == -1) {
237 return VALUES[desc.getIndex()];
240 private final int value;
257 public enum InsertionSortingProperty
258 implements com.google.protobuf.ProtocolMessageEnum {
339 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
340 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
345 InsertionSortingProperty.class.getName());
427 throw new java.lang.IllegalArgumentException(
428 "Can't get the number of an unknown enum value.");
438 @java.lang.Deprecated
439 public static InsertionSortingProperty
valueOf(
int value) {
447 public static InsertionSortingProperty
forNumber(
int value) {
458 default:
return null;
464 return internalValueMap;
466 private static final com.google.protobuf.Internal.EnumLiteMap<
474 public final com.google.protobuf.Descriptors.EnumValueDescriptor
477 throw new java.lang.IllegalStateException(
478 "Can't get the descriptor of an unrecognized enum value.");
482 public final com.google.protobuf.Descriptors.EnumDescriptor
486 public static com.google.protobuf.Descriptors.EnumDescriptor
488 return com.google.ortools.constraintsolver.RoutingSearchParameters.getDescriptor().getEnumTypes().get(1);
493 public static InsertionSortingProperty
valueOf(
494 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
496 throw new java.lang.IllegalArgumentException(
497 "EnumValueDescriptor is not for this type.");
499 if (desc.getIndex() == -1) {
502 return VALUES[desc.getIndex()];
505 private final int value;
522 public enum SchedulingSolver
523 implements com.google.protobuf.ProtocolMessageEnum {
540 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
541 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
546 SchedulingSolver.class.getName());
564 throw new java.lang.IllegalArgumentException(
565 "Can't get the number of an unknown enum value.");
575 @java.lang.Deprecated
576 public static SchedulingSolver
valueOf(
int value) {
589 default:
return null;
595 return internalValueMap;
597 private static final com.google.protobuf.Internal.EnumLiteMap<
605 public final com.google.protobuf.Descriptors.EnumValueDescriptor
608 throw new java.lang.IllegalStateException(
609 "Can't get the descriptor of an unrecognized enum value.");
613 public final com.google.protobuf.Descriptors.EnumDescriptor
617 public static com.google.protobuf.Descriptors.EnumDescriptor
619 return com.google.ortools.constraintsolver.RoutingSearchParameters.getDescriptor().getEnumTypes().get(2);
625 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
627 throw new java.lang.IllegalArgumentException(
628 "EnumValueDescriptor is not for this type.");
630 if (desc.getIndex() == -1) {
633 return VALUES[desc.getIndex()];
636 private final int value;
647 com.google.protobuf.MessageOrBuilder {
1799 public static final class LocalSearchNeighborhoodOperators
extends
1800 com.google.protobuf.GeneratedMessage implements
1803 private static final long serialVersionUID = 0L;
1805 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
1806 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
1811 LocalSearchNeighborhoodOperators.class.getName());
1814 private LocalSearchNeighborhoodOperators(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
1817 private LocalSearchNeighborhoodOperators() {
1819 useRelocatePair_ = 0;
1820 useLightRelocatePair_ = 0;
1821 useRelocateNeighbors_ = 0;
1822 useRelocateSubtrip_ = 0;
1824 useExchangePair_ = 0;
1825 useExchangeSubtrip_ = 0;
1827 useCrossExchange_ = 0;
1828 useRelocateExpensiveChain_ = 0;
1831 useLinKernighan_ = 0;
1834 useRelocateAndMakeActive_ = 0;
1835 useExchangeAndMakeActive_ = 0;
1836 useExchangePathStartEndsAndMakeActive_ = 0;
1837 useMakeInactive_ = 0;
1838 useMakeChainInactive_ = 0;
1840 useSwapActiveChain_ = 0;
1841 useExtendedSwapActive_ = 0;
1842 useShortestPathSwapActive_ = 0;
1843 useShortestPathTwoOpt_ = 0;
1844 useNodePairSwapActive_ = 0;
1846 useFullPathLns_ = 0;
1848 useInactiveLns_ = 0;
1849 useGlobalCheapestInsertionPathLns_ = 0;
1850 useLocalCheapestInsertionPathLns_ = 0;
1851 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
1852 useGlobalCheapestInsertionExpensiveChainLns_ = 0;
1853 useLocalCheapestInsertionExpensiveChainLns_ = 0;
1854 useGlobalCheapestInsertionCloseNodesLns_ = 0;
1855 useLocalCheapestInsertionCloseNodesLns_ = 0;
1858 public static final com.google.protobuf.Descriptors.Descriptor
1860 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
1864 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
1866 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_fieldAccessorTable
1867 .ensureFieldAccessorsInitialized(
1868 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.class, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder.class);
1872 private int useRelocate_ = 0;
1890 return useRelocate_;
1914 private int useRelocatePair_ = 0;
1932 return useRelocatePair_;
1956 private int useLightRelocatePair_ = 0;
1972 return useLightRelocatePair_;
1994 private int useRelocateNeighbors_ = 0;
2025 return useRelocateNeighbors_;
2062 private int useRelocateSubtrip_ = 0;
2085 return useRelocateSubtrip_;
2114 private int useExchange_ = 0;
2130 return useExchange_;
2152 private int useExchangePair_ = 0;
2168 return useExchangePair_;
2190 private int useExchangeSubtrip_ = 0;
2201 return useExchangeSubtrip_;
2218 private int useCross_ = 0;
2260 private int useCrossExchange_ = 0;
2270 return useCrossExchange_;
2286 private int useRelocateExpensiveChain_ = 0;
2305 return useRelocateExpensiveChain_;
2330 private int useTwoOpt_ = 0;
2374 private int useOrOpt_ = 0;
2420 private int useLinKernighan_ = 0;
2433 return useLinKernighan_;
2452 private int useTspOpt_ = 0;
2488 private int useMakeActive_ = 0;
2504 return useMakeActive_;
2526 private int useRelocateAndMakeActive_ = 0;
2545 return useRelocateAndMakeActive_;
2570 private int useExchangeAndMakeActive_ = 0;
2585 return useExchangeAndMakeActive_;
2606 private int useExchangePathStartEndsAndMakeActive_ = 0;
2624 return useExchangePathStartEndsAndMakeActive_;
2648 private int useMakeInactive_ = 0;
2662 return useMakeInactive_;
2682 private int useMakeChainInactive_ = 0;
2697 return useMakeChainInactive_;
2718 private int useSwapActive_ = 0;
2732 return useSwapActive_;
2752 private int useSwapActiveChain_ = 0;
2767 return useSwapActiveChain_;
2788 private int useExtendedSwapActive_ = 0;
2807 return useExtendedSwapActive_;
2832 private int useShortestPathSwapActive_ = 0;
2847 return useShortestPathSwapActive_;
2868 private int useShortestPathTwoOpt_ = 0;
2879 return useShortestPathTwoOpt_;
2896 private int useNodePairSwapActive_ = 0;
2916 return useNodePairSwapActive_;
2942 private int usePathLns_ = 0;
2982 private int useFullPathLns_ = 0;
2992 return useFullPathLns_;
3008 private int useTspLns_ = 0;
3044 private int useInactiveLns_ = 0;
3056 return useInactiveLns_;
3074 private int useGlobalCheapestInsertionPathLns_ = 0;
3086 return useGlobalCheapestInsertionPathLns_;
3104 private int useLocalCheapestInsertionPathLns_ = 0;
3114 return useLocalCheapestInsertionPathLns_;
3130 private int useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
3142 return useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
3160 private int useGlobalCheapestInsertionExpensiveChainLns_ = 0;
3173 return useGlobalCheapestInsertionExpensiveChainLns_;
3192 private int useLocalCheapestInsertionExpensiveChainLns_ = 0;
3203 return useLocalCheapestInsertionExpensiveChainLns_;
3220 private int useGlobalCheapestInsertionCloseNodesLns_ = 0;
3233 return useGlobalCheapestInsertionCloseNodesLns_;
3252 private int useLocalCheapestInsertionCloseNodesLns_ = 0;
3263 return useLocalCheapestInsertionCloseNodesLns_;
3279 private byte memoizedIsInitialized = -1;
3286 memoizedIsInitialized = 1;
3291 public void writeTo(com.google.protobuf.CodedOutputStream output)
3292 throws java.io.IOException {
3293 if (useRelocate_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3294 output.writeEnum(1, useRelocate_);
3296 if (useRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3297 output.writeEnum(2, useRelocatePair_);
3299 if (useRelocateNeighbors_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3300 output.writeEnum(3, useRelocateNeighbors_);
3302 if (useExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3303 output.writeEnum(4, useExchange_);
3305 if (useCross_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3306 output.writeEnum(5, useCross_);
3308 if (useCrossExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3309 output.writeEnum(6, useCrossExchange_);
3311 if (useTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3312 output.writeEnum(7, useTwoOpt_);
3314 if (useOrOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3315 output.writeEnum(8, useOrOpt_);
3317 if (useLinKernighan_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3318 output.writeEnum(9, useLinKernighan_);
3320 if (useTspOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3321 output.writeEnum(10, useTspOpt_);
3323 if (useMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3324 output.writeEnum(11, useMakeActive_);
3326 if (useMakeInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3327 output.writeEnum(12, useMakeInactive_);
3329 if (useMakeChainInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3330 output.writeEnum(13, useMakeChainInactive_);
3332 if (useSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3333 output.writeEnum(14, useSwapActive_);
3335 if (useExtendedSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3336 output.writeEnum(15, useExtendedSwapActive_);
3338 if (usePathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3339 output.writeEnum(16, usePathLns_);
3341 if (useFullPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3342 output.writeEnum(17, useFullPathLns_);
3344 if (useTspLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3345 output.writeEnum(18, useTspLns_);
3347 if (useInactiveLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3348 output.writeEnum(19, useInactiveLns_);
3350 if (useNodePairSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3351 output.writeEnum(20, useNodePairSwapActive_);
3353 if (useRelocateAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3354 output.writeEnum(21, useRelocateAndMakeActive_);
3356 if (useExchangePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3357 output.writeEnum(22, useExchangePair_);
3359 if (useRelocateExpensiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3360 output.writeEnum(23, useRelocateExpensiveChain_);
3362 if (useLightRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3363 output.writeEnum(24, useLightRelocatePair_);
3365 if (useRelocateSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3366 output.writeEnum(25, useRelocateSubtrip_);
3368 if (useExchangeSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3369 output.writeEnum(26, useExchangeSubtrip_);
3371 if (useGlobalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3372 output.writeEnum(27, useGlobalCheapestInsertionPathLns_);
3374 if (useLocalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3375 output.writeEnum(28, useLocalCheapestInsertionPathLns_);
3377 if (useGlobalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3378 output.writeEnum(29, useGlobalCheapestInsertionExpensiveChainLns_);
3380 if (useLocalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3381 output.writeEnum(30, useLocalCheapestInsertionExpensiveChainLns_);
3383 if (useGlobalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3384 output.writeEnum(31, useGlobalCheapestInsertionCloseNodesLns_);
3386 if (useLocalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3387 output.writeEnum(32, useLocalCheapestInsertionCloseNodesLns_);
3389 if (useRelocatePathGlobalCheapestInsertionInsertUnperformed_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3390 output.writeEnum(33, useRelocatePathGlobalCheapestInsertionInsertUnperformed_);
3392 if (useShortestPathSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3393 output.writeEnum(34, useShortestPathSwapActive_);
3395 if (useSwapActiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3396 output.writeEnum(35, useSwapActiveChain_);
3398 if (useShortestPathTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3399 output.writeEnum(36, useShortestPathTwoOpt_);
3401 if (useExchangeAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3402 output.writeEnum(37, useExchangeAndMakeActive_);
3404 if (useExchangePathStartEndsAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3405 output.writeEnum(38, useExchangePathStartEndsAndMakeActive_);
3407 getUnknownFields().writeTo(output);
3412 int size = memoizedSize;
3413 if (size != -1)
return size;
3416 if (useRelocate_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3417 size += com.google.protobuf.CodedOutputStream
3418 .computeEnumSize(1, useRelocate_);
3420 if (useRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3421 size += com.google.protobuf.CodedOutputStream
3422 .computeEnumSize(2, useRelocatePair_);
3424 if (useRelocateNeighbors_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3425 size += com.google.protobuf.CodedOutputStream
3426 .computeEnumSize(3, useRelocateNeighbors_);
3428 if (useExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3429 size += com.google.protobuf.CodedOutputStream
3430 .computeEnumSize(4, useExchange_);
3432 if (useCross_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3433 size += com.google.protobuf.CodedOutputStream
3434 .computeEnumSize(5, useCross_);
3436 if (useCrossExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3437 size += com.google.protobuf.CodedOutputStream
3438 .computeEnumSize(6, useCrossExchange_);
3440 if (useTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3441 size += com.google.protobuf.CodedOutputStream
3442 .computeEnumSize(7, useTwoOpt_);
3444 if (useOrOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3445 size += com.google.protobuf.CodedOutputStream
3446 .computeEnumSize(8, useOrOpt_);
3448 if (useLinKernighan_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3449 size += com.google.protobuf.CodedOutputStream
3450 .computeEnumSize(9, useLinKernighan_);
3452 if (useTspOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3453 size += com.google.protobuf.CodedOutputStream
3454 .computeEnumSize(10, useTspOpt_);
3456 if (useMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3457 size += com.google.protobuf.CodedOutputStream
3458 .computeEnumSize(11, useMakeActive_);
3460 if (useMakeInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3461 size += com.google.protobuf.CodedOutputStream
3462 .computeEnumSize(12, useMakeInactive_);
3464 if (useMakeChainInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3465 size += com.google.protobuf.CodedOutputStream
3466 .computeEnumSize(13, useMakeChainInactive_);
3468 if (useSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3469 size += com.google.protobuf.CodedOutputStream
3470 .computeEnumSize(14, useSwapActive_);
3472 if (useExtendedSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3473 size += com.google.protobuf.CodedOutputStream
3474 .computeEnumSize(15, useExtendedSwapActive_);
3476 if (usePathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3477 size += com.google.protobuf.CodedOutputStream
3478 .computeEnumSize(16, usePathLns_);
3480 if (useFullPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3481 size += com.google.protobuf.CodedOutputStream
3482 .computeEnumSize(17, useFullPathLns_);
3484 if (useTspLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3485 size += com.google.protobuf.CodedOutputStream
3486 .computeEnumSize(18, useTspLns_);
3488 if (useInactiveLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3489 size += com.google.protobuf.CodedOutputStream
3490 .computeEnumSize(19, useInactiveLns_);
3492 if (useNodePairSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3493 size += com.google.protobuf.CodedOutputStream
3494 .computeEnumSize(20, useNodePairSwapActive_);
3496 if (useRelocateAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3497 size += com.google.protobuf.CodedOutputStream
3498 .computeEnumSize(21, useRelocateAndMakeActive_);
3500 if (useExchangePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3501 size += com.google.protobuf.CodedOutputStream
3502 .computeEnumSize(22, useExchangePair_);
3504 if (useRelocateExpensiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3505 size += com.google.protobuf.CodedOutputStream
3506 .computeEnumSize(23, useRelocateExpensiveChain_);
3508 if (useLightRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3509 size += com.google.protobuf.CodedOutputStream
3510 .computeEnumSize(24, useLightRelocatePair_);
3512 if (useRelocateSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3513 size += com.google.protobuf.CodedOutputStream
3514 .computeEnumSize(25, useRelocateSubtrip_);
3516 if (useExchangeSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3517 size += com.google.protobuf.CodedOutputStream
3518 .computeEnumSize(26, useExchangeSubtrip_);
3520 if (useGlobalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3521 size += com.google.protobuf.CodedOutputStream
3522 .computeEnumSize(27, useGlobalCheapestInsertionPathLns_);
3524 if (useLocalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3525 size += com.google.protobuf.CodedOutputStream
3526 .computeEnumSize(28, useLocalCheapestInsertionPathLns_);
3528 if (useGlobalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3529 size += com.google.protobuf.CodedOutputStream
3530 .computeEnumSize(29, useGlobalCheapestInsertionExpensiveChainLns_);
3532 if (useLocalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3533 size += com.google.protobuf.CodedOutputStream
3534 .computeEnumSize(30, useLocalCheapestInsertionExpensiveChainLns_);
3536 if (useGlobalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3537 size += com.google.protobuf.CodedOutputStream
3538 .computeEnumSize(31, useGlobalCheapestInsertionCloseNodesLns_);
3540 if (useLocalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3541 size += com.google.protobuf.CodedOutputStream
3542 .computeEnumSize(32, useLocalCheapestInsertionCloseNodesLns_);
3544 if (useRelocatePathGlobalCheapestInsertionInsertUnperformed_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3545 size += com.google.protobuf.CodedOutputStream
3546 .computeEnumSize(33, useRelocatePathGlobalCheapestInsertionInsertUnperformed_);
3548 if (useShortestPathSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3549 size += com.google.protobuf.CodedOutputStream
3550 .computeEnumSize(34, useShortestPathSwapActive_);
3552 if (useSwapActiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3553 size += com.google.protobuf.CodedOutputStream
3554 .computeEnumSize(35, useSwapActiveChain_);
3556 if (useShortestPathTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3557 size += com.google.protobuf.CodedOutputStream
3558 .computeEnumSize(36, useShortestPathTwoOpt_);
3560 if (useExchangeAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3561 size += com.google.protobuf.CodedOutputStream
3562 .computeEnumSize(37, useExchangeAndMakeActive_);
3564 if (useExchangePathStartEndsAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3565 size += com.google.protobuf.CodedOutputStream
3566 .computeEnumSize(38, useExchangePathStartEndsAndMakeActive_);
3568 size += getUnknownFields().getSerializedSize();
3569 memoizedSize = size;
3574 public boolean equals(
final java.lang.Object obj) {
3578 if (!(obj instanceof com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators)) {
3579 return super.equals(obj);
3583 if (useRelocate_ != other.useRelocate_)
return false;
3584 if (useRelocatePair_ != other.useRelocatePair_)
return false;
3585 if (useLightRelocatePair_ != other.useLightRelocatePair_)
return false;
3586 if (useRelocateNeighbors_ != other.useRelocateNeighbors_)
return false;
3587 if (useRelocateSubtrip_ != other.useRelocateSubtrip_)
return false;
3588 if (useExchange_ != other.useExchange_)
return false;
3589 if (useExchangePair_ != other.useExchangePair_)
return false;
3590 if (useExchangeSubtrip_ != other.useExchangeSubtrip_)
return false;
3591 if (useCross_ != other.useCross_)
return false;
3592 if (useCrossExchange_ != other.useCrossExchange_)
return false;
3593 if (useRelocateExpensiveChain_ != other.useRelocateExpensiveChain_)
return false;
3594 if (useTwoOpt_ != other.useTwoOpt_)
return false;
3595 if (useOrOpt_ != other.useOrOpt_)
return false;
3596 if (useLinKernighan_ != other.useLinKernighan_)
return false;
3597 if (useTspOpt_ != other.useTspOpt_)
return false;
3598 if (useMakeActive_ != other.useMakeActive_)
return false;
3599 if (useRelocateAndMakeActive_ != other.useRelocateAndMakeActive_)
return false;
3600 if (useExchangeAndMakeActive_ != other.useExchangeAndMakeActive_)
return false;
3601 if (useExchangePathStartEndsAndMakeActive_ != other.useExchangePathStartEndsAndMakeActive_)
return false;
3602 if (useMakeInactive_ != other.useMakeInactive_)
return false;
3603 if (useMakeChainInactive_ != other.useMakeChainInactive_)
return false;
3604 if (useSwapActive_ != other.useSwapActive_)
return false;
3605 if (useSwapActiveChain_ != other.useSwapActiveChain_)
return false;
3606 if (useExtendedSwapActive_ != other.useExtendedSwapActive_)
return false;
3607 if (useShortestPathSwapActive_ != other.useShortestPathSwapActive_)
return false;
3608 if (useShortestPathTwoOpt_ != other.useShortestPathTwoOpt_)
return false;
3609 if (useNodePairSwapActive_ != other.useNodePairSwapActive_)
return false;
3610 if (usePathLns_ != other.usePathLns_)
return false;
3611 if (useFullPathLns_ != other.useFullPathLns_)
return false;
3612 if (useTspLns_ != other.useTspLns_)
return false;
3613 if (useInactiveLns_ != other.useInactiveLns_)
return false;
3614 if (useGlobalCheapestInsertionPathLns_ != other.useGlobalCheapestInsertionPathLns_)
return false;
3615 if (useLocalCheapestInsertionPathLns_ != other.useLocalCheapestInsertionPathLns_)
return false;
3616 if (useRelocatePathGlobalCheapestInsertionInsertUnperformed_ != other.useRelocatePathGlobalCheapestInsertionInsertUnperformed_)
return false;
3617 if (useGlobalCheapestInsertionExpensiveChainLns_ != other.useGlobalCheapestInsertionExpensiveChainLns_)
return false;
3618 if (useLocalCheapestInsertionExpensiveChainLns_ != other.useLocalCheapestInsertionExpensiveChainLns_)
return false;
3619 if (useGlobalCheapestInsertionCloseNodesLns_ != other.useGlobalCheapestInsertionCloseNodesLns_)
return false;
3620 if (useLocalCheapestInsertionCloseNodesLns_ != other.useLocalCheapestInsertionCloseNodesLns_)
return false;
3621 if (!getUnknownFields().
equals(other.getUnknownFields()))
return false;
3627 if (memoizedHashCode != 0) {
3628 return memoizedHashCode;
3633 hash = (53 * hash) + useRelocate_;
3635 hash = (53 * hash) + useRelocatePair_;
3637 hash = (53 * hash) + useLightRelocatePair_;
3639 hash = (53 * hash) + useRelocateNeighbors_;
3641 hash = (53 * hash) + useRelocateSubtrip_;
3643 hash = (53 * hash) + useExchange_;
3645 hash = (53 * hash) + useExchangePair_;
3647 hash = (53 * hash) + useExchangeSubtrip_;
3649 hash = (53 * hash) + useCross_;
3651 hash = (53 * hash) + useCrossExchange_;
3653 hash = (53 * hash) + useRelocateExpensiveChain_;
3655 hash = (53 * hash) + useTwoOpt_;
3657 hash = (53 * hash) + useOrOpt_;
3659 hash = (53 * hash) + useLinKernighan_;
3661 hash = (53 * hash) + useTspOpt_;
3663 hash = (53 * hash) + useMakeActive_;
3665 hash = (53 * hash) + useRelocateAndMakeActive_;
3667 hash = (53 * hash) + useExchangeAndMakeActive_;
3669 hash = (53 * hash) + useExchangePathStartEndsAndMakeActive_;
3671 hash = (53 * hash) + useMakeInactive_;
3673 hash = (53 * hash) + useMakeChainInactive_;
3675 hash = (53 * hash) + useSwapActive_;
3677 hash = (53 * hash) + useSwapActiveChain_;
3679 hash = (53 * hash) + useExtendedSwapActive_;
3681 hash = (53 * hash) + useShortestPathSwapActive_;
3683 hash = (53 * hash) + useShortestPathTwoOpt_;
3685 hash = (53 * hash) + useNodePairSwapActive_;
3687 hash = (53 * hash) + usePathLns_;
3689 hash = (53 * hash) + useFullPathLns_;
3691 hash = (53 * hash) + useTspLns_;
3693 hash = (53 * hash) + useInactiveLns_;
3695 hash = (53 * hash) + useGlobalCheapestInsertionPathLns_;
3697 hash = (53 * hash) + useLocalCheapestInsertionPathLns_;
3699 hash = (53 * hash) + useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
3701 hash = (53 * hash) + useGlobalCheapestInsertionExpensiveChainLns_;
3703 hash = (53 * hash) + useLocalCheapestInsertionExpensiveChainLns_;
3705 hash = (53 * hash) + useGlobalCheapestInsertionCloseNodesLns_;
3707 hash = (53 * hash) + useLocalCheapestInsertionCloseNodesLns_;
3708 hash = (29 * hash) + getUnknownFields().hashCode();
3709 memoizedHashCode = hash;
3714 java.nio.ByteBuffer data)
3715 throws com.google.protobuf.InvalidProtocolBufferException {
3716 return PARSER.parseFrom(data);
3719 java.nio.ByteBuffer data,
3720 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3721 throws com.google.protobuf.InvalidProtocolBufferException {
3722 return PARSER.parseFrom(data, extensionRegistry);
3725 com.google.protobuf.ByteString data)
3726 throws com.google.protobuf.InvalidProtocolBufferException {
3727 return PARSER.parseFrom(data);
3730 com.google.protobuf.ByteString data,
3731 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3732 throws com.google.protobuf.InvalidProtocolBufferException {
3733 return PARSER.parseFrom(data, extensionRegistry);
3736 throws com.google.protobuf.InvalidProtocolBufferException {
3737 return PARSER.parseFrom(data);
3741 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3742 throws com.google.protobuf.InvalidProtocolBufferException {
3743 return PARSER.parseFrom(data, extensionRegistry);
3746 throws java.io.IOException {
3747 return com.google.protobuf.GeneratedMessage
3748 .parseWithIOException(PARSER, input);
3751 java.io.InputStream input,
3752 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3753 throws java.io.IOException {
3754 return com.google.protobuf.GeneratedMessage
3755 .parseWithIOException(PARSER, input, extensionRegistry);
3759 throws java.io.IOException {
3760 return com.google.protobuf.GeneratedMessage
3761 .parseDelimitedWithIOException(PARSER, input);
3765 java.io.InputStream input,
3766 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3767 throws java.io.IOException {
3768 return com.google.protobuf.GeneratedMessage
3769 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
3772 com.google.protobuf.CodedInputStream input)
3773 throws java.io.IOException {
3774 return com.google.protobuf.GeneratedMessage
3775 .parseWithIOException(PARSER, input);
3778 com.google.protobuf.CodedInputStream input,
3779 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3780 throws java.io.IOException {
3781 return com.google.protobuf.GeneratedMessage
3782 .parseWithIOException(PARSER, input, extensionRegistry);
3788 return DEFAULT_INSTANCE.toBuilder();
3790 public static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators prototype) {
3791 return DEFAULT_INSTANCE.toBuilder().
mergeFrom(prototype);
3795 return this == DEFAULT_INSTANCE
3801 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
3813 public static final class Builder
extends
3814 com.google.protobuf.GeneratedMessage.Builder<Builder> implements
3817 public static final com.google.protobuf.Descriptors.Descriptor
3819 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
3823 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
3825 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_fieldAccessorTable
3826 .ensureFieldAccessorsInitialized(
3827 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.class, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder.class);
3836 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
3846 useRelocatePair_ = 0;
3847 useLightRelocatePair_ = 0;
3848 useRelocateNeighbors_ = 0;
3849 useRelocateSubtrip_ = 0;
3851 useExchangePair_ = 0;
3852 useExchangeSubtrip_ = 0;
3854 useCrossExchange_ = 0;
3855 useRelocateExpensiveChain_ = 0;
3858 useLinKernighan_ = 0;
3861 useRelocateAndMakeActive_ = 0;
3862 useExchangeAndMakeActive_ = 0;
3863 useExchangePathStartEndsAndMakeActive_ = 0;
3864 useMakeInactive_ = 0;
3865 useMakeChainInactive_ = 0;
3867 useSwapActiveChain_ = 0;
3868 useExtendedSwapActive_ = 0;
3869 useShortestPathSwapActive_ = 0;
3870 useShortestPathTwoOpt_ = 0;
3871 useNodePairSwapActive_ = 0;
3873 useFullPathLns_ = 0;
3875 useInactiveLns_ = 0;
3876 useGlobalCheapestInsertionPathLns_ = 0;
3877 useLocalCheapestInsertionPathLns_ = 0;
3878 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
3879 useGlobalCheapestInsertionExpensiveChainLns_ = 0;
3880 useLocalCheapestInsertionExpensiveChainLns_ = 0;
3881 useGlobalCheapestInsertionCloseNodesLns_ = 0;
3882 useLocalCheapestInsertionCloseNodesLns_ = 0;
3887 public com.google.protobuf.Descriptors.Descriptor
3889 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
3894 return com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance();
3901 throw newUninitializedMessageException(result);
3909 if (bitField0_ != 0) { buildPartial0(result); }
3910 if (bitField1_ != 0) { buildPartial1(result); }
3915 private void buildPartial0(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators result) {
3916 int from_bitField0_ = bitField0_;
3917 if (((from_bitField0_ & 0x00000001) != 0)) {
3918 result.useRelocate_ = useRelocate_;
3920 if (((from_bitField0_ & 0x00000002) != 0)) {
3921 result.useRelocatePair_ = useRelocatePair_;
3923 if (((from_bitField0_ & 0x00000004) != 0)) {
3924 result.useLightRelocatePair_ = useLightRelocatePair_;
3926 if (((from_bitField0_ & 0x00000008) != 0)) {
3927 result.useRelocateNeighbors_ = useRelocateNeighbors_;
3929 if (((from_bitField0_ & 0x00000010) != 0)) {
3930 result.useRelocateSubtrip_ = useRelocateSubtrip_;
3932 if (((from_bitField0_ & 0x00000020) != 0)) {
3933 result.useExchange_ = useExchange_;
3935 if (((from_bitField0_ & 0x00000040) != 0)) {
3936 result.useExchangePair_ = useExchangePair_;
3938 if (((from_bitField0_ & 0x00000080) != 0)) {
3939 result.useExchangeSubtrip_ = useExchangeSubtrip_;
3941 if (((from_bitField0_ & 0x00000100) != 0)) {
3942 result.useCross_ = useCross_;
3944 if (((from_bitField0_ & 0x00000200) != 0)) {
3945 result.useCrossExchange_ = useCrossExchange_;
3947 if (((from_bitField0_ & 0x00000400) != 0)) {
3948 result.useRelocateExpensiveChain_ = useRelocateExpensiveChain_;
3950 if (((from_bitField0_ & 0x00000800) != 0)) {
3951 result.useTwoOpt_ = useTwoOpt_;
3953 if (((from_bitField0_ & 0x00001000) != 0)) {
3954 result.useOrOpt_ = useOrOpt_;
3956 if (((from_bitField0_ & 0x00002000) != 0)) {
3957 result.useLinKernighan_ = useLinKernighan_;
3959 if (((from_bitField0_ & 0x00004000) != 0)) {
3960 result.useTspOpt_ = useTspOpt_;
3962 if (((from_bitField0_ & 0x00008000) != 0)) {
3963 result.useMakeActive_ = useMakeActive_;
3965 if (((from_bitField0_ & 0x00010000) != 0)) {
3966 result.useRelocateAndMakeActive_ = useRelocateAndMakeActive_;
3968 if (((from_bitField0_ & 0x00020000) != 0)) {
3969 result.useExchangeAndMakeActive_ = useExchangeAndMakeActive_;
3971 if (((from_bitField0_ & 0x00040000) != 0)) {
3972 result.useExchangePathStartEndsAndMakeActive_ = useExchangePathStartEndsAndMakeActive_;
3974 if (((from_bitField0_ & 0x00080000) != 0)) {
3975 result.useMakeInactive_ = useMakeInactive_;
3977 if (((from_bitField0_ & 0x00100000) != 0)) {
3978 result.useMakeChainInactive_ = useMakeChainInactive_;
3980 if (((from_bitField0_ & 0x00200000) != 0)) {
3981 result.useSwapActive_ = useSwapActive_;
3983 if (((from_bitField0_ & 0x00400000) != 0)) {
3984 result.useSwapActiveChain_ = useSwapActiveChain_;
3986 if (((from_bitField0_ & 0x00800000) != 0)) {
3987 result.useExtendedSwapActive_ = useExtendedSwapActive_;
3989 if (((from_bitField0_ & 0x01000000) != 0)) {
3990 result.useShortestPathSwapActive_ = useShortestPathSwapActive_;
3992 if (((from_bitField0_ & 0x02000000) != 0)) {
3993 result.useShortestPathTwoOpt_ = useShortestPathTwoOpt_;
3995 if (((from_bitField0_ & 0x04000000) != 0)) {
3996 result.useNodePairSwapActive_ = useNodePairSwapActive_;
3998 if (((from_bitField0_ & 0x08000000) != 0)) {
3999 result.usePathLns_ = usePathLns_;
4001 if (((from_bitField0_ & 0x10000000) != 0)) {
4002 result.useFullPathLns_ = useFullPathLns_;
4004 if (((from_bitField0_ & 0x20000000) != 0)) {
4005 result.useTspLns_ = useTspLns_;
4007 if (((from_bitField0_ & 0x40000000) != 0)) {
4008 result.useInactiveLns_ = useInactiveLns_;
4010 if (((from_bitField0_ & 0x80000000) != 0)) {
4011 result.useGlobalCheapestInsertionPathLns_ = useGlobalCheapestInsertionPathLns_;
4015 private void buildPartial1(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators result) {
4016 int from_bitField1_ = bitField1_;
4017 if (((from_bitField1_ & 0x00000001) != 0)) {
4018 result.useLocalCheapestInsertionPathLns_ = useLocalCheapestInsertionPathLns_;
4020 if (((from_bitField1_ & 0x00000002) != 0)) {
4021 result.useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
4023 if (((from_bitField1_ & 0x00000004) != 0)) {
4024 result.useGlobalCheapestInsertionExpensiveChainLns_ = useGlobalCheapestInsertionExpensiveChainLns_;
4026 if (((from_bitField1_ & 0x00000008) != 0)) {
4027 result.useLocalCheapestInsertionExpensiveChainLns_ = useLocalCheapestInsertionExpensiveChainLns_;
4029 if (((from_bitField1_ & 0x00000010) != 0)) {
4030 result.useGlobalCheapestInsertionCloseNodesLns_ = useGlobalCheapestInsertionCloseNodesLns_;
4032 if (((from_bitField1_ & 0x00000020) != 0)) {
4033 result.useLocalCheapestInsertionCloseNodesLns_ = useLocalCheapestInsertionCloseNodesLns_;
4038 public Builder
mergeFrom(com.google.protobuf.Message other) {
4039 if (other instanceof com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators) {
4040 return mergeFrom((com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators)other);
4042 super.mergeFrom(other);
4047 public Builder
mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators other) {
4048 if (other == com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance())
return this;
4049 if (other.useRelocate_ != 0) {
4052 if (other.useRelocatePair_ != 0) {
4055 if (other.useLightRelocatePair_ != 0) {
4058 if (other.useRelocateNeighbors_ != 0) {
4061 if (other.useRelocateSubtrip_ != 0) {
4064 if (other.useExchange_ != 0) {
4067 if (other.useExchangePair_ != 0) {
4070 if (other.useExchangeSubtrip_ != 0) {
4073 if (other.useCross_ != 0) {
4076 if (other.useCrossExchange_ != 0) {
4079 if (other.useRelocateExpensiveChain_ != 0) {
4082 if (other.useTwoOpt_ != 0) {
4085 if (other.useOrOpt_ != 0) {
4088 if (other.useLinKernighan_ != 0) {
4091 if (other.useTspOpt_ != 0) {
4094 if (other.useMakeActive_ != 0) {
4097 if (other.useRelocateAndMakeActive_ != 0) {
4100 if (other.useExchangeAndMakeActive_ != 0) {
4103 if (other.useExchangePathStartEndsAndMakeActive_ != 0) {
4106 if (other.useMakeInactive_ != 0) {
4109 if (other.useMakeChainInactive_ != 0) {
4112 if (other.useSwapActive_ != 0) {
4115 if (other.useSwapActiveChain_ != 0) {
4118 if (other.useExtendedSwapActive_ != 0) {
4121 if (other.useShortestPathSwapActive_ != 0) {
4124 if (other.useShortestPathTwoOpt_ != 0) {
4127 if (other.useNodePairSwapActive_ != 0) {
4130 if (other.usePathLns_ != 0) {
4133 if (other.useFullPathLns_ != 0) {
4136 if (other.useTspLns_ != 0) {
4139 if (other.useInactiveLns_ != 0) {
4142 if (other.useGlobalCheapestInsertionPathLns_ != 0) {
4145 if (other.useLocalCheapestInsertionPathLns_ != 0) {
4148 if (other.useRelocatePathGlobalCheapestInsertionInsertUnperformed_ != 0) {
4151 if (other.useGlobalCheapestInsertionExpensiveChainLns_ != 0) {
4154 if (other.useLocalCheapestInsertionExpensiveChainLns_ != 0) {
4157 if (other.useGlobalCheapestInsertionCloseNodesLns_ != 0) {
4160 if (other.useLocalCheapestInsertionCloseNodesLns_ != 0) {
4163 this.mergeUnknownFields(other.getUnknownFields());
4175 com.google.protobuf.CodedInputStream input,
4176 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4177 throws java.io.IOException {
4178 if (extensionRegistry ==
null) {
4179 throw new java.lang.NullPointerException();
4182 boolean done =
false;
4184 int tag = input.readTag();
4190 useRelocate_ = input.readEnum();
4191 bitField0_ |= 0x00000001;
4195 useRelocatePair_ = input.readEnum();
4196 bitField0_ |= 0x00000002;
4200 useRelocateNeighbors_ = input.readEnum();
4201 bitField0_ |= 0x00000008;
4205 useExchange_ = input.readEnum();
4206 bitField0_ |= 0x00000020;
4210 useCross_ = input.readEnum();
4211 bitField0_ |= 0x00000100;
4215 useCrossExchange_ = input.readEnum();
4216 bitField0_ |= 0x00000200;
4220 useTwoOpt_ = input.readEnum();
4221 bitField0_ |= 0x00000800;
4225 useOrOpt_ = input.readEnum();
4226 bitField0_ |= 0x00001000;
4230 useLinKernighan_ = input.readEnum();
4231 bitField0_ |= 0x00002000;
4235 useTspOpt_ = input.readEnum();
4236 bitField0_ |= 0x00004000;
4240 useMakeActive_ = input.readEnum();
4241 bitField0_ |= 0x00008000;
4245 useMakeInactive_ = input.readEnum();
4246 bitField0_ |= 0x00080000;
4250 useMakeChainInactive_ = input.readEnum();
4251 bitField0_ |= 0x00100000;
4255 useSwapActive_ = input.readEnum();
4256 bitField0_ |= 0x00200000;
4260 useExtendedSwapActive_ = input.readEnum();
4261 bitField0_ |= 0x00800000;
4265 usePathLns_ = input.readEnum();
4266 bitField0_ |= 0x08000000;
4270 useFullPathLns_ = input.readEnum();
4271 bitField0_ |= 0x10000000;
4275 useTspLns_ = input.readEnum();
4276 bitField0_ |= 0x20000000;
4280 useInactiveLns_ = input.readEnum();
4281 bitField0_ |= 0x40000000;
4285 useNodePairSwapActive_ = input.readEnum();
4286 bitField0_ |= 0x04000000;
4290 useRelocateAndMakeActive_ = input.readEnum();
4291 bitField0_ |= 0x00010000;
4295 useExchangePair_ = input.readEnum();
4296 bitField0_ |= 0x00000040;
4300 useRelocateExpensiveChain_ = input.readEnum();
4301 bitField0_ |= 0x00000400;
4305 useLightRelocatePair_ = input.readEnum();
4306 bitField0_ |= 0x00000004;
4310 useRelocateSubtrip_ = input.readEnum();
4311 bitField0_ |= 0x00000010;
4315 useExchangeSubtrip_ = input.readEnum();
4316 bitField0_ |= 0x00000080;
4320 useGlobalCheapestInsertionPathLns_ = input.readEnum();
4321 bitField0_ |= 0x80000000;
4325 useLocalCheapestInsertionPathLns_ = input.readEnum();
4326 bitField1_ |= 0x00000001;
4330 useGlobalCheapestInsertionExpensiveChainLns_ = input.readEnum();
4331 bitField1_ |= 0x00000004;
4335 useLocalCheapestInsertionExpensiveChainLns_ = input.readEnum();
4336 bitField1_ |= 0x00000008;
4340 useGlobalCheapestInsertionCloseNodesLns_ = input.readEnum();
4341 bitField1_ |= 0x00000010;
4345 useLocalCheapestInsertionCloseNodesLns_ = input.readEnum();
4346 bitField1_ |= 0x00000020;
4350 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = input.readEnum();
4351 bitField1_ |= 0x00000002;
4355 useShortestPathSwapActive_ = input.readEnum();
4356 bitField0_ |= 0x01000000;
4360 useSwapActiveChain_ = input.readEnum();
4361 bitField0_ |= 0x00400000;
4365 useShortestPathTwoOpt_ = input.readEnum();
4366 bitField0_ |= 0x02000000;
4370 useExchangeAndMakeActive_ = input.readEnum();
4371 bitField0_ |= 0x00020000;
4375 useExchangePathStartEndsAndMakeActive_ = input.readEnum();
4376 bitField0_ |= 0x00040000;
4380 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
4387 }
catch (com.google.protobuf.InvalidProtocolBufferException e) {
4388 throw e.unwrapIOException();
4394 private int bitField0_;
4395 private int bitField1_;
4397 private int useRelocate_ = 0;
4415 return useRelocate_;
4435 useRelocate_ = value;
4436 bitField0_ |= 0x00000001;
4479 if (value ==
null) {
throw new NullPointerException(); }
4480 bitField0_ |= 0x00000001;
4481 useRelocate_ = value.getNumber();
4502 bitField0_ = (bitField0_ & ~0x00000001);
4508 private int useRelocatePair_ = 0;
4526 return useRelocatePair_;
4546 useRelocatePair_ = value;
4547 bitField0_ |= 0x00000002;
4590 if (value ==
null) {
throw new NullPointerException(); }
4591 bitField0_ |= 0x00000002;
4592 useRelocatePair_ = value.getNumber();
4613 bitField0_ = (bitField0_ & ~0x00000002);
4614 useRelocatePair_ = 0;
4619 private int useLightRelocatePair_ = 0;
4635 return useLightRelocatePair_;
4653 useLightRelocatePair_ = value;
4654 bitField0_ |= 0x00000004;
4693 if (value ==
null) {
throw new NullPointerException(); }
4694 bitField0_ |= 0x00000004;
4695 useLightRelocatePair_ = value.getNumber();
4714 bitField0_ = (bitField0_ & ~0x00000004);
4715 useLightRelocatePair_ = 0;
4720 private int useRelocateNeighbors_ = 0;
4751 return useRelocateNeighbors_;
4784 useRelocateNeighbors_ = value;
4785 bitField0_ |= 0x00000008;
4854 if (value ==
null) {
throw new NullPointerException(); }
4855 bitField0_ |= 0x00000008;
4856 useRelocateNeighbors_ = value.getNumber();
4890 bitField0_ = (bitField0_ & ~0x00000008);
4891 useRelocateNeighbors_ = 0;
4896 private int useRelocateSubtrip_ = 0;
4919 return useRelocateSubtrip_;
4944 useRelocateSubtrip_ = value;
4945 bitField0_ |= 0x00000010;
4998 if (value ==
null) {
throw new NullPointerException(); }
4999 bitField0_ |= 0x00000010;
5000 useRelocateSubtrip_ = value.getNumber();
5026 bitField0_ = (bitField0_ & ~0x00000010);
5027 useRelocateSubtrip_ = 0;
5032 private int useExchange_ = 0;
5048 return useExchange_;
5066 useExchange_ = value;
5067 bitField0_ |= 0x00000020;
5106 if (value ==
null) {
throw new NullPointerException(); }
5107 bitField0_ |= 0x00000020;
5108 useExchange_ = value.getNumber();
5127 bitField0_ = (bitField0_ & ~0x00000020);
5133 private int useExchangePair_ = 0;
5149 return useExchangePair_;
5167 useExchangePair_ = value;
5168 bitField0_ |= 0x00000040;
5207 if (value ==
null) {
throw new NullPointerException(); }
5208 bitField0_ |= 0x00000040;
5209 useExchangePair_ = value.getNumber();
5228 bitField0_ = (bitField0_ & ~0x00000040);
5229 useExchangePair_ = 0;
5234 private int useExchangeSubtrip_ = 0;
5245 return useExchangeSubtrip_;
5258 useExchangeSubtrip_ = value;
5259 bitField0_ |= 0x00000080;
5288 if (value ==
null) {
throw new NullPointerException(); }
5289 bitField0_ |= 0x00000080;
5290 useExchangeSubtrip_ = value.getNumber();
5304 bitField0_ = (bitField0_ & ~0x00000080);
5305 useExchangeSubtrip_ = 0;
5310 private int useCross_ = 0;
5349 bitField0_ |= 0x00000100;
5391 public Builder
setUseCross(com.google.ortools.util.OptionalBoolean value) {
5392 if (value ==
null) {
throw new NullPointerException(); }
5393 bitField0_ |= 0x00000100;
5394 useCross_ = value.getNumber();
5415 bitField0_ = (bitField0_ & ~0x00000100);
5421 private int useCrossExchange_ = 0;
5431 return useCrossExchange_;
5443 useCrossExchange_ = value;
5444 bitField0_ |= 0x00000200;
5471 if (value ==
null) {
throw new NullPointerException(); }
5472 bitField0_ |= 0x00000200;
5473 useCrossExchange_ = value.getNumber();
5486 bitField0_ = (bitField0_ & ~0x00000200);
5487 useCrossExchange_ = 0;
5492 private int useRelocateExpensiveChain_ = 0;
5511 return useRelocateExpensiveChain_;
5532 useRelocateExpensiveChain_ = value;
5533 bitField0_ |= 0x00000400;
5578 if (value ==
null) {
throw new NullPointerException(); }
5579 bitField0_ |= 0x00000400;
5580 useRelocateExpensiveChain_ = value.getNumber();
5602 bitField0_ = (bitField0_ & ~0x00000400);
5603 useRelocateExpensiveChain_ = 0;
5608 private int useTwoOpt_ = 0;
5649 bitField0_ |= 0x00000800;
5693 public Builder
setUseTwoOpt(com.google.ortools.util.OptionalBoolean value) {
5694 if (value ==
null) {
throw new NullPointerException(); }
5695 bitField0_ |= 0x00000800;
5696 useTwoOpt_ = value.getNumber();
5718 bitField0_ = (bitField0_ & ~0x00000800);
5724 private int useOrOpt_ = 0;
5767 bitField0_ |= 0x00001000;
5813 public Builder
setUseOrOpt(com.google.ortools.util.OptionalBoolean value) {
5814 if (value ==
null) {
throw new NullPointerException(); }
5815 bitField0_ |= 0x00001000;
5816 useOrOpt_ = value.getNumber();
5839 bitField0_ = (bitField0_ & ~0x00001000);
5845 private int useLinKernighan_ = 0;
5858 return useLinKernighan_;
5873 useLinKernighan_ = value;
5874 bitField0_ |= 0x00002000;
5907 if (value ==
null) {
throw new NullPointerException(); }
5908 bitField0_ |= 0x00002000;
5909 useLinKernighan_ = value.getNumber();
5925 bitField0_ = (bitField0_ & ~0x00002000);
5926 useLinKernighan_ = 0;
5931 private int useTspOpt_ = 0;
5964 bitField0_ |= 0x00004000;
6000 public Builder
setUseTspOpt(com.google.ortools.util.OptionalBoolean value) {
6001 if (value ==
null) {
throw new NullPointerException(); }
6002 bitField0_ |= 0x00004000;
6003 useTspOpt_ = value.getNumber();
6021 bitField0_ = (bitField0_ & ~0x00004000);
6027 private int useMakeActive_ = 0;
6043 return useMakeActive_;
6061 useMakeActive_ = value;
6062 bitField0_ |= 0x00008000;
6101 if (value ==
null) {
throw new NullPointerException(); }
6102 bitField0_ |= 0x00008000;
6103 useMakeActive_ = value.getNumber();
6122 bitField0_ = (bitField0_ & ~0x00008000);
6128 private int useRelocateAndMakeActive_ = 0;
6147 return useRelocateAndMakeActive_;
6168 useRelocateAndMakeActive_ = value;
6169 bitField0_ |= 0x00010000;
6214 if (value ==
null) {
throw new NullPointerException(); }
6215 bitField0_ |= 0x00010000;
6216 useRelocateAndMakeActive_ = value.getNumber();
6238 bitField0_ = (bitField0_ & ~0x00010000);
6239 useRelocateAndMakeActive_ = 0;
6244 private int useExchangeAndMakeActive_ = 0;
6259 return useExchangeAndMakeActive_;
6276 useExchangeAndMakeActive_ = value;
6277 bitField0_ |= 0x00020000;
6314 if (value ==
null) {
throw new NullPointerException(); }
6315 bitField0_ |= 0x00020000;
6316 useExchangeAndMakeActive_ = value.getNumber();
6334 bitField0_ = (bitField0_ & ~0x00020000);
6335 useExchangeAndMakeActive_ = 0;
6340 private int useExchangePathStartEndsAndMakeActive_ = 0;
6358 return useExchangePathStartEndsAndMakeActive_;
6378 useExchangePathStartEndsAndMakeActive_ = value;
6379 bitField0_ |= 0x00040000;
6422 if (value ==
null) {
throw new NullPointerException(); }
6423 bitField0_ |= 0x00040000;
6424 useExchangePathStartEndsAndMakeActive_ = value.getNumber();
6445 bitField0_ = (bitField0_ & ~0x00040000);
6446 useExchangePathStartEndsAndMakeActive_ = 0;
6451 private int useMakeInactive_ = 0;
6465 return useMakeInactive_;
6481 useMakeInactive_ = value;
6482 bitField0_ |= 0x00080000;
6517 if (value ==
null) {
throw new NullPointerException(); }
6518 bitField0_ |= 0x00080000;
6519 useMakeInactive_ = value.getNumber();
6536 bitField0_ = (bitField0_ & ~0x00080000);
6537 useMakeInactive_ = 0;
6542 private int useMakeChainInactive_ = 0;
6557 return useMakeChainInactive_;
6574 useMakeChainInactive_ = value;
6575 bitField0_ |= 0x00100000;
6612 if (value ==
null) {
throw new NullPointerException(); }
6613 bitField0_ |= 0x00100000;
6614 useMakeChainInactive_ = value.getNumber();
6632 bitField0_ = (bitField0_ & ~0x00100000);
6633 useMakeChainInactive_ = 0;
6638 private int useSwapActive_ = 0;
6652 return useSwapActive_;
6668 useSwapActive_ = value;
6669 bitField0_ |= 0x00200000;
6704 if (value ==
null) {
throw new NullPointerException(); }
6705 bitField0_ |= 0x00200000;
6706 useSwapActive_ = value.getNumber();
6723 bitField0_ = (bitField0_ & ~0x00200000);
6729 private int useSwapActiveChain_ = 0;
6744 return useSwapActiveChain_;
6761 useSwapActiveChain_ = value;
6762 bitField0_ |= 0x00400000;
6799 if (value ==
null) {
throw new NullPointerException(); }
6800 bitField0_ |= 0x00400000;
6801 useSwapActiveChain_ = value.getNumber();
6819 bitField0_ = (bitField0_ & ~0x00400000);
6820 useSwapActiveChain_ = 0;
6825 private int useExtendedSwapActive_ = 0;
6844 return useExtendedSwapActive_;
6865 useExtendedSwapActive_ = value;
6866 bitField0_ |= 0x00800000;
6911 if (value ==
null) {
throw new NullPointerException(); }
6912 bitField0_ |= 0x00800000;
6913 useExtendedSwapActive_ = value.getNumber();
6935 bitField0_ = (bitField0_ & ~0x00800000);
6936 useExtendedSwapActive_ = 0;
6941 private int useShortestPathSwapActive_ = 0;
6956 return useShortestPathSwapActive_;
6973 useShortestPathSwapActive_ = value;
6974 bitField0_ |= 0x01000000;
7011 if (value ==
null) {
throw new NullPointerException(); }
7012 bitField0_ |= 0x01000000;
7013 useShortestPathSwapActive_ = value.getNumber();
7031 bitField0_ = (bitField0_ & ~0x01000000);
7032 useShortestPathSwapActive_ = 0;
7037 private int useShortestPathTwoOpt_ = 0;
7048 return useShortestPathTwoOpt_;
7061 useShortestPathTwoOpt_ = value;
7062 bitField0_ |= 0x02000000;
7091 if (value ==
null) {
throw new NullPointerException(); }
7092 bitField0_ |= 0x02000000;
7093 useShortestPathTwoOpt_ = value.getNumber();
7107 bitField0_ = (bitField0_ & ~0x02000000);
7108 useShortestPathTwoOpt_ = 0;
7113 private int useNodePairSwapActive_ = 0;
7133 return useNodePairSwapActive_;
7155 useNodePairSwapActive_ = value;
7156 bitField0_ |= 0x04000000;
7203 if (value ==
null) {
throw new NullPointerException(); }
7204 bitField0_ |= 0x04000000;
7205 useNodePairSwapActive_ = value.getNumber();
7228 bitField0_ = (bitField0_ & ~0x04000000);
7229 useNodePairSwapActive_ = 0;
7234 private int usePathLns_ = 0;
7270 usePathLns_ = value;
7271 bitField0_ |= 0x08000000;
7312 if (value ==
null) {
throw new NullPointerException(); }
7313 bitField0_ |= 0x08000000;
7314 usePathLns_ = value.getNumber();
7334 bitField0_ = (bitField0_ & ~0x08000000);
7340 private int useFullPathLns_ = 0;
7350 return useFullPathLns_;
7362 useFullPathLns_ = value;
7363 bitField0_ |= 0x10000000;
7390 if (value ==
null) {
throw new NullPointerException(); }
7391 bitField0_ |= 0x10000000;
7392 useFullPathLns_ = value.getNumber();
7405 bitField0_ = (bitField0_ & ~0x10000000);
7406 useFullPathLns_ = 0;
7411 private int useTspLns_ = 0;
7444 bitField0_ |= 0x20000000;
7480 public Builder
setUseTspLns(com.google.ortools.util.OptionalBoolean value) {
7481 if (value ==
null) {
throw new NullPointerException(); }
7482 bitField0_ |= 0x20000000;
7483 useTspLns_ = value.getNumber();
7501 bitField0_ = (bitField0_ & ~0x20000000);
7507 private int useInactiveLns_ = 0;
7519 return useInactiveLns_;
7533 useInactiveLns_ = value;
7534 bitField0_ |= 0x40000000;
7565 if (value ==
null) {
throw new NullPointerException(); }
7566 bitField0_ |= 0x40000000;
7567 useInactiveLns_ = value.getNumber();
7582 bitField0_ = (bitField0_ & ~0x40000000);
7583 useInactiveLns_ = 0;
7588 private int useGlobalCheapestInsertionPathLns_ = 0;
7600 return useGlobalCheapestInsertionPathLns_;
7614 useGlobalCheapestInsertionPathLns_ = value;
7615 bitField0_ |= 0x80000000;
7646 if (value ==
null) {
throw new NullPointerException(); }
7647 bitField0_ |= 0x80000000;
7648 useGlobalCheapestInsertionPathLns_ = value.getNumber();
7663 bitField0_ = (bitField0_ & ~0x80000000);
7664 useGlobalCheapestInsertionPathLns_ = 0;
7669 private int useLocalCheapestInsertionPathLns_ = 0;
7679 return useLocalCheapestInsertionPathLns_;
7691 useLocalCheapestInsertionPathLns_ = value;
7692 bitField1_ |= 0x00000001;
7719 if (value ==
null) {
throw new NullPointerException(); }
7720 bitField1_ |= 0x00000001;
7721 useLocalCheapestInsertionPathLns_ = value.getNumber();
7734 bitField1_ = (bitField1_ & ~0x00000001);
7735 useLocalCheapestInsertionPathLns_ = 0;
7740 private int useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
7752 return useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
7766 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = value;
7767 bitField1_ |= 0x00000002;
7798 if (value ==
null) {
throw new NullPointerException(); }
7799 bitField1_ |= 0x00000002;
7800 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = value.getNumber();
7815 bitField1_ = (bitField1_ & ~0x00000002);
7816 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
7821 private int useGlobalCheapestInsertionExpensiveChainLns_ = 0;
7834 return useGlobalCheapestInsertionExpensiveChainLns_;
7849 useGlobalCheapestInsertionExpensiveChainLns_ = value;
7850 bitField1_ |= 0x00000004;
7883 if (value ==
null) {
throw new NullPointerException(); }
7884 bitField1_ |= 0x00000004;
7885 useGlobalCheapestInsertionExpensiveChainLns_ = value.getNumber();
7901 bitField1_ = (bitField1_ & ~0x00000004);
7902 useGlobalCheapestInsertionExpensiveChainLns_ = 0;
7907 private int useLocalCheapestInsertionExpensiveChainLns_ = 0;
7918 return useLocalCheapestInsertionExpensiveChainLns_;
7931 useLocalCheapestInsertionExpensiveChainLns_ = value;
7932 bitField1_ |= 0x00000008;
7961 if (value ==
null) {
throw new NullPointerException(); }
7962 bitField1_ |= 0x00000008;
7963 useLocalCheapestInsertionExpensiveChainLns_ = value.getNumber();
7977 bitField1_ = (bitField1_ & ~0x00000008);
7978 useLocalCheapestInsertionExpensiveChainLns_ = 0;
7983 private int useGlobalCheapestInsertionCloseNodesLns_ = 0;
7996 return useGlobalCheapestInsertionCloseNodesLns_;
8011 useGlobalCheapestInsertionCloseNodesLns_ = value;
8012 bitField1_ |= 0x00000010;
8045 if (value ==
null) {
throw new NullPointerException(); }
8046 bitField1_ |= 0x00000010;
8047 useGlobalCheapestInsertionCloseNodesLns_ = value.getNumber();
8063 bitField1_ = (bitField1_ & ~0x00000010);
8064 useGlobalCheapestInsertionCloseNodesLns_ = 0;
8069 private int useLocalCheapestInsertionCloseNodesLns_ = 0;
8080 return useLocalCheapestInsertionCloseNodesLns_;
8093 useLocalCheapestInsertionCloseNodesLns_ = value;
8094 bitField1_ |= 0x00000020;
8123 if (value ==
null) {
throw new NullPointerException(); }
8124 bitField1_ |= 0x00000020;
8125 useLocalCheapestInsertionCloseNodesLns_ = value.getNumber();
8139 bitField1_ = (bitField1_ & ~0x00000020);
8140 useLocalCheapestInsertionCloseNodesLns_ = 0;
8151 DEFAULT_INSTANCE =
new com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators();
8155 return DEFAULT_INSTANCE;
8162 com.google.protobuf.CodedInputStream input,
8163 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8164 throws com.google.protobuf.InvalidProtocolBufferException {
8167 builder.
mergeFrom(input, extensionRegistry);
8168 }
catch (com.google.protobuf.InvalidProtocolBufferException e) {
8170 }
catch (com.google.protobuf.UninitializedMessageException e) {
8171 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.
buildPartial());
8172 }
catch (java.io.IOException e) {
8173 throw new com.google.protobuf.InvalidProtocolBufferException(e)
8180 public static com.google.protobuf.Parser<LocalSearchNeighborhoodOperators>
parser() {
8191 return DEFAULT_INSTANCE;
8198 com.google.protobuf.MessageOrBuilder {
8233 public static final class ImprovementSearchLimitParameters
extends
8234 com.google.protobuf.GeneratedMessage implements
8237 private static final long serialVersionUID = 0L;
8239 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
8240 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
8245 ImprovementSearchLimitParameters.class.getName());
8248 private ImprovementSearchLimitParameters(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
8251 private ImprovementSearchLimitParameters() {
8254 public static final com.google.protobuf.Descriptors.Descriptor
8256 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_descriptor;
8260 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
8262 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_fieldAccessorTable
8263 .ensureFieldAccessorsInitialized(
8264 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.class, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder.class);
8268 private double improvementRateCoefficient_ = 0D;
8281 return improvementRateCoefficient_;
8285 private int improvementRateSolutionsDistance_ = 0;
8300 return improvementRateSolutionsDistance_;
8303 private byte memoizedIsInitialized = -1;
8310 memoizedIsInitialized = 1;
8315 public void writeTo(com.google.protobuf.CodedOutputStream output)
8316 throws java.io.IOException {
8317 if (java.lang.Double.doubleToRawLongBits(improvementRateCoefficient_) != 0) {
8318 output.writeDouble(38, improvementRateCoefficient_);
8320 if (improvementRateSolutionsDistance_ != 0) {
8321 output.writeInt32(39, improvementRateSolutionsDistance_);
8323 getUnknownFields().writeTo(output);
8328 int size = memoizedSize;
8329 if (size != -1)
return size;
8332 if (java.lang.Double.doubleToRawLongBits(improvementRateCoefficient_) != 0) {
8333 size += com.google.protobuf.CodedOutputStream
8334 .computeDoubleSize(38, improvementRateCoefficient_);
8336 if (improvementRateSolutionsDistance_ != 0) {
8337 size += com.google.protobuf.CodedOutputStream
8338 .computeInt32Size(39, improvementRateSolutionsDistance_);
8340 size += getUnknownFields().getSerializedSize();
8341 memoizedSize = size;
8346 public boolean equals(
final java.lang.Object obj) {
8350 if (!(obj instanceof com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters)) {
8351 return super.equals(obj);
8356 != java.lang.Double.doubleToLongBits(
8360 if (!getUnknownFields().
equals(other.getUnknownFields()))
return false;
8366 if (memoizedHashCode != 0) {
8367 return memoizedHashCode;
8372 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8376 hash = (29 * hash) + getUnknownFields().hashCode();
8377 memoizedHashCode = hash;
8382 java.nio.ByteBuffer data)
8383 throws com.google.protobuf.InvalidProtocolBufferException {
8384 return PARSER.parseFrom(data);
8387 java.nio.ByteBuffer data,
8388 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8389 throws com.google.protobuf.InvalidProtocolBufferException {
8390 return PARSER.parseFrom(data, extensionRegistry);
8393 com.google.protobuf.ByteString data)
8394 throws com.google.protobuf.InvalidProtocolBufferException {
8395 return PARSER.parseFrom(data);
8398 com.google.protobuf.ByteString data,
8399 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8400 throws com.google.protobuf.InvalidProtocolBufferException {
8401 return PARSER.parseFrom(data, extensionRegistry);
8404 throws com.google.protobuf.InvalidProtocolBufferException {
8405 return PARSER.parseFrom(data);
8409 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8410 throws com.google.protobuf.InvalidProtocolBufferException {
8411 return PARSER.parseFrom(data, extensionRegistry);
8414 throws java.io.IOException {
8415 return com.google.protobuf.GeneratedMessage
8416 .parseWithIOException(PARSER, input);
8419 java.io.InputStream input,
8420 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8421 throws java.io.IOException {
8422 return com.google.protobuf.GeneratedMessage
8423 .parseWithIOException(PARSER, input, extensionRegistry);
8427 throws java.io.IOException {
8428 return com.google.protobuf.GeneratedMessage
8429 .parseDelimitedWithIOException(PARSER, input);
8433 java.io.InputStream input,
8434 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8435 throws java.io.IOException {
8436 return com.google.protobuf.GeneratedMessage
8437 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
8440 com.google.protobuf.CodedInputStream input)
8441 throws java.io.IOException {
8442 return com.google.protobuf.GeneratedMessage
8443 .parseWithIOException(PARSER, input);
8446 com.google.protobuf.CodedInputStream input,
8447 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8448 throws java.io.IOException {
8449 return com.google.protobuf.GeneratedMessage
8450 .parseWithIOException(PARSER, input, extensionRegistry);
8456 return DEFAULT_INSTANCE.toBuilder();
8458 public static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters prototype) {
8459 return DEFAULT_INSTANCE.toBuilder().
mergeFrom(prototype);
8463 return this == DEFAULT_INSTANCE
8469 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
8480 public static final class Builder
extends
8481 com.google.protobuf.GeneratedMessage.Builder<Builder> implements
8484 public static final com.google.protobuf.Descriptors.Descriptor
8486 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_descriptor;
8490 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
8492 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_fieldAccessorTable
8493 .ensureFieldAccessorsInitialized(
8494 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.class, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder.class);
8503 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
8511 improvementRateCoefficient_ = 0D;
8512 improvementRateSolutionsDistance_ = 0;
8517 public com.google.protobuf.Descriptors.Descriptor
8519 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_descriptor;
8524 return com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance();
8531 throw newUninitializedMessageException(result);
8539 if (bitField0_ != 0) { buildPartial0(result); }
8544 private void buildPartial0(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters result) {
8545 int from_bitField0_ = bitField0_;
8546 if (((from_bitField0_ & 0x00000001) != 0)) {
8547 result.improvementRateCoefficient_ = improvementRateCoefficient_;
8549 if (((from_bitField0_ & 0x00000002) != 0)) {
8550 result.improvementRateSolutionsDistance_ = improvementRateSolutionsDistance_;
8555 public Builder
mergeFrom(com.google.protobuf.Message other) {
8556 if (other instanceof com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters) {
8557 return mergeFrom((com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters)other);
8559 super.mergeFrom(other);
8564 public Builder
mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters other) {
8565 if (other == com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance())
return this;
8566 if (java.lang.Double.doubleToRawLongBits(other.getImprovementRateCoefficient()) != 0) {
8569 if (other.getImprovementRateSolutionsDistance() != 0) {
8572 this.mergeUnknownFields(other.getUnknownFields());
8584 com.google.protobuf.CodedInputStream input,
8585 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8586 throws java.io.IOException {
8587 if (extensionRegistry ==
null) {
8588 throw new java.lang.NullPointerException();
8591 boolean done =
false;
8593 int tag = input.readTag();
8599 improvementRateCoefficient_ = input.readDouble();
8600 bitField0_ |= 0x00000001;
8604 improvementRateSolutionsDistance_ = input.readInt32();
8605 bitField0_ |= 0x00000002;
8609 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
8616 }
catch (com.google.protobuf.InvalidProtocolBufferException e) {
8617 throw e.unwrapIOException();
8623 private int bitField0_;
8625 private double improvementRateCoefficient_ ;
8638 return improvementRateCoefficient_;
8653 improvementRateCoefficient_ = value;
8654 bitField0_ |= 0x00000001;
8669 bitField0_ = (bitField0_ & ~0x00000001);
8670 improvementRateCoefficient_ = 0D;
8675 private int improvementRateSolutionsDistance_ ;
8690 return improvementRateSolutionsDistance_;
8707 improvementRateSolutionsDistance_ = value;
8708 bitField0_ |= 0x00000002;
8725 bitField0_ = (bitField0_ & ~0x00000002);
8726 improvementRateSolutionsDistance_ = 0;
8737 DEFAULT_INSTANCE =
new com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters();
8741 return DEFAULT_INSTANCE;
8748 com.google.protobuf.CodedInputStream input,
8749 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8750 throws com.google.protobuf.InvalidProtocolBufferException {
8753 builder.
mergeFrom(input, extensionRegistry);
8754 }
catch (com.google.protobuf.InvalidProtocolBufferException e) {
8756 }
catch (com.google.protobuf.UninitializedMessageException e) {
8757 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.
buildPartial());
8758 }
catch (java.io.IOException e) {
8759 throw new com.google.protobuf.InvalidProtocolBufferException(e)
8766 public static com.google.protobuf.Parser<ImprovementSearchLimitParameters>
parser() {
8777 return DEFAULT_INSTANCE;
8782 private int bitField0_;
8784 private int firstSolutionStrategy_ = 0;
8794 return firstSolutionStrategy_;
8810 private boolean useUnfilteredFirstSolutionStrategy_ =
false;
8824 return useUnfilteredFirstSolutionStrategy_;
8828 private double savingsNeighborsRatio_ = 0D;
8841 return savingsNeighborsRatio_;
8845 private double savingsMaxMemoryUsageBytes_ = 0D;
8861 return savingsMaxMemoryUsageBytes_;
8865 private boolean savingsAddReverseArcs_ =
false;
8877 return savingsAddReverseArcs_;
8881 private double savingsArcCoefficient_ = 0D;
8896 return savingsArcCoefficient_;
8900 private double cheapestInsertionFarthestSeedsRatio_ = 0D;
8913 return cheapestInsertionFarthestSeedsRatio_;
8917 private double cheapestInsertionFirstSolutionNeighborsRatio_ = 0D;
8942 return cheapestInsertionFirstSolutionNeighborsRatio_;
8946 private int cheapestInsertionFirstSolutionMinNeighbors_ = 0;
8953 return cheapestInsertionFirstSolutionMinNeighbors_;
8957 private double cheapestInsertionLsOperatorNeighborsRatio_ = 0D;
8971 return cheapestInsertionLsOperatorNeighborsRatio_;
8975 private int cheapestInsertionLsOperatorMinNeighbors_ = 0;
8982 return cheapestInsertionLsOperatorMinNeighbors_;
8986 private boolean cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ =
false;
8998 return cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_;
9002 private boolean cheapestInsertionAddUnperformedEntries_ =
false;
9014 return cheapestInsertionAddUnperformedEntries_;
9018 private int localCheapestInsertionPickupDeliveryStrategy_ = 0;
9029 return localCheapestInsertionPickupDeliveryStrategy_;
9046 private int localCheapestCostInsertionPickupDeliveryStrategy_ = 0;
9057 return localCheapestCostInsertionPickupDeliveryStrategy_;
9074 @SuppressWarnings(
"serial")
9075 private com.google.protobuf.Internal.IntList localCheapestInsertionSortingProperties_ =
9077 private static final com.google.protobuf.Internal.IntListAdapter.IntConverter<
9079 new com.google.protobuf.Internal.IntListAdapter.IntConverter<
9101 return new com.google.protobuf.Internal.IntListAdapter<
9102 com.google.ortools.constraintsolver.RoutingSearchParameters.InsertionSortingProperty>(localCheapestInsertionSortingProperties_, localCheapestInsertionSortingProperties_converter_);
9119 return localCheapestInsertionSortingProperties_.size();
9137 return localCheapestInsertionSortingProperties_converter_.convert(localCheapestInsertionSortingProperties_.getInt(index));
9153 public java.util.List<java.lang.Integer>
9155 return localCheapestInsertionSortingProperties_;
9173 return localCheapestInsertionSortingProperties_.getInt(index);
9175 private int localCheapestInsertionSortingPropertiesMemoizedSerializedSize;
9178 private boolean christofidesUseMinimumMatching_ =
false;
9190 return christofidesUseMinimumMatching_;
9194 private int firstSolutionOptimizationPeriod_ = 0;
9211 return firstSolutionOptimizationPeriod_;
9222 return ((bitField0_ & 0x00000001) != 0);
9230 return localSearchOperators_ ==
null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
9237 return localSearchOperators_ ==
null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
9241 private double lsOperatorNeighborsRatio_ = 0D;
9254 return lsOperatorNeighborsRatio_;
9258 private int lsOperatorMinNeighbors_ = 0;
9265 return lsOperatorMinNeighbors_;
9269 private boolean useMultiArmedBanditConcatenateOperators_ =
false;
9282 return useMultiArmedBanditConcatenateOperators_;
9286 private double multiArmedBanditCompoundOperatorMemoryCoefficient_ = 0D;
9300 return multiArmedBanditCompoundOperatorMemoryCoefficient_;
9304 private double multiArmedBanditCompoundOperatorExplorationCoefficient_ = 0D;
9317 return multiArmedBanditCompoundOperatorExplorationCoefficient_;
9321 private int maxSwapActiveChainSize_ = 0;
9332 return maxSwapActiveChainSize_;
9336 private int relocateExpensiveChainNumArcsToConsider_ = 0;
9353 return relocateExpensiveChainNumArcsToConsider_;
9357 private int heuristicExpensiveChainLnsNumArcsToConsider_ = 0;
9369 return heuristicExpensiveChainLnsNumArcsToConsider_;
9373 private int heuristicCloseNodesLnsNumNodes_ = 0;
9385 return heuristicCloseNodesLnsNumNodes_;
9389 private int localSearchMetaheuristic_ = 0;
9399 return localSearchMetaheuristic_;
9415 @SuppressWarnings(
"serial")
9416 private com.google.protobuf.Internal.IntList localSearchMetaheuristics_ =
9418 private static final com.google.protobuf.Internal.IntListAdapter.IntConverter<
9420 new com.google.protobuf.Internal.IntListAdapter.IntConverter<
9440 return new com.google.protobuf.Internal.IntListAdapter<
9441 com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value>(localSearchMetaheuristics_, localSearchMetaheuristics_converter_);
9456 return localSearchMetaheuristics_.size();
9472 return localSearchMetaheuristics_converter_.convert(localSearchMetaheuristics_.getInt(index));
9486 public java.util.List<java.lang.Integer>
9488 return localSearchMetaheuristics_;
9504 return localSearchMetaheuristics_.getInt(index);
9506 private int localSearchMetaheuristicsMemoizedSerializedSize;
9509 private int numMaxLocalOptimaBeforeMetaheuristicSwitch_ = 0;
9516 return numMaxLocalOptimaBeforeMetaheuristicSwitch_;
9520 private double guidedLocalSearchLambdaCoefficient_ = 0D;
9534 return guidedLocalSearchLambdaCoefficient_;
9538 private boolean guidedLocalSearchResetPenaltiesOnNewBestSolution_ =
false;
9550 return guidedLocalSearchResetPenaltiesOnNewBestSolution_;
9554 private boolean guidedLocalSearchPenalizeWithVehicleClasses_ =
false;
9567 return guidedLocalSearchPenalizeWithVehicleClasses_;
9571 private boolean useGuidedLocalSearchPenaltiesInLocalSearchOperators_ =
false;
9583 return useGuidedLocalSearchPenaltiesInLocalSearchOperators_;
9587 private boolean useDepthFirstSearch_ =
false;
9601 return useDepthFirstSearch_;
9605 private int useCp_ = 0;
9635 private int useCpSat_ = 0;
9667 private int useGeneralizedCpSat_ = 0;
9680 return useGeneralizedCpSat_;
9711 return ((bitField0_ & 0x00000002) != 0);
9724 return satParameters_ ==
null ? com.google.ortools.sat.SatParameters.getDefaultInstance() : satParameters_;
9736 return satParameters_ ==
null ? com.google.ortools.sat.SatParameters.getDefaultInstance() : satParameters_;
9740 private boolean reportIntermediateCpSatSolutions_ =
false;
9752 return reportIntermediateCpSatSolutions_;
9756 private int fallbackToCpSatSizeThreshold_ = 0;
9768 return fallbackToCpSatSizeThreshold_;
9772 private int continuousSchedulingSolver_ = 0;
9778 return continuousSchedulingSolver_;
9790 private int mixedIntegerSchedulingSolver_ = 0;
9796 return mixedIntegerSchedulingSolver_;
9808 private boolean disableSchedulingBewareThisMayDegradePerformance_ =
false;
9820 return ((bitField0_ & 0x00000004) != 0);
9833 return disableSchedulingBewareThisMayDegradePerformance_;
9837 private double optimizationStep_ = 0D;
9850 return optimizationStep_;
9854 private int numberOfSolutionsToCollect_ = 0;
9866 return numberOfSolutionsToCollect_;
9870 private long solutionLimit_ = 0L;
9883 return solutionLimit_;
9887 private com.google.protobuf.Duration timeLimit_;
9898 return ((bitField0_ & 0x00000008) != 0);
9910 return timeLimit_ ==
null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
9921 return timeLimit_ ==
null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
9925 private com.google.protobuf.Duration lnsTimeLimit_;
9937 return ((bitField0_ & 0x00000010) != 0);
9950 return lnsTimeLimit_ ==
null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
9962 return lnsTimeLimit_ ==
null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
9966 private double secondaryLsTimeLimitRatio_ = 0D;
9982 return secondaryLsTimeLimitRatio_;
9998 return ((bitField0_ & 0x00000020) != 0);
10009 @java.lang.Override
10011 return improvementLimitParameters_ ==
null ? com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance() : improvementLimitParameters_;
10021 @java.lang.Override
10023 return improvementLimitParameters_ ==
null ? com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance() : improvementLimitParameters_;
10027 private boolean useFullPropagation_ =
false;
10045 @java.lang.Override
10047 return useFullPropagation_;
10051 private boolean logSearch_ =
false;
10072 @java.lang.Override
10078 private double logCostScalingFactor_ = 0D;
10088 @java.lang.Override
10090 return logCostScalingFactor_;
10094 private double logCostOffset_ = 0D;
10099 @java.lang.Override
10101 return logCostOffset_;
10105 @SuppressWarnings(
"serial")
10106 private volatile java.lang.Object logTag_ =
"";
10116 @java.lang.Override
10118 java.lang.Object ref = logTag_;
10119 if (ref instanceof java.lang.String) {
10120 return (java.lang.String) ref;
10122 com.google.protobuf.ByteString bs =
10123 (com.google.protobuf.ByteString) ref;
10124 java.lang.String s = bs.toStringUtf8();
10138 @java.lang.Override
10139 public com.google.protobuf.ByteString
10141 java.lang.Object ref = logTag_;
10142 if (ref instanceof java.lang.String) {
10143 com.google.protobuf.ByteString b =
10144 com.google.protobuf.ByteString.copyFromUtf8(
10145 (java.lang.String) ref);
10149 return (com.google.protobuf.ByteString) ref;
10154 private boolean useIteratedLocalSearch_ =
false;
10164 @java.lang.Override
10166 return useIteratedLocalSearch_;
10179 @java.lang.Override
10181 return ((bitField0_ & 0x00000040) != 0);
10191 @java.lang.Override
10193 return iteratedLocalSearchParameters_ ==
null ? com.google.ortools.constraintsolver.IteratedLocalSearchParameters.getDefaultInstance() : iteratedLocalSearchParameters_;
10202 @java.lang.Override
10204 return iteratedLocalSearchParameters_ ==
null ? com.google.ortools.constraintsolver.IteratedLocalSearchParameters.getDefaultInstance() : iteratedLocalSearchParameters_;
10207 private byte memoizedIsInitialized = -1;
10208 @java.lang.Override
10214 memoizedIsInitialized = 1;
10218 @java.lang.Override
10219 public void writeTo(com.google.protobuf.CodedOutputStream output)
10220 throws java.io.IOException {
10222 if (firstSolutionStrategy_ != com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNSET.getNumber()) {
10223 output.writeEnum(1, firstSolutionStrategy_);
10225 if (useUnfilteredFirstSolutionStrategy_ !=
false) {
10226 output.writeBool(2, useUnfilteredFirstSolutionStrategy_);
10228 if (((bitField0_ & 0x00000001) != 0)) {
10231 if (localSearchMetaheuristic_ != com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNSET.getNumber()) {
10232 output.writeEnum(4, localSearchMetaheuristic_);
10234 if (java.lang.Double.doubleToRawLongBits(guidedLocalSearchLambdaCoefficient_) != 0) {
10235 output.writeDouble(5, guidedLocalSearchLambdaCoefficient_);
10237 if (useDepthFirstSearch_ !=
false) {
10238 output.writeBool(6, useDepthFirstSearch_);
10240 if (java.lang.Double.doubleToRawLongBits(optimizationStep_) != 0) {
10241 output.writeDouble(7, optimizationStep_);
10243 if (solutionLimit_ != 0L) {
10244 output.writeInt64(8, solutionLimit_);
10246 if (((bitField0_ & 0x00000008) != 0)) {
10249 if (((bitField0_ & 0x00000010) != 0)) {
10252 if (useFullPropagation_ !=
false) {
10253 output.writeBool(11, useFullPropagation_);
10255 if (logSearch_ !=
false) {
10256 output.writeBool(13, logSearch_);
10258 if (java.lang.Double.doubleToRawLongBits(savingsNeighborsRatio_) != 0) {
10259 output.writeDouble(14, savingsNeighborsRatio_);
10261 if (savingsAddReverseArcs_ !=
false) {
10262 output.writeBool(15, savingsAddReverseArcs_);
10264 if (java.lang.Double.doubleToRawLongBits(cheapestInsertionFarthestSeedsRatio_) != 0) {
10265 output.writeDouble(16, cheapestInsertionFarthestSeedsRatio_);
10267 if (numberOfSolutionsToCollect_ != 0) {
10268 output.writeInt32(17, numberOfSolutionsToCollect_);
10270 if (java.lang.Double.doubleToRawLongBits(savingsArcCoefficient_) != 0) {
10271 output.writeDouble(18, savingsArcCoefficient_);
10273 if (relocateExpensiveChainNumArcsToConsider_ != 0) {
10274 output.writeInt32(20, relocateExpensiveChainNumArcsToConsider_);
10276 if (java.lang.Double.doubleToRawLongBits(cheapestInsertionFirstSolutionNeighborsRatio_) != 0) {
10277 output.writeDouble(21, cheapestInsertionFirstSolutionNeighborsRatio_);
10279 if (java.lang.Double.doubleToRawLongBits(logCostScalingFactor_) != 0) {
10280 output.writeDouble(22, logCostScalingFactor_);
10282 if (java.lang.Double.doubleToRawLongBits(savingsMaxMemoryUsageBytes_) != 0) {
10283 output.writeDouble(23, savingsMaxMemoryUsageBytes_);
10285 if (useCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
10286 output.writeEnum(27, useCpSat_);
10288 if (useCp_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
10289 output.writeEnum(28, useCp_);
10291 if (java.lang.Double.doubleToRawLongBits(logCostOffset_) != 0) {
10292 output.writeDouble(29, logCostOffset_);
10294 if (christofidesUseMinimumMatching_ !=
false) {
10295 output.writeBool(30, christofidesUseMinimumMatching_);
10297 if (java.lang.Double.doubleToRawLongBits(cheapestInsertionLsOperatorNeighborsRatio_) != 0) {
10298 output.writeDouble(31, cheapestInsertionLsOperatorNeighborsRatio_);
10300 if (heuristicExpensiveChainLnsNumArcsToConsider_ != 0) {
10301 output.writeInt32(32, heuristicExpensiveChainLnsNumArcsToConsider_);
10303 if (continuousSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.SCHEDULING_UNSET.getNumber()) {
10304 output.writeEnum(33, continuousSchedulingSolver_);
10306 if (mixedIntegerSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.SCHEDULING_UNSET.getNumber()) {
10307 output.writeEnum(34, mixedIntegerSchedulingSolver_);
10309 if (heuristicCloseNodesLnsNumNodes_ != 0) {
10310 output.writeInt32(35, heuristicCloseNodesLnsNumNodes_);
10312 if (!com.google.protobuf.GeneratedMessage.isStringEmpty(logTag_)) {
10313 com.google.protobuf.GeneratedMessage.writeString(output, 36, logTag_);
10315 if (((bitField0_ & 0x00000020) != 0)) {
10318 if (cheapestInsertionAddUnperformedEntries_ !=
false) {
10319 output.writeBool(40, cheapestInsertionAddUnperformedEntries_);
10321 if (useMultiArmedBanditConcatenateOperators_ !=
false) {
10322 output.writeBool(41, useMultiArmedBanditConcatenateOperators_);
10324 if (java.lang.Double.doubleToRawLongBits(multiArmedBanditCompoundOperatorMemoryCoefficient_) != 0) {
10325 output.writeDouble(42, multiArmedBanditCompoundOperatorMemoryCoefficient_);
10327 if (java.lang.Double.doubleToRawLongBits(multiArmedBanditCompoundOperatorExplorationCoefficient_) != 0) {
10328 output.writeDouble(43, multiArmedBanditCompoundOperatorExplorationCoefficient_);
10330 if (cheapestInsertionFirstSolutionMinNeighbors_ != 0) {
10331 output.writeInt32(44, cheapestInsertionFirstSolutionMinNeighbors_);
10333 if (cheapestInsertionLsOperatorMinNeighbors_ != 0) {
10334 output.writeInt32(45, cheapestInsertionLsOperatorMinNeighbors_);
10336 if (cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ !=
false) {
10337 output.writeBool(46, cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_);
10339 if (useGeneralizedCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
10340 output.writeEnum(47, useGeneralizedCpSat_);
10342 if (((bitField0_ & 0x00000002) != 0)) {
10345 if (localCheapestInsertionPickupDeliveryStrategy_ != com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy.AUTOMATIC.getNumber()) {
10346 output.writeEnum(49, localCheapestInsertionPickupDeliveryStrategy_);
10348 if (((bitField0_ & 0x00000004) != 0)) {
10349 output.writeBool(50, disableSchedulingBewareThisMayDegradePerformance_);
10351 if (guidedLocalSearchResetPenaltiesOnNewBestSolution_ !=
false) {
10352 output.writeBool(51, guidedLocalSearchResetPenaltiesOnNewBestSolution_);
10354 if (fallbackToCpSatSizeThreshold_ != 0) {
10355 output.writeInt32(52, fallbackToCpSatSizeThreshold_);
10357 if (java.lang.Double.doubleToRawLongBits(lsOperatorNeighborsRatio_) != 0) {
10358 output.writeDouble(53, lsOperatorNeighborsRatio_);
10360 if (lsOperatorMinNeighbors_ != 0) {
10361 output.writeInt32(54, lsOperatorMinNeighbors_);
10363 if (localCheapestCostInsertionPickupDeliveryStrategy_ != com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy.AUTOMATIC.getNumber()) {
10364 output.writeEnum(55, localCheapestCostInsertionPickupDeliveryStrategy_);
10366 if (reportIntermediateCpSatSolutions_ !=
false) {
10367 output.writeBool(56, reportIntermediateCpSatSolutions_);
10369 if (java.lang.Double.doubleToRawLongBits(secondaryLsTimeLimitRatio_) != 0) {
10370 output.writeDouble(57, secondaryLsTimeLimitRatio_);
10372 if (useIteratedLocalSearch_ !=
false) {
10373 output.writeBool(58, useIteratedLocalSearch_);
10375 if (firstSolutionOptimizationPeriod_ != 0) {
10376 output.writeInt32(59, firstSolutionOptimizationPeriod_);
10378 if (((bitField0_ & 0x00000040) != 0)) {
10381 if (guidedLocalSearchPenalizeWithVehicleClasses_ !=
false) {
10382 output.writeBool(61, guidedLocalSearchPenalizeWithVehicleClasses_);
10384 if (useGuidedLocalSearchPenaltiesInLocalSearchOperators_ !=
false) {
10385 output.writeBool(62, useGuidedLocalSearchPenaltiesInLocalSearchOperators_);
10388 output.writeUInt32NoTag(506);
10389 output.writeUInt32NoTag(localSearchMetaheuristicsMemoizedSerializedSize);
10391 for (
int i = 0; i < localSearchMetaheuristics_.size(); i++) {
10392 output.writeEnumNoTag(localSearchMetaheuristics_.getInt(i));
10394 if (numMaxLocalOptimaBeforeMetaheuristicSwitch_ != 0) {
10395 output.writeInt32(64, numMaxLocalOptimaBeforeMetaheuristicSwitch_);
10397 if (maxSwapActiveChainSize_ != 0) {
10398 output.writeInt32(66, maxSwapActiveChainSize_);
10401 output.writeUInt32NoTag(538);
10402 output.writeUInt32NoTag(localCheapestInsertionSortingPropertiesMemoizedSerializedSize);
10404 for (
int i = 0; i < localCheapestInsertionSortingProperties_.size(); i++) {
10405 output.writeEnumNoTag(localCheapestInsertionSortingProperties_.getInt(i));
10407 getUnknownFields().writeTo(output);
10410 @java.lang.Override
10412 int size = memoizedSize;
10413 if (size != -1)
return size;
10416 if (firstSolutionStrategy_ != com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNSET.getNumber()) {
10417 size += com.google.protobuf.CodedOutputStream
10418 .computeEnumSize(1, firstSolutionStrategy_);
10420 if (useUnfilteredFirstSolutionStrategy_ !=
false) {
10421 size += com.google.protobuf.CodedOutputStream
10422 .computeBoolSize(2, useUnfilteredFirstSolutionStrategy_);
10424 if (((bitField0_ & 0x00000001) != 0)) {
10425 size += com.google.protobuf.CodedOutputStream
10428 if (localSearchMetaheuristic_ != com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNSET.getNumber()) {
10429 size += com.google.protobuf.CodedOutputStream
10430 .computeEnumSize(4, localSearchMetaheuristic_);
10432 if (java.lang.Double.doubleToRawLongBits(guidedLocalSearchLambdaCoefficient_) != 0) {
10433 size += com.google.protobuf.CodedOutputStream
10434 .computeDoubleSize(5, guidedLocalSearchLambdaCoefficient_);
10436 if (useDepthFirstSearch_ !=
false) {
10437 size += com.google.protobuf.CodedOutputStream
10438 .computeBoolSize(6, useDepthFirstSearch_);
10440 if (java.lang.Double.doubleToRawLongBits(optimizationStep_) != 0) {
10441 size += com.google.protobuf.CodedOutputStream
10442 .computeDoubleSize(7, optimizationStep_);
10444 if (solutionLimit_ != 0L) {
10445 size += com.google.protobuf.CodedOutputStream
10446 .computeInt64Size(8, solutionLimit_);
10448 if (((bitField0_ & 0x00000008) != 0)) {
10449 size += com.google.protobuf.CodedOutputStream
10452 if (((bitField0_ & 0x00000010) != 0)) {
10453 size += com.google.protobuf.CodedOutputStream
10456 if (useFullPropagation_ !=
false) {
10457 size += com.google.protobuf.CodedOutputStream
10458 .computeBoolSize(11, useFullPropagation_);
10460 if (logSearch_ !=
false) {
10461 size += com.google.protobuf.CodedOutputStream
10462 .computeBoolSize(13, logSearch_);
10464 if (java.lang.Double.doubleToRawLongBits(savingsNeighborsRatio_) != 0) {
10465 size += com.google.protobuf.CodedOutputStream
10466 .computeDoubleSize(14, savingsNeighborsRatio_);
10468 if (savingsAddReverseArcs_ !=
false) {
10469 size += com.google.protobuf.CodedOutputStream
10470 .computeBoolSize(15, savingsAddReverseArcs_);
10472 if (java.lang.Double.doubleToRawLongBits(cheapestInsertionFarthestSeedsRatio_) != 0) {
10473 size += com.google.protobuf.CodedOutputStream
10474 .computeDoubleSize(16, cheapestInsertionFarthestSeedsRatio_);
10476 if (numberOfSolutionsToCollect_ != 0) {
10477 size += com.google.protobuf.CodedOutputStream
10478 .computeInt32Size(17, numberOfSolutionsToCollect_);
10480 if (java.lang.Double.doubleToRawLongBits(savingsArcCoefficient_) != 0) {
10481 size += com.google.protobuf.CodedOutputStream
10482 .computeDoubleSize(18, savingsArcCoefficient_);
10484 if (relocateExpensiveChainNumArcsToConsider_ != 0) {
10485 size += com.google.protobuf.CodedOutputStream
10486 .computeInt32Size(20, relocateExpensiveChainNumArcsToConsider_);
10488 if (java.lang.Double.doubleToRawLongBits(cheapestInsertionFirstSolutionNeighborsRatio_) != 0) {
10489 size += com.google.protobuf.CodedOutputStream
10490 .computeDoubleSize(21, cheapestInsertionFirstSolutionNeighborsRatio_);
10492 if (java.lang.Double.doubleToRawLongBits(logCostScalingFactor_) != 0) {
10493 size += com.google.protobuf.CodedOutputStream
10494 .computeDoubleSize(22, logCostScalingFactor_);
10496 if (java.lang.Double.doubleToRawLongBits(savingsMaxMemoryUsageBytes_) != 0) {
10497 size += com.google.protobuf.CodedOutputStream
10498 .computeDoubleSize(23, savingsMaxMemoryUsageBytes_);
10500 if (useCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
10501 size += com.google.protobuf.CodedOutputStream
10502 .computeEnumSize(27, useCpSat_);
10504 if (useCp_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
10505 size += com.google.protobuf.CodedOutputStream
10506 .computeEnumSize(28, useCp_);
10508 if (java.lang.Double.doubleToRawLongBits(logCostOffset_) != 0) {
10509 size += com.google.protobuf.CodedOutputStream
10510 .computeDoubleSize(29, logCostOffset_);
10512 if (christofidesUseMinimumMatching_ !=
false) {
10513 size += com.google.protobuf.CodedOutputStream
10514 .computeBoolSize(30, christofidesUseMinimumMatching_);
10516 if (java.lang.Double.doubleToRawLongBits(cheapestInsertionLsOperatorNeighborsRatio_) != 0) {
10517 size += com.google.protobuf.CodedOutputStream
10518 .computeDoubleSize(31, cheapestInsertionLsOperatorNeighborsRatio_);
10520 if (heuristicExpensiveChainLnsNumArcsToConsider_ != 0) {
10521 size += com.google.protobuf.CodedOutputStream
10522 .computeInt32Size(32, heuristicExpensiveChainLnsNumArcsToConsider_);
10524 if (continuousSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.SCHEDULING_UNSET.getNumber()) {
10525 size += com.google.protobuf.CodedOutputStream
10526 .computeEnumSize(33, continuousSchedulingSolver_);
10528 if (mixedIntegerSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.SCHEDULING_UNSET.getNumber()) {
10529 size += com.google.protobuf.CodedOutputStream
10530 .computeEnumSize(34, mixedIntegerSchedulingSolver_);
10532 if (heuristicCloseNodesLnsNumNodes_ != 0) {
10533 size += com.google.protobuf.CodedOutputStream
10534 .computeInt32Size(35, heuristicCloseNodesLnsNumNodes_);
10536 if (!com.google.protobuf.GeneratedMessage.isStringEmpty(logTag_)) {
10537 size += com.google.protobuf.GeneratedMessage.computeStringSize(36, logTag_);
10539 if (((bitField0_ & 0x00000020) != 0)) {
10540 size += com.google.protobuf.CodedOutputStream
10543 if (cheapestInsertionAddUnperformedEntries_ !=
false) {
10544 size += com.google.protobuf.CodedOutputStream
10545 .computeBoolSize(40, cheapestInsertionAddUnperformedEntries_);
10547 if (useMultiArmedBanditConcatenateOperators_ !=
false) {
10548 size += com.google.protobuf.CodedOutputStream
10549 .computeBoolSize(41, useMultiArmedBanditConcatenateOperators_);
10551 if (java.lang.Double.doubleToRawLongBits(multiArmedBanditCompoundOperatorMemoryCoefficient_) != 0) {
10552 size += com.google.protobuf.CodedOutputStream
10553 .computeDoubleSize(42, multiArmedBanditCompoundOperatorMemoryCoefficient_);
10555 if (java.lang.Double.doubleToRawLongBits(multiArmedBanditCompoundOperatorExplorationCoefficient_) != 0) {
10556 size += com.google.protobuf.CodedOutputStream
10557 .computeDoubleSize(43, multiArmedBanditCompoundOperatorExplorationCoefficient_);
10559 if (cheapestInsertionFirstSolutionMinNeighbors_ != 0) {
10560 size += com.google.protobuf.CodedOutputStream
10561 .computeInt32Size(44, cheapestInsertionFirstSolutionMinNeighbors_);
10563 if (cheapestInsertionLsOperatorMinNeighbors_ != 0) {
10564 size += com.google.protobuf.CodedOutputStream
10565 .computeInt32Size(45, cheapestInsertionLsOperatorMinNeighbors_);
10567 if (cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ !=
false) {
10568 size += com.google.protobuf.CodedOutputStream
10569 .computeBoolSize(46, cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_);
10571 if (useGeneralizedCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
10572 size += com.google.protobuf.CodedOutputStream
10573 .computeEnumSize(47, useGeneralizedCpSat_);
10575 if (((bitField0_ & 0x00000002) != 0)) {
10576 size += com.google.protobuf.CodedOutputStream
10579 if (localCheapestInsertionPickupDeliveryStrategy_ != com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy.AUTOMATIC.getNumber()) {
10580 size += com.google.protobuf.CodedOutputStream
10581 .computeEnumSize(49, localCheapestInsertionPickupDeliveryStrategy_);
10583 if (((bitField0_ & 0x00000004) != 0)) {
10584 size += com.google.protobuf.CodedOutputStream
10585 .computeBoolSize(50, disableSchedulingBewareThisMayDegradePerformance_);
10587 if (guidedLocalSearchResetPenaltiesOnNewBestSolution_ !=
false) {
10588 size += com.google.protobuf.CodedOutputStream
10589 .computeBoolSize(51, guidedLocalSearchResetPenaltiesOnNewBestSolution_);
10591 if (fallbackToCpSatSizeThreshold_ != 0) {
10592 size += com.google.protobuf.CodedOutputStream
10593 .computeInt32Size(52, fallbackToCpSatSizeThreshold_);
10595 if (java.lang.Double.doubleToRawLongBits(lsOperatorNeighborsRatio_) != 0) {
10596 size += com.google.protobuf.CodedOutputStream
10597 .computeDoubleSize(53, lsOperatorNeighborsRatio_);
10599 if (lsOperatorMinNeighbors_ != 0) {
10600 size += com.google.protobuf.CodedOutputStream
10601 .computeInt32Size(54, lsOperatorMinNeighbors_);
10603 if (localCheapestCostInsertionPickupDeliveryStrategy_ != com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy.AUTOMATIC.getNumber()) {
10604 size += com.google.protobuf.CodedOutputStream
10605 .computeEnumSize(55, localCheapestCostInsertionPickupDeliveryStrategy_);
10607 if (reportIntermediateCpSatSolutions_ !=
false) {
10608 size += com.google.protobuf.CodedOutputStream
10609 .computeBoolSize(56, reportIntermediateCpSatSolutions_);
10611 if (java.lang.Double.doubleToRawLongBits(secondaryLsTimeLimitRatio_) != 0) {
10612 size += com.google.protobuf.CodedOutputStream
10613 .computeDoubleSize(57, secondaryLsTimeLimitRatio_);
10615 if (useIteratedLocalSearch_ !=
false) {
10616 size += com.google.protobuf.CodedOutputStream
10617 .computeBoolSize(58, useIteratedLocalSearch_);
10619 if (firstSolutionOptimizationPeriod_ != 0) {
10620 size += com.google.protobuf.CodedOutputStream
10621 .computeInt32Size(59, firstSolutionOptimizationPeriod_);
10623 if (((bitField0_ & 0x00000040) != 0)) {
10624 size += com.google.protobuf.CodedOutputStream
10627 if (guidedLocalSearchPenalizeWithVehicleClasses_ !=
false) {
10628 size += com.google.protobuf.CodedOutputStream
10629 .computeBoolSize(61, guidedLocalSearchPenalizeWithVehicleClasses_);
10631 if (useGuidedLocalSearchPenaltiesInLocalSearchOperators_ !=
false) {
10632 size += com.google.protobuf.CodedOutputStream
10633 .computeBoolSize(62, useGuidedLocalSearchPenaltiesInLocalSearchOperators_);
10637 for (
int i = 0; i < localSearchMetaheuristics_.size(); i++) {
10638 dataSize += com.google.protobuf.CodedOutputStream
10639 .computeEnumSizeNoTag(localSearchMetaheuristics_.getInt(i));
10643 size += com.google.protobuf.CodedOutputStream
10644 .computeUInt32SizeNoTag(dataSize);
10645 }localSearchMetaheuristicsMemoizedSerializedSize = dataSize;
10647 if (numMaxLocalOptimaBeforeMetaheuristicSwitch_ != 0) {
10648 size += com.google.protobuf.CodedOutputStream
10649 .computeInt32Size(64, numMaxLocalOptimaBeforeMetaheuristicSwitch_);
10651 if (maxSwapActiveChainSize_ != 0) {
10652 size += com.google.protobuf.CodedOutputStream
10653 .computeInt32Size(66, maxSwapActiveChainSize_);
10657 for (
int i = 0; i < localCheapestInsertionSortingProperties_.size(); i++) {
10658 dataSize += com.google.protobuf.CodedOutputStream
10659 .computeEnumSizeNoTag(localCheapestInsertionSortingProperties_.getInt(i));
10663 size += com.google.protobuf.CodedOutputStream
10664 .computeUInt32SizeNoTag(dataSize);
10665 }localCheapestInsertionSortingPropertiesMemoizedSerializedSize = dataSize;
10667 size += getUnknownFields().getSerializedSize();
10668 memoizedSize = size;
10672 @java.lang.Override
10673 public boolean equals(
final java.lang.Object obj) {
10677 if (!(obj instanceof com.google.ortools.constraintsolver.RoutingSearchParameters)) {
10678 return super.equals(obj);
10682 if (firstSolutionStrategy_ != other.firstSolutionStrategy_)
return false;
10686 != java.lang.Double.doubleToLongBits(
10689 != java.lang.Double.doubleToLongBits(
10694 != java.lang.Double.doubleToLongBits(
10697 != java.lang.Double.doubleToLongBits(
10700 != java.lang.Double.doubleToLongBits(
10705 != java.lang.Double.doubleToLongBits(
10713 if (localCheapestInsertionPickupDeliveryStrategy_ != other.localCheapestInsertionPickupDeliveryStrategy_)
return false;
10714 if (localCheapestCostInsertionPickupDeliveryStrategy_ != other.localCheapestCostInsertionPickupDeliveryStrategy_)
return false;
10715 if (!localCheapestInsertionSortingProperties_.equals(other.localCheapestInsertionSortingProperties_))
return false;
10726 != java.lang.Double.doubleToLongBits(
10733 != java.lang.Double.doubleToLongBits(
10736 != java.lang.Double.doubleToLongBits(
10746 if (localSearchMetaheuristic_ != other.localSearchMetaheuristic_)
return false;
10747 if (!localSearchMetaheuristics_.equals(other.localSearchMetaheuristics_))
return false;
10751 != java.lang.Double.doubleToLongBits(
10761 if (useCp_ != other.useCp_)
return false;
10762 if (useCpSat_ != other.useCpSat_)
return false;
10763 if (useGeneralizedCpSat_ != other.useGeneralizedCpSat_)
return false;
10773 if (continuousSchedulingSolver_ != other.continuousSchedulingSolver_)
return false;
10774 if (mixedIntegerSchedulingSolver_ != other.mixedIntegerSchedulingSolver_)
return false;
10781 != java.lang.Double.doubleToLongBits(
10798 != java.lang.Double.doubleToLongBits(
10810 != java.lang.Double.doubleToLongBits(
10813 != java.lang.Double.doubleToLongBits(
10824 if (!getUnknownFields().
equals(other.getUnknownFields()))
return false;
10828 @java.lang.Override
10830 if (memoizedHashCode != 0) {
10831 return memoizedHashCode;
10836 hash = (53 * hash) + firstSolutionStrategy_;
10838 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10841 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10844 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10847 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10850 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10853 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10856 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10861 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10866 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10869 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10872 hash = (53 * hash) + localCheapestInsertionPickupDeliveryStrategy_;
10874 hash = (53 * hash) + localCheapestCostInsertionPickupDeliveryStrategy_;
10877 hash = (53 * hash) + localCheapestInsertionSortingProperties_.hashCode();
10880 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10889 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10894 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10897 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10900 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10911 hash = (53 * hash) + localSearchMetaheuristic_;
10914 hash = (53 * hash) + localSearchMetaheuristics_.hashCode();
10919 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10922 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10925 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10928 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10931 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10934 hash = (53 * hash) + useCp_;
10936 hash = (53 * hash) + useCpSat_;
10938 hash = (53 * hash) + useGeneralizedCpSat_;
10944 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10949 hash = (53 * hash) + continuousSchedulingSolver_;
10951 hash = (53 * hash) + mixedIntegerSchedulingSolver_;
10954 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10958 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10963 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10974 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10981 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10984 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10987 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10990 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10993 hash = (53 * hash) +
getLogTag().hashCode();
10995 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
11001 hash = (29 * hash) + getUnknownFields().hashCode();
11002 memoizedHashCode = hash;
11007 java.nio.ByteBuffer data)
11008 throws com.google.protobuf.InvalidProtocolBufferException {
11009 return PARSER.parseFrom(data);
11012 java.nio.ByteBuffer data,
11013 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11014 throws com.google.protobuf.InvalidProtocolBufferException {
11015 return PARSER.parseFrom(data, extensionRegistry);
11018 com.google.protobuf.ByteString data)
11019 throws com.google.protobuf.InvalidProtocolBufferException {
11020 return PARSER.parseFrom(data);
11023 com.google.protobuf.ByteString data,
11024 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11025 throws com.google.protobuf.InvalidProtocolBufferException {
11026 return PARSER.parseFrom(data, extensionRegistry);
11029 throws com.google.protobuf.InvalidProtocolBufferException {
11030 return PARSER.parseFrom(data);
11034 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11035 throws com.google.protobuf.InvalidProtocolBufferException {
11036 return PARSER.parseFrom(data, extensionRegistry);
11039 throws java.io.IOException {
11040 return com.google.protobuf.GeneratedMessage
11041 .parseWithIOException(PARSER, input);
11044 java.io.InputStream input,
11045 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11046 throws java.io.IOException {
11047 return com.google.protobuf.GeneratedMessage
11048 .parseWithIOException(PARSER, input, extensionRegistry);
11052 throws java.io.IOException {
11053 return com.google.protobuf.GeneratedMessage
11054 .parseDelimitedWithIOException(PARSER, input);
11058 java.io.InputStream input,
11059 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11060 throws java.io.IOException {
11061 return com.google.protobuf.GeneratedMessage
11062 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
11065 com.google.protobuf.CodedInputStream input)
11066 throws java.io.IOException {
11067 return com.google.protobuf.GeneratedMessage
11068 .parseWithIOException(PARSER, input);
11071 com.google.protobuf.CodedInputStream input,
11072 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11073 throws java.io.IOException {
11074 return com.google.protobuf.GeneratedMessage
11075 .parseWithIOException(PARSER, input, extensionRegistry);
11078 @java.lang.Override
11081 return DEFAULT_INSTANCE.toBuilder();
11083 public static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters prototype) {
11084 return DEFAULT_INSTANCE.toBuilder().
mergeFrom(prototype);
11086 @java.lang.Override
11088 return this == DEFAULT_INSTANCE
11092 @java.lang.Override
11094 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
11111 public static final class Builder
extends
11112 com.google.protobuf.GeneratedMessage.Builder<Builder> implements
11115 public static final com.google.protobuf.Descriptors.Descriptor
11117 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
11120 @java.lang.Override
11121 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
11123 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_fieldAccessorTable
11124 .ensureFieldAccessorsInitialized(
11125 com.google.ortools.constraintsolver.RoutingSearchParameters.class, com.google.ortools.constraintsolver.RoutingSearchParameters.Builder.class);
11130 maybeForceBuilderInitialization();
11134 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
11136 maybeForceBuilderInitialization();
11138 private void maybeForceBuilderInitialization() {
11139 if (com.google.protobuf.GeneratedMessage
11140 .alwaysUseFieldBuilders) {
11141 internalGetLocalSearchOperatorsFieldBuilder();
11142 internalGetSatParametersFieldBuilder();
11143 internalGetTimeLimitFieldBuilder();
11144 internalGetLnsTimeLimitFieldBuilder();
11145 internalGetImprovementLimitParametersFieldBuilder();
11146 internalGetIteratedLocalSearchParametersFieldBuilder();
11149 @java.lang.Override
11154 firstSolutionStrategy_ = 0;
11155 useUnfilteredFirstSolutionStrategy_ =
false;
11156 savingsNeighborsRatio_ = 0D;
11157 savingsMaxMemoryUsageBytes_ = 0D;
11158 savingsAddReverseArcs_ =
false;
11159 savingsArcCoefficient_ = 0D;
11160 cheapestInsertionFarthestSeedsRatio_ = 0D;
11161 cheapestInsertionFirstSolutionNeighborsRatio_ = 0D;
11162 cheapestInsertionFirstSolutionMinNeighbors_ = 0;
11163 cheapestInsertionLsOperatorNeighborsRatio_ = 0D;
11164 cheapestInsertionLsOperatorMinNeighbors_ = 0;
11165 cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ =
false;
11166 cheapestInsertionAddUnperformedEntries_ =
false;
11167 localCheapestInsertionPickupDeliveryStrategy_ = 0;
11168 localCheapestCostInsertionPickupDeliveryStrategy_ = 0;
11169 localCheapestInsertionSortingProperties_ = emptyIntList();
11170 christofidesUseMinimumMatching_ =
false;
11171 firstSolutionOptimizationPeriod_ = 0;
11172 localSearchOperators_ =
null;
11173 if (localSearchOperatorsBuilder_ !=
null) {
11174 localSearchOperatorsBuilder_.dispose();
11175 localSearchOperatorsBuilder_ =
null;
11177 lsOperatorNeighborsRatio_ = 0D;
11178 lsOperatorMinNeighbors_ = 0;
11179 useMultiArmedBanditConcatenateOperators_ =
false;
11180 multiArmedBanditCompoundOperatorMemoryCoefficient_ = 0D;
11181 multiArmedBanditCompoundOperatorExplorationCoefficient_ = 0D;
11182 maxSwapActiveChainSize_ = 0;
11183 relocateExpensiveChainNumArcsToConsider_ = 0;
11184 heuristicExpensiveChainLnsNumArcsToConsider_ = 0;
11185 heuristicCloseNodesLnsNumNodes_ = 0;
11186 localSearchMetaheuristic_ = 0;
11187 localSearchMetaheuristics_ = emptyIntList();
11188 numMaxLocalOptimaBeforeMetaheuristicSwitch_ = 0;
11189 guidedLocalSearchLambdaCoefficient_ = 0D;
11190 guidedLocalSearchResetPenaltiesOnNewBestSolution_ =
false;
11191 guidedLocalSearchPenalizeWithVehicleClasses_ =
false;
11192 useGuidedLocalSearchPenaltiesInLocalSearchOperators_ =
false;
11193 useDepthFirstSearch_ =
false;
11196 useGeneralizedCpSat_ = 0;
11197 satParameters_ =
null;
11198 if (satParametersBuilder_ !=
null) {
11199 satParametersBuilder_.dispose();
11200 satParametersBuilder_ =
null;
11202 reportIntermediateCpSatSolutions_ =
false;
11203 fallbackToCpSatSizeThreshold_ = 0;
11204 continuousSchedulingSolver_ = 0;
11205 mixedIntegerSchedulingSolver_ = 0;
11206 disableSchedulingBewareThisMayDegradePerformance_ =
false;
11207 optimizationStep_ = 0D;
11208 numberOfSolutionsToCollect_ = 0;
11209 solutionLimit_ = 0L;
11211 if (timeLimitBuilder_ !=
null) {
11212 timeLimitBuilder_.dispose();
11213 timeLimitBuilder_ =
null;
11215 lnsTimeLimit_ =
null;
11216 if (lnsTimeLimitBuilder_ !=
null) {
11217 lnsTimeLimitBuilder_.dispose();
11218 lnsTimeLimitBuilder_ =
null;
11220 secondaryLsTimeLimitRatio_ = 0D;
11221 improvementLimitParameters_ =
null;
11222 if (improvementLimitParametersBuilder_ !=
null) {
11223 improvementLimitParametersBuilder_.dispose();
11224 improvementLimitParametersBuilder_ =
null;
11226 useFullPropagation_ =
false;
11227 logSearch_ =
false;
11228 logCostScalingFactor_ = 0D;
11229 logCostOffset_ = 0D;
11231 useIteratedLocalSearch_ =
false;
11232 iteratedLocalSearchParameters_ =
null;
11233 if (iteratedLocalSearchParametersBuilder_ !=
null) {
11234 iteratedLocalSearchParametersBuilder_.dispose();
11235 iteratedLocalSearchParametersBuilder_ =
null;
11240 @java.lang.Override
11241 public com.google.protobuf.Descriptors.Descriptor
11243 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
11246 @java.lang.Override
11248 return com.google.ortools.constraintsolver.RoutingSearchParameters.getDefaultInstance();
11251 @java.lang.Override
11255 throw newUninitializedMessageException(result);
11260 @java.lang.Override
11263 if (bitField0_ != 0) { buildPartial0(result); }
11264 if (bitField1_ != 0) { buildPartial1(result); }
11269 private void buildPartial0(com.google.ortools.constraintsolver.RoutingSearchParameters result) {
11270 int from_bitField0_ = bitField0_;
11271 if (((from_bitField0_ & 0x00000001) != 0)) {
11272 result.firstSolutionStrategy_ = firstSolutionStrategy_;
11274 if (((from_bitField0_ & 0x00000002) != 0)) {
11275 result.useUnfilteredFirstSolutionStrategy_ = useUnfilteredFirstSolutionStrategy_;
11277 if (((from_bitField0_ & 0x00000004) != 0)) {
11278 result.savingsNeighborsRatio_ = savingsNeighborsRatio_;
11280 if (((from_bitField0_ & 0x00000008) != 0)) {
11281 result.savingsMaxMemoryUsageBytes_ = savingsMaxMemoryUsageBytes_;
11283 if (((from_bitField0_ & 0x00000010) != 0)) {
11284 result.savingsAddReverseArcs_ = savingsAddReverseArcs_;
11286 if (((from_bitField0_ & 0x00000020) != 0)) {
11287 result.savingsArcCoefficient_ = savingsArcCoefficient_;
11289 if (((from_bitField0_ & 0x00000040) != 0)) {
11290 result.cheapestInsertionFarthestSeedsRatio_ = cheapestInsertionFarthestSeedsRatio_;
11292 if (((from_bitField0_ & 0x00000080) != 0)) {
11293 result.cheapestInsertionFirstSolutionNeighborsRatio_ = cheapestInsertionFirstSolutionNeighborsRatio_;
11295 if (((from_bitField0_ & 0x00000100) != 0)) {
11296 result.cheapestInsertionFirstSolutionMinNeighbors_ = cheapestInsertionFirstSolutionMinNeighbors_;
11298 if (((from_bitField0_ & 0x00000200) != 0)) {
11299 result.cheapestInsertionLsOperatorNeighborsRatio_ = cheapestInsertionLsOperatorNeighborsRatio_;
11301 if (((from_bitField0_ & 0x00000400) != 0)) {
11302 result.cheapestInsertionLsOperatorMinNeighbors_ = cheapestInsertionLsOperatorMinNeighbors_;
11304 if (((from_bitField0_ & 0x00000800) != 0)) {
11305 result.cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ = cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_;
11307 if (((from_bitField0_ & 0x00001000) != 0)) {
11308 result.cheapestInsertionAddUnperformedEntries_ = cheapestInsertionAddUnperformedEntries_;
11310 if (((from_bitField0_ & 0x00002000) != 0)) {
11311 result.localCheapestInsertionPickupDeliveryStrategy_ = localCheapestInsertionPickupDeliveryStrategy_;
11313 if (((from_bitField0_ & 0x00004000) != 0)) {
11314 result.localCheapestCostInsertionPickupDeliveryStrategy_ = localCheapestCostInsertionPickupDeliveryStrategy_;
11316 if (((from_bitField0_ & 0x00008000) != 0)) {
11317 localCheapestInsertionSortingProperties_.makeImmutable();
11318 result.localCheapestInsertionSortingProperties_ = localCheapestInsertionSortingProperties_;
11320 if (((from_bitField0_ & 0x00010000) != 0)) {
11321 result.christofidesUseMinimumMatching_ = christofidesUseMinimumMatching_;
11323 if (((from_bitField0_ & 0x00020000) != 0)) {
11324 result.firstSolutionOptimizationPeriod_ = firstSolutionOptimizationPeriod_;
11326 int to_bitField0_ = 0;
11327 if (((from_bitField0_ & 0x00040000) != 0)) {
11328 result.localSearchOperators_ = localSearchOperatorsBuilder_ ==
null
11329 ? localSearchOperators_
11330 : localSearchOperatorsBuilder_.build();
11331 to_bitField0_ |= 0x00000001;
11333 if (((from_bitField0_ & 0x00080000) != 0)) {
11334 result.lsOperatorNeighborsRatio_ = lsOperatorNeighborsRatio_;
11336 if (((from_bitField0_ & 0x00100000) != 0)) {
11337 result.lsOperatorMinNeighbors_ = lsOperatorMinNeighbors_;
11339 if (((from_bitField0_ & 0x00200000) != 0)) {
11340 result.useMultiArmedBanditConcatenateOperators_ = useMultiArmedBanditConcatenateOperators_;
11342 if (((from_bitField0_ & 0x00400000) != 0)) {
11343 result.multiArmedBanditCompoundOperatorMemoryCoefficient_ = multiArmedBanditCompoundOperatorMemoryCoefficient_;
11345 if (((from_bitField0_ & 0x00800000) != 0)) {
11346 result.multiArmedBanditCompoundOperatorExplorationCoefficient_ = multiArmedBanditCompoundOperatorExplorationCoefficient_;
11348 if (((from_bitField0_ & 0x01000000) != 0)) {
11349 result.maxSwapActiveChainSize_ = maxSwapActiveChainSize_;
11351 if (((from_bitField0_ & 0x02000000) != 0)) {
11352 result.relocateExpensiveChainNumArcsToConsider_ = relocateExpensiveChainNumArcsToConsider_;
11354 if (((from_bitField0_ & 0x04000000) != 0)) {
11355 result.heuristicExpensiveChainLnsNumArcsToConsider_ = heuristicExpensiveChainLnsNumArcsToConsider_;
11357 if (((from_bitField0_ & 0x08000000) != 0)) {
11358 result.heuristicCloseNodesLnsNumNodes_ = heuristicCloseNodesLnsNumNodes_;
11360 if (((from_bitField0_ & 0x10000000) != 0)) {
11361 result.localSearchMetaheuristic_ = localSearchMetaheuristic_;
11363 if (((from_bitField0_ & 0x20000000) != 0)) {
11364 localSearchMetaheuristics_.makeImmutable();
11365 result.localSearchMetaheuristics_ = localSearchMetaheuristics_;
11367 if (((from_bitField0_ & 0x40000000) != 0)) {
11368 result.numMaxLocalOptimaBeforeMetaheuristicSwitch_ = numMaxLocalOptimaBeforeMetaheuristicSwitch_;
11370 if (((from_bitField0_ & 0x80000000) != 0)) {
11371 result.guidedLocalSearchLambdaCoefficient_ = guidedLocalSearchLambdaCoefficient_;
11373 result.bitField0_ |= to_bitField0_;
11376 private void buildPartial1(com.google.ortools.constraintsolver.RoutingSearchParameters result) {
11377 int from_bitField1_ = bitField1_;
11378 if (((from_bitField1_ & 0x00000001) != 0)) {
11379 result.guidedLocalSearchResetPenaltiesOnNewBestSolution_ = guidedLocalSearchResetPenaltiesOnNewBestSolution_;
11381 if (((from_bitField1_ & 0x00000002) != 0)) {
11382 result.guidedLocalSearchPenalizeWithVehicleClasses_ = guidedLocalSearchPenalizeWithVehicleClasses_;
11384 if (((from_bitField1_ & 0x00000004) != 0)) {
11385 result.useGuidedLocalSearchPenaltiesInLocalSearchOperators_ = useGuidedLocalSearchPenaltiesInLocalSearchOperators_;
11387 if (((from_bitField1_ & 0x00000008) != 0)) {
11388 result.useDepthFirstSearch_ = useDepthFirstSearch_;
11390 if (((from_bitField1_ & 0x00000010) != 0)) {
11391 result.useCp_ = useCp_;
11393 if (((from_bitField1_ & 0x00000020) != 0)) {
11394 result.useCpSat_ = useCpSat_;
11396 if (((from_bitField1_ & 0x00000040) != 0)) {
11397 result.useGeneralizedCpSat_ = useGeneralizedCpSat_;
11399 int to_bitField0_ = 0;
11400 if (((from_bitField1_ & 0x00000080) != 0)) {
11401 result.satParameters_ = satParametersBuilder_ ==
null
11403 : satParametersBuilder_.build();
11404 to_bitField0_ |= 0x00000002;
11406 if (((from_bitField1_ & 0x00000100) != 0)) {
11407 result.reportIntermediateCpSatSolutions_ = reportIntermediateCpSatSolutions_;
11409 if (((from_bitField1_ & 0x00000200) != 0)) {
11410 result.fallbackToCpSatSizeThreshold_ = fallbackToCpSatSizeThreshold_;
11412 if (((from_bitField1_ & 0x00000400) != 0)) {
11413 result.continuousSchedulingSolver_ = continuousSchedulingSolver_;
11415 if (((from_bitField1_ & 0x00000800) != 0)) {
11416 result.mixedIntegerSchedulingSolver_ = mixedIntegerSchedulingSolver_;
11418 if (((from_bitField1_ & 0x00001000) != 0)) {
11419 result.disableSchedulingBewareThisMayDegradePerformance_ = disableSchedulingBewareThisMayDegradePerformance_;
11420 to_bitField0_ |= 0x00000004;
11422 if (((from_bitField1_ & 0x00002000) != 0)) {
11423 result.optimizationStep_ = optimizationStep_;
11425 if (((from_bitField1_ & 0x00004000) != 0)) {
11426 result.numberOfSolutionsToCollect_ = numberOfSolutionsToCollect_;
11428 if (((from_bitField1_ & 0x00008000) != 0)) {
11429 result.solutionLimit_ = solutionLimit_;
11431 if (((from_bitField1_ & 0x00010000) != 0)) {
11432 result.timeLimit_ = timeLimitBuilder_ ==
null
11434 : timeLimitBuilder_.build();
11435 to_bitField0_ |= 0x00000008;
11437 if (((from_bitField1_ & 0x00020000) != 0)) {
11438 result.lnsTimeLimit_ = lnsTimeLimitBuilder_ ==
null
11440 : lnsTimeLimitBuilder_.build();
11441 to_bitField0_ |= 0x00000010;
11443 if (((from_bitField1_ & 0x00040000) != 0)) {
11444 result.secondaryLsTimeLimitRatio_ = secondaryLsTimeLimitRatio_;
11446 if (((from_bitField1_ & 0x00080000) != 0)) {
11447 result.improvementLimitParameters_ = improvementLimitParametersBuilder_ ==
null
11448 ? improvementLimitParameters_
11449 : improvementLimitParametersBuilder_.build();
11450 to_bitField0_ |= 0x00000020;
11452 if (((from_bitField1_ & 0x00100000) != 0)) {
11453 result.useFullPropagation_ = useFullPropagation_;
11455 if (((from_bitField1_ & 0x00200000) != 0)) {
11456 result.logSearch_ = logSearch_;
11458 if (((from_bitField1_ & 0x00400000) != 0)) {
11459 result.logCostScalingFactor_ = logCostScalingFactor_;
11461 if (((from_bitField1_ & 0x00800000) != 0)) {
11462 result.logCostOffset_ = logCostOffset_;
11464 if (((from_bitField1_ & 0x01000000) != 0)) {
11465 result.logTag_ = logTag_;
11467 if (((from_bitField1_ & 0x02000000) != 0)) {
11468 result.useIteratedLocalSearch_ = useIteratedLocalSearch_;
11470 if (((from_bitField1_ & 0x04000000) != 0)) {
11471 result.iteratedLocalSearchParameters_ = iteratedLocalSearchParametersBuilder_ ==
null
11472 ? iteratedLocalSearchParameters_
11473 : iteratedLocalSearchParametersBuilder_.build();
11474 to_bitField0_ |= 0x00000040;
11476 result.bitField0_ |= to_bitField0_;
11479 @java.lang.Override
11481 if (other instanceof com.google.ortools.constraintsolver.RoutingSearchParameters) {
11482 return mergeFrom((com.google.ortools.constraintsolver.RoutingSearchParameters)other);
11484 super.mergeFrom(other);
11489 public Builder
mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters other) {
11490 if (other == com.google.ortools.constraintsolver.RoutingSearchParameters.getDefaultInstance())
return this;
11491 if (other.firstSolutionStrategy_ != 0) {
11494 if (other.getUseUnfilteredFirstSolutionStrategy() !=
false) {
11497 if (java.lang.Double.doubleToRawLongBits(other.getSavingsNeighborsRatio()) != 0) {
11500 if (java.lang.Double.doubleToRawLongBits(other.getSavingsMaxMemoryUsageBytes()) != 0) {
11503 if (other.getSavingsAddReverseArcs() !=
false) {
11506 if (java.lang.Double.doubleToRawLongBits(other.getSavingsArcCoefficient()) != 0) {
11509 if (java.lang.Double.doubleToRawLongBits(other.getCheapestInsertionFarthestSeedsRatio()) != 0) {
11512 if (java.lang.Double.doubleToRawLongBits(other.getCheapestInsertionFirstSolutionNeighborsRatio()) != 0) {
11515 if (other.getCheapestInsertionFirstSolutionMinNeighbors() != 0) {
11518 if (java.lang.Double.doubleToRawLongBits(other.getCheapestInsertionLsOperatorNeighborsRatio()) != 0) {
11521 if (other.getCheapestInsertionLsOperatorMinNeighbors() != 0) {
11524 if (other.getCheapestInsertionFirstSolutionUseNeighborsRatioForInitialization() !=
false) {
11527 if (other.getCheapestInsertionAddUnperformedEntries() !=
false) {
11530 if (other.localCheapestInsertionPickupDeliveryStrategy_ != 0) {
11533 if (other.localCheapestCostInsertionPickupDeliveryStrategy_ != 0) {
11536 if (!other.localCheapestInsertionSortingProperties_.isEmpty()) {
11537 if (localCheapestInsertionSortingProperties_.isEmpty()) {
11538 localCheapestInsertionSortingProperties_ = other.localCheapestInsertionSortingProperties_;
11539 localCheapestInsertionSortingProperties_.makeImmutable();
11540 bitField0_ |= 0x00008000;
11542 ensureLocalCheapestInsertionSortingPropertiesIsMutable();
11543 localCheapestInsertionSortingProperties_.addAll(other.localCheapestInsertionSortingProperties_);
11547 if (other.getChristofidesUseMinimumMatching() !=
false) {
11550 if (other.getFirstSolutionOptimizationPeriod() != 0) {
11553 if (other.hasLocalSearchOperators()) {
11556 if (java.lang.Double.doubleToRawLongBits(other.getLsOperatorNeighborsRatio()) != 0) {
11559 if (other.getLsOperatorMinNeighbors() != 0) {
11562 if (other.getUseMultiArmedBanditConcatenateOperators() !=
false) {
11565 if (java.lang.Double.doubleToRawLongBits(other.getMultiArmedBanditCompoundOperatorMemoryCoefficient()) != 0) {
11568 if (java.lang.Double.doubleToRawLongBits(other.getMultiArmedBanditCompoundOperatorExplorationCoefficient()) != 0) {
11571 if (other.getMaxSwapActiveChainSize() != 0) {
11574 if (other.getRelocateExpensiveChainNumArcsToConsider() != 0) {
11577 if (other.getHeuristicExpensiveChainLnsNumArcsToConsider() != 0) {
11580 if (other.getHeuristicCloseNodesLnsNumNodes() != 0) {
11583 if (other.localSearchMetaheuristic_ != 0) {
11586 if (!other.localSearchMetaheuristics_.isEmpty()) {
11587 if (localSearchMetaheuristics_.isEmpty()) {
11588 localSearchMetaheuristics_ = other.localSearchMetaheuristics_;
11589 localSearchMetaheuristics_.makeImmutable();
11590 bitField0_ |= 0x20000000;
11592 ensureLocalSearchMetaheuristicsIsMutable();
11593 localSearchMetaheuristics_.addAll(other.localSearchMetaheuristics_);
11597 if (other.getNumMaxLocalOptimaBeforeMetaheuristicSwitch() != 0) {
11600 if (java.lang.Double.doubleToRawLongBits(other.getGuidedLocalSearchLambdaCoefficient()) != 0) {
11603 if (other.getGuidedLocalSearchResetPenaltiesOnNewBestSolution() !=
false) {
11606 if (other.getGuidedLocalSearchPenalizeWithVehicleClasses() !=
false) {
11609 if (other.getUseGuidedLocalSearchPenaltiesInLocalSearchOperators() !=
false) {
11612 if (other.getUseDepthFirstSearch() !=
false) {
11615 if (other.useCp_ != 0) {
11618 if (other.useCpSat_ != 0) {
11621 if (other.useGeneralizedCpSat_ != 0) {
11624 if (other.hasSatParameters()) {
11627 if (other.getReportIntermediateCpSatSolutions() !=
false) {
11630 if (other.getFallbackToCpSatSizeThreshold() != 0) {
11633 if (other.continuousSchedulingSolver_ != 0) {
11636 if (other.mixedIntegerSchedulingSolver_ != 0) {
11639 if (other.hasDisableSchedulingBewareThisMayDegradePerformance()) {
11642 if (java.lang.Double.doubleToRawLongBits(other.getOptimizationStep()) != 0) {
11645 if (other.getNumberOfSolutionsToCollect() != 0) {
11648 if (other.getSolutionLimit() != 0L) {
11651 if (other.hasTimeLimit()) {
11654 if (other.hasLnsTimeLimit()) {
11657 if (java.lang.Double.doubleToRawLongBits(other.getSecondaryLsTimeLimitRatio()) != 0) {
11660 if (other.hasImprovementLimitParameters()) {
11663 if (other.getUseFullPropagation() !=
false) {
11666 if (other.getLogSearch() !=
false) {
11669 if (java.lang.Double.doubleToRawLongBits(other.getLogCostScalingFactor()) != 0) {
11672 if (java.lang.Double.doubleToRawLongBits(other.getLogCostOffset()) != 0) {
11675 if (!other.getLogTag().isEmpty()) {
11676 logTag_ = other.logTag_;
11677 bitField1_ |= 0x01000000;
11680 if (other.getUseIteratedLocalSearch() !=
false) {
11683 if (other.hasIteratedLocalSearchParameters()) {
11686 this.mergeUnknownFields(other.getUnknownFields());
11691 @java.lang.Override
11696 @java.lang.Override
11698 com.google.protobuf.CodedInputStream input,
11699 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11700 throws java.io.IOException {
11701 if (extensionRegistry ==
null) {
11702 throw new java.lang.NullPointerException();
11705 boolean done =
false;
11707 int tag = input.readTag();
11713 firstSolutionStrategy_ = input.readEnum();
11714 bitField0_ |= 0x00000001;
11718 useUnfilteredFirstSolutionStrategy_ = input.readBool();
11719 bitField0_ |= 0x00000002;
11724 internalGetLocalSearchOperatorsFieldBuilder().getBuilder(),
11725 extensionRegistry);
11726 bitField0_ |= 0x00040000;
11730 localSearchMetaheuristic_ = input.readEnum();
11731 bitField0_ |= 0x10000000;
11735 guidedLocalSearchLambdaCoefficient_ = input.readDouble();
11736 bitField0_ |= 0x80000000;
11740 useDepthFirstSearch_ = input.readBool();
11741 bitField1_ |= 0x00000008;
11745 optimizationStep_ = input.readDouble();
11746 bitField1_ |= 0x00002000;
11750 solutionLimit_ = input.readInt64();
11751 bitField1_ |= 0x00008000;
11756 internalGetTimeLimitFieldBuilder().getBuilder(),
11757 extensionRegistry);
11758 bitField1_ |= 0x00010000;
11763 internalGetLnsTimeLimitFieldBuilder().getBuilder(),
11764 extensionRegistry);
11765 bitField1_ |= 0x00020000;
11769 useFullPropagation_ = input.readBool();
11770 bitField1_ |= 0x00100000;
11774 logSearch_ = input.readBool();
11775 bitField1_ |= 0x00200000;
11779 savingsNeighborsRatio_ = input.readDouble();
11780 bitField0_ |= 0x00000004;
11784 savingsAddReverseArcs_ = input.readBool();
11785 bitField0_ |= 0x00000010;
11789 cheapestInsertionFarthestSeedsRatio_ = input.readDouble();
11790 bitField0_ |= 0x00000040;
11794 numberOfSolutionsToCollect_ = input.readInt32();
11795 bitField1_ |= 0x00004000;
11799 savingsArcCoefficient_ = input.readDouble();
11800 bitField0_ |= 0x00000020;
11804 relocateExpensiveChainNumArcsToConsider_ = input.readInt32();
11805 bitField0_ |= 0x02000000;
11809 cheapestInsertionFirstSolutionNeighborsRatio_ = input.readDouble();
11810 bitField0_ |= 0x00000080;
11814 logCostScalingFactor_ = input.readDouble();
11815 bitField1_ |= 0x00400000;
11819 savingsMaxMemoryUsageBytes_ = input.readDouble();
11820 bitField0_ |= 0x00000008;
11824 useCpSat_ = input.readEnum();
11825 bitField1_ |= 0x00000020;
11829 useCp_ = input.readEnum();
11830 bitField1_ |= 0x00000010;
11834 logCostOffset_ = input.readDouble();
11835 bitField1_ |= 0x00800000;
11839 christofidesUseMinimumMatching_ = input.readBool();
11840 bitField0_ |= 0x00010000;
11844 cheapestInsertionLsOperatorNeighborsRatio_ = input.readDouble();
11845 bitField0_ |= 0x00000200;
11849 heuristicExpensiveChainLnsNumArcsToConsider_ = input.readInt32();
11850 bitField0_ |= 0x04000000;
11854 continuousSchedulingSolver_ = input.readEnum();
11855 bitField1_ |= 0x00000400;
11859 mixedIntegerSchedulingSolver_ = input.readEnum();
11860 bitField1_ |= 0x00000800;
11864 heuristicCloseNodesLnsNumNodes_ = input.readInt32();
11865 bitField0_ |= 0x08000000;
11869 logTag_ = input.readStringRequireUtf8();
11870 bitField1_ |= 0x01000000;
11875 internalGetImprovementLimitParametersFieldBuilder().getBuilder(),
11876 extensionRegistry);
11877 bitField1_ |= 0x00080000;
11881 cheapestInsertionAddUnperformedEntries_ = input.readBool();
11882 bitField0_ |= 0x00001000;
11886 useMultiArmedBanditConcatenateOperators_ = input.readBool();
11887 bitField0_ |= 0x00200000;
11891 multiArmedBanditCompoundOperatorMemoryCoefficient_ = input.readDouble();
11892 bitField0_ |= 0x00400000;
11896 multiArmedBanditCompoundOperatorExplorationCoefficient_ = input.readDouble();
11897 bitField0_ |= 0x00800000;
11901 cheapestInsertionFirstSolutionMinNeighbors_ = input.readInt32();
11902 bitField0_ |= 0x00000100;
11906 cheapestInsertionLsOperatorMinNeighbors_ = input.readInt32();
11907 bitField0_ |= 0x00000400;
11911 cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ = input.readBool();
11912 bitField0_ |= 0x00000800;
11916 useGeneralizedCpSat_ = input.readEnum();
11917 bitField1_ |= 0x00000040;
11922 internalGetSatParametersFieldBuilder().getBuilder(),
11923 extensionRegistry);
11924 bitField1_ |= 0x00000080;
11928 localCheapestInsertionPickupDeliveryStrategy_ = input.readEnum();
11929 bitField0_ |= 0x00002000;
11933 disableSchedulingBewareThisMayDegradePerformance_ = input.readBool();
11934 bitField1_ |= 0x00001000;
11938 guidedLocalSearchResetPenaltiesOnNewBestSolution_ = input.readBool();
11939 bitField1_ |= 0x00000001;
11943 fallbackToCpSatSizeThreshold_ = input.readInt32();
11944 bitField1_ |= 0x00000200;
11948 lsOperatorNeighborsRatio_ = input.readDouble();
11949 bitField0_ |= 0x00080000;
11953 lsOperatorMinNeighbors_ = input.readInt32();
11954 bitField0_ |= 0x00100000;
11958 localCheapestCostInsertionPickupDeliveryStrategy_ = input.readEnum();
11959 bitField0_ |= 0x00004000;
11963 reportIntermediateCpSatSolutions_ = input.readBool();
11964 bitField1_ |= 0x00000100;
11968 secondaryLsTimeLimitRatio_ = input.readDouble();
11969 bitField1_ |= 0x00040000;
11973 useIteratedLocalSearch_ = input.readBool();
11974 bitField1_ |= 0x02000000;
11978 firstSolutionOptimizationPeriod_ = input.readInt32();
11979 bitField0_ |= 0x00020000;
11984 internalGetIteratedLocalSearchParametersFieldBuilder().getBuilder(),
11985 extensionRegistry);
11986 bitField1_ |= 0x04000000;
11990 guidedLocalSearchPenalizeWithVehicleClasses_ = input.readBool();
11991 bitField1_ |= 0x00000002;
11995 useGuidedLocalSearchPenaltiesInLocalSearchOperators_ = input.readBool();
11996 bitField1_ |= 0x00000004;
12000 int tmpRaw = input.readEnum();
12001 ensureLocalSearchMetaheuristicsIsMutable();
12002 localSearchMetaheuristics_.addInt(tmpRaw);
12006 int length = input.readRawVarint32();
12007 int limit = input.pushLimit(length);
12008 ensureLocalSearchMetaheuristicsIsMutable();
12009 while (input.getBytesUntilLimit() > 0) {
12010 localSearchMetaheuristics_.addInt(input.readEnum());
12012 input.popLimit(limit);
12016 numMaxLocalOptimaBeforeMetaheuristicSwitch_ = input.readInt32();
12017 bitField0_ |= 0x40000000;
12021 maxSwapActiveChainSize_ = input.readInt32();
12022 bitField0_ |= 0x01000000;
12026 int tmpRaw = input.readEnum();
12027 ensureLocalCheapestInsertionSortingPropertiesIsMutable();
12028 localCheapestInsertionSortingProperties_.addInt(tmpRaw);
12032 int length = input.readRawVarint32();
12033 int limit = input.pushLimit(length);
12034 ensureLocalCheapestInsertionSortingPropertiesIsMutable();
12035 while (input.getBytesUntilLimit() > 0) {
12036 localCheapestInsertionSortingProperties_.addInt(input.readEnum());
12038 input.popLimit(limit);
12042 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
12049 }
catch (com.google.protobuf.InvalidProtocolBufferException e) {
12050 throw e.unwrapIOException();
12056 private int bitField0_;
12057 private int bitField1_;
12059 private int firstSolutionStrategy_ = 0;
12069 return firstSolutionStrategy_;
12081 firstSolutionStrategy_ = value;
12082 bitField0_ |= 0x00000001;
12094 @java.lang.Override
12109 if (value ==
null) {
throw new NullPointerException(); }
12110 bitField0_ |= 0x00000001;
12111 firstSolutionStrategy_ = value.getNumber();
12124 bitField0_ = (bitField0_ & ~0x00000001);
12125 firstSolutionStrategy_ = 0;
12130 private boolean useUnfilteredFirstSolutionStrategy_ ;
12142 @java.lang.Override
12144 return useUnfilteredFirstSolutionStrategy_;
12160 useUnfilteredFirstSolutionStrategy_ = value;
12161 bitField0_ |= 0x00000002;
12177 bitField0_ = (bitField0_ & ~0x00000002);
12178 useUnfilteredFirstSolutionStrategy_ =
false;
12183 private double savingsNeighborsRatio_ ;
12194 @java.lang.Override
12196 return savingsNeighborsRatio_;
12211 savingsNeighborsRatio_ = value;
12212 bitField0_ |= 0x00000004;
12227 bitField0_ = (bitField0_ & ~0x00000004);
12228 savingsNeighborsRatio_ = 0D;
12233 private double savingsMaxMemoryUsageBytes_ ;
12247 @java.lang.Override
12249 return savingsMaxMemoryUsageBytes_;
12267 savingsMaxMemoryUsageBytes_ = value;
12268 bitField0_ |= 0x00000008;
12286 bitField0_ = (bitField0_ & ~0x00000008);
12287 savingsMaxMemoryUsageBytes_ = 0D;
12292 private boolean savingsAddReverseArcs_ ;
12302 @java.lang.Override
12304 return savingsAddReverseArcs_;
12318 savingsAddReverseArcs_ = value;
12319 bitField0_ |= 0x00000010;
12333 bitField0_ = (bitField0_ & ~0x00000010);
12334 savingsAddReverseArcs_ =
false;
12339 private double savingsArcCoefficient_ ;
12352 @java.lang.Override
12354 return savingsArcCoefficient_;
12371 savingsArcCoefficient_ = value;
12372 bitField0_ |= 0x00000020;
12389 bitField0_ = (bitField0_ & ~0x00000020);
12390 savingsArcCoefficient_ = 0D;
12395 private double cheapestInsertionFarthestSeedsRatio_ ;
12406 @java.lang.Override
12408 return cheapestInsertionFarthestSeedsRatio_;
12423 cheapestInsertionFarthestSeedsRatio_ = value;
12424 bitField0_ |= 0x00000040;
12439 bitField0_ = (bitField0_ & ~0x00000040);
12440 cheapestInsertionFarthestSeedsRatio_ = 0D;
12445 private double cheapestInsertionFirstSolutionNeighborsRatio_ ;
12468 @java.lang.Override
12470 return cheapestInsertionFirstSolutionNeighborsRatio_;
12497 cheapestInsertionFirstSolutionNeighborsRatio_ = value;
12498 bitField0_ |= 0x00000080;
12525 bitField0_ = (bitField0_ & ~0x00000080);
12526 cheapestInsertionFirstSolutionNeighborsRatio_ = 0D;
12531 private int cheapestInsertionFirstSolutionMinNeighbors_ ;
12536 @java.lang.Override
12538 return cheapestInsertionFirstSolutionMinNeighbors_;
12547 cheapestInsertionFirstSolutionMinNeighbors_ = value;
12548 bitField0_ |= 0x00000100;
12557 bitField0_ = (bitField0_ & ~0x00000100);
12558 cheapestInsertionFirstSolutionMinNeighbors_ = 0;
12563 private double cheapestInsertionLsOperatorNeighborsRatio_ ;
12575 @java.lang.Override
12577 return cheapestInsertionLsOperatorNeighborsRatio_;
12593 cheapestInsertionLsOperatorNeighborsRatio_ = value;
12594 bitField0_ |= 0x00000200;
12610 bitField0_ = (bitField0_ & ~0x00000200);
12611 cheapestInsertionLsOperatorNeighborsRatio_ = 0D;
12616 private int cheapestInsertionLsOperatorMinNeighbors_ ;
12621 @java.lang.Override
12623 return cheapestInsertionLsOperatorMinNeighbors_;
12632 cheapestInsertionLsOperatorMinNeighbors_ = value;
12633 bitField0_ |= 0x00000400;
12642 bitField0_ = (bitField0_ & ~0x00000400);
12643 cheapestInsertionLsOperatorMinNeighbors_ = 0;
12648 private boolean cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ ;
12658 @java.lang.Override
12660 return cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_;
12674 cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ = value;
12675 bitField0_ |= 0x00000800;
12689 bitField0_ = (bitField0_ & ~0x00000800);
12690 cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ =
false;
12695 private boolean cheapestInsertionAddUnperformedEntries_ ;
12705 @java.lang.Override
12707 return cheapestInsertionAddUnperformedEntries_;
12721 cheapestInsertionAddUnperformedEntries_ = value;
12722 bitField0_ |= 0x00001000;
12736 bitField0_ = (bitField0_ & ~0x00001000);
12737 cheapestInsertionAddUnperformedEntries_ =
false;
12742 private int localCheapestInsertionPickupDeliveryStrategy_ = 0;
12753 return localCheapestInsertionPickupDeliveryStrategy_;
12766 localCheapestInsertionPickupDeliveryStrategy_ = value;
12767 bitField0_ |= 0x00002000;
12780 @java.lang.Override
12796 if (value ==
null) {
throw new NullPointerException(); }
12797 bitField0_ |= 0x00002000;
12798 localCheapestInsertionPickupDeliveryStrategy_ = value.getNumber();
12812 bitField0_ = (bitField0_ & ~0x00002000);
12813 localCheapestInsertionPickupDeliveryStrategy_ = 0;
12818 private int localCheapestCostInsertionPickupDeliveryStrategy_ = 0;
12829 return localCheapestCostInsertionPickupDeliveryStrategy_;
12842 localCheapestCostInsertionPickupDeliveryStrategy_ = value;
12843 bitField0_ |= 0x00004000;
12856 @java.lang.Override
12872 if (value ==
null) {
throw new NullPointerException(); }
12873 bitField0_ |= 0x00004000;
12874 localCheapestCostInsertionPickupDeliveryStrategy_ = value.getNumber();
12888 bitField0_ = (bitField0_ & ~0x00004000);
12889 localCheapestCostInsertionPickupDeliveryStrategy_ = 0;
12894 private com.google.protobuf.Internal.IntList localCheapestInsertionSortingProperties_ = emptyIntList();
12895 private void ensureLocalCheapestInsertionSortingPropertiesIsMutable() {
12896 if (!localCheapestInsertionSortingProperties_.isModifiable()) {
12897 localCheapestInsertionSortingProperties_ = makeMutableCopy(localCheapestInsertionSortingProperties_);
12899 bitField0_ |= 0x00008000;
12915 return new com.google.protobuf.Internal.IntListAdapter<
12916 com.google.ortools.constraintsolver.RoutingSearchParameters.InsertionSortingProperty>(localCheapestInsertionSortingProperties_, localCheapestInsertionSortingProperties_converter_);
12932 return localCheapestInsertionSortingProperties_.size();
12949 return localCheapestInsertionSortingProperties_converter_.convert(localCheapestInsertionSortingProperties_.getInt(index));
12967 int index, com.google.ortools.constraintsolver.RoutingSearchParameters.InsertionSortingProperty value) {
12968 if (value ==
null) {
throw new NullPointerException(); }
12969 ensureLocalCheapestInsertionSortingPropertiesIsMutable();
12970 localCheapestInsertionSortingProperties_.setInt(index, value.getNumber());
12989 if (value ==
null) {
throw new NullPointerException(); }
12990 ensureLocalCheapestInsertionSortingPropertiesIsMutable();
12991 localCheapestInsertionSortingProperties_.addInt(value.getNumber());
13010 java.lang.Iterable<? extends com.google.ortools.constraintsolver.RoutingSearchParameters.InsertionSortingProperty> values) {
13011 ensureLocalCheapestInsertionSortingPropertiesIsMutable();
13012 for (com.google.ortools.constraintsolver.RoutingSearchParameters.InsertionSortingProperty value : values) {
13013 localCheapestInsertionSortingProperties_.addInt(value.getNumber());
13032 localCheapestInsertionSortingProperties_ = emptyIntList();
13033 bitField0_ = (bitField0_ & ~0x00008000);
13050 public java.util.List<java.lang.Integer>
13052 localCheapestInsertionSortingProperties_.makeImmutable();
13053 return localCheapestInsertionSortingProperties_;
13070 return localCheapestInsertionSortingProperties_.getInt(index);
13088 int index,
int value) {
13089 ensureLocalCheapestInsertionSortingPropertiesIsMutable();
13090 localCheapestInsertionSortingProperties_.setInt(index, value);
13109 ensureLocalCheapestInsertionSortingPropertiesIsMutable();
13110 localCheapestInsertionSortingProperties_.addInt(value);
13129 java.lang.Iterable<java.lang.Integer> values) {
13130 ensureLocalCheapestInsertionSortingPropertiesIsMutable();
13131 for (
int value : values) {
13132 localCheapestInsertionSortingProperties_.addInt(value);
13138 private boolean christofidesUseMinimumMatching_ ;
13148 @java.lang.Override
13150 return christofidesUseMinimumMatching_;
13164 christofidesUseMinimumMatching_ = value;
13165 bitField0_ |= 0x00010000;
13179 bitField0_ = (bitField0_ & ~0x00010000);
13180 christofidesUseMinimumMatching_ =
false;
13185 private int firstSolutionOptimizationPeriod_ ;
13200 @java.lang.Override
13202 return firstSolutionOptimizationPeriod_;
13221 firstSolutionOptimizationPeriod_ = value;
13222 bitField0_ |= 0x00020000;
13241 bitField0_ = (bitField0_ & ~0x00020000);
13242 firstSolutionOptimizationPeriod_ = 0;
13248 private com.google.protobuf.SingleFieldBuilder<
13249 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder> localSearchOperatorsBuilder_;
13255 return ((bitField0_ & 0x00040000) != 0);
13262 if (localSearchOperatorsBuilder_ ==
null) {
13263 return localSearchOperators_ ==
null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
13265 return localSearchOperatorsBuilder_.getMessage();
13271 public Builder
setLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators value) {
13272 if (localSearchOperatorsBuilder_ ==
null) {
13273 if (value ==
null) {
13274 throw new NullPointerException();
13276 localSearchOperators_ = value;
13278 localSearchOperatorsBuilder_.setMessage(value);
13280 bitField0_ |= 0x00040000;
13288 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder builderForValue) {
13289 if (localSearchOperatorsBuilder_ ==
null) {
13290 localSearchOperators_ = builderForValue.build();
13292 localSearchOperatorsBuilder_.setMessage(builderForValue.build());
13294 bitField0_ |= 0x00040000;
13302 if (localSearchOperatorsBuilder_ ==
null) {
13303 if (((bitField0_ & 0x00040000) != 0) &&
13304 localSearchOperators_ !=
null &&
13305 localSearchOperators_ != com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance()) {
13308 localSearchOperators_ = value;
13311 localSearchOperatorsBuilder_.mergeFrom(value);
13313 if (localSearchOperators_ !=
null) {
13314 bitField0_ |= 0x00040000;
13323 bitField0_ = (bitField0_ & ~0x00040000);
13324 localSearchOperators_ =
null;
13325 if (localSearchOperatorsBuilder_ !=
null) {
13326 localSearchOperatorsBuilder_.dispose();
13327 localSearchOperatorsBuilder_ =
null;
13336 bitField0_ |= 0x00040000;
13338 return internalGetLocalSearchOperatorsFieldBuilder().getBuilder();
13344 if (localSearchOperatorsBuilder_ !=
null) {
13345 return localSearchOperatorsBuilder_.getMessageOrBuilder();
13347 return localSearchOperators_ ==
null ?
13348 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
13354 private com.google.protobuf.SingleFieldBuilder<
13355 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder>
13356 internalGetLocalSearchOperatorsFieldBuilder() {
13357 if (localSearchOperatorsBuilder_ ==
null) {
13358 localSearchOperatorsBuilder_ =
new com.google.protobuf.SingleFieldBuilder<
13359 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder>(
13361 getParentForChildren(),
13363 localSearchOperators_ =
null;
13365 return localSearchOperatorsBuilder_;
13368 private double lsOperatorNeighborsRatio_ ;
13379 @java.lang.Override
13381 return lsOperatorNeighborsRatio_;
13396 lsOperatorNeighborsRatio_ = value;
13397 bitField0_ |= 0x00080000;
13412 bitField0_ = (bitField0_ & ~0x00080000);
13413 lsOperatorNeighborsRatio_ = 0D;
13418 private int lsOperatorMinNeighbors_ ;
13423 @java.lang.Override
13425 return lsOperatorMinNeighbors_;
13434 lsOperatorMinNeighbors_ = value;
13435 bitField0_ |= 0x00100000;
13444 bitField0_ = (bitField0_ & ~0x00100000);
13445 lsOperatorMinNeighbors_ = 0;
13450 private boolean useMultiArmedBanditConcatenateOperators_ ;
13461 @java.lang.Override
13463 return useMultiArmedBanditConcatenateOperators_;
13478 useMultiArmedBanditConcatenateOperators_ = value;
13479 bitField0_ |= 0x00200000;
13494 bitField0_ = (bitField0_ & ~0x00200000);
13495 useMultiArmedBanditConcatenateOperators_ =
false;
13500 private double multiArmedBanditCompoundOperatorMemoryCoefficient_ ;
13512 @java.lang.Override
13514 return multiArmedBanditCompoundOperatorMemoryCoefficient_;
13530 multiArmedBanditCompoundOperatorMemoryCoefficient_ = value;
13531 bitField0_ |= 0x00400000;
13547 bitField0_ = (bitField0_ & ~0x00400000);
13548 multiArmedBanditCompoundOperatorMemoryCoefficient_ = 0D;
13553 private double multiArmedBanditCompoundOperatorExplorationCoefficient_ ;
13564 @java.lang.Override
13566 return multiArmedBanditCompoundOperatorExplorationCoefficient_;
13581 multiArmedBanditCompoundOperatorExplorationCoefficient_ = value;
13582 bitField0_ |= 0x00800000;
13597 bitField0_ = (bitField0_ & ~0x00800000);
13598 multiArmedBanditCompoundOperatorExplorationCoefficient_ = 0D;
13603 private int maxSwapActiveChainSize_ ;
13612 @java.lang.Override
13614 return maxSwapActiveChainSize_;
13627 maxSwapActiveChainSize_ = value;
13628 bitField0_ |= 0x01000000;
13641 bitField0_ = (bitField0_ & ~0x01000000);
13642 maxSwapActiveChainSize_ = 0;
13647 private int relocateExpensiveChainNumArcsToConsider_ ;
13662 @java.lang.Override
13664 return relocateExpensiveChainNumArcsToConsider_;
13683 relocateExpensiveChainNumArcsToConsider_ = value;
13684 bitField0_ |= 0x02000000;
13703 bitField0_ = (bitField0_ & ~0x02000000);
13704 relocateExpensiveChainNumArcsToConsider_ = 0;
13709 private int heuristicExpensiveChainLnsNumArcsToConsider_ ;
13719 @java.lang.Override
13721 return heuristicExpensiveChainLnsNumArcsToConsider_;
13735 heuristicExpensiveChainLnsNumArcsToConsider_ = value;
13736 bitField0_ |= 0x04000000;
13750 bitField0_ = (bitField0_ & ~0x04000000);
13751 heuristicExpensiveChainLnsNumArcsToConsider_ = 0;
13756 private int heuristicCloseNodesLnsNumNodes_ ;
13766 @java.lang.Override
13768 return heuristicCloseNodesLnsNumNodes_;
13782 heuristicCloseNodesLnsNumNodes_ = value;
13783 bitField0_ |= 0x08000000;
13797 bitField0_ = (bitField0_ & ~0x08000000);
13798 heuristicCloseNodesLnsNumNodes_ = 0;
13803 private int localSearchMetaheuristic_ = 0;
13813 return localSearchMetaheuristic_;
13825 localSearchMetaheuristic_ = value;
13826 bitField0_ |= 0x10000000;
13838 @java.lang.Override
13853 if (value ==
null) {
throw new NullPointerException(); }
13854 bitField0_ |= 0x10000000;
13855 localSearchMetaheuristic_ = value.getNumber();
13868 bitField0_ = (bitField0_ & ~0x10000000);
13869 localSearchMetaheuristic_ = 0;
13874 private com.google.protobuf.Internal.IntList localSearchMetaheuristics_ = emptyIntList();
13875 private void ensureLocalSearchMetaheuristicsIsMutable() {
13876 if (!localSearchMetaheuristics_.isModifiable()) {
13877 localSearchMetaheuristics_ = makeMutableCopy(localSearchMetaheuristics_);
13879 bitField0_ |= 0x20000000;
13893 return new com.google.protobuf.Internal.IntListAdapter<
13894 com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value>(localSearchMetaheuristics_, localSearchMetaheuristics_converter_);
13908 return localSearchMetaheuristics_.size();
13923 return localSearchMetaheuristics_converter_.convert(localSearchMetaheuristics_.getInt(index));
13939 int index, com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value value) {
13940 if (value ==
null) {
throw new NullPointerException(); }
13941 ensureLocalSearchMetaheuristicsIsMutable();
13942 localSearchMetaheuristics_.setInt(index, value.getNumber());
13959 if (value ==
null) {
throw new NullPointerException(); }
13960 ensureLocalSearchMetaheuristicsIsMutable();
13961 localSearchMetaheuristics_.addInt(value.getNumber());
13978 java.lang.Iterable<? extends com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value> values) {
13979 ensureLocalSearchMetaheuristicsIsMutable();
13980 for (com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value value : values) {
13981 localSearchMetaheuristics_.addInt(value.getNumber());
13998 localSearchMetaheuristics_ = emptyIntList();
13999 bitField0_ = (bitField0_ & ~0x20000000);
14014 public java.util.List<java.lang.Integer>
14016 localSearchMetaheuristics_.makeImmutable();
14017 return localSearchMetaheuristics_;
14032 return localSearchMetaheuristics_.getInt(index);
14048 int index,
int value) {
14049 ensureLocalSearchMetaheuristicsIsMutable();
14050 localSearchMetaheuristics_.setInt(index, value);
14067 ensureLocalSearchMetaheuristicsIsMutable();
14068 localSearchMetaheuristics_.addInt(value);
14085 java.lang.Iterable<java.lang.Integer> values) {
14086 ensureLocalSearchMetaheuristicsIsMutable();
14087 for (
int value : values) {
14088 localSearchMetaheuristics_.addInt(value);
14094 private int numMaxLocalOptimaBeforeMetaheuristicSwitch_ ;
14099 @java.lang.Override
14101 return numMaxLocalOptimaBeforeMetaheuristicSwitch_;
14110 numMaxLocalOptimaBeforeMetaheuristicSwitch_ = value;
14111 bitField0_ |= 0x40000000;
14120 bitField0_ = (bitField0_ & ~0x40000000);
14121 numMaxLocalOptimaBeforeMetaheuristicSwitch_ = 0;
14126 private double guidedLocalSearchLambdaCoefficient_ ;
14138 @java.lang.Override
14140 return guidedLocalSearchLambdaCoefficient_;
14156 guidedLocalSearchLambdaCoefficient_ = value;
14157 bitField0_ |= 0x80000000;
14173 bitField0_ = (bitField0_ & ~0x80000000);
14174 guidedLocalSearchLambdaCoefficient_ = 0D;
14179 private boolean guidedLocalSearchResetPenaltiesOnNewBestSolution_ ;
14189 @java.lang.Override
14191 return guidedLocalSearchResetPenaltiesOnNewBestSolution_;
14205 guidedLocalSearchResetPenaltiesOnNewBestSolution_ = value;
14206 bitField1_ |= 0x00000001;
14220 bitField1_ = (bitField1_ & ~0x00000001);
14221 guidedLocalSearchResetPenaltiesOnNewBestSolution_ =
false;
14226 private boolean guidedLocalSearchPenalizeWithVehicleClasses_ ;
14237 @java.lang.Override
14239 return guidedLocalSearchPenalizeWithVehicleClasses_;
14254 guidedLocalSearchPenalizeWithVehicleClasses_ = value;
14255 bitField1_ |= 0x00000002;
14270 bitField1_ = (bitField1_ & ~0x00000002);
14271 guidedLocalSearchPenalizeWithVehicleClasses_ =
false;
14276 private boolean useGuidedLocalSearchPenaltiesInLocalSearchOperators_ ;
14286 @java.lang.Override
14288 return useGuidedLocalSearchPenaltiesInLocalSearchOperators_;
14302 useGuidedLocalSearchPenaltiesInLocalSearchOperators_ = value;
14303 bitField1_ |= 0x00000004;
14317 bitField1_ = (bitField1_ & ~0x00000004);
14318 useGuidedLocalSearchPenaltiesInLocalSearchOperators_ =
false;
14323 private boolean useDepthFirstSearch_ ;
14335 @java.lang.Override
14337 return useDepthFirstSearch_;
14353 useDepthFirstSearch_ = value;
14354 bitField1_ |= 0x00000008;
14370 bitField1_ = (bitField1_ & ~0x00000008);
14371 useDepthFirstSearch_ =
false;
14376 private int useCp_ = 0;
14403 bitField1_ |= 0x00000010;
14417 @java.lang.Override
14433 public Builder
setUseCp(com.google.ortools.util.OptionalBoolean value) {
14434 if (value ==
null) {
throw new NullPointerException(); }
14435 bitField1_ |= 0x00000010;
14436 useCp_ = value.getNumber();
14451 bitField1_ = (bitField1_ & ~0x00000010);
14457 private int useCpSat_ = 0;
14486 bitField1_ |= 0x00000020;
14501 @java.lang.Override
14518 public Builder
setUseCpSat(com.google.ortools.util.OptionalBoolean value) {
14519 if (value ==
null) {
throw new NullPointerException(); }
14520 bitField1_ |= 0x00000020;
14521 useCpSat_ = value.getNumber();
14537 bitField1_ = (bitField1_ & ~0x00000020);
14543 private int useGeneralizedCpSat_ = 0;
14556 return useGeneralizedCpSat_;
14571 useGeneralizedCpSat_ = value;
14572 bitField1_ |= 0x00000040;
14587 @java.lang.Override
14605 if (value ==
null) {
throw new NullPointerException(); }
14606 bitField1_ |= 0x00000040;
14607 useGeneralizedCpSat_ = value.getNumber();
14623 bitField1_ = (bitField1_ & ~0x00000040);
14624 useGeneralizedCpSat_ = 0;
14630 private com.google.protobuf.SingleFieldBuilder<
14631 com.google.ortools.sat.SatParameters, com.google.ortools.sat.SatParameters.Builder, com.google.ortools.sat.SatParametersOrBuilder> satParametersBuilder_;
14642 return ((bitField1_ & 0x00000080) != 0);
14654 if (satParametersBuilder_ ==
null) {
14655 return satParameters_ ==
null ? com.google.ortools.sat.SatParameters.getDefaultInstance() : satParameters_;
14657 return satParametersBuilder_.getMessage();
14669 if (satParametersBuilder_ ==
null) {
14670 if (value ==
null) {
14671 throw new NullPointerException();
14673 satParameters_ = value;
14675 satParametersBuilder_.setMessage(value);
14677 bitField1_ |= 0x00000080;
14690 com.google.ortools.sat.SatParameters.Builder builderForValue) {
14691 if (satParametersBuilder_ ==
null) {
14692 satParameters_ = builderForValue.build();
14694 satParametersBuilder_.setMessage(builderForValue.build());
14696 bitField1_ |= 0x00000080;
14709 if (satParametersBuilder_ ==
null) {
14710 if (((bitField1_ & 0x00000080) != 0) &&
14711 satParameters_ !=
null &&
14712 satParameters_ != com.google.ortools.sat.SatParameters.getDefaultInstance()) {
14715 satParameters_ = value;
14718 satParametersBuilder_.mergeFrom(value);
14720 if (satParameters_ !=
null) {
14721 bitField1_ |= 0x00000080;
14735 bitField1_ = (bitField1_ & ~0x00000080);
14736 satParameters_ =
null;
14737 if (satParametersBuilder_ !=
null) {
14738 satParametersBuilder_.dispose();
14739 satParametersBuilder_ =
null;
14753 bitField1_ |= 0x00000080;
14755 return internalGetSatParametersFieldBuilder().getBuilder();
14766 if (satParametersBuilder_ !=
null) {
14767 return satParametersBuilder_.getMessageOrBuilder();
14769 return satParameters_ ==
null ?
14770 com.google.ortools.sat.SatParameters.getDefaultInstance() : satParameters_;
14781 private com.google.protobuf.SingleFieldBuilder<
14782 com.google.ortools.sat.SatParameters, com.google.ortools.sat.SatParameters.Builder, com.google.ortools.sat.SatParametersOrBuilder>
14783 internalGetSatParametersFieldBuilder() {
14784 if (satParametersBuilder_ ==
null) {
14785 satParametersBuilder_ =
new com.google.protobuf.SingleFieldBuilder<
14786 com.google.ortools.sat.SatParameters, com.google.ortools.sat.SatParameters.Builder, com.google.ortools.sat.SatParametersOrBuilder>(
14788 getParentForChildren(),
14790 satParameters_ =
null;
14792 return satParametersBuilder_;
14795 private boolean reportIntermediateCpSatSolutions_ ;
14805 @java.lang.Override
14807 return reportIntermediateCpSatSolutions_;
14821 reportIntermediateCpSatSolutions_ = value;
14822 bitField1_ |= 0x00000100;
14836 bitField1_ = (bitField1_ & ~0x00000100);
14837 reportIntermediateCpSatSolutions_ =
false;
14842 private int fallbackToCpSatSizeThreshold_ ;
14852 @java.lang.Override
14854 return fallbackToCpSatSizeThreshold_;
14868 fallbackToCpSatSizeThreshold_ = value;
14869 bitField1_ |= 0x00000200;
14883 bitField1_ = (bitField1_ & ~0x00000200);
14884 fallbackToCpSatSizeThreshold_ = 0;
14889 private int continuousSchedulingSolver_ = 0;
14895 return continuousSchedulingSolver_;
14903 continuousSchedulingSolver_ = value;
14904 bitField1_ |= 0x00000400;
14912 @java.lang.Override
14923 if (value ==
null) {
throw new NullPointerException(); }
14924 bitField1_ |= 0x00000400;
14925 continuousSchedulingSolver_ = value.getNumber();
14934 bitField1_ = (bitField1_ & ~0x00000400);
14935 continuousSchedulingSolver_ = 0;
14940 private int mixedIntegerSchedulingSolver_ = 0;
14946 return mixedIntegerSchedulingSolver_;
14954 mixedIntegerSchedulingSolver_ = value;
14955 bitField1_ |= 0x00000800;
14963 @java.lang.Override
14974 if (value ==
null) {
throw new NullPointerException(); }
14975 bitField1_ |= 0x00000800;
14976 mixedIntegerSchedulingSolver_ = value.getNumber();
14985 bitField1_ = (bitField1_ & ~0x00000800);
14986 mixedIntegerSchedulingSolver_ = 0;
14991 private boolean disableSchedulingBewareThisMayDegradePerformance_ ;
15001 @java.lang.Override
15003 return ((bitField1_ & 0x00001000) != 0);
15014 @java.lang.Override
15016 return disableSchedulingBewareThisMayDegradePerformance_;
15030 disableSchedulingBewareThisMayDegradePerformance_ = value;
15031 bitField1_ |= 0x00001000;
15045 bitField1_ = (bitField1_ & ~0x00001000);
15046 disableSchedulingBewareThisMayDegradePerformance_ =
false;
15051 private double optimizationStep_ ;
15062 @java.lang.Override
15064 return optimizationStep_;
15079 optimizationStep_ = value;
15080 bitField1_ |= 0x00002000;
15095 bitField1_ = (bitField1_ & ~0x00002000);
15096 optimizationStep_ = 0D;
15101 private int numberOfSolutionsToCollect_ ;
15111 @java.lang.Override
15113 return numberOfSolutionsToCollect_;
15127 numberOfSolutionsToCollect_ = value;
15128 bitField1_ |= 0x00004000;
15142 bitField1_ = (bitField1_ & ~0x00004000);
15143 numberOfSolutionsToCollect_ = 0;
15148 private long solutionLimit_ ;
15159 @java.lang.Override
15161 return solutionLimit_;
15176 solutionLimit_ = value;
15177 bitField1_ |= 0x00008000;
15192 bitField1_ = (bitField1_ & ~0x00008000);
15193 solutionLimit_ = 0L;
15198 private com.google.protobuf.Duration timeLimit_;
15199 private com.google.protobuf.SingleFieldBuilder<
15200 com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> timeLimitBuilder_;
15210 return ((bitField1_ & 0x00010000) != 0);
15221 if (timeLimitBuilder_ ==
null) {
15222 return timeLimit_ ==
null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
15224 return timeLimitBuilder_.getMessage();
15235 if (timeLimitBuilder_ ==
null) {
15236 if (value ==
null) {
15237 throw new NullPointerException();
15239 timeLimit_ = value;
15241 timeLimitBuilder_.setMessage(value);
15243 bitField1_ |= 0x00010000;
15255 com.google.protobuf.Duration.Builder builderForValue) {
15256 if (timeLimitBuilder_ ==
null) {
15257 timeLimit_ = builderForValue.build();
15259 timeLimitBuilder_.setMessage(builderForValue.build());
15261 bitField1_ |= 0x00010000;
15273 if (timeLimitBuilder_ ==
null) {
15274 if (((bitField1_ & 0x00010000) != 0) &&
15275 timeLimit_ !=
null &&
15276 timeLimit_ != com.google.protobuf.Duration.getDefaultInstance()) {
15279 timeLimit_ = value;
15282 timeLimitBuilder_.mergeFrom(value);
15284 if (timeLimit_ !=
null) {
15285 bitField1_ |= 0x00010000;
15298 bitField1_ = (bitField1_ & ~0x00010000);
15300 if (timeLimitBuilder_ !=
null) {
15301 timeLimitBuilder_.dispose();
15302 timeLimitBuilder_ =
null;
15315 bitField1_ |= 0x00010000;
15317 return internalGetTimeLimitFieldBuilder().getBuilder();
15327 if (timeLimitBuilder_ !=
null) {
15328 return timeLimitBuilder_.getMessageOrBuilder();
15330 return timeLimit_ ==
null ?
15331 com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
15341 private com.google.protobuf.SingleFieldBuilder<
15342 com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
15343 internalGetTimeLimitFieldBuilder() {
15344 if (timeLimitBuilder_ ==
null) {
15345 timeLimitBuilder_ =
new com.google.protobuf.SingleFieldBuilder<
15346 com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
15348 getParentForChildren(),
15352 return timeLimitBuilder_;
15355 private com.google.protobuf.Duration lnsTimeLimit_;
15356 private com.google.protobuf.SingleFieldBuilder<
15357 com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> lnsTimeLimitBuilder_;
15368 return ((bitField1_ & 0x00020000) != 0);
15380 if (lnsTimeLimitBuilder_ ==
null) {
15381 return lnsTimeLimit_ ==
null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
15383 return lnsTimeLimitBuilder_.getMessage();
15395 if (lnsTimeLimitBuilder_ ==
null) {
15396 if (value ==
null) {
15397 throw new NullPointerException();
15399 lnsTimeLimit_ = value;
15401 lnsTimeLimitBuilder_.setMessage(value);
15403 bitField1_ |= 0x00020000;
15416 com.google.protobuf.Duration.Builder builderForValue) {
15417 if (lnsTimeLimitBuilder_ ==
null) {
15418 lnsTimeLimit_ = builderForValue.build();
15420 lnsTimeLimitBuilder_.setMessage(builderForValue.build());
15422 bitField1_ |= 0x00020000;
15435 if (lnsTimeLimitBuilder_ ==
null) {
15436 if (((bitField1_ & 0x00020000) != 0) &&
15437 lnsTimeLimit_ !=
null &&
15438 lnsTimeLimit_ != com.google.protobuf.Duration.getDefaultInstance()) {
15441 lnsTimeLimit_ = value;
15444 lnsTimeLimitBuilder_.mergeFrom(value);
15446 if (lnsTimeLimit_ !=
null) {
15447 bitField1_ |= 0x00020000;
15461 bitField1_ = (bitField1_ & ~0x00020000);
15462 lnsTimeLimit_ =
null;
15463 if (lnsTimeLimitBuilder_ !=
null) {
15464 lnsTimeLimitBuilder_.dispose();
15465 lnsTimeLimitBuilder_ =
null;
15479 bitField1_ |= 0x00020000;
15481 return internalGetLnsTimeLimitFieldBuilder().getBuilder();
15492 if (lnsTimeLimitBuilder_ !=
null) {
15493 return lnsTimeLimitBuilder_.getMessageOrBuilder();
15495 return lnsTimeLimit_ ==
null ?
15496 com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
15507 private com.google.protobuf.SingleFieldBuilder<
15508 com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
15509 internalGetLnsTimeLimitFieldBuilder() {
15510 if (lnsTimeLimitBuilder_ ==
null) {
15511 lnsTimeLimitBuilder_ =
new com.google.protobuf.SingleFieldBuilder<
15512 com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
15514 getParentForChildren(),
15516 lnsTimeLimit_ =
null;
15518 return lnsTimeLimitBuilder_;
15521 private double secondaryLsTimeLimitRatio_ ;
15535 @java.lang.Override
15537 return secondaryLsTimeLimitRatio_;
15555 secondaryLsTimeLimitRatio_ = value;
15556 bitField1_ |= 0x00040000;
15574 bitField1_ = (bitField1_ & ~0x00040000);
15575 secondaryLsTimeLimitRatio_ = 0D;
15581 private com.google.protobuf.SingleFieldBuilder<
15582 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParametersOrBuilder> improvementLimitParametersBuilder_;
15593 return ((bitField1_ & 0x00080000) != 0);
15605 if (improvementLimitParametersBuilder_ ==
null) {
15606 return improvementLimitParameters_ ==
null ? com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance() : improvementLimitParameters_;
15608 return improvementLimitParametersBuilder_.getMessage();
15620 if (improvementLimitParametersBuilder_ ==
null) {
15621 if (value ==
null) {
15622 throw new NullPointerException();
15624 improvementLimitParameters_ = value;
15626 improvementLimitParametersBuilder_.setMessage(value);
15628 bitField1_ |= 0x00080000;
15641 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder builderForValue) {
15642 if (improvementLimitParametersBuilder_ ==
null) {
15643 improvementLimitParameters_ = builderForValue.build();
15645 improvementLimitParametersBuilder_.setMessage(builderForValue.build());
15647 bitField1_ |= 0x00080000;
15660 if (improvementLimitParametersBuilder_ ==
null) {
15661 if (((bitField1_ & 0x00080000) != 0) &&
15662 improvementLimitParameters_ !=
null &&
15663 improvementLimitParameters_ != com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance()) {
15666 improvementLimitParameters_ = value;
15669 improvementLimitParametersBuilder_.mergeFrom(value);
15671 if (improvementLimitParameters_ !=
null) {
15672 bitField1_ |= 0x00080000;
15686 bitField1_ = (bitField1_ & ~0x00080000);
15687 improvementLimitParameters_ =
null;
15688 if (improvementLimitParametersBuilder_ !=
null) {
15689 improvementLimitParametersBuilder_.dispose();
15690 improvementLimitParametersBuilder_ =
null;
15704 bitField1_ |= 0x00080000;
15706 return internalGetImprovementLimitParametersFieldBuilder().getBuilder();
15717 if (improvementLimitParametersBuilder_ !=
null) {
15718 return improvementLimitParametersBuilder_.getMessageOrBuilder();
15720 return improvementLimitParameters_ ==
null ?
15721 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance() : improvementLimitParameters_;
15732 private com.google.protobuf.SingleFieldBuilder<
15733 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParametersOrBuilder>
15734 internalGetImprovementLimitParametersFieldBuilder() {
15735 if (improvementLimitParametersBuilder_ ==
null) {
15736 improvementLimitParametersBuilder_ =
new com.google.protobuf.SingleFieldBuilder<
15737 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParametersOrBuilder>(
15739 getParentForChildren(),
15741 improvementLimitParameters_ =
null;
15743 return improvementLimitParametersBuilder_;
15746 private boolean useFullPropagation_ ;
15764 @java.lang.Override
15766 return useFullPropagation_;
15788 useFullPropagation_ = value;
15789 bitField1_ |= 0x00100000;
15811 bitField1_ = (bitField1_ & ~0x00100000);
15812 useFullPropagation_ =
false;
15817 private boolean logSearch_ ;
15838 @java.lang.Override
15865 logSearch_ = value;
15866 bitField1_ |= 0x00200000;
15891 bitField1_ = (bitField1_ & ~0x00200000);
15892 logSearch_ =
false;
15897 private double logCostScalingFactor_ ;
15907 @java.lang.Override
15909 return logCostScalingFactor_;
15923 logCostScalingFactor_ = value;
15924 bitField1_ |= 0x00400000;
15938 bitField1_ = (bitField1_ & ~0x00400000);
15939 logCostScalingFactor_ = 0D;
15944 private double logCostOffset_ ;
15949 @java.lang.Override
15951 return logCostOffset_;
15960 logCostOffset_ = value;
15961 bitField1_ |= 0x00800000;
15970 bitField1_ = (bitField1_ & ~0x00800000);
15971 logCostOffset_ = 0D;
15976 private java.lang.Object logTag_ =
"";
15987 java.lang.Object ref = logTag_;
15988 if (!(ref instanceof java.lang.String)) {
15989 com.google.protobuf.ByteString bs =
15990 (com.google.protobuf.ByteString) ref;
15991 java.lang.String s = bs.toStringUtf8();
15995 return (java.lang.String) ref;
16007 public com.google.protobuf.ByteString
16009 java.lang.Object ref = logTag_;
16010 if (ref instanceof String) {
16011 com.google.protobuf.ByteString b =
16012 com.google.protobuf.ByteString.copyFromUtf8(
16013 (java.lang.String) ref);
16017 return (com.google.protobuf.ByteString) ref;
16031 java.lang.String value) {
16032 if (value ==
null) {
throw new NullPointerException(); }
16034 bitField1_ |= 0x01000000;
16049 bitField1_ = (bitField1_ & ~0x01000000);
16064 com.google.protobuf.ByteString value) {
16065 if (value ==
null) {
throw new NullPointerException(); }
16066 checkByteStringIsUtf8(value);
16068 bitField1_ |= 0x01000000;
16073 private boolean useIteratedLocalSearch_ ;
16083 @java.lang.Override
16085 return useIteratedLocalSearch_;
16099 useIteratedLocalSearch_ = value;
16100 bitField1_ |= 0x02000000;
16114 bitField1_ = (bitField1_ & ~0x02000000);
16115 useIteratedLocalSearch_ =
false;
16121 private com.google.protobuf.SingleFieldBuilder<
16122 com.google.ortools.constraintsolver.IteratedLocalSearchParameters, com.google.ortools.constraintsolver.IteratedLocalSearchParameters.Builder, com.google.ortools.constraintsolver.IteratedLocalSearchParametersOrBuilder> iteratedLocalSearchParametersBuilder_;
16132 return ((bitField1_ & 0x04000000) != 0);
16143 if (iteratedLocalSearchParametersBuilder_ ==
null) {
16144 return iteratedLocalSearchParameters_ ==
null ? com.google.ortools.constraintsolver.IteratedLocalSearchParameters.getDefaultInstance() : iteratedLocalSearchParameters_;
16146 return iteratedLocalSearchParametersBuilder_.getMessage();
16157 if (iteratedLocalSearchParametersBuilder_ ==
null) {
16158 if (value ==
null) {
16159 throw new NullPointerException();
16161 iteratedLocalSearchParameters_ = value;
16163 iteratedLocalSearchParametersBuilder_.setMessage(value);
16165 bitField1_ |= 0x04000000;
16177 com.google.ortools.constraintsolver.IteratedLocalSearchParameters.Builder builderForValue) {
16178 if (iteratedLocalSearchParametersBuilder_ ==
null) {
16179 iteratedLocalSearchParameters_ = builderForValue.build();
16181 iteratedLocalSearchParametersBuilder_.setMessage(builderForValue.build());
16183 bitField1_ |= 0x04000000;
16195 if (iteratedLocalSearchParametersBuilder_ ==
null) {
16196 if (((bitField1_ & 0x04000000) != 0) &&
16197 iteratedLocalSearchParameters_ !=
null &&
16198 iteratedLocalSearchParameters_ != com.google.ortools.constraintsolver.IteratedLocalSearchParameters.getDefaultInstance()) {
16201 iteratedLocalSearchParameters_ = value;
16204 iteratedLocalSearchParametersBuilder_.mergeFrom(value);
16206 if (iteratedLocalSearchParameters_ !=
null) {
16207 bitField1_ |= 0x04000000;
16220 bitField1_ = (bitField1_ & ~0x04000000);
16221 iteratedLocalSearchParameters_ =
null;
16222 if (iteratedLocalSearchParametersBuilder_ !=
null) {
16223 iteratedLocalSearchParametersBuilder_.dispose();
16224 iteratedLocalSearchParametersBuilder_ =
null;
16237 bitField1_ |= 0x04000000;
16239 return internalGetIteratedLocalSearchParametersFieldBuilder().getBuilder();
16249 if (iteratedLocalSearchParametersBuilder_ !=
null) {
16250 return iteratedLocalSearchParametersBuilder_.getMessageOrBuilder();
16252 return iteratedLocalSearchParameters_ ==
null ?
16253 com.google.ortools.constraintsolver.IteratedLocalSearchParameters.getDefaultInstance() : iteratedLocalSearchParameters_;
16263 private com.google.protobuf.SingleFieldBuilder<
16264 com.google.ortools.constraintsolver.IteratedLocalSearchParameters, com.google.ortools.constraintsolver.IteratedLocalSearchParameters.Builder, com.google.ortools.constraintsolver.IteratedLocalSearchParametersOrBuilder>
16265 internalGetIteratedLocalSearchParametersFieldBuilder() {
16266 if (iteratedLocalSearchParametersBuilder_ ==
null) {
16267 iteratedLocalSearchParametersBuilder_ =
new com.google.protobuf.SingleFieldBuilder<
16268 com.google.ortools.constraintsolver.IteratedLocalSearchParameters, com.google.ortools.constraintsolver.IteratedLocalSearchParameters.Builder, com.google.ortools.constraintsolver.IteratedLocalSearchParametersOrBuilder>(
16270 getParentForChildren(),
16272 iteratedLocalSearchParameters_ =
null;
16274 return iteratedLocalSearchParametersBuilder_;
16283 DEFAULT_INSTANCE =
new com.google.ortools.constraintsolver.RoutingSearchParameters();
16287 return DEFAULT_INSTANCE;
16292 @java.lang.Override
16294 com.google.protobuf.CodedInputStream input,
16295 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
16296 throws com.google.protobuf.InvalidProtocolBufferException {
16299 builder.mergeFrom(input, extensionRegistry);
16300 }
catch (com.google.protobuf.InvalidProtocolBufferException e) {
16301 throw e.setUnfinishedMessage(builder.buildPartial());
16302 }
catch (com.google.protobuf.UninitializedMessageException e) {
16303 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
16304 }
catch (java.io.IOException e) {
16305 throw new com.google.protobuf.InvalidProtocolBufferException(e)
16306 .setUnfinishedMessage(builder.buildPartial());
16308 return builder.buildPartial();
16312 public static com.google.protobuf.Parser<RoutingSearchParameters>
parser() {
16316 @java.lang.Override
16321 @java.lang.Override
16323 return DEFAULT_INSTANCE;