6package com.google.ortools.constraintsolver;
21public final class RoutingSearchParameters
extends
22 com.google.protobuf.GeneratedMessage implements
25private static final long serialVersionUID = 0L;
27 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
28 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
33 RoutingSearchParameters.class.getName());
36 private RoutingSearchParameters(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
39 private RoutingSearchParameters() {
40 firstSolutionStrategy_ = 0;
41 localCheapestInsertionPickupDeliveryStrategy_ = 0;
42 localCheapestCostInsertionPickupDeliveryStrategy_ = 0;
43 localCheapestInsertionSortingProperties_ = emptyIntList();
44 localSearchMetaheuristic_ = 0;
45 localSearchMetaheuristics_ = emptyIntList();
48 useGeneralizedCpSat_ = 0;
49 continuousSchedulingSolver_ = 0;
50 mixedIntegerSchedulingSolver_ = 0;
54 public static final com.google.protobuf.Descriptors.Descriptor
56 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
60 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
62 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_fieldAccessorTable
63 .ensureFieldAccessorsInitialized(
64 com.google.ortools.constraintsolver.RoutingSearchParameters.class, com.google.ortools.constraintsolver.RoutingSearchParameters.Builder.class);
76 public enum PairInsertionStrategy
77 implements com.google.protobuf.ProtocolMessageEnum {
118 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
119 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
124 PairInsertionStrategy.class.getName());
166 throw new java.lang.IllegalArgumentException(
167 "Can't get the number of an unknown enum value.");
177 @java.lang.Deprecated
178 public static PairInsertionStrategy
valueOf(
int value) {
186 public static PairInsertionStrategy
forNumber(
int value) {
192 default:
return null;
198 return internalValueMap;
200 private static final com.google.protobuf.Internal.EnumLiteMap<
208 public final com.google.protobuf.Descriptors.EnumValueDescriptor
211 throw new java.lang.IllegalStateException(
212 "Can't get the descriptor of an unrecognized enum value.");
216 public final com.google.protobuf.Descriptors.EnumDescriptor
220 public static final com.google.protobuf.Descriptors.EnumDescriptor
222 return com.google.ortools.constraintsolver.RoutingSearchParameters.getDescriptor().getEnumTypes().get(0);
228 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
230 throw new java.lang.IllegalArgumentException(
231 "EnumValueDescriptor is not for this type.");
233 if (desc.getIndex() == -1) {
236 return VALUES[desc.getIndex()];
239 private final int value;
256 public enum InsertionSortingProperty
257 implements com.google.protobuf.ProtocolMessageEnum {
329 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
330 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
335 InsertionSortingProperty.class.getName());
408 throw new java.lang.IllegalArgumentException(
409 "Can't get the number of an unknown enum value.");
419 @java.lang.Deprecated
420 public static InsertionSortingProperty
valueOf(
int value) {
428 public static InsertionSortingProperty
forNumber(
int value) {
438 default:
return null;
444 return internalValueMap;
446 private static final com.google.protobuf.Internal.EnumLiteMap<
454 public final com.google.protobuf.Descriptors.EnumValueDescriptor
457 throw new java.lang.IllegalStateException(
458 "Can't get the descriptor of an unrecognized enum value.");
462 public final com.google.protobuf.Descriptors.EnumDescriptor
466 public static final com.google.protobuf.Descriptors.EnumDescriptor
468 return com.google.ortools.constraintsolver.RoutingSearchParameters.getDescriptor().getEnumTypes().get(1);
473 public static InsertionSortingProperty
valueOf(
474 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
476 throw new java.lang.IllegalArgumentException(
477 "EnumValueDescriptor is not for this type.");
479 if (desc.getIndex() == -1) {
482 return VALUES[desc.getIndex()];
485 private final int value;
502 public enum SchedulingSolver
503 implements com.google.protobuf.ProtocolMessageEnum {
520 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
521 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
526 SchedulingSolver.class.getName());
544 throw new java.lang.IllegalArgumentException(
545 "Can't get the number of an unknown enum value.");
555 @java.lang.Deprecated
556 public static SchedulingSolver
valueOf(
int value) {
569 default:
return null;
575 return internalValueMap;
577 private static final com.google.protobuf.Internal.EnumLiteMap<
585 public final com.google.protobuf.Descriptors.EnumValueDescriptor
588 throw new java.lang.IllegalStateException(
589 "Can't get the descriptor of an unrecognized enum value.");
593 public final com.google.protobuf.Descriptors.EnumDescriptor
597 public static final com.google.protobuf.Descriptors.EnumDescriptor
599 return com.google.ortools.constraintsolver.RoutingSearchParameters.getDescriptor().getEnumTypes().get(2);
605 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
607 throw new java.lang.IllegalArgumentException(
608 "EnumValueDescriptor is not for this type.");
610 if (desc.getIndex() == -1) {
613 return VALUES[desc.getIndex()];
616 private final int value;
627 com.google.protobuf.MessageOrBuilder {
1779 public static final class LocalSearchNeighborhoodOperators
extends
1780 com.google.protobuf.GeneratedMessage implements
1783 private static final long serialVersionUID = 0L;
1785 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
1786 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
1791 LocalSearchNeighborhoodOperators.class.getName());
1794 private LocalSearchNeighborhoodOperators(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
1797 private LocalSearchNeighborhoodOperators() {
1799 useRelocatePair_ = 0;
1800 useLightRelocatePair_ = 0;
1801 useRelocateNeighbors_ = 0;
1802 useRelocateSubtrip_ = 0;
1804 useExchangePair_ = 0;
1805 useExchangeSubtrip_ = 0;
1807 useCrossExchange_ = 0;
1808 useRelocateExpensiveChain_ = 0;
1811 useLinKernighan_ = 0;
1814 useRelocateAndMakeActive_ = 0;
1815 useExchangeAndMakeActive_ = 0;
1816 useExchangePathStartEndsAndMakeActive_ = 0;
1817 useMakeInactive_ = 0;
1818 useMakeChainInactive_ = 0;
1820 useSwapActiveChain_ = 0;
1821 useExtendedSwapActive_ = 0;
1822 useShortestPathSwapActive_ = 0;
1823 useShortestPathTwoOpt_ = 0;
1824 useNodePairSwapActive_ = 0;
1826 useFullPathLns_ = 0;
1828 useInactiveLns_ = 0;
1829 useGlobalCheapestInsertionPathLns_ = 0;
1830 useLocalCheapestInsertionPathLns_ = 0;
1831 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
1832 useGlobalCheapestInsertionExpensiveChainLns_ = 0;
1833 useLocalCheapestInsertionExpensiveChainLns_ = 0;
1834 useGlobalCheapestInsertionCloseNodesLns_ = 0;
1835 useLocalCheapestInsertionCloseNodesLns_ = 0;
1838 public static final com.google.protobuf.Descriptors.Descriptor
1840 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
1844 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
1846 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_fieldAccessorTable
1847 .ensureFieldAccessorsInitialized(
1848 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.class, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder.class);
1852 private int useRelocate_ = 0;
1870 return useRelocate_;
1894 private int useRelocatePair_ = 0;
1912 return useRelocatePair_;
1936 private int useLightRelocatePair_ = 0;
1952 return useLightRelocatePair_;
1974 private int useRelocateNeighbors_ = 0;
2005 return useRelocateNeighbors_;
2042 private int useRelocateSubtrip_ = 0;
2065 return useRelocateSubtrip_;
2094 private int useExchange_ = 0;
2110 return useExchange_;
2132 private int useExchangePair_ = 0;
2148 return useExchangePair_;
2170 private int useExchangeSubtrip_ = 0;
2181 return useExchangeSubtrip_;
2198 private int useCross_ = 0;
2240 private int useCrossExchange_ = 0;
2250 return useCrossExchange_;
2266 private int useRelocateExpensiveChain_ = 0;
2285 return useRelocateExpensiveChain_;
2310 private int useTwoOpt_ = 0;
2354 private int useOrOpt_ = 0;
2400 private int useLinKernighan_ = 0;
2413 return useLinKernighan_;
2432 private int useTspOpt_ = 0;
2468 private int useMakeActive_ = 0;
2484 return useMakeActive_;
2506 private int useRelocateAndMakeActive_ = 0;
2525 return useRelocateAndMakeActive_;
2550 private int useExchangeAndMakeActive_ = 0;
2565 return useExchangeAndMakeActive_;
2586 private int useExchangePathStartEndsAndMakeActive_ = 0;
2604 return useExchangePathStartEndsAndMakeActive_;
2628 private int useMakeInactive_ = 0;
2642 return useMakeInactive_;
2662 private int useMakeChainInactive_ = 0;
2677 return useMakeChainInactive_;
2698 private int useSwapActive_ = 0;
2712 return useSwapActive_;
2732 private int useSwapActiveChain_ = 0;
2747 return useSwapActiveChain_;
2768 private int useExtendedSwapActive_ = 0;
2787 return useExtendedSwapActive_;
2812 private int useShortestPathSwapActive_ = 0;
2827 return useShortestPathSwapActive_;
2848 private int useShortestPathTwoOpt_ = 0;
2859 return useShortestPathTwoOpt_;
2876 private int useNodePairSwapActive_ = 0;
2896 return useNodePairSwapActive_;
2922 private int usePathLns_ = 0;
2962 private int useFullPathLns_ = 0;
2972 return useFullPathLns_;
2988 private int useTspLns_ = 0;
3024 private int useInactiveLns_ = 0;
3036 return useInactiveLns_;
3054 private int useGlobalCheapestInsertionPathLns_ = 0;
3066 return useGlobalCheapestInsertionPathLns_;
3084 private int useLocalCheapestInsertionPathLns_ = 0;
3094 return useLocalCheapestInsertionPathLns_;
3110 private int useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
3122 return useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
3140 private int useGlobalCheapestInsertionExpensiveChainLns_ = 0;
3153 return useGlobalCheapestInsertionExpensiveChainLns_;
3172 private int useLocalCheapestInsertionExpensiveChainLns_ = 0;
3183 return useLocalCheapestInsertionExpensiveChainLns_;
3200 private int useGlobalCheapestInsertionCloseNodesLns_ = 0;
3213 return useGlobalCheapestInsertionCloseNodesLns_;
3232 private int useLocalCheapestInsertionCloseNodesLns_ = 0;
3243 return useLocalCheapestInsertionCloseNodesLns_;
3259 private byte memoizedIsInitialized = -1;
3266 memoizedIsInitialized = 1;
3271 public void writeTo(com.google.protobuf.CodedOutputStream output)
3272 throws java.io.IOException {
3273 if (useRelocate_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3274 output.writeEnum(1, useRelocate_);
3276 if (useRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3277 output.writeEnum(2, useRelocatePair_);
3279 if (useRelocateNeighbors_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3280 output.writeEnum(3, useRelocateNeighbors_);
3282 if (useExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3283 output.writeEnum(4, useExchange_);
3285 if (useCross_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3286 output.writeEnum(5, useCross_);
3288 if (useCrossExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3289 output.writeEnum(6, useCrossExchange_);
3291 if (useTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3292 output.writeEnum(7, useTwoOpt_);
3294 if (useOrOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3295 output.writeEnum(8, useOrOpt_);
3297 if (useLinKernighan_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3298 output.writeEnum(9, useLinKernighan_);
3300 if (useTspOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3301 output.writeEnum(10, useTspOpt_);
3303 if (useMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3304 output.writeEnum(11, useMakeActive_);
3306 if (useMakeInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3307 output.writeEnum(12, useMakeInactive_);
3309 if (useMakeChainInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3310 output.writeEnum(13, useMakeChainInactive_);
3312 if (useSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3313 output.writeEnum(14, useSwapActive_);
3315 if (useExtendedSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3316 output.writeEnum(15, useExtendedSwapActive_);
3318 if (usePathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3319 output.writeEnum(16, usePathLns_);
3321 if (useFullPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3322 output.writeEnum(17, useFullPathLns_);
3324 if (useTspLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3325 output.writeEnum(18, useTspLns_);
3327 if (useInactiveLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3328 output.writeEnum(19, useInactiveLns_);
3330 if (useNodePairSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3331 output.writeEnum(20, useNodePairSwapActive_);
3333 if (useRelocateAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3334 output.writeEnum(21, useRelocateAndMakeActive_);
3336 if (useExchangePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3337 output.writeEnum(22, useExchangePair_);
3339 if (useRelocateExpensiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3340 output.writeEnum(23, useRelocateExpensiveChain_);
3342 if (useLightRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3343 output.writeEnum(24, useLightRelocatePair_);
3345 if (useRelocateSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3346 output.writeEnum(25, useRelocateSubtrip_);
3348 if (useExchangeSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3349 output.writeEnum(26, useExchangeSubtrip_);
3351 if (useGlobalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3352 output.writeEnum(27, useGlobalCheapestInsertionPathLns_);
3354 if (useLocalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3355 output.writeEnum(28, useLocalCheapestInsertionPathLns_);
3357 if (useGlobalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3358 output.writeEnum(29, useGlobalCheapestInsertionExpensiveChainLns_);
3360 if (useLocalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3361 output.writeEnum(30, useLocalCheapestInsertionExpensiveChainLns_);
3363 if (useGlobalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3364 output.writeEnum(31, useGlobalCheapestInsertionCloseNodesLns_);
3366 if (useLocalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3367 output.writeEnum(32, useLocalCheapestInsertionCloseNodesLns_);
3369 if (useRelocatePathGlobalCheapestInsertionInsertUnperformed_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3370 output.writeEnum(33, useRelocatePathGlobalCheapestInsertionInsertUnperformed_);
3372 if (useShortestPathSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3373 output.writeEnum(34, useShortestPathSwapActive_);
3375 if (useSwapActiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3376 output.writeEnum(35, useSwapActiveChain_);
3378 if (useShortestPathTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3379 output.writeEnum(36, useShortestPathTwoOpt_);
3381 if (useExchangeAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3382 output.writeEnum(37, useExchangeAndMakeActive_);
3384 if (useExchangePathStartEndsAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3385 output.writeEnum(38, useExchangePathStartEndsAndMakeActive_);
3387 getUnknownFields().writeTo(output);
3392 int size = memoizedSize;
3393 if (size != -1)
return size;
3396 if (useRelocate_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3397 size += com.google.protobuf.CodedOutputStream
3398 .computeEnumSize(1, useRelocate_);
3400 if (useRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3401 size += com.google.protobuf.CodedOutputStream
3402 .computeEnumSize(2, useRelocatePair_);
3404 if (useRelocateNeighbors_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3405 size += com.google.protobuf.CodedOutputStream
3406 .computeEnumSize(3, useRelocateNeighbors_);
3408 if (useExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3409 size += com.google.protobuf.CodedOutputStream
3410 .computeEnumSize(4, useExchange_);
3412 if (useCross_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3413 size += com.google.protobuf.CodedOutputStream
3414 .computeEnumSize(5, useCross_);
3416 if (useCrossExchange_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3417 size += com.google.protobuf.CodedOutputStream
3418 .computeEnumSize(6, useCrossExchange_);
3420 if (useTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3421 size += com.google.protobuf.CodedOutputStream
3422 .computeEnumSize(7, useTwoOpt_);
3424 if (useOrOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3425 size += com.google.protobuf.CodedOutputStream
3426 .computeEnumSize(8, useOrOpt_);
3428 if (useLinKernighan_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3429 size += com.google.protobuf.CodedOutputStream
3430 .computeEnumSize(9, useLinKernighan_);
3432 if (useTspOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3433 size += com.google.protobuf.CodedOutputStream
3434 .computeEnumSize(10, useTspOpt_);
3436 if (useMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3437 size += com.google.protobuf.CodedOutputStream
3438 .computeEnumSize(11, useMakeActive_);
3440 if (useMakeInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3441 size += com.google.protobuf.CodedOutputStream
3442 .computeEnumSize(12, useMakeInactive_);
3444 if (useMakeChainInactive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3445 size += com.google.protobuf.CodedOutputStream
3446 .computeEnumSize(13, useMakeChainInactive_);
3448 if (useSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3449 size += com.google.protobuf.CodedOutputStream
3450 .computeEnumSize(14, useSwapActive_);
3452 if (useExtendedSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3453 size += com.google.protobuf.CodedOutputStream
3454 .computeEnumSize(15, useExtendedSwapActive_);
3456 if (usePathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3457 size += com.google.protobuf.CodedOutputStream
3458 .computeEnumSize(16, usePathLns_);
3460 if (useFullPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3461 size += com.google.protobuf.CodedOutputStream
3462 .computeEnumSize(17, useFullPathLns_);
3464 if (useTspLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3465 size += com.google.protobuf.CodedOutputStream
3466 .computeEnumSize(18, useTspLns_);
3468 if (useInactiveLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3469 size += com.google.protobuf.CodedOutputStream
3470 .computeEnumSize(19, useInactiveLns_);
3472 if (useNodePairSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3473 size += com.google.protobuf.CodedOutputStream
3474 .computeEnumSize(20, useNodePairSwapActive_);
3476 if (useRelocateAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3477 size += com.google.protobuf.CodedOutputStream
3478 .computeEnumSize(21, useRelocateAndMakeActive_);
3480 if (useExchangePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3481 size += com.google.protobuf.CodedOutputStream
3482 .computeEnumSize(22, useExchangePair_);
3484 if (useRelocateExpensiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3485 size += com.google.protobuf.CodedOutputStream
3486 .computeEnumSize(23, useRelocateExpensiveChain_);
3488 if (useLightRelocatePair_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3489 size += com.google.protobuf.CodedOutputStream
3490 .computeEnumSize(24, useLightRelocatePair_);
3492 if (useRelocateSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3493 size += com.google.protobuf.CodedOutputStream
3494 .computeEnumSize(25, useRelocateSubtrip_);
3496 if (useExchangeSubtrip_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3497 size += com.google.protobuf.CodedOutputStream
3498 .computeEnumSize(26, useExchangeSubtrip_);
3500 if (useGlobalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3501 size += com.google.protobuf.CodedOutputStream
3502 .computeEnumSize(27, useGlobalCheapestInsertionPathLns_);
3504 if (useLocalCheapestInsertionPathLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3505 size += com.google.protobuf.CodedOutputStream
3506 .computeEnumSize(28, useLocalCheapestInsertionPathLns_);
3508 if (useGlobalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3509 size += com.google.protobuf.CodedOutputStream
3510 .computeEnumSize(29, useGlobalCheapestInsertionExpensiveChainLns_);
3512 if (useLocalCheapestInsertionExpensiveChainLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3513 size += com.google.protobuf.CodedOutputStream
3514 .computeEnumSize(30, useLocalCheapestInsertionExpensiveChainLns_);
3516 if (useGlobalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3517 size += com.google.protobuf.CodedOutputStream
3518 .computeEnumSize(31, useGlobalCheapestInsertionCloseNodesLns_);
3520 if (useLocalCheapestInsertionCloseNodesLns_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3521 size += com.google.protobuf.CodedOutputStream
3522 .computeEnumSize(32, useLocalCheapestInsertionCloseNodesLns_);
3524 if (useRelocatePathGlobalCheapestInsertionInsertUnperformed_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3525 size += com.google.protobuf.CodedOutputStream
3526 .computeEnumSize(33, useRelocatePathGlobalCheapestInsertionInsertUnperformed_);
3528 if (useShortestPathSwapActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3529 size += com.google.protobuf.CodedOutputStream
3530 .computeEnumSize(34, useShortestPathSwapActive_);
3532 if (useSwapActiveChain_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3533 size += com.google.protobuf.CodedOutputStream
3534 .computeEnumSize(35, useSwapActiveChain_);
3536 if (useShortestPathTwoOpt_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3537 size += com.google.protobuf.CodedOutputStream
3538 .computeEnumSize(36, useShortestPathTwoOpt_);
3540 if (useExchangeAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3541 size += com.google.protobuf.CodedOutputStream
3542 .computeEnumSize(37, useExchangeAndMakeActive_);
3544 if (useExchangePathStartEndsAndMakeActive_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
3545 size += com.google.protobuf.CodedOutputStream
3546 .computeEnumSize(38, useExchangePathStartEndsAndMakeActive_);
3548 size += getUnknownFields().getSerializedSize();
3549 memoizedSize = size;
3554 public boolean equals(
final java.lang.Object obj) {
3558 if (!(obj instanceof com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators)) {
3559 return super.equals(obj);
3563 if (useRelocate_ != other.useRelocate_)
return false;
3564 if (useRelocatePair_ != other.useRelocatePair_)
return false;
3565 if (useLightRelocatePair_ != other.useLightRelocatePair_)
return false;
3566 if (useRelocateNeighbors_ != other.useRelocateNeighbors_)
return false;
3567 if (useRelocateSubtrip_ != other.useRelocateSubtrip_)
return false;
3568 if (useExchange_ != other.useExchange_)
return false;
3569 if (useExchangePair_ != other.useExchangePair_)
return false;
3570 if (useExchangeSubtrip_ != other.useExchangeSubtrip_)
return false;
3571 if (useCross_ != other.useCross_)
return false;
3572 if (useCrossExchange_ != other.useCrossExchange_)
return false;
3573 if (useRelocateExpensiveChain_ != other.useRelocateExpensiveChain_)
return false;
3574 if (useTwoOpt_ != other.useTwoOpt_)
return false;
3575 if (useOrOpt_ != other.useOrOpt_)
return false;
3576 if (useLinKernighan_ != other.useLinKernighan_)
return false;
3577 if (useTspOpt_ != other.useTspOpt_)
return false;
3578 if (useMakeActive_ != other.useMakeActive_)
return false;
3579 if (useRelocateAndMakeActive_ != other.useRelocateAndMakeActive_)
return false;
3580 if (useExchangeAndMakeActive_ != other.useExchangeAndMakeActive_)
return false;
3581 if (useExchangePathStartEndsAndMakeActive_ != other.useExchangePathStartEndsAndMakeActive_)
return false;
3582 if (useMakeInactive_ != other.useMakeInactive_)
return false;
3583 if (useMakeChainInactive_ != other.useMakeChainInactive_)
return false;
3584 if (useSwapActive_ != other.useSwapActive_)
return false;
3585 if (useSwapActiveChain_ != other.useSwapActiveChain_)
return false;
3586 if (useExtendedSwapActive_ != other.useExtendedSwapActive_)
return false;
3587 if (useShortestPathSwapActive_ != other.useShortestPathSwapActive_)
return false;
3588 if (useShortestPathTwoOpt_ != other.useShortestPathTwoOpt_)
return false;
3589 if (useNodePairSwapActive_ != other.useNodePairSwapActive_)
return false;
3590 if (usePathLns_ != other.usePathLns_)
return false;
3591 if (useFullPathLns_ != other.useFullPathLns_)
return false;
3592 if (useTspLns_ != other.useTspLns_)
return false;
3593 if (useInactiveLns_ != other.useInactiveLns_)
return false;
3594 if (useGlobalCheapestInsertionPathLns_ != other.useGlobalCheapestInsertionPathLns_)
return false;
3595 if (useLocalCheapestInsertionPathLns_ != other.useLocalCheapestInsertionPathLns_)
return false;
3596 if (useRelocatePathGlobalCheapestInsertionInsertUnperformed_ != other.useRelocatePathGlobalCheapestInsertionInsertUnperformed_)
return false;
3597 if (useGlobalCheapestInsertionExpensiveChainLns_ != other.useGlobalCheapestInsertionExpensiveChainLns_)
return false;
3598 if (useLocalCheapestInsertionExpensiveChainLns_ != other.useLocalCheapestInsertionExpensiveChainLns_)
return false;
3599 if (useGlobalCheapestInsertionCloseNodesLns_ != other.useGlobalCheapestInsertionCloseNodesLns_)
return false;
3600 if (useLocalCheapestInsertionCloseNodesLns_ != other.useLocalCheapestInsertionCloseNodesLns_)
return false;
3601 if (!getUnknownFields().
equals(other.getUnknownFields()))
return false;
3607 if (memoizedHashCode != 0) {
3608 return memoizedHashCode;
3613 hash = (53 * hash) + useRelocate_;
3615 hash = (53 * hash) + useRelocatePair_;
3617 hash = (53 * hash) + useLightRelocatePair_;
3619 hash = (53 * hash) + useRelocateNeighbors_;
3621 hash = (53 * hash) + useRelocateSubtrip_;
3623 hash = (53 * hash) + useExchange_;
3625 hash = (53 * hash) + useExchangePair_;
3627 hash = (53 * hash) + useExchangeSubtrip_;
3629 hash = (53 * hash) + useCross_;
3631 hash = (53 * hash) + useCrossExchange_;
3633 hash = (53 * hash) + useRelocateExpensiveChain_;
3635 hash = (53 * hash) + useTwoOpt_;
3637 hash = (53 * hash) + useOrOpt_;
3639 hash = (53 * hash) + useLinKernighan_;
3641 hash = (53 * hash) + useTspOpt_;
3643 hash = (53 * hash) + useMakeActive_;
3645 hash = (53 * hash) + useRelocateAndMakeActive_;
3647 hash = (53 * hash) + useExchangeAndMakeActive_;
3649 hash = (53 * hash) + useExchangePathStartEndsAndMakeActive_;
3651 hash = (53 * hash) + useMakeInactive_;
3653 hash = (53 * hash) + useMakeChainInactive_;
3655 hash = (53 * hash) + useSwapActive_;
3657 hash = (53 * hash) + useSwapActiveChain_;
3659 hash = (53 * hash) + useExtendedSwapActive_;
3661 hash = (53 * hash) + useShortestPathSwapActive_;
3663 hash = (53 * hash) + useShortestPathTwoOpt_;
3665 hash = (53 * hash) + useNodePairSwapActive_;
3667 hash = (53 * hash) + usePathLns_;
3669 hash = (53 * hash) + useFullPathLns_;
3671 hash = (53 * hash) + useTspLns_;
3673 hash = (53 * hash) + useInactiveLns_;
3675 hash = (53 * hash) + useGlobalCheapestInsertionPathLns_;
3677 hash = (53 * hash) + useLocalCheapestInsertionPathLns_;
3679 hash = (53 * hash) + useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
3681 hash = (53 * hash) + useGlobalCheapestInsertionExpensiveChainLns_;
3683 hash = (53 * hash) + useLocalCheapestInsertionExpensiveChainLns_;
3685 hash = (53 * hash) + useGlobalCheapestInsertionCloseNodesLns_;
3687 hash = (53 * hash) + useLocalCheapestInsertionCloseNodesLns_;
3688 hash = (29 * hash) + getUnknownFields().hashCode();
3689 memoizedHashCode = hash;
3694 java.nio.ByteBuffer data)
3695 throws com.google.protobuf.InvalidProtocolBufferException {
3696 return PARSER.parseFrom(data);
3699 java.nio.ByteBuffer data,
3700 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3701 throws com.google.protobuf.InvalidProtocolBufferException {
3702 return PARSER.parseFrom(data, extensionRegistry);
3705 com.google.protobuf.ByteString data)
3706 throws com.google.protobuf.InvalidProtocolBufferException {
3707 return PARSER.parseFrom(data);
3710 com.google.protobuf.ByteString data,
3711 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3712 throws com.google.protobuf.InvalidProtocolBufferException {
3713 return PARSER.parseFrom(data, extensionRegistry);
3716 throws com.google.protobuf.InvalidProtocolBufferException {
3717 return PARSER.parseFrom(data);
3721 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3722 throws com.google.protobuf.InvalidProtocolBufferException {
3723 return PARSER.parseFrom(data, extensionRegistry);
3726 throws java.io.IOException {
3727 return com.google.protobuf.GeneratedMessage
3728 .parseWithIOException(PARSER, input);
3731 java.io.InputStream input,
3732 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3733 throws java.io.IOException {
3734 return com.google.protobuf.GeneratedMessage
3735 .parseWithIOException(PARSER, input, extensionRegistry);
3739 throws java.io.IOException {
3740 return com.google.protobuf.GeneratedMessage
3741 .parseDelimitedWithIOException(PARSER, input);
3745 java.io.InputStream input,
3746 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3747 throws java.io.IOException {
3748 return com.google.protobuf.GeneratedMessage
3749 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
3752 com.google.protobuf.CodedInputStream input)
3753 throws java.io.IOException {
3754 return com.google.protobuf.GeneratedMessage
3755 .parseWithIOException(PARSER, input);
3758 com.google.protobuf.CodedInputStream input,
3759 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3760 throws java.io.IOException {
3761 return com.google.protobuf.GeneratedMessage
3762 .parseWithIOException(PARSER, input, extensionRegistry);
3768 return DEFAULT_INSTANCE.toBuilder();
3770 public static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators prototype) {
3771 return DEFAULT_INSTANCE.toBuilder().
mergeFrom(prototype);
3775 return this == DEFAULT_INSTANCE
3781 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
3793 public static final class Builder
extends
3794 com.google.protobuf.GeneratedMessage.Builder<Builder> implements
3797 public static final com.google.protobuf.Descriptors.Descriptor
3799 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
3803 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
3805 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_fieldAccessorTable
3806 .ensureFieldAccessorsInitialized(
3807 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.class, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder.class);
3816 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
3826 useRelocatePair_ = 0;
3827 useLightRelocatePair_ = 0;
3828 useRelocateNeighbors_ = 0;
3829 useRelocateSubtrip_ = 0;
3831 useExchangePair_ = 0;
3832 useExchangeSubtrip_ = 0;
3834 useCrossExchange_ = 0;
3835 useRelocateExpensiveChain_ = 0;
3838 useLinKernighan_ = 0;
3841 useRelocateAndMakeActive_ = 0;
3842 useExchangeAndMakeActive_ = 0;
3843 useExchangePathStartEndsAndMakeActive_ = 0;
3844 useMakeInactive_ = 0;
3845 useMakeChainInactive_ = 0;
3847 useSwapActiveChain_ = 0;
3848 useExtendedSwapActive_ = 0;
3849 useShortestPathSwapActive_ = 0;
3850 useShortestPathTwoOpt_ = 0;
3851 useNodePairSwapActive_ = 0;
3853 useFullPathLns_ = 0;
3855 useInactiveLns_ = 0;
3856 useGlobalCheapestInsertionPathLns_ = 0;
3857 useLocalCheapestInsertionPathLns_ = 0;
3858 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
3859 useGlobalCheapestInsertionExpensiveChainLns_ = 0;
3860 useLocalCheapestInsertionExpensiveChainLns_ = 0;
3861 useGlobalCheapestInsertionCloseNodesLns_ = 0;
3862 useLocalCheapestInsertionCloseNodesLns_ = 0;
3867 public com.google.protobuf.Descriptors.Descriptor
3869 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_LocalSearchNeighborhoodOperators_descriptor;
3874 return com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance();
3881 throw newUninitializedMessageException(result);
3889 if (bitField0_ != 0) { buildPartial0(result); }
3890 if (bitField1_ != 0) { buildPartial1(result); }
3895 private void buildPartial0(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators result) {
3896 int from_bitField0_ = bitField0_;
3897 if (((from_bitField0_ & 0x00000001) != 0)) {
3898 result.useRelocate_ = useRelocate_;
3900 if (((from_bitField0_ & 0x00000002) != 0)) {
3901 result.useRelocatePair_ = useRelocatePair_;
3903 if (((from_bitField0_ & 0x00000004) != 0)) {
3904 result.useLightRelocatePair_ = useLightRelocatePair_;
3906 if (((from_bitField0_ & 0x00000008) != 0)) {
3907 result.useRelocateNeighbors_ = useRelocateNeighbors_;
3909 if (((from_bitField0_ & 0x00000010) != 0)) {
3910 result.useRelocateSubtrip_ = useRelocateSubtrip_;
3912 if (((from_bitField0_ & 0x00000020) != 0)) {
3913 result.useExchange_ = useExchange_;
3915 if (((from_bitField0_ & 0x00000040) != 0)) {
3916 result.useExchangePair_ = useExchangePair_;
3918 if (((from_bitField0_ & 0x00000080) != 0)) {
3919 result.useExchangeSubtrip_ = useExchangeSubtrip_;
3921 if (((from_bitField0_ & 0x00000100) != 0)) {
3922 result.useCross_ = useCross_;
3924 if (((from_bitField0_ & 0x00000200) != 0)) {
3925 result.useCrossExchange_ = useCrossExchange_;
3927 if (((from_bitField0_ & 0x00000400) != 0)) {
3928 result.useRelocateExpensiveChain_ = useRelocateExpensiveChain_;
3930 if (((from_bitField0_ & 0x00000800) != 0)) {
3931 result.useTwoOpt_ = useTwoOpt_;
3933 if (((from_bitField0_ & 0x00001000) != 0)) {
3934 result.useOrOpt_ = useOrOpt_;
3936 if (((from_bitField0_ & 0x00002000) != 0)) {
3937 result.useLinKernighan_ = useLinKernighan_;
3939 if (((from_bitField0_ & 0x00004000) != 0)) {
3940 result.useTspOpt_ = useTspOpt_;
3942 if (((from_bitField0_ & 0x00008000) != 0)) {
3943 result.useMakeActive_ = useMakeActive_;
3945 if (((from_bitField0_ & 0x00010000) != 0)) {
3946 result.useRelocateAndMakeActive_ = useRelocateAndMakeActive_;
3948 if (((from_bitField0_ & 0x00020000) != 0)) {
3949 result.useExchangeAndMakeActive_ = useExchangeAndMakeActive_;
3951 if (((from_bitField0_ & 0x00040000) != 0)) {
3952 result.useExchangePathStartEndsAndMakeActive_ = useExchangePathStartEndsAndMakeActive_;
3954 if (((from_bitField0_ & 0x00080000) != 0)) {
3955 result.useMakeInactive_ = useMakeInactive_;
3957 if (((from_bitField0_ & 0x00100000) != 0)) {
3958 result.useMakeChainInactive_ = useMakeChainInactive_;
3960 if (((from_bitField0_ & 0x00200000) != 0)) {
3961 result.useSwapActive_ = useSwapActive_;
3963 if (((from_bitField0_ & 0x00400000) != 0)) {
3964 result.useSwapActiveChain_ = useSwapActiveChain_;
3966 if (((from_bitField0_ & 0x00800000) != 0)) {
3967 result.useExtendedSwapActive_ = useExtendedSwapActive_;
3969 if (((from_bitField0_ & 0x01000000) != 0)) {
3970 result.useShortestPathSwapActive_ = useShortestPathSwapActive_;
3972 if (((from_bitField0_ & 0x02000000) != 0)) {
3973 result.useShortestPathTwoOpt_ = useShortestPathTwoOpt_;
3975 if (((from_bitField0_ & 0x04000000) != 0)) {
3976 result.useNodePairSwapActive_ = useNodePairSwapActive_;
3978 if (((from_bitField0_ & 0x08000000) != 0)) {
3979 result.usePathLns_ = usePathLns_;
3981 if (((from_bitField0_ & 0x10000000) != 0)) {
3982 result.useFullPathLns_ = useFullPathLns_;
3984 if (((from_bitField0_ & 0x20000000) != 0)) {
3985 result.useTspLns_ = useTspLns_;
3987 if (((from_bitField0_ & 0x40000000) != 0)) {
3988 result.useInactiveLns_ = useInactiveLns_;
3990 if (((from_bitField0_ & 0x80000000) != 0)) {
3991 result.useGlobalCheapestInsertionPathLns_ = useGlobalCheapestInsertionPathLns_;
3995 private void buildPartial1(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators result) {
3996 int from_bitField1_ = bitField1_;
3997 if (((from_bitField1_ & 0x00000001) != 0)) {
3998 result.useLocalCheapestInsertionPathLns_ = useLocalCheapestInsertionPathLns_;
4000 if (((from_bitField1_ & 0x00000002) != 0)) {
4001 result.useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
4003 if (((from_bitField1_ & 0x00000004) != 0)) {
4004 result.useGlobalCheapestInsertionExpensiveChainLns_ = useGlobalCheapestInsertionExpensiveChainLns_;
4006 if (((from_bitField1_ & 0x00000008) != 0)) {
4007 result.useLocalCheapestInsertionExpensiveChainLns_ = useLocalCheapestInsertionExpensiveChainLns_;
4009 if (((from_bitField1_ & 0x00000010) != 0)) {
4010 result.useGlobalCheapestInsertionCloseNodesLns_ = useGlobalCheapestInsertionCloseNodesLns_;
4012 if (((from_bitField1_ & 0x00000020) != 0)) {
4013 result.useLocalCheapestInsertionCloseNodesLns_ = useLocalCheapestInsertionCloseNodesLns_;
4018 public Builder
mergeFrom(com.google.protobuf.Message other) {
4019 if (other instanceof com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators) {
4020 return mergeFrom((com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators)other);
4022 super.mergeFrom(other);
4027 public Builder
mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators other) {
4028 if (other == com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance())
return this;
4029 if (other.useRelocate_ != 0) {
4032 if (other.useRelocatePair_ != 0) {
4035 if (other.useLightRelocatePair_ != 0) {
4038 if (other.useRelocateNeighbors_ != 0) {
4041 if (other.useRelocateSubtrip_ != 0) {
4044 if (other.useExchange_ != 0) {
4047 if (other.useExchangePair_ != 0) {
4050 if (other.useExchangeSubtrip_ != 0) {
4053 if (other.useCross_ != 0) {
4056 if (other.useCrossExchange_ != 0) {
4059 if (other.useRelocateExpensiveChain_ != 0) {
4062 if (other.useTwoOpt_ != 0) {
4065 if (other.useOrOpt_ != 0) {
4068 if (other.useLinKernighan_ != 0) {
4071 if (other.useTspOpt_ != 0) {
4074 if (other.useMakeActive_ != 0) {
4077 if (other.useRelocateAndMakeActive_ != 0) {
4080 if (other.useExchangeAndMakeActive_ != 0) {
4083 if (other.useExchangePathStartEndsAndMakeActive_ != 0) {
4086 if (other.useMakeInactive_ != 0) {
4089 if (other.useMakeChainInactive_ != 0) {
4092 if (other.useSwapActive_ != 0) {
4095 if (other.useSwapActiveChain_ != 0) {
4098 if (other.useExtendedSwapActive_ != 0) {
4101 if (other.useShortestPathSwapActive_ != 0) {
4104 if (other.useShortestPathTwoOpt_ != 0) {
4107 if (other.useNodePairSwapActive_ != 0) {
4110 if (other.usePathLns_ != 0) {
4113 if (other.useFullPathLns_ != 0) {
4116 if (other.useTspLns_ != 0) {
4119 if (other.useInactiveLns_ != 0) {
4122 if (other.useGlobalCheapestInsertionPathLns_ != 0) {
4125 if (other.useLocalCheapestInsertionPathLns_ != 0) {
4128 if (other.useRelocatePathGlobalCheapestInsertionInsertUnperformed_ != 0) {
4131 if (other.useGlobalCheapestInsertionExpensiveChainLns_ != 0) {
4134 if (other.useLocalCheapestInsertionExpensiveChainLns_ != 0) {
4137 if (other.useGlobalCheapestInsertionCloseNodesLns_ != 0) {
4140 if (other.useLocalCheapestInsertionCloseNodesLns_ != 0) {
4143 this.mergeUnknownFields(other.getUnknownFields());
4155 com.google.protobuf.CodedInputStream input,
4156 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4157 throws java.io.IOException {
4158 if (extensionRegistry ==
null) {
4159 throw new java.lang.NullPointerException();
4162 boolean done =
false;
4164 int tag = input.readTag();
4170 useRelocate_ = input.readEnum();
4171 bitField0_ |= 0x00000001;
4175 useRelocatePair_ = input.readEnum();
4176 bitField0_ |= 0x00000002;
4180 useRelocateNeighbors_ = input.readEnum();
4181 bitField0_ |= 0x00000008;
4185 useExchange_ = input.readEnum();
4186 bitField0_ |= 0x00000020;
4190 useCross_ = input.readEnum();
4191 bitField0_ |= 0x00000100;
4195 useCrossExchange_ = input.readEnum();
4196 bitField0_ |= 0x00000200;
4200 useTwoOpt_ = input.readEnum();
4201 bitField0_ |= 0x00000800;
4205 useOrOpt_ = input.readEnum();
4206 bitField0_ |= 0x00001000;
4210 useLinKernighan_ = input.readEnum();
4211 bitField0_ |= 0x00002000;
4215 useTspOpt_ = input.readEnum();
4216 bitField0_ |= 0x00004000;
4220 useMakeActive_ = input.readEnum();
4221 bitField0_ |= 0x00008000;
4225 useMakeInactive_ = input.readEnum();
4226 bitField0_ |= 0x00080000;
4230 useMakeChainInactive_ = input.readEnum();
4231 bitField0_ |= 0x00100000;
4235 useSwapActive_ = input.readEnum();
4236 bitField0_ |= 0x00200000;
4240 useExtendedSwapActive_ = input.readEnum();
4241 bitField0_ |= 0x00800000;
4245 usePathLns_ = input.readEnum();
4246 bitField0_ |= 0x08000000;
4250 useFullPathLns_ = input.readEnum();
4251 bitField0_ |= 0x10000000;
4255 useTspLns_ = input.readEnum();
4256 bitField0_ |= 0x20000000;
4260 useInactiveLns_ = input.readEnum();
4261 bitField0_ |= 0x40000000;
4265 useNodePairSwapActive_ = input.readEnum();
4266 bitField0_ |= 0x04000000;
4270 useRelocateAndMakeActive_ = input.readEnum();
4271 bitField0_ |= 0x00010000;
4275 useExchangePair_ = input.readEnum();
4276 bitField0_ |= 0x00000040;
4280 useRelocateExpensiveChain_ = input.readEnum();
4281 bitField0_ |= 0x00000400;
4285 useLightRelocatePair_ = input.readEnum();
4286 bitField0_ |= 0x00000004;
4290 useRelocateSubtrip_ = input.readEnum();
4291 bitField0_ |= 0x00000010;
4295 useExchangeSubtrip_ = input.readEnum();
4296 bitField0_ |= 0x00000080;
4300 useGlobalCheapestInsertionPathLns_ = input.readEnum();
4301 bitField0_ |= 0x80000000;
4305 useLocalCheapestInsertionPathLns_ = input.readEnum();
4306 bitField1_ |= 0x00000001;
4310 useGlobalCheapestInsertionExpensiveChainLns_ = input.readEnum();
4311 bitField1_ |= 0x00000004;
4315 useLocalCheapestInsertionExpensiveChainLns_ = input.readEnum();
4316 bitField1_ |= 0x00000008;
4320 useGlobalCheapestInsertionCloseNodesLns_ = input.readEnum();
4321 bitField1_ |= 0x00000010;
4325 useLocalCheapestInsertionCloseNodesLns_ = input.readEnum();
4326 bitField1_ |= 0x00000020;
4330 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = input.readEnum();
4331 bitField1_ |= 0x00000002;
4335 useShortestPathSwapActive_ = input.readEnum();
4336 bitField0_ |= 0x01000000;
4340 useSwapActiveChain_ = input.readEnum();
4341 bitField0_ |= 0x00400000;
4345 useShortestPathTwoOpt_ = input.readEnum();
4346 bitField0_ |= 0x02000000;
4350 useExchangeAndMakeActive_ = input.readEnum();
4351 bitField0_ |= 0x00020000;
4355 useExchangePathStartEndsAndMakeActive_ = input.readEnum();
4356 bitField0_ |= 0x00040000;
4360 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
4367 }
catch (com.google.protobuf.InvalidProtocolBufferException e) {
4368 throw e.unwrapIOException();
4374 private int bitField0_;
4375 private int bitField1_;
4377 private int useRelocate_ = 0;
4395 return useRelocate_;
4415 useRelocate_ = value;
4416 bitField0_ |= 0x00000001;
4459 if (value ==
null) {
4460 throw new NullPointerException();
4462 bitField0_ |= 0x00000001;
4463 useRelocate_ = value.getNumber();
4484 bitField0_ = (bitField0_ & ~0x00000001);
4490 private int useRelocatePair_ = 0;
4508 return useRelocatePair_;
4528 useRelocatePair_ = value;
4529 bitField0_ |= 0x00000002;
4572 if (value ==
null) {
4573 throw new NullPointerException();
4575 bitField0_ |= 0x00000002;
4576 useRelocatePair_ = value.getNumber();
4597 bitField0_ = (bitField0_ & ~0x00000002);
4598 useRelocatePair_ = 0;
4603 private int useLightRelocatePair_ = 0;
4619 return useLightRelocatePair_;
4637 useLightRelocatePair_ = value;
4638 bitField0_ |= 0x00000004;
4677 if (value ==
null) {
4678 throw new NullPointerException();
4680 bitField0_ |= 0x00000004;
4681 useLightRelocatePair_ = value.getNumber();
4700 bitField0_ = (bitField0_ & ~0x00000004);
4701 useLightRelocatePair_ = 0;
4706 private int useRelocateNeighbors_ = 0;
4737 return useRelocateNeighbors_;
4770 useRelocateNeighbors_ = value;
4771 bitField0_ |= 0x00000008;
4840 if (value ==
null) {
4841 throw new NullPointerException();
4843 bitField0_ |= 0x00000008;
4844 useRelocateNeighbors_ = value.getNumber();
4878 bitField0_ = (bitField0_ & ~0x00000008);
4879 useRelocateNeighbors_ = 0;
4884 private int useRelocateSubtrip_ = 0;
4907 return useRelocateSubtrip_;
4932 useRelocateSubtrip_ = value;
4933 bitField0_ |= 0x00000010;
4986 if (value ==
null) {
4987 throw new NullPointerException();
4989 bitField0_ |= 0x00000010;
4990 useRelocateSubtrip_ = value.getNumber();
5016 bitField0_ = (bitField0_ & ~0x00000010);
5017 useRelocateSubtrip_ = 0;
5022 private int useExchange_ = 0;
5038 return useExchange_;
5056 useExchange_ = value;
5057 bitField0_ |= 0x00000020;
5096 if (value ==
null) {
5097 throw new NullPointerException();
5099 bitField0_ |= 0x00000020;
5100 useExchange_ = value.getNumber();
5119 bitField0_ = (bitField0_ & ~0x00000020);
5125 private int useExchangePair_ = 0;
5141 return useExchangePair_;
5159 useExchangePair_ = value;
5160 bitField0_ |= 0x00000040;
5199 if (value ==
null) {
5200 throw new NullPointerException();
5202 bitField0_ |= 0x00000040;
5203 useExchangePair_ = value.getNumber();
5222 bitField0_ = (bitField0_ & ~0x00000040);
5223 useExchangePair_ = 0;
5228 private int useExchangeSubtrip_ = 0;
5239 return useExchangeSubtrip_;
5252 useExchangeSubtrip_ = value;
5253 bitField0_ |= 0x00000080;
5282 if (value ==
null) {
5283 throw new NullPointerException();
5285 bitField0_ |= 0x00000080;
5286 useExchangeSubtrip_ = value.getNumber();
5300 bitField0_ = (bitField0_ & ~0x00000080);
5301 useExchangeSubtrip_ = 0;
5306 private int useCross_ = 0;
5345 bitField0_ |= 0x00000100;
5387 public Builder
setUseCross(com.google.ortools.util.OptionalBoolean value) {
5388 if (value ==
null) {
5389 throw new NullPointerException();
5391 bitField0_ |= 0x00000100;
5392 useCross_ = value.getNumber();
5413 bitField0_ = (bitField0_ & ~0x00000100);
5419 private int useCrossExchange_ = 0;
5429 return useCrossExchange_;
5441 useCrossExchange_ = value;
5442 bitField0_ |= 0x00000200;
5469 if (value ==
null) {
5470 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) {
5579 throw new NullPointerException();
5581 bitField0_ |= 0x00000400;
5582 useRelocateExpensiveChain_ = value.getNumber();
5604 bitField0_ = (bitField0_ & ~0x00000400);
5605 useRelocateExpensiveChain_ = 0;
5610 private int useTwoOpt_ = 0;
5651 bitField0_ |= 0x00000800;
5695 public Builder
setUseTwoOpt(com.google.ortools.util.OptionalBoolean value) {
5696 if (value ==
null) {
5697 throw new NullPointerException();
5699 bitField0_ |= 0x00000800;
5700 useTwoOpt_ = value.getNumber();
5722 bitField0_ = (bitField0_ & ~0x00000800);
5728 private int useOrOpt_ = 0;
5771 bitField0_ |= 0x00001000;
5817 public Builder
setUseOrOpt(com.google.ortools.util.OptionalBoolean value) {
5818 if (value ==
null) {
5819 throw new NullPointerException();
5821 bitField0_ |= 0x00001000;
5822 useOrOpt_ = value.getNumber();
5845 bitField0_ = (bitField0_ & ~0x00001000);
5851 private int useLinKernighan_ = 0;
5864 return useLinKernighan_;
5879 useLinKernighan_ = value;
5880 bitField0_ |= 0x00002000;
5913 if (value ==
null) {
5914 throw new NullPointerException();
5916 bitField0_ |= 0x00002000;
5917 useLinKernighan_ = value.getNumber();
5933 bitField0_ = (bitField0_ & ~0x00002000);
5934 useLinKernighan_ = 0;
5939 private int useTspOpt_ = 0;
5972 bitField0_ |= 0x00004000;
6008 public Builder
setUseTspOpt(com.google.ortools.util.OptionalBoolean value) {
6009 if (value ==
null) {
6010 throw new NullPointerException();
6012 bitField0_ |= 0x00004000;
6013 useTspOpt_ = value.getNumber();
6031 bitField0_ = (bitField0_ & ~0x00004000);
6037 private int useMakeActive_ = 0;
6053 return useMakeActive_;
6071 useMakeActive_ = value;
6072 bitField0_ |= 0x00008000;
6111 if (value ==
null) {
6112 throw new NullPointerException();
6114 bitField0_ |= 0x00008000;
6115 useMakeActive_ = value.getNumber();
6134 bitField0_ = (bitField0_ & ~0x00008000);
6140 private int useRelocateAndMakeActive_ = 0;
6159 return useRelocateAndMakeActive_;
6180 useRelocateAndMakeActive_ = value;
6181 bitField0_ |= 0x00010000;
6226 if (value ==
null) {
6227 throw new NullPointerException();
6229 bitField0_ |= 0x00010000;
6230 useRelocateAndMakeActive_ = value.getNumber();
6252 bitField0_ = (bitField0_ & ~0x00010000);
6253 useRelocateAndMakeActive_ = 0;
6258 private int useExchangeAndMakeActive_ = 0;
6273 return useExchangeAndMakeActive_;
6290 useExchangeAndMakeActive_ = value;
6291 bitField0_ |= 0x00020000;
6328 if (value ==
null) {
6329 throw new NullPointerException();
6331 bitField0_ |= 0x00020000;
6332 useExchangeAndMakeActive_ = value.getNumber();
6350 bitField0_ = (bitField0_ & ~0x00020000);
6351 useExchangeAndMakeActive_ = 0;
6356 private int useExchangePathStartEndsAndMakeActive_ = 0;
6374 return useExchangePathStartEndsAndMakeActive_;
6394 useExchangePathStartEndsAndMakeActive_ = value;
6395 bitField0_ |= 0x00040000;
6438 if (value ==
null) {
6439 throw new NullPointerException();
6441 bitField0_ |= 0x00040000;
6442 useExchangePathStartEndsAndMakeActive_ = value.getNumber();
6463 bitField0_ = (bitField0_ & ~0x00040000);
6464 useExchangePathStartEndsAndMakeActive_ = 0;
6469 private int useMakeInactive_ = 0;
6483 return useMakeInactive_;
6499 useMakeInactive_ = value;
6500 bitField0_ |= 0x00080000;
6535 if (value ==
null) {
6536 throw new NullPointerException();
6538 bitField0_ |= 0x00080000;
6539 useMakeInactive_ = value.getNumber();
6556 bitField0_ = (bitField0_ & ~0x00080000);
6557 useMakeInactive_ = 0;
6562 private int useMakeChainInactive_ = 0;
6577 return useMakeChainInactive_;
6594 useMakeChainInactive_ = value;
6595 bitField0_ |= 0x00100000;
6632 if (value ==
null) {
6633 throw new NullPointerException();
6635 bitField0_ |= 0x00100000;
6636 useMakeChainInactive_ = value.getNumber();
6654 bitField0_ = (bitField0_ & ~0x00100000);
6655 useMakeChainInactive_ = 0;
6660 private int useSwapActive_ = 0;
6674 return useSwapActive_;
6690 useSwapActive_ = value;
6691 bitField0_ |= 0x00200000;
6726 if (value ==
null) {
6727 throw new NullPointerException();
6729 bitField0_ |= 0x00200000;
6730 useSwapActive_ = value.getNumber();
6747 bitField0_ = (bitField0_ & ~0x00200000);
6753 private int useSwapActiveChain_ = 0;
6768 return useSwapActiveChain_;
6785 useSwapActiveChain_ = value;
6786 bitField0_ |= 0x00400000;
6823 if (value ==
null) {
6824 throw new NullPointerException();
6826 bitField0_ |= 0x00400000;
6827 useSwapActiveChain_ = value.getNumber();
6845 bitField0_ = (bitField0_ & ~0x00400000);
6846 useSwapActiveChain_ = 0;
6851 private int useExtendedSwapActive_ = 0;
6870 return useExtendedSwapActive_;
6891 useExtendedSwapActive_ = value;
6892 bitField0_ |= 0x00800000;
6937 if (value ==
null) {
6938 throw new NullPointerException();
6940 bitField0_ |= 0x00800000;
6941 useExtendedSwapActive_ = value.getNumber();
6963 bitField0_ = (bitField0_ & ~0x00800000);
6964 useExtendedSwapActive_ = 0;
6969 private int useShortestPathSwapActive_ = 0;
6984 return useShortestPathSwapActive_;
7001 useShortestPathSwapActive_ = value;
7002 bitField0_ |= 0x01000000;
7039 if (value ==
null) {
7040 throw new NullPointerException();
7042 bitField0_ |= 0x01000000;
7043 useShortestPathSwapActive_ = value.getNumber();
7061 bitField0_ = (bitField0_ & ~0x01000000);
7062 useShortestPathSwapActive_ = 0;
7067 private int useShortestPathTwoOpt_ = 0;
7078 return useShortestPathTwoOpt_;
7091 useShortestPathTwoOpt_ = value;
7092 bitField0_ |= 0x02000000;
7121 if (value ==
null) {
7122 throw new NullPointerException();
7124 bitField0_ |= 0x02000000;
7125 useShortestPathTwoOpt_ = value.getNumber();
7139 bitField0_ = (bitField0_ & ~0x02000000);
7140 useShortestPathTwoOpt_ = 0;
7145 private int useNodePairSwapActive_ = 0;
7165 return useNodePairSwapActive_;
7187 useNodePairSwapActive_ = value;
7188 bitField0_ |= 0x04000000;
7235 if (value ==
null) {
7236 throw new NullPointerException();
7238 bitField0_ |= 0x04000000;
7239 useNodePairSwapActive_ = value.getNumber();
7262 bitField0_ = (bitField0_ & ~0x04000000);
7263 useNodePairSwapActive_ = 0;
7268 private int usePathLns_ = 0;
7304 usePathLns_ = value;
7305 bitField0_ |= 0x08000000;
7346 if (value ==
null) {
7347 throw new NullPointerException();
7349 bitField0_ |= 0x08000000;
7350 usePathLns_ = value.getNumber();
7370 bitField0_ = (bitField0_ & ~0x08000000);
7376 private int useFullPathLns_ = 0;
7386 return useFullPathLns_;
7398 useFullPathLns_ = value;
7399 bitField0_ |= 0x10000000;
7426 if (value ==
null) {
7427 throw new NullPointerException();
7429 bitField0_ |= 0x10000000;
7430 useFullPathLns_ = value.getNumber();
7443 bitField0_ = (bitField0_ & ~0x10000000);
7444 useFullPathLns_ = 0;
7449 private int useTspLns_ = 0;
7482 bitField0_ |= 0x20000000;
7518 public Builder
setUseTspLns(com.google.ortools.util.OptionalBoolean value) {
7519 if (value ==
null) {
7520 throw new NullPointerException();
7522 bitField0_ |= 0x20000000;
7523 useTspLns_ = value.getNumber();
7541 bitField0_ = (bitField0_ & ~0x20000000);
7547 private int useInactiveLns_ = 0;
7559 return useInactiveLns_;
7573 useInactiveLns_ = value;
7574 bitField0_ |= 0x40000000;
7605 if (value ==
null) {
7606 throw new NullPointerException();
7608 bitField0_ |= 0x40000000;
7609 useInactiveLns_ = value.getNumber();
7624 bitField0_ = (bitField0_ & ~0x40000000);
7625 useInactiveLns_ = 0;
7630 private int useGlobalCheapestInsertionPathLns_ = 0;
7642 return useGlobalCheapestInsertionPathLns_;
7656 useGlobalCheapestInsertionPathLns_ = value;
7657 bitField0_ |= 0x80000000;
7688 if (value ==
null) {
7689 throw new NullPointerException();
7691 bitField0_ |= 0x80000000;
7692 useGlobalCheapestInsertionPathLns_ = value.getNumber();
7707 bitField0_ = (bitField0_ & ~0x80000000);
7708 useGlobalCheapestInsertionPathLns_ = 0;
7713 private int useLocalCheapestInsertionPathLns_ = 0;
7723 return useLocalCheapestInsertionPathLns_;
7735 useLocalCheapestInsertionPathLns_ = value;
7736 bitField1_ |= 0x00000001;
7763 if (value ==
null) {
7764 throw new NullPointerException();
7766 bitField1_ |= 0x00000001;
7767 useLocalCheapestInsertionPathLns_ = value.getNumber();
7780 bitField1_ = (bitField1_ & ~0x00000001);
7781 useLocalCheapestInsertionPathLns_ = 0;
7786 private int useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
7798 return useRelocatePathGlobalCheapestInsertionInsertUnperformed_;
7812 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = value;
7813 bitField1_ |= 0x00000002;
7844 if (value ==
null) {
7845 throw new NullPointerException();
7847 bitField1_ |= 0x00000002;
7848 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = value.getNumber();
7863 bitField1_ = (bitField1_ & ~0x00000002);
7864 useRelocatePathGlobalCheapestInsertionInsertUnperformed_ = 0;
7869 private int useGlobalCheapestInsertionExpensiveChainLns_ = 0;
7882 return useGlobalCheapestInsertionExpensiveChainLns_;
7897 useGlobalCheapestInsertionExpensiveChainLns_ = value;
7898 bitField1_ |= 0x00000004;
7931 if (value ==
null) {
7932 throw new NullPointerException();
7934 bitField1_ |= 0x00000004;
7935 useGlobalCheapestInsertionExpensiveChainLns_ = value.getNumber();
7951 bitField1_ = (bitField1_ & ~0x00000004);
7952 useGlobalCheapestInsertionExpensiveChainLns_ = 0;
7957 private int useLocalCheapestInsertionExpensiveChainLns_ = 0;
7968 return useLocalCheapestInsertionExpensiveChainLns_;
7981 useLocalCheapestInsertionExpensiveChainLns_ = value;
7982 bitField1_ |= 0x00000008;
8011 if (value ==
null) {
8012 throw new NullPointerException();
8014 bitField1_ |= 0x00000008;
8015 useLocalCheapestInsertionExpensiveChainLns_ = value.getNumber();
8029 bitField1_ = (bitField1_ & ~0x00000008);
8030 useLocalCheapestInsertionExpensiveChainLns_ = 0;
8035 private int useGlobalCheapestInsertionCloseNodesLns_ = 0;
8048 return useGlobalCheapestInsertionCloseNodesLns_;
8063 useGlobalCheapestInsertionCloseNodesLns_ = value;
8064 bitField1_ |= 0x00000010;
8097 if (value ==
null) {
8098 throw new NullPointerException();
8100 bitField1_ |= 0x00000010;
8101 useGlobalCheapestInsertionCloseNodesLns_ = value.getNumber();
8117 bitField1_ = (bitField1_ & ~0x00000010);
8118 useGlobalCheapestInsertionCloseNodesLns_ = 0;
8123 private int useLocalCheapestInsertionCloseNodesLns_ = 0;
8134 return useLocalCheapestInsertionCloseNodesLns_;
8147 useLocalCheapestInsertionCloseNodesLns_ = value;
8148 bitField1_ |= 0x00000020;
8177 if (value ==
null) {
8178 throw new NullPointerException();
8180 bitField1_ |= 0x00000020;
8181 useLocalCheapestInsertionCloseNodesLns_ = value.getNumber();
8195 bitField1_ = (bitField1_ & ~0x00000020);
8196 useLocalCheapestInsertionCloseNodesLns_ = 0;
8207 DEFAULT_INSTANCE =
new com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators();
8211 return DEFAULT_INSTANCE;
8218 com.google.protobuf.CodedInputStream input,
8219 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8220 throws com.google.protobuf.InvalidProtocolBufferException {
8223 builder.
mergeFrom(input, extensionRegistry);
8224 }
catch (com.google.protobuf.InvalidProtocolBufferException e) {
8226 }
catch (com.google.protobuf.UninitializedMessageException e) {
8227 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.
buildPartial());
8228 }
catch (java.io.IOException e) {
8229 throw new com.google.protobuf.InvalidProtocolBufferException(e)
8236 public static com.google.protobuf.Parser<LocalSearchNeighborhoodOperators>
parser() {
8247 return DEFAULT_INSTANCE;
8254 com.google.protobuf.MessageOrBuilder {
8289 public static final class ImprovementSearchLimitParameters
extends
8290 com.google.protobuf.GeneratedMessage implements
8293 private static final long serialVersionUID = 0L;
8295 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
8296 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
8301 ImprovementSearchLimitParameters.class.getName());
8304 private ImprovementSearchLimitParameters(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
8307 private ImprovementSearchLimitParameters() {
8310 public static final com.google.protobuf.Descriptors.Descriptor
8312 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_descriptor;
8316 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
8318 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_fieldAccessorTable
8319 .ensureFieldAccessorsInitialized(
8320 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.class, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder.class);
8324 private double improvementRateCoefficient_ = 0D;
8337 return improvementRateCoefficient_;
8341 private int improvementRateSolutionsDistance_ = 0;
8356 return improvementRateSolutionsDistance_;
8359 private byte memoizedIsInitialized = -1;
8366 memoizedIsInitialized = 1;
8371 public void writeTo(com.google.protobuf.CodedOutputStream output)
8372 throws java.io.IOException {
8373 if (java.lang.Double.doubleToRawLongBits(improvementRateCoefficient_) != 0) {
8374 output.writeDouble(38, improvementRateCoefficient_);
8376 if (improvementRateSolutionsDistance_ != 0) {
8377 output.writeInt32(39, improvementRateSolutionsDistance_);
8379 getUnknownFields().writeTo(output);
8384 int size = memoizedSize;
8385 if (size != -1)
return size;
8388 if (java.lang.Double.doubleToRawLongBits(improvementRateCoefficient_) != 0) {
8389 size += com.google.protobuf.CodedOutputStream
8390 .computeDoubleSize(38, improvementRateCoefficient_);
8392 if (improvementRateSolutionsDistance_ != 0) {
8393 size += com.google.protobuf.CodedOutputStream
8394 .computeInt32Size(39, improvementRateSolutionsDistance_);
8396 size += getUnknownFields().getSerializedSize();
8397 memoizedSize = size;
8402 public boolean equals(
final java.lang.Object obj) {
8406 if (!(obj instanceof com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters)) {
8407 return super.equals(obj);
8412 != java.lang.Double.doubleToLongBits(
8416 if (!getUnknownFields().
equals(other.getUnknownFields()))
return false;
8422 if (memoizedHashCode != 0) {
8423 return memoizedHashCode;
8428 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
8432 hash = (29 * hash) + getUnknownFields().hashCode();
8433 memoizedHashCode = hash;
8438 java.nio.ByteBuffer data)
8439 throws com.google.protobuf.InvalidProtocolBufferException {
8440 return PARSER.parseFrom(data);
8443 java.nio.ByteBuffer data,
8444 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8445 throws com.google.protobuf.InvalidProtocolBufferException {
8446 return PARSER.parseFrom(data, extensionRegistry);
8449 com.google.protobuf.ByteString data)
8450 throws com.google.protobuf.InvalidProtocolBufferException {
8451 return PARSER.parseFrom(data);
8454 com.google.protobuf.ByteString data,
8455 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8456 throws com.google.protobuf.InvalidProtocolBufferException {
8457 return PARSER.parseFrom(data, extensionRegistry);
8460 throws com.google.protobuf.InvalidProtocolBufferException {
8461 return PARSER.parseFrom(data);
8465 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8466 throws com.google.protobuf.InvalidProtocolBufferException {
8467 return PARSER.parseFrom(data, extensionRegistry);
8470 throws java.io.IOException {
8471 return com.google.protobuf.GeneratedMessage
8472 .parseWithIOException(PARSER, input);
8475 java.io.InputStream input,
8476 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8477 throws java.io.IOException {
8478 return com.google.protobuf.GeneratedMessage
8479 .parseWithIOException(PARSER, input, extensionRegistry);
8483 throws java.io.IOException {
8484 return com.google.protobuf.GeneratedMessage
8485 .parseDelimitedWithIOException(PARSER, input);
8489 java.io.InputStream input,
8490 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8491 throws java.io.IOException {
8492 return com.google.protobuf.GeneratedMessage
8493 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
8496 com.google.protobuf.CodedInputStream input)
8497 throws java.io.IOException {
8498 return com.google.protobuf.GeneratedMessage
8499 .parseWithIOException(PARSER, input);
8502 com.google.protobuf.CodedInputStream input,
8503 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8504 throws java.io.IOException {
8505 return com.google.protobuf.GeneratedMessage
8506 .parseWithIOException(PARSER, input, extensionRegistry);
8512 return DEFAULT_INSTANCE.toBuilder();
8514 public static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters prototype) {
8515 return DEFAULT_INSTANCE.toBuilder().
mergeFrom(prototype);
8519 return this == DEFAULT_INSTANCE
8525 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
8536 public static final class Builder
extends
8537 com.google.protobuf.GeneratedMessage.Builder<Builder> implements
8540 public static final com.google.protobuf.Descriptors.Descriptor
8542 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_descriptor;
8546 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
8548 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_fieldAccessorTable
8549 .ensureFieldAccessorsInitialized(
8550 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.class, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder.class);
8559 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
8567 improvementRateCoefficient_ = 0D;
8568 improvementRateSolutionsDistance_ = 0;
8573 public com.google.protobuf.Descriptors.Descriptor
8575 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_ImprovementSearchLimitParameters_descriptor;
8580 return com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance();
8587 throw newUninitializedMessageException(result);
8595 if (bitField0_ != 0) { buildPartial0(result); }
8600 private void buildPartial0(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters result) {
8601 int from_bitField0_ = bitField0_;
8602 if (((from_bitField0_ & 0x00000001) != 0)) {
8603 result.improvementRateCoefficient_ = improvementRateCoefficient_;
8605 if (((from_bitField0_ & 0x00000002) != 0)) {
8606 result.improvementRateSolutionsDistance_ = improvementRateSolutionsDistance_;
8611 public Builder
mergeFrom(com.google.protobuf.Message other) {
8612 if (other instanceof com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters) {
8613 return mergeFrom((com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters)other);
8615 super.mergeFrom(other);
8620 public Builder
mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters other) {
8621 if (other == com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance())
return this;
8622 if (other.getImprovementRateCoefficient() != 0D) {
8625 if (other.getImprovementRateSolutionsDistance() != 0) {
8628 this.mergeUnknownFields(other.getUnknownFields());
8640 com.google.protobuf.CodedInputStream input,
8641 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8642 throws java.io.IOException {
8643 if (extensionRegistry ==
null) {
8644 throw new java.lang.NullPointerException();
8647 boolean done =
false;
8649 int tag = input.readTag();
8655 improvementRateCoefficient_ = input.readDouble();
8656 bitField0_ |= 0x00000001;
8660 improvementRateSolutionsDistance_ = input.readInt32();
8661 bitField0_ |= 0x00000002;
8665 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
8672 }
catch (com.google.protobuf.InvalidProtocolBufferException e) {
8673 throw e.unwrapIOException();
8679 private int bitField0_;
8681 private double improvementRateCoefficient_ ;
8694 return improvementRateCoefficient_;
8709 improvementRateCoefficient_ = value;
8710 bitField0_ |= 0x00000001;
8725 bitField0_ = (bitField0_ & ~0x00000001);
8726 improvementRateCoefficient_ = 0D;
8731 private int improvementRateSolutionsDistance_ ;
8746 return improvementRateSolutionsDistance_;
8763 improvementRateSolutionsDistance_ = value;
8764 bitField0_ |= 0x00000002;
8781 bitField0_ = (bitField0_ & ~0x00000002);
8782 improvementRateSolutionsDistance_ = 0;
8793 DEFAULT_INSTANCE =
new com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters();
8797 return DEFAULT_INSTANCE;
8804 com.google.protobuf.CodedInputStream input,
8805 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8806 throws com.google.protobuf.InvalidProtocolBufferException {
8809 builder.
mergeFrom(input, extensionRegistry);
8810 }
catch (com.google.protobuf.InvalidProtocolBufferException e) {
8812 }
catch (com.google.protobuf.UninitializedMessageException e) {
8813 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.
buildPartial());
8814 }
catch (java.io.IOException e) {
8815 throw new com.google.protobuf.InvalidProtocolBufferException(e)
8822 public static com.google.protobuf.Parser<ImprovementSearchLimitParameters>
parser() {
8833 return DEFAULT_INSTANCE;
8838 private int bitField0_;
8840 private int firstSolutionStrategy_ = 0;
8850 return firstSolutionStrategy_;
8866 private boolean useUnfilteredFirstSolutionStrategy_ =
false;
8880 return useUnfilteredFirstSolutionStrategy_;
8884 private double savingsNeighborsRatio_ = 0D;
8897 return savingsNeighborsRatio_;
8901 private double savingsMaxMemoryUsageBytes_ = 0D;
8917 return savingsMaxMemoryUsageBytes_;
8921 private boolean savingsAddReverseArcs_ =
false;
8933 return savingsAddReverseArcs_;
8937 private double savingsArcCoefficient_ = 0D;
8952 return savingsArcCoefficient_;
8956 private double cheapestInsertionFarthestSeedsRatio_ = 0D;
8969 return cheapestInsertionFarthestSeedsRatio_;
8973 private double cheapestInsertionFirstSolutionNeighborsRatio_ = 0D;
8998 return cheapestInsertionFirstSolutionNeighborsRatio_;
9002 private int cheapestInsertionFirstSolutionMinNeighbors_ = 0;
9009 return cheapestInsertionFirstSolutionMinNeighbors_;
9013 private double cheapestInsertionLsOperatorNeighborsRatio_ = 0D;
9027 return cheapestInsertionLsOperatorNeighborsRatio_;
9031 private int cheapestInsertionLsOperatorMinNeighbors_ = 0;
9038 return cheapestInsertionLsOperatorMinNeighbors_;
9042 private boolean cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ =
false;
9054 return cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_;
9058 private boolean cheapestInsertionAddUnperformedEntries_ =
false;
9070 return cheapestInsertionAddUnperformedEntries_;
9074 private int localCheapestInsertionPickupDeliveryStrategy_ = 0;
9085 return localCheapestInsertionPickupDeliveryStrategy_;
9102 private int localCheapestCostInsertionPickupDeliveryStrategy_ = 0;
9113 return localCheapestCostInsertionPickupDeliveryStrategy_;
9130 @SuppressWarnings(
"serial")
9131 private com.google.protobuf.Internal.IntList localCheapestInsertionSortingProperties_;
9132 private static final com.google.protobuf.Internal.IntListAdapter.IntConverter<
9134 new com.google.protobuf.Internal.IntListAdapter.IntConverter<
9156 return new com.google.protobuf.Internal.IntListAdapter<
9157 com.google.ortools.constraintsolver.RoutingSearchParameters.InsertionSortingProperty>(localCheapestInsertionSortingProperties_, localCheapestInsertionSortingProperties_converter_);
9174 return localCheapestInsertionSortingProperties_.size();
9192 return localCheapestInsertionSortingProperties_converter_.convert(localCheapestInsertionSortingProperties_.getInt(index));
9208 public java.util.List<java.lang.Integer>
9210 return localCheapestInsertionSortingProperties_;
9228 return localCheapestInsertionSortingProperties_.getInt(index);
9230 private int localCheapestInsertionSortingPropertiesMemoizedSerializedSize;
9233 private boolean christofidesUseMinimumMatching_ =
false;
9245 return christofidesUseMinimumMatching_;
9249 private int firstSolutionOptimizationPeriod_ = 0;
9266 return firstSolutionOptimizationPeriod_;
9277 return ((bitField0_ & 0x00000001) != 0);
9285 return localSearchOperators_ ==
null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
9292 return localSearchOperators_ ==
null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
9296 private double lsOperatorNeighborsRatio_ = 0D;
9309 return lsOperatorNeighborsRatio_;
9313 private int lsOperatorMinNeighbors_ = 0;
9320 return lsOperatorMinNeighbors_;
9324 private boolean useMultiArmedBanditConcatenateOperators_ =
false;
9337 return useMultiArmedBanditConcatenateOperators_;
9341 private double multiArmedBanditCompoundOperatorMemoryCoefficient_ = 0D;
9355 return multiArmedBanditCompoundOperatorMemoryCoefficient_;
9359 private double multiArmedBanditCompoundOperatorExplorationCoefficient_ = 0D;
9372 return multiArmedBanditCompoundOperatorExplorationCoefficient_;
9376 private int maxSwapActiveChainSize_ = 0;
9387 return maxSwapActiveChainSize_;
9391 private int relocateExpensiveChainNumArcsToConsider_ = 0;
9408 return relocateExpensiveChainNumArcsToConsider_;
9412 private int heuristicExpensiveChainLnsNumArcsToConsider_ = 0;
9424 return heuristicExpensiveChainLnsNumArcsToConsider_;
9428 private int heuristicCloseNodesLnsNumNodes_ = 0;
9440 return heuristicCloseNodesLnsNumNodes_;
9444 private int localSearchMetaheuristic_ = 0;
9454 return localSearchMetaheuristic_;
9470 @SuppressWarnings(
"serial")
9471 private com.google.protobuf.Internal.IntList localSearchMetaheuristics_;
9472 private static final com.google.protobuf.Internal.IntListAdapter.IntConverter<
9474 new com.google.protobuf.Internal.IntListAdapter.IntConverter<
9494 return new com.google.protobuf.Internal.IntListAdapter<
9495 com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value>(localSearchMetaheuristics_, localSearchMetaheuristics_converter_);
9510 return localSearchMetaheuristics_.size();
9526 return localSearchMetaheuristics_converter_.convert(localSearchMetaheuristics_.getInt(index));
9540 public java.util.List<java.lang.Integer>
9542 return localSearchMetaheuristics_;
9558 return localSearchMetaheuristics_.getInt(index);
9560 private int localSearchMetaheuristicsMemoizedSerializedSize;
9563 private int numMaxLocalOptimaBeforeMetaheuristicSwitch_ = 0;
9570 return numMaxLocalOptimaBeforeMetaheuristicSwitch_;
9574 private double guidedLocalSearchLambdaCoefficient_ = 0D;
9588 return guidedLocalSearchLambdaCoefficient_;
9592 private boolean guidedLocalSearchResetPenaltiesOnNewBestSolution_ =
false;
9604 return guidedLocalSearchResetPenaltiesOnNewBestSolution_;
9608 private boolean guidedLocalSearchPenalizeWithVehicleClasses_ =
false;
9621 return guidedLocalSearchPenalizeWithVehicleClasses_;
9625 private boolean useGuidedLocalSearchPenaltiesInLocalSearchOperators_ =
false;
9637 return useGuidedLocalSearchPenaltiesInLocalSearchOperators_;
9641 private boolean useDepthFirstSearch_ =
false;
9655 return useDepthFirstSearch_;
9659 private int useCp_ = 0;
9689 private int useCpSat_ = 0;
9721 private int useGeneralizedCpSat_ = 0;
9734 return useGeneralizedCpSat_;
9765 return ((bitField0_ & 0x00000002) != 0);
9778 return satParameters_ ==
null ? com.google.ortools.sat.SatParameters.getDefaultInstance() : satParameters_;
9790 return satParameters_ ==
null ? com.google.ortools.sat.SatParameters.getDefaultInstance() : satParameters_;
9794 private boolean reportIntermediateCpSatSolutions_ =
false;
9806 return reportIntermediateCpSatSolutions_;
9810 private int fallbackToCpSatSizeThreshold_ = 0;
9822 return fallbackToCpSatSizeThreshold_;
9826 private int continuousSchedulingSolver_ = 0;
9832 return continuousSchedulingSolver_;
9844 private int mixedIntegerSchedulingSolver_ = 0;
9850 return mixedIntegerSchedulingSolver_;
9862 private boolean disableSchedulingBewareThisMayDegradePerformance_ =
false;
9874 return ((bitField0_ & 0x00000004) != 0);
9887 return disableSchedulingBewareThisMayDegradePerformance_;
9891 private double optimizationStep_ = 0D;
9904 return optimizationStep_;
9908 private int numberOfSolutionsToCollect_ = 0;
9920 return numberOfSolutionsToCollect_;
9924 private long solutionLimit_ = 0L;
9937 return solutionLimit_;
9941 private com.google.protobuf.Duration timeLimit_;
9952 return ((bitField0_ & 0x00000008) != 0);
9964 return timeLimit_ ==
null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
9975 return timeLimit_ ==
null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
9979 private com.google.protobuf.Duration lnsTimeLimit_;
9991 return ((bitField0_ & 0x00000010) != 0);
10002 @java.lang.Override
10004 return lnsTimeLimit_ ==
null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
10014 @java.lang.Override
10016 return lnsTimeLimit_ ==
null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
10020 private double secondaryLsTimeLimitRatio_ = 0D;
10034 @java.lang.Override
10036 return secondaryLsTimeLimitRatio_;
10050 @java.lang.Override
10052 return ((bitField0_ & 0x00000020) != 0);
10063 @java.lang.Override
10065 return improvementLimitParameters_ ==
null ? com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance() : improvementLimitParameters_;
10075 @java.lang.Override
10077 return improvementLimitParameters_ ==
null ? com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance() : improvementLimitParameters_;
10081 private boolean useFullPropagation_ =
false;
10099 @java.lang.Override
10101 return useFullPropagation_;
10105 private boolean logSearch_ =
false;
10126 @java.lang.Override
10132 private double logCostScalingFactor_ = 0D;
10142 @java.lang.Override
10144 return logCostScalingFactor_;
10148 private double logCostOffset_ = 0D;
10153 @java.lang.Override
10155 return logCostOffset_;
10159 @SuppressWarnings(
"serial")
10160 private volatile java.lang.Object logTag_ =
"";
10170 @java.lang.Override
10172 java.lang.Object ref = logTag_;
10173 if (ref instanceof java.lang.String) {
10174 return (java.lang.String) ref;
10176 com.google.protobuf.ByteString bs =
10177 (com.google.protobuf.ByteString) ref;
10178 java.lang.String s = bs.toStringUtf8();
10192 @java.lang.Override
10193 public com.google.protobuf.ByteString
10195 java.lang.Object ref = logTag_;
10196 if (ref instanceof java.lang.String) {
10197 com.google.protobuf.ByteString b =
10198 com.google.protobuf.ByteString.copyFromUtf8(
10199 (java.lang.String) ref);
10203 return (com.google.protobuf.ByteString) ref;
10208 private boolean useIteratedLocalSearch_ =
false;
10218 @java.lang.Override
10220 return useIteratedLocalSearch_;
10233 @java.lang.Override
10235 return ((bitField0_ & 0x00000040) != 0);
10245 @java.lang.Override
10247 return iteratedLocalSearchParameters_ ==
null ? com.google.ortools.constraintsolver.IteratedLocalSearchParameters.getDefaultInstance() : iteratedLocalSearchParameters_;
10256 @java.lang.Override
10258 return iteratedLocalSearchParameters_ ==
null ? com.google.ortools.constraintsolver.IteratedLocalSearchParameters.getDefaultInstance() : iteratedLocalSearchParameters_;
10261 private byte memoizedIsInitialized = -1;
10262 @java.lang.Override
10268 memoizedIsInitialized = 1;
10272 @java.lang.Override
10273 public void writeTo(com.google.protobuf.CodedOutputStream output)
10274 throws java.io.IOException {
10276 if (firstSolutionStrategy_ != com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNSET.getNumber()) {
10277 output.writeEnum(1, firstSolutionStrategy_);
10279 if (useUnfilteredFirstSolutionStrategy_ !=
false) {
10280 output.writeBool(2, useUnfilteredFirstSolutionStrategy_);
10282 if (((bitField0_ & 0x00000001) != 0)) {
10285 if (localSearchMetaheuristic_ != com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNSET.getNumber()) {
10286 output.writeEnum(4, localSearchMetaheuristic_);
10288 if (java.lang.Double.doubleToRawLongBits(guidedLocalSearchLambdaCoefficient_) != 0) {
10289 output.writeDouble(5, guidedLocalSearchLambdaCoefficient_);
10291 if (useDepthFirstSearch_ !=
false) {
10292 output.writeBool(6, useDepthFirstSearch_);
10294 if (java.lang.Double.doubleToRawLongBits(optimizationStep_) != 0) {
10295 output.writeDouble(7, optimizationStep_);
10297 if (solutionLimit_ != 0L) {
10298 output.writeInt64(8, solutionLimit_);
10300 if (((bitField0_ & 0x00000008) != 0)) {
10303 if (((bitField0_ & 0x00000010) != 0)) {
10306 if (useFullPropagation_ !=
false) {
10307 output.writeBool(11, useFullPropagation_);
10309 if (logSearch_ !=
false) {
10310 output.writeBool(13, logSearch_);
10312 if (java.lang.Double.doubleToRawLongBits(savingsNeighborsRatio_) != 0) {
10313 output.writeDouble(14, savingsNeighborsRatio_);
10315 if (savingsAddReverseArcs_ !=
false) {
10316 output.writeBool(15, savingsAddReverseArcs_);
10318 if (java.lang.Double.doubleToRawLongBits(cheapestInsertionFarthestSeedsRatio_) != 0) {
10319 output.writeDouble(16, cheapestInsertionFarthestSeedsRatio_);
10321 if (numberOfSolutionsToCollect_ != 0) {
10322 output.writeInt32(17, numberOfSolutionsToCollect_);
10324 if (java.lang.Double.doubleToRawLongBits(savingsArcCoefficient_) != 0) {
10325 output.writeDouble(18, savingsArcCoefficient_);
10327 if (relocateExpensiveChainNumArcsToConsider_ != 0) {
10328 output.writeInt32(20, relocateExpensiveChainNumArcsToConsider_);
10330 if (java.lang.Double.doubleToRawLongBits(cheapestInsertionFirstSolutionNeighborsRatio_) != 0) {
10331 output.writeDouble(21, cheapestInsertionFirstSolutionNeighborsRatio_);
10333 if (java.lang.Double.doubleToRawLongBits(logCostScalingFactor_) != 0) {
10334 output.writeDouble(22, logCostScalingFactor_);
10336 if (java.lang.Double.doubleToRawLongBits(savingsMaxMemoryUsageBytes_) != 0) {
10337 output.writeDouble(23, savingsMaxMemoryUsageBytes_);
10339 if (useCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
10340 output.writeEnum(27, useCpSat_);
10342 if (useCp_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
10343 output.writeEnum(28, useCp_);
10345 if (java.lang.Double.doubleToRawLongBits(logCostOffset_) != 0) {
10346 output.writeDouble(29, logCostOffset_);
10348 if (christofidesUseMinimumMatching_ !=
false) {
10349 output.writeBool(30, christofidesUseMinimumMatching_);
10351 if (java.lang.Double.doubleToRawLongBits(cheapestInsertionLsOperatorNeighborsRatio_) != 0) {
10352 output.writeDouble(31, cheapestInsertionLsOperatorNeighborsRatio_);
10354 if (heuristicExpensiveChainLnsNumArcsToConsider_ != 0) {
10355 output.writeInt32(32, heuristicExpensiveChainLnsNumArcsToConsider_);
10357 if (continuousSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.SCHEDULING_UNSET.getNumber()) {
10358 output.writeEnum(33, continuousSchedulingSolver_);
10360 if (mixedIntegerSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.SCHEDULING_UNSET.getNumber()) {
10361 output.writeEnum(34, mixedIntegerSchedulingSolver_);
10363 if (heuristicCloseNodesLnsNumNodes_ != 0) {
10364 output.writeInt32(35, heuristicCloseNodesLnsNumNodes_);
10366 if (!com.google.protobuf.GeneratedMessage.isStringEmpty(logTag_)) {
10367 com.google.protobuf.GeneratedMessage.writeString(output, 36, logTag_);
10369 if (((bitField0_ & 0x00000020) != 0)) {
10372 if (cheapestInsertionAddUnperformedEntries_ !=
false) {
10373 output.writeBool(40, cheapestInsertionAddUnperformedEntries_);
10375 if (useMultiArmedBanditConcatenateOperators_ !=
false) {
10376 output.writeBool(41, useMultiArmedBanditConcatenateOperators_);
10378 if (java.lang.Double.doubleToRawLongBits(multiArmedBanditCompoundOperatorMemoryCoefficient_) != 0) {
10379 output.writeDouble(42, multiArmedBanditCompoundOperatorMemoryCoefficient_);
10381 if (java.lang.Double.doubleToRawLongBits(multiArmedBanditCompoundOperatorExplorationCoefficient_) != 0) {
10382 output.writeDouble(43, multiArmedBanditCompoundOperatorExplorationCoefficient_);
10384 if (cheapestInsertionFirstSolutionMinNeighbors_ != 0) {
10385 output.writeInt32(44, cheapestInsertionFirstSolutionMinNeighbors_);
10387 if (cheapestInsertionLsOperatorMinNeighbors_ != 0) {
10388 output.writeInt32(45, cheapestInsertionLsOperatorMinNeighbors_);
10390 if (cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ !=
false) {
10391 output.writeBool(46, cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_);
10393 if (useGeneralizedCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
10394 output.writeEnum(47, useGeneralizedCpSat_);
10396 if (((bitField0_ & 0x00000002) != 0)) {
10399 if (localCheapestInsertionPickupDeliveryStrategy_ != com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy.AUTOMATIC.getNumber()) {
10400 output.writeEnum(49, localCheapestInsertionPickupDeliveryStrategy_);
10402 if (((bitField0_ & 0x00000004) != 0)) {
10403 output.writeBool(50, disableSchedulingBewareThisMayDegradePerformance_);
10405 if (guidedLocalSearchResetPenaltiesOnNewBestSolution_ !=
false) {
10406 output.writeBool(51, guidedLocalSearchResetPenaltiesOnNewBestSolution_);
10408 if (fallbackToCpSatSizeThreshold_ != 0) {
10409 output.writeInt32(52, fallbackToCpSatSizeThreshold_);
10411 if (java.lang.Double.doubleToRawLongBits(lsOperatorNeighborsRatio_) != 0) {
10412 output.writeDouble(53, lsOperatorNeighborsRatio_);
10414 if (lsOperatorMinNeighbors_ != 0) {
10415 output.writeInt32(54, lsOperatorMinNeighbors_);
10417 if (localCheapestCostInsertionPickupDeliveryStrategy_ != com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy.AUTOMATIC.getNumber()) {
10418 output.writeEnum(55, localCheapestCostInsertionPickupDeliveryStrategy_);
10420 if (reportIntermediateCpSatSolutions_ !=
false) {
10421 output.writeBool(56, reportIntermediateCpSatSolutions_);
10423 if (java.lang.Double.doubleToRawLongBits(secondaryLsTimeLimitRatio_) != 0) {
10424 output.writeDouble(57, secondaryLsTimeLimitRatio_);
10426 if (useIteratedLocalSearch_ !=
false) {
10427 output.writeBool(58, useIteratedLocalSearch_);
10429 if (firstSolutionOptimizationPeriod_ != 0) {
10430 output.writeInt32(59, firstSolutionOptimizationPeriod_);
10432 if (((bitField0_ & 0x00000040) != 0)) {
10435 if (guidedLocalSearchPenalizeWithVehicleClasses_ !=
false) {
10436 output.writeBool(61, guidedLocalSearchPenalizeWithVehicleClasses_);
10438 if (useGuidedLocalSearchPenaltiesInLocalSearchOperators_ !=
false) {
10439 output.writeBool(62, useGuidedLocalSearchPenaltiesInLocalSearchOperators_);
10442 output.writeUInt32NoTag(506);
10443 output.writeUInt32NoTag(localSearchMetaheuristicsMemoizedSerializedSize);
10445 for (
int i = 0; i < localSearchMetaheuristics_.size(); i++) {
10446 output.writeEnumNoTag(localSearchMetaheuristics_.getInt(i));
10448 if (numMaxLocalOptimaBeforeMetaheuristicSwitch_ != 0) {
10449 output.writeInt32(64, numMaxLocalOptimaBeforeMetaheuristicSwitch_);
10451 if (maxSwapActiveChainSize_ != 0) {
10452 output.writeInt32(66, maxSwapActiveChainSize_);
10455 output.writeUInt32NoTag(538);
10456 output.writeUInt32NoTag(localCheapestInsertionSortingPropertiesMemoizedSerializedSize);
10458 for (
int i = 0; i < localCheapestInsertionSortingProperties_.size(); i++) {
10459 output.writeEnumNoTag(localCheapestInsertionSortingProperties_.getInt(i));
10461 getUnknownFields().writeTo(output);
10464 @java.lang.Override
10466 int size = memoizedSize;
10467 if (size != -1)
return size;
10470 if (firstSolutionStrategy_ != com.google.ortools.constraintsolver.FirstSolutionStrategy.Value.UNSET.getNumber()) {
10471 size += com.google.protobuf.CodedOutputStream
10472 .computeEnumSize(1, firstSolutionStrategy_);
10474 if (useUnfilteredFirstSolutionStrategy_ !=
false) {
10475 size += com.google.protobuf.CodedOutputStream
10476 .computeBoolSize(2, useUnfilteredFirstSolutionStrategy_);
10478 if (((bitField0_ & 0x00000001) != 0)) {
10479 size += com.google.protobuf.CodedOutputStream
10482 if (localSearchMetaheuristic_ != com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value.UNSET.getNumber()) {
10483 size += com.google.protobuf.CodedOutputStream
10484 .computeEnumSize(4, localSearchMetaheuristic_);
10486 if (java.lang.Double.doubleToRawLongBits(guidedLocalSearchLambdaCoefficient_) != 0) {
10487 size += com.google.protobuf.CodedOutputStream
10488 .computeDoubleSize(5, guidedLocalSearchLambdaCoefficient_);
10490 if (useDepthFirstSearch_ !=
false) {
10491 size += com.google.protobuf.CodedOutputStream
10492 .computeBoolSize(6, useDepthFirstSearch_);
10494 if (java.lang.Double.doubleToRawLongBits(optimizationStep_) != 0) {
10495 size += com.google.protobuf.CodedOutputStream
10496 .computeDoubleSize(7, optimizationStep_);
10498 if (solutionLimit_ != 0L) {
10499 size += com.google.protobuf.CodedOutputStream
10500 .computeInt64Size(8, solutionLimit_);
10502 if (((bitField0_ & 0x00000008) != 0)) {
10503 size += com.google.protobuf.CodedOutputStream
10506 if (((bitField0_ & 0x00000010) != 0)) {
10507 size += com.google.protobuf.CodedOutputStream
10510 if (useFullPropagation_ !=
false) {
10511 size += com.google.protobuf.CodedOutputStream
10512 .computeBoolSize(11, useFullPropagation_);
10514 if (logSearch_ !=
false) {
10515 size += com.google.protobuf.CodedOutputStream
10516 .computeBoolSize(13, logSearch_);
10518 if (java.lang.Double.doubleToRawLongBits(savingsNeighborsRatio_) != 0) {
10519 size += com.google.protobuf.CodedOutputStream
10520 .computeDoubleSize(14, savingsNeighborsRatio_);
10522 if (savingsAddReverseArcs_ !=
false) {
10523 size += com.google.protobuf.CodedOutputStream
10524 .computeBoolSize(15, savingsAddReverseArcs_);
10526 if (java.lang.Double.doubleToRawLongBits(cheapestInsertionFarthestSeedsRatio_) != 0) {
10527 size += com.google.protobuf.CodedOutputStream
10528 .computeDoubleSize(16, cheapestInsertionFarthestSeedsRatio_);
10530 if (numberOfSolutionsToCollect_ != 0) {
10531 size += com.google.protobuf.CodedOutputStream
10532 .computeInt32Size(17, numberOfSolutionsToCollect_);
10534 if (java.lang.Double.doubleToRawLongBits(savingsArcCoefficient_) != 0) {
10535 size += com.google.protobuf.CodedOutputStream
10536 .computeDoubleSize(18, savingsArcCoefficient_);
10538 if (relocateExpensiveChainNumArcsToConsider_ != 0) {
10539 size += com.google.protobuf.CodedOutputStream
10540 .computeInt32Size(20, relocateExpensiveChainNumArcsToConsider_);
10542 if (java.lang.Double.doubleToRawLongBits(cheapestInsertionFirstSolutionNeighborsRatio_) != 0) {
10543 size += com.google.protobuf.CodedOutputStream
10544 .computeDoubleSize(21, cheapestInsertionFirstSolutionNeighborsRatio_);
10546 if (java.lang.Double.doubleToRawLongBits(logCostScalingFactor_) != 0) {
10547 size += com.google.protobuf.CodedOutputStream
10548 .computeDoubleSize(22, logCostScalingFactor_);
10550 if (java.lang.Double.doubleToRawLongBits(savingsMaxMemoryUsageBytes_) != 0) {
10551 size += com.google.protobuf.CodedOutputStream
10552 .computeDoubleSize(23, savingsMaxMemoryUsageBytes_);
10554 if (useCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
10555 size += com.google.protobuf.CodedOutputStream
10556 .computeEnumSize(27, useCpSat_);
10558 if (useCp_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
10559 size += com.google.protobuf.CodedOutputStream
10560 .computeEnumSize(28, useCp_);
10562 if (java.lang.Double.doubleToRawLongBits(logCostOffset_) != 0) {
10563 size += com.google.protobuf.CodedOutputStream
10564 .computeDoubleSize(29, logCostOffset_);
10566 if (christofidesUseMinimumMatching_ !=
false) {
10567 size += com.google.protobuf.CodedOutputStream
10568 .computeBoolSize(30, christofidesUseMinimumMatching_);
10570 if (java.lang.Double.doubleToRawLongBits(cheapestInsertionLsOperatorNeighborsRatio_) != 0) {
10571 size += com.google.protobuf.CodedOutputStream
10572 .computeDoubleSize(31, cheapestInsertionLsOperatorNeighborsRatio_);
10574 if (heuristicExpensiveChainLnsNumArcsToConsider_ != 0) {
10575 size += com.google.protobuf.CodedOutputStream
10576 .computeInt32Size(32, heuristicExpensiveChainLnsNumArcsToConsider_);
10578 if (continuousSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.SCHEDULING_UNSET.getNumber()) {
10579 size += com.google.protobuf.CodedOutputStream
10580 .computeEnumSize(33, continuousSchedulingSolver_);
10582 if (mixedIntegerSchedulingSolver_ != com.google.ortools.constraintsolver.RoutingSearchParameters.SchedulingSolver.SCHEDULING_UNSET.getNumber()) {
10583 size += com.google.protobuf.CodedOutputStream
10584 .computeEnumSize(34, mixedIntegerSchedulingSolver_);
10586 if (heuristicCloseNodesLnsNumNodes_ != 0) {
10587 size += com.google.protobuf.CodedOutputStream
10588 .computeInt32Size(35, heuristicCloseNodesLnsNumNodes_);
10590 if (!com.google.protobuf.GeneratedMessage.isStringEmpty(logTag_)) {
10591 size += com.google.protobuf.GeneratedMessage.computeStringSize(36, logTag_);
10593 if (((bitField0_ & 0x00000020) != 0)) {
10594 size += com.google.protobuf.CodedOutputStream
10597 if (cheapestInsertionAddUnperformedEntries_ !=
false) {
10598 size += com.google.protobuf.CodedOutputStream
10599 .computeBoolSize(40, cheapestInsertionAddUnperformedEntries_);
10601 if (useMultiArmedBanditConcatenateOperators_ !=
false) {
10602 size += com.google.protobuf.CodedOutputStream
10603 .computeBoolSize(41, useMultiArmedBanditConcatenateOperators_);
10605 if (java.lang.Double.doubleToRawLongBits(multiArmedBanditCompoundOperatorMemoryCoefficient_) != 0) {
10606 size += com.google.protobuf.CodedOutputStream
10607 .computeDoubleSize(42, multiArmedBanditCompoundOperatorMemoryCoefficient_);
10609 if (java.lang.Double.doubleToRawLongBits(multiArmedBanditCompoundOperatorExplorationCoefficient_) != 0) {
10610 size += com.google.protobuf.CodedOutputStream
10611 .computeDoubleSize(43, multiArmedBanditCompoundOperatorExplorationCoefficient_);
10613 if (cheapestInsertionFirstSolutionMinNeighbors_ != 0) {
10614 size += com.google.protobuf.CodedOutputStream
10615 .computeInt32Size(44, cheapestInsertionFirstSolutionMinNeighbors_);
10617 if (cheapestInsertionLsOperatorMinNeighbors_ != 0) {
10618 size += com.google.protobuf.CodedOutputStream
10619 .computeInt32Size(45, cheapestInsertionLsOperatorMinNeighbors_);
10621 if (cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ !=
false) {
10622 size += com.google.protobuf.CodedOutputStream
10623 .computeBoolSize(46, cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_);
10625 if (useGeneralizedCpSat_ != com.google.ortools.util.OptionalBoolean.BOOL_UNSPECIFIED.getNumber()) {
10626 size += com.google.protobuf.CodedOutputStream
10627 .computeEnumSize(47, useGeneralizedCpSat_);
10629 if (((bitField0_ & 0x00000002) != 0)) {
10630 size += com.google.protobuf.CodedOutputStream
10633 if (localCheapestInsertionPickupDeliveryStrategy_ != com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy.AUTOMATIC.getNumber()) {
10634 size += com.google.protobuf.CodedOutputStream
10635 .computeEnumSize(49, localCheapestInsertionPickupDeliveryStrategy_);
10637 if (((bitField0_ & 0x00000004) != 0)) {
10638 size += com.google.protobuf.CodedOutputStream
10639 .computeBoolSize(50, disableSchedulingBewareThisMayDegradePerformance_);
10641 if (guidedLocalSearchResetPenaltiesOnNewBestSolution_ !=
false) {
10642 size += com.google.protobuf.CodedOutputStream
10643 .computeBoolSize(51, guidedLocalSearchResetPenaltiesOnNewBestSolution_);
10645 if (fallbackToCpSatSizeThreshold_ != 0) {
10646 size += com.google.protobuf.CodedOutputStream
10647 .computeInt32Size(52, fallbackToCpSatSizeThreshold_);
10649 if (java.lang.Double.doubleToRawLongBits(lsOperatorNeighborsRatio_) != 0) {
10650 size += com.google.protobuf.CodedOutputStream
10651 .computeDoubleSize(53, lsOperatorNeighborsRatio_);
10653 if (lsOperatorMinNeighbors_ != 0) {
10654 size += com.google.protobuf.CodedOutputStream
10655 .computeInt32Size(54, lsOperatorMinNeighbors_);
10657 if (localCheapestCostInsertionPickupDeliveryStrategy_ != com.google.ortools.constraintsolver.RoutingSearchParameters.PairInsertionStrategy.AUTOMATIC.getNumber()) {
10658 size += com.google.protobuf.CodedOutputStream
10659 .computeEnumSize(55, localCheapestCostInsertionPickupDeliveryStrategy_);
10661 if (reportIntermediateCpSatSolutions_ !=
false) {
10662 size += com.google.protobuf.CodedOutputStream
10663 .computeBoolSize(56, reportIntermediateCpSatSolutions_);
10665 if (java.lang.Double.doubleToRawLongBits(secondaryLsTimeLimitRatio_) != 0) {
10666 size += com.google.protobuf.CodedOutputStream
10667 .computeDoubleSize(57, secondaryLsTimeLimitRatio_);
10669 if (useIteratedLocalSearch_ !=
false) {
10670 size += com.google.protobuf.CodedOutputStream
10671 .computeBoolSize(58, useIteratedLocalSearch_);
10673 if (firstSolutionOptimizationPeriod_ != 0) {
10674 size += com.google.protobuf.CodedOutputStream
10675 .computeInt32Size(59, firstSolutionOptimizationPeriod_);
10677 if (((bitField0_ & 0x00000040) != 0)) {
10678 size += com.google.protobuf.CodedOutputStream
10681 if (guidedLocalSearchPenalizeWithVehicleClasses_ !=
false) {
10682 size += com.google.protobuf.CodedOutputStream
10683 .computeBoolSize(61, guidedLocalSearchPenalizeWithVehicleClasses_);
10685 if (useGuidedLocalSearchPenaltiesInLocalSearchOperators_ !=
false) {
10686 size += com.google.protobuf.CodedOutputStream
10687 .computeBoolSize(62, useGuidedLocalSearchPenaltiesInLocalSearchOperators_);
10691 for (
int i = 0; i < localSearchMetaheuristics_.size(); i++) {
10692 dataSize += com.google.protobuf.CodedOutputStream
10693 .computeEnumSizeNoTag(localSearchMetaheuristics_.getInt(i));
10697 size += com.google.protobuf.CodedOutputStream
10698 .computeUInt32SizeNoTag(dataSize);
10699 }localSearchMetaheuristicsMemoizedSerializedSize = dataSize;
10701 if (numMaxLocalOptimaBeforeMetaheuristicSwitch_ != 0) {
10702 size += com.google.protobuf.CodedOutputStream
10703 .computeInt32Size(64, numMaxLocalOptimaBeforeMetaheuristicSwitch_);
10705 if (maxSwapActiveChainSize_ != 0) {
10706 size += com.google.protobuf.CodedOutputStream
10707 .computeInt32Size(66, maxSwapActiveChainSize_);
10711 for (
int i = 0; i < localCheapestInsertionSortingProperties_.size(); i++) {
10712 dataSize += com.google.protobuf.CodedOutputStream
10713 .computeEnumSizeNoTag(localCheapestInsertionSortingProperties_.getInt(i));
10717 size += com.google.protobuf.CodedOutputStream
10718 .computeUInt32SizeNoTag(dataSize);
10719 }localCheapestInsertionSortingPropertiesMemoizedSerializedSize = dataSize;
10721 size += getUnknownFields().getSerializedSize();
10722 memoizedSize = size;
10726 @java.lang.Override
10727 public boolean equals(
final java.lang.Object obj) {
10731 if (!(obj instanceof com.google.ortools.constraintsolver.RoutingSearchParameters)) {
10732 return super.equals(obj);
10736 if (firstSolutionStrategy_ != other.firstSolutionStrategy_)
return false;
10740 != java.lang.Double.doubleToLongBits(
10743 != java.lang.Double.doubleToLongBits(
10748 != java.lang.Double.doubleToLongBits(
10751 != java.lang.Double.doubleToLongBits(
10754 != java.lang.Double.doubleToLongBits(
10759 != java.lang.Double.doubleToLongBits(
10767 if (localCheapestInsertionPickupDeliveryStrategy_ != other.localCheapestInsertionPickupDeliveryStrategy_)
return false;
10768 if (localCheapestCostInsertionPickupDeliveryStrategy_ != other.localCheapestCostInsertionPickupDeliveryStrategy_)
return false;
10769 if (!localCheapestInsertionSortingProperties_.equals(other.localCheapestInsertionSortingProperties_))
return false;
10780 != java.lang.Double.doubleToLongBits(
10787 != java.lang.Double.doubleToLongBits(
10790 != java.lang.Double.doubleToLongBits(
10800 if (localSearchMetaheuristic_ != other.localSearchMetaheuristic_)
return false;
10801 if (!localSearchMetaheuristics_.equals(other.localSearchMetaheuristics_))
return false;
10805 != java.lang.Double.doubleToLongBits(
10815 if (useCp_ != other.useCp_)
return false;
10816 if (useCpSat_ != other.useCpSat_)
return false;
10817 if (useGeneralizedCpSat_ != other.useGeneralizedCpSat_)
return false;
10827 if (continuousSchedulingSolver_ != other.continuousSchedulingSolver_)
return false;
10828 if (mixedIntegerSchedulingSolver_ != other.mixedIntegerSchedulingSolver_)
return false;
10835 != java.lang.Double.doubleToLongBits(
10852 != java.lang.Double.doubleToLongBits(
10864 != java.lang.Double.doubleToLongBits(
10867 != java.lang.Double.doubleToLongBits(
10878 if (!getUnknownFields().
equals(other.getUnknownFields()))
return false;
10882 @java.lang.Override
10884 if (memoizedHashCode != 0) {
10885 return memoizedHashCode;
10890 hash = (53 * hash) + firstSolutionStrategy_;
10892 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10895 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10898 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10901 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10904 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10907 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10910 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10915 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10920 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10923 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10926 hash = (53 * hash) + localCheapestInsertionPickupDeliveryStrategy_;
10928 hash = (53 * hash) + localCheapestCostInsertionPickupDeliveryStrategy_;
10931 hash = (53 * hash) + localCheapestInsertionSortingProperties_.hashCode();
10934 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10943 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10948 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10951 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10954 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10965 hash = (53 * hash) + localSearchMetaheuristic_;
10968 hash = (53 * hash) + localSearchMetaheuristics_.hashCode();
10973 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
10976 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10979 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10982 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10985 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
10988 hash = (53 * hash) + useCp_;
10990 hash = (53 * hash) + useCpSat_;
10992 hash = (53 * hash) + useGeneralizedCpSat_;
10998 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
11003 hash = (53 * hash) + continuousSchedulingSolver_;
11005 hash = (53 * hash) + mixedIntegerSchedulingSolver_;
11008 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
11012 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11017 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11028 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11035 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
11038 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
11041 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11044 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
11047 hash = (53 * hash) +
getLogTag().hashCode();
11049 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
11055 hash = (29 * hash) + getUnknownFields().hashCode();
11056 memoizedHashCode = hash;
11061 java.nio.ByteBuffer data)
11062 throws com.google.protobuf.InvalidProtocolBufferException {
11063 return PARSER.parseFrom(data);
11066 java.nio.ByteBuffer data,
11067 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11068 throws com.google.protobuf.InvalidProtocolBufferException {
11069 return PARSER.parseFrom(data, extensionRegistry);
11072 com.google.protobuf.ByteString data)
11073 throws com.google.protobuf.InvalidProtocolBufferException {
11074 return PARSER.parseFrom(data);
11077 com.google.protobuf.ByteString data,
11078 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11079 throws com.google.protobuf.InvalidProtocolBufferException {
11080 return PARSER.parseFrom(data, extensionRegistry);
11083 throws com.google.protobuf.InvalidProtocolBufferException {
11084 return PARSER.parseFrom(data);
11088 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11089 throws com.google.protobuf.InvalidProtocolBufferException {
11090 return PARSER.parseFrom(data, extensionRegistry);
11093 throws java.io.IOException {
11094 return com.google.protobuf.GeneratedMessage
11095 .parseWithIOException(PARSER, input);
11098 java.io.InputStream input,
11099 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11100 throws java.io.IOException {
11101 return com.google.protobuf.GeneratedMessage
11102 .parseWithIOException(PARSER, input, extensionRegistry);
11106 throws java.io.IOException {
11107 return com.google.protobuf.GeneratedMessage
11108 .parseDelimitedWithIOException(PARSER, input);
11112 java.io.InputStream input,
11113 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11114 throws java.io.IOException {
11115 return com.google.protobuf.GeneratedMessage
11116 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
11119 com.google.protobuf.CodedInputStream input)
11120 throws java.io.IOException {
11121 return com.google.protobuf.GeneratedMessage
11122 .parseWithIOException(PARSER, input);
11125 com.google.protobuf.CodedInputStream input,
11126 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11127 throws java.io.IOException {
11128 return com.google.protobuf.GeneratedMessage
11129 .parseWithIOException(PARSER, input, extensionRegistry);
11132 @java.lang.Override
11135 return DEFAULT_INSTANCE.toBuilder();
11137 public static Builder newBuilder(com.google.ortools.constraintsolver.RoutingSearchParameters prototype) {
11138 return DEFAULT_INSTANCE.toBuilder().
mergeFrom(prototype);
11140 @java.lang.Override
11142 return this == DEFAULT_INSTANCE
11146 @java.lang.Override
11148 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
11165 public static final class Builder
extends
11166 com.google.protobuf.GeneratedMessage.Builder<Builder> implements
11169 public static final com.google.protobuf.Descriptors.Descriptor
11171 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
11174 @java.lang.Override
11175 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
11177 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_fieldAccessorTable
11178 .ensureFieldAccessorsInitialized(
11179 com.google.ortools.constraintsolver.RoutingSearchParameters.class, com.google.ortools.constraintsolver.RoutingSearchParameters.Builder.class);
11184 maybeForceBuilderInitialization();
11188 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
11190 maybeForceBuilderInitialization();
11192 private void maybeForceBuilderInitialization() {
11193 if (com.google.protobuf.GeneratedMessage
11194 .alwaysUseFieldBuilders) {
11195 getLocalSearchOperatorsFieldBuilder();
11196 getSatParametersFieldBuilder();
11197 getTimeLimitFieldBuilder();
11198 getLnsTimeLimitFieldBuilder();
11199 getImprovementLimitParametersFieldBuilder();
11200 getIteratedLocalSearchParametersFieldBuilder();
11203 @java.lang.Override
11208 firstSolutionStrategy_ = 0;
11209 useUnfilteredFirstSolutionStrategy_ =
false;
11210 savingsNeighborsRatio_ = 0D;
11211 savingsMaxMemoryUsageBytes_ = 0D;
11212 savingsAddReverseArcs_ =
false;
11213 savingsArcCoefficient_ = 0D;
11214 cheapestInsertionFarthestSeedsRatio_ = 0D;
11215 cheapestInsertionFirstSolutionNeighborsRatio_ = 0D;
11216 cheapestInsertionFirstSolutionMinNeighbors_ = 0;
11217 cheapestInsertionLsOperatorNeighborsRatio_ = 0D;
11218 cheapestInsertionLsOperatorMinNeighbors_ = 0;
11219 cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ =
false;
11220 cheapestInsertionAddUnperformedEntries_ =
false;
11221 localCheapestInsertionPickupDeliveryStrategy_ = 0;
11222 localCheapestCostInsertionPickupDeliveryStrategy_ = 0;
11223 localCheapestInsertionSortingProperties_ = emptyIntList();
11224 bitField0_ = (bitField0_ & ~0x00008000);
11225 christofidesUseMinimumMatching_ =
false;
11226 firstSolutionOptimizationPeriod_ = 0;
11227 localSearchOperators_ =
null;
11228 if (localSearchOperatorsBuilder_ !=
null) {
11229 localSearchOperatorsBuilder_.dispose();
11230 localSearchOperatorsBuilder_ =
null;
11232 lsOperatorNeighborsRatio_ = 0D;
11233 lsOperatorMinNeighbors_ = 0;
11234 useMultiArmedBanditConcatenateOperators_ =
false;
11235 multiArmedBanditCompoundOperatorMemoryCoefficient_ = 0D;
11236 multiArmedBanditCompoundOperatorExplorationCoefficient_ = 0D;
11237 maxSwapActiveChainSize_ = 0;
11238 relocateExpensiveChainNumArcsToConsider_ = 0;
11239 heuristicExpensiveChainLnsNumArcsToConsider_ = 0;
11240 heuristicCloseNodesLnsNumNodes_ = 0;
11241 localSearchMetaheuristic_ = 0;
11242 localSearchMetaheuristics_ = emptyIntList();
11243 bitField0_ = (bitField0_ & ~0x20000000);
11244 numMaxLocalOptimaBeforeMetaheuristicSwitch_ = 0;
11245 guidedLocalSearchLambdaCoefficient_ = 0D;
11246 guidedLocalSearchResetPenaltiesOnNewBestSolution_ =
false;
11247 guidedLocalSearchPenalizeWithVehicleClasses_ =
false;
11248 useGuidedLocalSearchPenaltiesInLocalSearchOperators_ =
false;
11249 useDepthFirstSearch_ =
false;
11252 useGeneralizedCpSat_ = 0;
11253 satParameters_ =
null;
11254 if (satParametersBuilder_ !=
null) {
11255 satParametersBuilder_.dispose();
11256 satParametersBuilder_ =
null;
11258 reportIntermediateCpSatSolutions_ =
false;
11259 fallbackToCpSatSizeThreshold_ = 0;
11260 continuousSchedulingSolver_ = 0;
11261 mixedIntegerSchedulingSolver_ = 0;
11262 disableSchedulingBewareThisMayDegradePerformance_ =
false;
11263 optimizationStep_ = 0D;
11264 numberOfSolutionsToCollect_ = 0;
11265 solutionLimit_ = 0L;
11267 if (timeLimitBuilder_ !=
null) {
11268 timeLimitBuilder_.dispose();
11269 timeLimitBuilder_ =
null;
11271 lnsTimeLimit_ =
null;
11272 if (lnsTimeLimitBuilder_ !=
null) {
11273 lnsTimeLimitBuilder_.dispose();
11274 lnsTimeLimitBuilder_ =
null;
11276 secondaryLsTimeLimitRatio_ = 0D;
11277 improvementLimitParameters_ =
null;
11278 if (improvementLimitParametersBuilder_ !=
null) {
11279 improvementLimitParametersBuilder_.dispose();
11280 improvementLimitParametersBuilder_ =
null;
11282 useFullPropagation_ =
false;
11283 logSearch_ =
false;
11284 logCostScalingFactor_ = 0D;
11285 logCostOffset_ = 0D;
11287 useIteratedLocalSearch_ =
false;
11288 iteratedLocalSearchParameters_ =
null;
11289 if (iteratedLocalSearchParametersBuilder_ !=
null) {
11290 iteratedLocalSearchParametersBuilder_.dispose();
11291 iteratedLocalSearchParametersBuilder_ =
null;
11296 @java.lang.Override
11297 public com.google.protobuf.Descriptors.Descriptor
11299 return com.google.ortools.constraintsolver.RoutingParameters.internal_static_operations_research_RoutingSearchParameters_descriptor;
11302 @java.lang.Override
11304 return com.google.ortools.constraintsolver.RoutingSearchParameters.getDefaultInstance();
11307 @java.lang.Override
11311 throw newUninitializedMessageException(result);
11316 @java.lang.Override
11319 buildPartialRepeatedFields(result);
11320 if (bitField0_ != 0) { buildPartial0(result); }
11321 if (bitField1_ != 0) { buildPartial1(result); }
11326 private void buildPartialRepeatedFields(com.google.ortools.constraintsolver.RoutingSearchParameters result) {
11327 if (((bitField0_ & 0x00008000) != 0)) {
11328 localCheapestInsertionSortingProperties_.makeImmutable();
11329 bitField0_ = (bitField0_ & ~0x00008000);
11331 result.localCheapestInsertionSortingProperties_ = localCheapestInsertionSortingProperties_;
11332 if (((bitField0_ & 0x20000000) != 0)) {
11333 localSearchMetaheuristics_.makeImmutable();
11334 bitField0_ = (bitField0_ & ~0x20000000);
11336 result.localSearchMetaheuristics_ = localSearchMetaheuristics_;
11339 private void buildPartial0(com.google.ortools.constraintsolver.RoutingSearchParameters result) {
11340 int from_bitField0_ = bitField0_;
11341 if (((from_bitField0_ & 0x00000001) != 0)) {
11342 result.firstSolutionStrategy_ = firstSolutionStrategy_;
11344 if (((from_bitField0_ & 0x00000002) != 0)) {
11345 result.useUnfilteredFirstSolutionStrategy_ = useUnfilteredFirstSolutionStrategy_;
11347 if (((from_bitField0_ & 0x00000004) != 0)) {
11348 result.savingsNeighborsRatio_ = savingsNeighborsRatio_;
11350 if (((from_bitField0_ & 0x00000008) != 0)) {
11351 result.savingsMaxMemoryUsageBytes_ = savingsMaxMemoryUsageBytes_;
11353 if (((from_bitField0_ & 0x00000010) != 0)) {
11354 result.savingsAddReverseArcs_ = savingsAddReverseArcs_;
11356 if (((from_bitField0_ & 0x00000020) != 0)) {
11357 result.savingsArcCoefficient_ = savingsArcCoefficient_;
11359 if (((from_bitField0_ & 0x00000040) != 0)) {
11360 result.cheapestInsertionFarthestSeedsRatio_ = cheapestInsertionFarthestSeedsRatio_;
11362 if (((from_bitField0_ & 0x00000080) != 0)) {
11363 result.cheapestInsertionFirstSolutionNeighborsRatio_ = cheapestInsertionFirstSolutionNeighborsRatio_;
11365 if (((from_bitField0_ & 0x00000100) != 0)) {
11366 result.cheapestInsertionFirstSolutionMinNeighbors_ = cheapestInsertionFirstSolutionMinNeighbors_;
11368 if (((from_bitField0_ & 0x00000200) != 0)) {
11369 result.cheapestInsertionLsOperatorNeighborsRatio_ = cheapestInsertionLsOperatorNeighborsRatio_;
11371 if (((from_bitField0_ & 0x00000400) != 0)) {
11372 result.cheapestInsertionLsOperatorMinNeighbors_ = cheapestInsertionLsOperatorMinNeighbors_;
11374 if (((from_bitField0_ & 0x00000800) != 0)) {
11375 result.cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ = cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_;
11377 if (((from_bitField0_ & 0x00001000) != 0)) {
11378 result.cheapestInsertionAddUnperformedEntries_ = cheapestInsertionAddUnperformedEntries_;
11380 if (((from_bitField0_ & 0x00002000) != 0)) {
11381 result.localCheapestInsertionPickupDeliveryStrategy_ = localCheapestInsertionPickupDeliveryStrategy_;
11383 if (((from_bitField0_ & 0x00004000) != 0)) {
11384 result.localCheapestCostInsertionPickupDeliveryStrategy_ = localCheapestCostInsertionPickupDeliveryStrategy_;
11386 if (((from_bitField0_ & 0x00010000) != 0)) {
11387 result.christofidesUseMinimumMatching_ = christofidesUseMinimumMatching_;
11389 if (((from_bitField0_ & 0x00020000) != 0)) {
11390 result.firstSolutionOptimizationPeriod_ = firstSolutionOptimizationPeriod_;
11392 int to_bitField0_ = 0;
11393 if (((from_bitField0_ & 0x00040000) != 0)) {
11394 result.localSearchOperators_ = localSearchOperatorsBuilder_ ==
null
11395 ? localSearchOperators_
11396 : localSearchOperatorsBuilder_.build();
11397 to_bitField0_ |= 0x00000001;
11399 if (((from_bitField0_ & 0x00080000) != 0)) {
11400 result.lsOperatorNeighborsRatio_ = lsOperatorNeighborsRatio_;
11402 if (((from_bitField0_ & 0x00100000) != 0)) {
11403 result.lsOperatorMinNeighbors_ = lsOperatorMinNeighbors_;
11405 if (((from_bitField0_ & 0x00200000) != 0)) {
11406 result.useMultiArmedBanditConcatenateOperators_ = useMultiArmedBanditConcatenateOperators_;
11408 if (((from_bitField0_ & 0x00400000) != 0)) {
11409 result.multiArmedBanditCompoundOperatorMemoryCoefficient_ = multiArmedBanditCompoundOperatorMemoryCoefficient_;
11411 if (((from_bitField0_ & 0x00800000) != 0)) {
11412 result.multiArmedBanditCompoundOperatorExplorationCoefficient_ = multiArmedBanditCompoundOperatorExplorationCoefficient_;
11414 if (((from_bitField0_ & 0x01000000) != 0)) {
11415 result.maxSwapActiveChainSize_ = maxSwapActiveChainSize_;
11417 if (((from_bitField0_ & 0x02000000) != 0)) {
11418 result.relocateExpensiveChainNumArcsToConsider_ = relocateExpensiveChainNumArcsToConsider_;
11420 if (((from_bitField0_ & 0x04000000) != 0)) {
11421 result.heuristicExpensiveChainLnsNumArcsToConsider_ = heuristicExpensiveChainLnsNumArcsToConsider_;
11423 if (((from_bitField0_ & 0x08000000) != 0)) {
11424 result.heuristicCloseNodesLnsNumNodes_ = heuristicCloseNodesLnsNumNodes_;
11426 if (((from_bitField0_ & 0x10000000) != 0)) {
11427 result.localSearchMetaheuristic_ = localSearchMetaheuristic_;
11429 if (((from_bitField0_ & 0x40000000) != 0)) {
11430 result.numMaxLocalOptimaBeforeMetaheuristicSwitch_ = numMaxLocalOptimaBeforeMetaheuristicSwitch_;
11432 if (((from_bitField0_ & 0x80000000) != 0)) {
11433 result.guidedLocalSearchLambdaCoefficient_ = guidedLocalSearchLambdaCoefficient_;
11435 result.bitField0_ |= to_bitField0_;
11438 private void buildPartial1(com.google.ortools.constraintsolver.RoutingSearchParameters result) {
11439 int from_bitField1_ = bitField1_;
11440 if (((from_bitField1_ & 0x00000001) != 0)) {
11441 result.guidedLocalSearchResetPenaltiesOnNewBestSolution_ = guidedLocalSearchResetPenaltiesOnNewBestSolution_;
11443 if (((from_bitField1_ & 0x00000002) != 0)) {
11444 result.guidedLocalSearchPenalizeWithVehicleClasses_ = guidedLocalSearchPenalizeWithVehicleClasses_;
11446 if (((from_bitField1_ & 0x00000004) != 0)) {
11447 result.useGuidedLocalSearchPenaltiesInLocalSearchOperators_ = useGuidedLocalSearchPenaltiesInLocalSearchOperators_;
11449 if (((from_bitField1_ & 0x00000008) != 0)) {
11450 result.useDepthFirstSearch_ = useDepthFirstSearch_;
11452 if (((from_bitField1_ & 0x00000010) != 0)) {
11453 result.useCp_ = useCp_;
11455 if (((from_bitField1_ & 0x00000020) != 0)) {
11456 result.useCpSat_ = useCpSat_;
11458 if (((from_bitField1_ & 0x00000040) != 0)) {
11459 result.useGeneralizedCpSat_ = useGeneralizedCpSat_;
11461 int to_bitField0_ = 0;
11462 if (((from_bitField1_ & 0x00000080) != 0)) {
11463 result.satParameters_ = satParametersBuilder_ ==
null
11465 : satParametersBuilder_.build();
11466 to_bitField0_ |= 0x00000002;
11468 if (((from_bitField1_ & 0x00000100) != 0)) {
11469 result.reportIntermediateCpSatSolutions_ = reportIntermediateCpSatSolutions_;
11471 if (((from_bitField1_ & 0x00000200) != 0)) {
11472 result.fallbackToCpSatSizeThreshold_ = fallbackToCpSatSizeThreshold_;
11474 if (((from_bitField1_ & 0x00000400) != 0)) {
11475 result.continuousSchedulingSolver_ = continuousSchedulingSolver_;
11477 if (((from_bitField1_ & 0x00000800) != 0)) {
11478 result.mixedIntegerSchedulingSolver_ = mixedIntegerSchedulingSolver_;
11480 if (((from_bitField1_ & 0x00001000) != 0)) {
11481 result.disableSchedulingBewareThisMayDegradePerformance_ = disableSchedulingBewareThisMayDegradePerformance_;
11482 to_bitField0_ |= 0x00000004;
11484 if (((from_bitField1_ & 0x00002000) != 0)) {
11485 result.optimizationStep_ = optimizationStep_;
11487 if (((from_bitField1_ & 0x00004000) != 0)) {
11488 result.numberOfSolutionsToCollect_ = numberOfSolutionsToCollect_;
11490 if (((from_bitField1_ & 0x00008000) != 0)) {
11491 result.solutionLimit_ = solutionLimit_;
11493 if (((from_bitField1_ & 0x00010000) != 0)) {
11494 result.timeLimit_ = timeLimitBuilder_ ==
null
11496 : timeLimitBuilder_.build();
11497 to_bitField0_ |= 0x00000008;
11499 if (((from_bitField1_ & 0x00020000) != 0)) {
11500 result.lnsTimeLimit_ = lnsTimeLimitBuilder_ ==
null
11502 : lnsTimeLimitBuilder_.build();
11503 to_bitField0_ |= 0x00000010;
11505 if (((from_bitField1_ & 0x00040000) != 0)) {
11506 result.secondaryLsTimeLimitRatio_ = secondaryLsTimeLimitRatio_;
11508 if (((from_bitField1_ & 0x00080000) != 0)) {
11509 result.improvementLimitParameters_ = improvementLimitParametersBuilder_ ==
null
11510 ? improvementLimitParameters_
11511 : improvementLimitParametersBuilder_.build();
11512 to_bitField0_ |= 0x00000020;
11514 if (((from_bitField1_ & 0x00100000) != 0)) {
11515 result.useFullPropagation_ = useFullPropagation_;
11517 if (((from_bitField1_ & 0x00200000) != 0)) {
11518 result.logSearch_ = logSearch_;
11520 if (((from_bitField1_ & 0x00400000) != 0)) {
11521 result.logCostScalingFactor_ = logCostScalingFactor_;
11523 if (((from_bitField1_ & 0x00800000) != 0)) {
11524 result.logCostOffset_ = logCostOffset_;
11526 if (((from_bitField1_ & 0x01000000) != 0)) {
11527 result.logTag_ = logTag_;
11529 if (((from_bitField1_ & 0x02000000) != 0)) {
11530 result.useIteratedLocalSearch_ = useIteratedLocalSearch_;
11532 if (((from_bitField1_ & 0x04000000) != 0)) {
11533 result.iteratedLocalSearchParameters_ = iteratedLocalSearchParametersBuilder_ ==
null
11534 ? iteratedLocalSearchParameters_
11535 : iteratedLocalSearchParametersBuilder_.build();
11536 to_bitField0_ |= 0x00000040;
11538 result.bitField0_ |= to_bitField0_;
11541 @java.lang.Override
11543 if (other instanceof com.google.ortools.constraintsolver.RoutingSearchParameters) {
11544 return mergeFrom((com.google.ortools.constraintsolver.RoutingSearchParameters)other);
11546 super.mergeFrom(other);
11551 public Builder
mergeFrom(com.google.ortools.constraintsolver.RoutingSearchParameters other) {
11552 if (other == com.google.ortools.constraintsolver.RoutingSearchParameters.getDefaultInstance())
return this;
11553 if (other.firstSolutionStrategy_ != 0) {
11556 if (other.getUseUnfilteredFirstSolutionStrategy() !=
false) {
11559 if (other.getSavingsNeighborsRatio() != 0D) {
11562 if (other.getSavingsMaxMemoryUsageBytes() != 0D) {
11565 if (other.getSavingsAddReverseArcs() !=
false) {
11568 if (other.getSavingsArcCoefficient() != 0D) {
11571 if (other.getCheapestInsertionFarthestSeedsRatio() != 0D) {
11574 if (other.getCheapestInsertionFirstSolutionNeighborsRatio() != 0D) {
11577 if (other.getCheapestInsertionFirstSolutionMinNeighbors() != 0) {
11580 if (other.getCheapestInsertionLsOperatorNeighborsRatio() != 0D) {
11583 if (other.getCheapestInsertionLsOperatorMinNeighbors() != 0) {
11586 if (other.getCheapestInsertionFirstSolutionUseNeighborsRatioForInitialization() !=
false) {
11589 if (other.getCheapestInsertionAddUnperformedEntries() !=
false) {
11592 if (other.localCheapestInsertionPickupDeliveryStrategy_ != 0) {
11595 if (other.localCheapestCostInsertionPickupDeliveryStrategy_ != 0) {
11598 if (!other.localCheapestInsertionSortingProperties_.isEmpty()) {
11599 if (localCheapestInsertionSortingProperties_.isEmpty()) {
11600 localCheapestInsertionSortingProperties_ = other.localCheapestInsertionSortingProperties_;
11601 bitField0_ = (bitField0_ & ~0x00008000);
11603 ensureLocalCheapestInsertionSortingPropertiesIsMutable();
11604 localCheapestInsertionSortingProperties_.addAll(other.localCheapestInsertionSortingProperties_);
11608 if (other.getChristofidesUseMinimumMatching() !=
false) {
11611 if (other.getFirstSolutionOptimizationPeriod() != 0) {
11614 if (other.hasLocalSearchOperators()) {
11617 if (other.getLsOperatorNeighborsRatio() != 0D) {
11620 if (other.getLsOperatorMinNeighbors() != 0) {
11623 if (other.getUseMultiArmedBanditConcatenateOperators() !=
false) {
11626 if (other.getMultiArmedBanditCompoundOperatorMemoryCoefficient() != 0D) {
11629 if (other.getMultiArmedBanditCompoundOperatorExplorationCoefficient() != 0D) {
11632 if (other.getMaxSwapActiveChainSize() != 0) {
11635 if (other.getRelocateExpensiveChainNumArcsToConsider() != 0) {
11638 if (other.getHeuristicExpensiveChainLnsNumArcsToConsider() != 0) {
11641 if (other.getHeuristicCloseNodesLnsNumNodes() != 0) {
11644 if (other.localSearchMetaheuristic_ != 0) {
11647 if (!other.localSearchMetaheuristics_.isEmpty()) {
11648 if (localSearchMetaheuristics_.isEmpty()) {
11649 localSearchMetaheuristics_ = other.localSearchMetaheuristics_;
11650 bitField0_ = (bitField0_ & ~0x20000000);
11652 ensureLocalSearchMetaheuristicsIsMutable();
11653 localSearchMetaheuristics_.addAll(other.localSearchMetaheuristics_);
11657 if (other.getNumMaxLocalOptimaBeforeMetaheuristicSwitch() != 0) {
11660 if (other.getGuidedLocalSearchLambdaCoefficient() != 0D) {
11663 if (other.getGuidedLocalSearchResetPenaltiesOnNewBestSolution() !=
false) {
11666 if (other.getGuidedLocalSearchPenalizeWithVehicleClasses() !=
false) {
11669 if (other.getUseGuidedLocalSearchPenaltiesInLocalSearchOperators() !=
false) {
11672 if (other.getUseDepthFirstSearch() !=
false) {
11675 if (other.useCp_ != 0) {
11678 if (other.useCpSat_ != 0) {
11681 if (other.useGeneralizedCpSat_ != 0) {
11684 if (other.hasSatParameters()) {
11687 if (other.getReportIntermediateCpSatSolutions() !=
false) {
11690 if (other.getFallbackToCpSatSizeThreshold() != 0) {
11693 if (other.continuousSchedulingSolver_ != 0) {
11696 if (other.mixedIntegerSchedulingSolver_ != 0) {
11699 if (other.hasDisableSchedulingBewareThisMayDegradePerformance()) {
11702 if (other.getOptimizationStep() != 0D) {
11705 if (other.getNumberOfSolutionsToCollect() != 0) {
11708 if (other.getSolutionLimit() != 0L) {
11711 if (other.hasTimeLimit()) {
11714 if (other.hasLnsTimeLimit()) {
11717 if (other.getSecondaryLsTimeLimitRatio() != 0D) {
11720 if (other.hasImprovementLimitParameters()) {
11723 if (other.getUseFullPropagation() !=
false) {
11726 if (other.getLogSearch() !=
false) {
11729 if (other.getLogCostScalingFactor() != 0D) {
11732 if (other.getLogCostOffset() != 0D) {
11735 if (!other.getLogTag().isEmpty()) {
11736 logTag_ = other.logTag_;
11737 bitField1_ |= 0x01000000;
11740 if (other.getUseIteratedLocalSearch() !=
false) {
11743 if (other.hasIteratedLocalSearchParameters()) {
11746 this.mergeUnknownFields(other.getUnknownFields());
11751 @java.lang.Override
11756 @java.lang.Override
11758 com.google.protobuf.CodedInputStream input,
11759 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
11760 throws java.io.IOException {
11761 if (extensionRegistry ==
null) {
11762 throw new java.lang.NullPointerException();
11765 boolean done =
false;
11767 int tag = input.readTag();
11773 firstSolutionStrategy_ = input.readEnum();
11774 bitField0_ |= 0x00000001;
11778 useUnfilteredFirstSolutionStrategy_ = input.readBool();
11779 bitField0_ |= 0x00000002;
11784 getLocalSearchOperatorsFieldBuilder().getBuilder(),
11785 extensionRegistry);
11786 bitField0_ |= 0x00040000;
11790 localSearchMetaheuristic_ = input.readEnum();
11791 bitField0_ |= 0x10000000;
11795 guidedLocalSearchLambdaCoefficient_ = input.readDouble();
11796 bitField0_ |= 0x80000000;
11800 useDepthFirstSearch_ = input.readBool();
11801 bitField1_ |= 0x00000008;
11805 optimizationStep_ = input.readDouble();
11806 bitField1_ |= 0x00002000;
11810 solutionLimit_ = input.readInt64();
11811 bitField1_ |= 0x00008000;
11816 getTimeLimitFieldBuilder().getBuilder(),
11817 extensionRegistry);
11818 bitField1_ |= 0x00010000;
11823 getLnsTimeLimitFieldBuilder().getBuilder(),
11824 extensionRegistry);
11825 bitField1_ |= 0x00020000;
11829 useFullPropagation_ = input.readBool();
11830 bitField1_ |= 0x00100000;
11834 logSearch_ = input.readBool();
11835 bitField1_ |= 0x00200000;
11839 savingsNeighborsRatio_ = input.readDouble();
11840 bitField0_ |= 0x00000004;
11844 savingsAddReverseArcs_ = input.readBool();
11845 bitField0_ |= 0x00000010;
11849 cheapestInsertionFarthestSeedsRatio_ = input.readDouble();
11850 bitField0_ |= 0x00000040;
11854 numberOfSolutionsToCollect_ = input.readInt32();
11855 bitField1_ |= 0x00004000;
11859 savingsArcCoefficient_ = input.readDouble();
11860 bitField0_ |= 0x00000020;
11864 relocateExpensiveChainNumArcsToConsider_ = input.readInt32();
11865 bitField0_ |= 0x02000000;
11869 cheapestInsertionFirstSolutionNeighborsRatio_ = input.readDouble();
11870 bitField0_ |= 0x00000080;
11874 logCostScalingFactor_ = input.readDouble();
11875 bitField1_ |= 0x00400000;
11879 savingsMaxMemoryUsageBytes_ = input.readDouble();
11880 bitField0_ |= 0x00000008;
11884 useCpSat_ = input.readEnum();
11885 bitField1_ |= 0x00000020;
11889 useCp_ = input.readEnum();
11890 bitField1_ |= 0x00000010;
11894 logCostOffset_ = input.readDouble();
11895 bitField1_ |= 0x00800000;
11899 christofidesUseMinimumMatching_ = input.readBool();
11900 bitField0_ |= 0x00010000;
11904 cheapestInsertionLsOperatorNeighborsRatio_ = input.readDouble();
11905 bitField0_ |= 0x00000200;
11909 heuristicExpensiveChainLnsNumArcsToConsider_ = input.readInt32();
11910 bitField0_ |= 0x04000000;
11914 continuousSchedulingSolver_ = input.readEnum();
11915 bitField1_ |= 0x00000400;
11919 mixedIntegerSchedulingSolver_ = input.readEnum();
11920 bitField1_ |= 0x00000800;
11924 heuristicCloseNodesLnsNumNodes_ = input.readInt32();
11925 bitField0_ |= 0x08000000;
11929 logTag_ = input.readStringRequireUtf8();
11930 bitField1_ |= 0x01000000;
11935 getImprovementLimitParametersFieldBuilder().getBuilder(),
11936 extensionRegistry);
11937 bitField1_ |= 0x00080000;
11941 cheapestInsertionAddUnperformedEntries_ = input.readBool();
11942 bitField0_ |= 0x00001000;
11946 useMultiArmedBanditConcatenateOperators_ = input.readBool();
11947 bitField0_ |= 0x00200000;
11951 multiArmedBanditCompoundOperatorMemoryCoefficient_ = input.readDouble();
11952 bitField0_ |= 0x00400000;
11956 multiArmedBanditCompoundOperatorExplorationCoefficient_ = input.readDouble();
11957 bitField0_ |= 0x00800000;
11961 cheapestInsertionFirstSolutionMinNeighbors_ = input.readInt32();
11962 bitField0_ |= 0x00000100;
11966 cheapestInsertionLsOperatorMinNeighbors_ = input.readInt32();
11967 bitField0_ |= 0x00000400;
11971 cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ = input.readBool();
11972 bitField0_ |= 0x00000800;
11976 useGeneralizedCpSat_ = input.readEnum();
11977 bitField1_ |= 0x00000040;
11982 getSatParametersFieldBuilder().getBuilder(),
11983 extensionRegistry);
11984 bitField1_ |= 0x00000080;
11988 localCheapestInsertionPickupDeliveryStrategy_ = input.readEnum();
11989 bitField0_ |= 0x00002000;
11993 disableSchedulingBewareThisMayDegradePerformance_ = input.readBool();
11994 bitField1_ |= 0x00001000;
11998 guidedLocalSearchResetPenaltiesOnNewBestSolution_ = input.readBool();
11999 bitField1_ |= 0x00000001;
12003 fallbackToCpSatSizeThreshold_ = input.readInt32();
12004 bitField1_ |= 0x00000200;
12008 lsOperatorNeighborsRatio_ = input.readDouble();
12009 bitField0_ |= 0x00080000;
12013 lsOperatorMinNeighbors_ = input.readInt32();
12014 bitField0_ |= 0x00100000;
12018 localCheapestCostInsertionPickupDeliveryStrategy_ = input.readEnum();
12019 bitField0_ |= 0x00004000;
12023 reportIntermediateCpSatSolutions_ = input.readBool();
12024 bitField1_ |= 0x00000100;
12028 secondaryLsTimeLimitRatio_ = input.readDouble();
12029 bitField1_ |= 0x00040000;
12033 useIteratedLocalSearch_ = input.readBool();
12034 bitField1_ |= 0x02000000;
12038 firstSolutionOptimizationPeriod_ = input.readInt32();
12039 bitField0_ |= 0x00020000;
12044 getIteratedLocalSearchParametersFieldBuilder().getBuilder(),
12045 extensionRegistry);
12046 bitField1_ |= 0x04000000;
12050 guidedLocalSearchPenalizeWithVehicleClasses_ = input.readBool();
12051 bitField1_ |= 0x00000002;
12055 useGuidedLocalSearchPenaltiesInLocalSearchOperators_ = input.readBool();
12056 bitField1_ |= 0x00000004;
12060 int tmpRaw = input.readEnum();
12061 ensureLocalSearchMetaheuristicsIsMutable();
12062 localSearchMetaheuristics_.addInt(tmpRaw);
12066 int length = input.readRawVarint32();
12067 int oldLimit = input.pushLimit(length);
12068 while(input.getBytesUntilLimit() > 0) {
12069 int tmpRaw = input.readEnum();
12070 ensureLocalSearchMetaheuristicsIsMutable();
12071 localSearchMetaheuristics_.addInt(tmpRaw);
12073 input.popLimit(oldLimit);
12077 numMaxLocalOptimaBeforeMetaheuristicSwitch_ = input.readInt32();
12078 bitField0_ |= 0x40000000;
12082 maxSwapActiveChainSize_ = input.readInt32();
12083 bitField0_ |= 0x01000000;
12087 int tmpRaw = input.readEnum();
12088 ensureLocalCheapestInsertionSortingPropertiesIsMutable();
12089 localCheapestInsertionSortingProperties_.addInt(tmpRaw);
12093 int length = input.readRawVarint32();
12094 int oldLimit = input.pushLimit(length);
12095 while(input.getBytesUntilLimit() > 0) {
12096 int tmpRaw = input.readEnum();
12097 ensureLocalCheapestInsertionSortingPropertiesIsMutable();
12098 localCheapestInsertionSortingProperties_.addInt(tmpRaw);
12100 input.popLimit(oldLimit);
12104 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
12111 }
catch (com.google.protobuf.InvalidProtocolBufferException e) {
12112 throw e.unwrapIOException();
12118 private int bitField0_;
12119 private int bitField1_;
12121 private int firstSolutionStrategy_ = 0;
12131 return firstSolutionStrategy_;
12143 firstSolutionStrategy_ = value;
12144 bitField0_ |= 0x00000001;
12156 @java.lang.Override
12171 if (value ==
null) {
12172 throw new NullPointerException();
12174 bitField0_ |= 0x00000001;
12175 firstSolutionStrategy_ = value.getNumber();
12188 bitField0_ = (bitField0_ & ~0x00000001);
12189 firstSolutionStrategy_ = 0;
12194 private boolean useUnfilteredFirstSolutionStrategy_ ;
12206 @java.lang.Override
12208 return useUnfilteredFirstSolutionStrategy_;
12224 useUnfilteredFirstSolutionStrategy_ = value;
12225 bitField0_ |= 0x00000002;
12241 bitField0_ = (bitField0_ & ~0x00000002);
12242 useUnfilteredFirstSolutionStrategy_ =
false;
12247 private double savingsNeighborsRatio_ ;
12258 @java.lang.Override
12260 return savingsNeighborsRatio_;
12275 savingsNeighborsRatio_ = value;
12276 bitField0_ |= 0x00000004;
12291 bitField0_ = (bitField0_ & ~0x00000004);
12292 savingsNeighborsRatio_ = 0D;
12297 private double savingsMaxMemoryUsageBytes_ ;
12311 @java.lang.Override
12313 return savingsMaxMemoryUsageBytes_;
12331 savingsMaxMemoryUsageBytes_ = value;
12332 bitField0_ |= 0x00000008;
12350 bitField0_ = (bitField0_ & ~0x00000008);
12351 savingsMaxMemoryUsageBytes_ = 0D;
12356 private boolean savingsAddReverseArcs_ ;
12366 @java.lang.Override
12368 return savingsAddReverseArcs_;
12382 savingsAddReverseArcs_ = value;
12383 bitField0_ |= 0x00000010;
12397 bitField0_ = (bitField0_ & ~0x00000010);
12398 savingsAddReverseArcs_ =
false;
12403 private double savingsArcCoefficient_ ;
12416 @java.lang.Override
12418 return savingsArcCoefficient_;
12435 savingsArcCoefficient_ = value;
12436 bitField0_ |= 0x00000020;
12453 bitField0_ = (bitField0_ & ~0x00000020);
12454 savingsArcCoefficient_ = 0D;
12459 private double cheapestInsertionFarthestSeedsRatio_ ;
12470 @java.lang.Override
12472 return cheapestInsertionFarthestSeedsRatio_;
12487 cheapestInsertionFarthestSeedsRatio_ = value;
12488 bitField0_ |= 0x00000040;
12503 bitField0_ = (bitField0_ & ~0x00000040);
12504 cheapestInsertionFarthestSeedsRatio_ = 0D;
12509 private double cheapestInsertionFirstSolutionNeighborsRatio_ ;
12532 @java.lang.Override
12534 return cheapestInsertionFirstSolutionNeighborsRatio_;
12561 cheapestInsertionFirstSolutionNeighborsRatio_ = value;
12562 bitField0_ |= 0x00000080;
12589 bitField0_ = (bitField0_ & ~0x00000080);
12590 cheapestInsertionFirstSolutionNeighborsRatio_ = 0D;
12595 private int cheapestInsertionFirstSolutionMinNeighbors_ ;
12600 @java.lang.Override
12602 return cheapestInsertionFirstSolutionMinNeighbors_;
12611 cheapestInsertionFirstSolutionMinNeighbors_ = value;
12612 bitField0_ |= 0x00000100;
12621 bitField0_ = (bitField0_ & ~0x00000100);
12622 cheapestInsertionFirstSolutionMinNeighbors_ = 0;
12627 private double cheapestInsertionLsOperatorNeighborsRatio_ ;
12639 @java.lang.Override
12641 return cheapestInsertionLsOperatorNeighborsRatio_;
12657 cheapestInsertionLsOperatorNeighborsRatio_ = value;
12658 bitField0_ |= 0x00000200;
12674 bitField0_ = (bitField0_ & ~0x00000200);
12675 cheapestInsertionLsOperatorNeighborsRatio_ = 0D;
12680 private int cheapestInsertionLsOperatorMinNeighbors_ ;
12685 @java.lang.Override
12687 return cheapestInsertionLsOperatorMinNeighbors_;
12696 cheapestInsertionLsOperatorMinNeighbors_ = value;
12697 bitField0_ |= 0x00000400;
12706 bitField0_ = (bitField0_ & ~0x00000400);
12707 cheapestInsertionLsOperatorMinNeighbors_ = 0;
12712 private boolean cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ ;
12722 @java.lang.Override
12724 return cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_;
12738 cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ = value;
12739 bitField0_ |= 0x00000800;
12753 bitField0_ = (bitField0_ & ~0x00000800);
12754 cheapestInsertionFirstSolutionUseNeighborsRatioForInitialization_ =
false;
12759 private boolean cheapestInsertionAddUnperformedEntries_ ;
12769 @java.lang.Override
12771 return cheapestInsertionAddUnperformedEntries_;
12785 cheapestInsertionAddUnperformedEntries_ = value;
12786 bitField0_ |= 0x00001000;
12800 bitField0_ = (bitField0_ & ~0x00001000);
12801 cheapestInsertionAddUnperformedEntries_ =
false;
12806 private int localCheapestInsertionPickupDeliveryStrategy_ = 0;
12817 return localCheapestInsertionPickupDeliveryStrategy_;
12830 localCheapestInsertionPickupDeliveryStrategy_ = value;
12831 bitField0_ |= 0x00002000;
12844 @java.lang.Override
12860 if (value ==
null) {
12861 throw new NullPointerException();
12863 bitField0_ |= 0x00002000;
12864 localCheapestInsertionPickupDeliveryStrategy_ = value.getNumber();
12878 bitField0_ = (bitField0_ & ~0x00002000);
12879 localCheapestInsertionPickupDeliveryStrategy_ = 0;
12884 private int localCheapestCostInsertionPickupDeliveryStrategy_ = 0;
12895 return localCheapestCostInsertionPickupDeliveryStrategy_;
12908 localCheapestCostInsertionPickupDeliveryStrategy_ = value;
12909 bitField0_ |= 0x00004000;
12922 @java.lang.Override
12938 if (value ==
null) {
12939 throw new NullPointerException();
12941 bitField0_ |= 0x00004000;
12942 localCheapestCostInsertionPickupDeliveryStrategy_ = value.getNumber();
12956 bitField0_ = (bitField0_ & ~0x00004000);
12957 localCheapestCostInsertionPickupDeliveryStrategy_ = 0;
12962 private com.google.protobuf.Internal.IntList localCheapestInsertionSortingProperties_ =
12964 private void ensureLocalCheapestInsertionSortingPropertiesIsMutable() {
12965 if (!((bitField0_ & 0x00008000) != 0)) {
12966 localCheapestInsertionSortingProperties_ = makeMutableCopy(localCheapestInsertionSortingProperties_);
12967 bitField0_ |= 0x00008000;
12984 return new com.google.protobuf.Internal.IntListAdapter<
12985 com.google.ortools.constraintsolver.RoutingSearchParameters.InsertionSortingProperty>(localCheapestInsertionSortingProperties_, localCheapestInsertionSortingProperties_converter_);
13001 return localCheapestInsertionSortingProperties_.size();
13018 return localCheapestInsertionSortingProperties_converter_.convert(localCheapestInsertionSortingProperties_.getInt(index));
13036 int index, com.google.ortools.constraintsolver.RoutingSearchParameters.InsertionSortingProperty value) {
13037 if (value ==
null) {
13038 throw new NullPointerException();
13040 ensureLocalCheapestInsertionSortingPropertiesIsMutable();
13041 localCheapestInsertionSortingProperties_.setInt(index, value.getNumber());
13060 if (value ==
null) {
13061 throw new NullPointerException();
13063 ensureLocalCheapestInsertionSortingPropertiesIsMutable();
13064 localCheapestInsertionSortingProperties_.addInt(value.getNumber());
13083 java.lang.Iterable<? extends com.google.ortools.constraintsolver.RoutingSearchParameters.InsertionSortingProperty> values) {
13084 ensureLocalCheapestInsertionSortingPropertiesIsMutable();
13085 for (com.google.ortools.constraintsolver.RoutingSearchParameters.InsertionSortingProperty value : values) {
13086 localCheapestInsertionSortingProperties_.addInt(value.getNumber());
13105 localCheapestInsertionSortingProperties_ = emptyIntList();
13106 bitField0_ = (bitField0_ & ~0x00008000);
13123 public java.util.List<java.lang.Integer>
13125 return java.util.Collections.unmodifiableList(localCheapestInsertionSortingProperties_);
13142 return localCheapestInsertionSortingProperties_.getInt(index);
13160 int index,
int value) {
13161 ensureLocalCheapestInsertionSortingPropertiesIsMutable();
13162 localCheapestInsertionSortingProperties_.setInt(index, value);
13181 ensureLocalCheapestInsertionSortingPropertiesIsMutable();
13182 localCheapestInsertionSortingProperties_.addInt(value);
13201 java.lang.Iterable<java.lang.Integer> values) {
13202 ensureLocalCheapestInsertionSortingPropertiesIsMutable();
13203 for (
int value : values) {
13204 localCheapestInsertionSortingProperties_.addInt(value);
13210 private boolean christofidesUseMinimumMatching_ ;
13220 @java.lang.Override
13222 return christofidesUseMinimumMatching_;
13236 christofidesUseMinimumMatching_ = value;
13237 bitField0_ |= 0x00010000;
13251 bitField0_ = (bitField0_ & ~0x00010000);
13252 christofidesUseMinimumMatching_ =
false;
13257 private int firstSolutionOptimizationPeriod_ ;
13272 @java.lang.Override
13274 return firstSolutionOptimizationPeriod_;
13293 firstSolutionOptimizationPeriod_ = value;
13294 bitField0_ |= 0x00020000;
13313 bitField0_ = (bitField0_ & ~0x00020000);
13314 firstSolutionOptimizationPeriod_ = 0;
13320 private com.google.protobuf.SingleFieldBuilder<
13321 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder> localSearchOperatorsBuilder_;
13327 return ((bitField0_ & 0x00040000) != 0);
13334 if (localSearchOperatorsBuilder_ ==
null) {
13335 return localSearchOperators_ ==
null ? com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
13337 return localSearchOperatorsBuilder_.getMessage();
13343 public Builder
setLocalSearchOperators(com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators value) {
13344 if (localSearchOperatorsBuilder_ ==
null) {
13345 if (value ==
null) {
13346 throw new NullPointerException();
13348 localSearchOperators_ = value;
13350 localSearchOperatorsBuilder_.setMessage(value);
13352 bitField0_ |= 0x00040000;
13360 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder builderForValue) {
13361 if (localSearchOperatorsBuilder_ ==
null) {
13362 localSearchOperators_ = builderForValue.build();
13364 localSearchOperatorsBuilder_.setMessage(builderForValue.build());
13366 bitField0_ |= 0x00040000;
13374 if (localSearchOperatorsBuilder_ ==
null) {
13375 if (((bitField0_ & 0x00040000) != 0) &&
13376 localSearchOperators_ !=
null &&
13377 localSearchOperators_ != com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance()) {
13380 localSearchOperators_ = value;
13383 localSearchOperatorsBuilder_.mergeFrom(value);
13385 if (localSearchOperators_ !=
null) {
13386 bitField0_ |= 0x00040000;
13395 bitField0_ = (bitField0_ & ~0x00040000);
13396 localSearchOperators_ =
null;
13397 if (localSearchOperatorsBuilder_ !=
null) {
13398 localSearchOperatorsBuilder_.dispose();
13399 localSearchOperatorsBuilder_ =
null;
13408 bitField0_ |= 0x00040000;
13410 return getLocalSearchOperatorsFieldBuilder().getBuilder();
13416 if (localSearchOperatorsBuilder_ !=
null) {
13417 return localSearchOperatorsBuilder_.getMessageOrBuilder();
13419 return localSearchOperators_ ==
null ?
13420 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.getDefaultInstance() : localSearchOperators_;
13426 private com.google.protobuf.SingleFieldBuilder<
13427 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder>
13428 getLocalSearchOperatorsFieldBuilder() {
13429 if (localSearchOperatorsBuilder_ ==
null) {
13430 localSearchOperatorsBuilder_ =
new com.google.protobuf.SingleFieldBuilder<
13431 com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperators.Builder, com.google.ortools.constraintsolver.RoutingSearchParameters.LocalSearchNeighborhoodOperatorsOrBuilder>(
13433 getParentForChildren(),
13435 localSearchOperators_ =
null;
13437 return localSearchOperatorsBuilder_;
13440 private double lsOperatorNeighborsRatio_ ;
13451 @java.lang.Override
13453 return lsOperatorNeighborsRatio_;
13468 lsOperatorNeighborsRatio_ = value;
13469 bitField0_ |= 0x00080000;
13484 bitField0_ = (bitField0_ & ~0x00080000);
13485 lsOperatorNeighborsRatio_ = 0D;
13490 private int lsOperatorMinNeighbors_ ;
13495 @java.lang.Override
13497 return lsOperatorMinNeighbors_;
13506 lsOperatorMinNeighbors_ = value;
13507 bitField0_ |= 0x00100000;
13516 bitField0_ = (bitField0_ & ~0x00100000);
13517 lsOperatorMinNeighbors_ = 0;
13522 private boolean useMultiArmedBanditConcatenateOperators_ ;
13533 @java.lang.Override
13535 return useMultiArmedBanditConcatenateOperators_;
13550 useMultiArmedBanditConcatenateOperators_ = value;
13551 bitField0_ |= 0x00200000;
13566 bitField0_ = (bitField0_ & ~0x00200000);
13567 useMultiArmedBanditConcatenateOperators_ =
false;
13572 private double multiArmedBanditCompoundOperatorMemoryCoefficient_ ;
13584 @java.lang.Override
13586 return multiArmedBanditCompoundOperatorMemoryCoefficient_;
13602 multiArmedBanditCompoundOperatorMemoryCoefficient_ = value;
13603 bitField0_ |= 0x00400000;
13619 bitField0_ = (bitField0_ & ~0x00400000);
13620 multiArmedBanditCompoundOperatorMemoryCoefficient_ = 0D;
13625 private double multiArmedBanditCompoundOperatorExplorationCoefficient_ ;
13636 @java.lang.Override
13638 return multiArmedBanditCompoundOperatorExplorationCoefficient_;
13653 multiArmedBanditCompoundOperatorExplorationCoefficient_ = value;
13654 bitField0_ |= 0x00800000;
13669 bitField0_ = (bitField0_ & ~0x00800000);
13670 multiArmedBanditCompoundOperatorExplorationCoefficient_ = 0D;
13675 private int maxSwapActiveChainSize_ ;
13684 @java.lang.Override
13686 return maxSwapActiveChainSize_;
13699 maxSwapActiveChainSize_ = value;
13700 bitField0_ |= 0x01000000;
13713 bitField0_ = (bitField0_ & ~0x01000000);
13714 maxSwapActiveChainSize_ = 0;
13719 private int relocateExpensiveChainNumArcsToConsider_ ;
13734 @java.lang.Override
13736 return relocateExpensiveChainNumArcsToConsider_;
13755 relocateExpensiveChainNumArcsToConsider_ = value;
13756 bitField0_ |= 0x02000000;
13775 bitField0_ = (bitField0_ & ~0x02000000);
13776 relocateExpensiveChainNumArcsToConsider_ = 0;
13781 private int heuristicExpensiveChainLnsNumArcsToConsider_ ;
13791 @java.lang.Override
13793 return heuristicExpensiveChainLnsNumArcsToConsider_;
13807 heuristicExpensiveChainLnsNumArcsToConsider_ = value;
13808 bitField0_ |= 0x04000000;
13822 bitField0_ = (bitField0_ & ~0x04000000);
13823 heuristicExpensiveChainLnsNumArcsToConsider_ = 0;
13828 private int heuristicCloseNodesLnsNumNodes_ ;
13838 @java.lang.Override
13840 return heuristicCloseNodesLnsNumNodes_;
13854 heuristicCloseNodesLnsNumNodes_ = value;
13855 bitField0_ |= 0x08000000;
13869 bitField0_ = (bitField0_ & ~0x08000000);
13870 heuristicCloseNodesLnsNumNodes_ = 0;
13875 private int localSearchMetaheuristic_ = 0;
13885 return localSearchMetaheuristic_;
13897 localSearchMetaheuristic_ = value;
13898 bitField0_ |= 0x10000000;
13910 @java.lang.Override
13925 if (value ==
null) {
13926 throw new NullPointerException();
13928 bitField0_ |= 0x10000000;
13929 localSearchMetaheuristic_ = value.getNumber();
13942 bitField0_ = (bitField0_ & ~0x10000000);
13943 localSearchMetaheuristic_ = 0;
13948 private com.google.protobuf.Internal.IntList localSearchMetaheuristics_ =
13950 private void ensureLocalSearchMetaheuristicsIsMutable() {
13951 if (!((bitField0_ & 0x20000000) != 0)) {
13952 localSearchMetaheuristics_ = makeMutableCopy(localSearchMetaheuristics_);
13953 bitField0_ |= 0x20000000;
13968 return new com.google.protobuf.Internal.IntListAdapter<
13969 com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value>(localSearchMetaheuristics_, localSearchMetaheuristics_converter_);
13983 return localSearchMetaheuristics_.size();
13998 return localSearchMetaheuristics_converter_.convert(localSearchMetaheuristics_.getInt(index));
14014 int index, com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value value) {
14015 if (value ==
null) {
14016 throw new NullPointerException();
14018 ensureLocalSearchMetaheuristicsIsMutable();
14019 localSearchMetaheuristics_.setInt(index, value.getNumber());
14036 if (value ==
null) {
14037 throw new NullPointerException();
14039 ensureLocalSearchMetaheuristicsIsMutable();
14040 localSearchMetaheuristics_.addInt(value.getNumber());
14057 java.lang.Iterable<? extends com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value> values) {
14058 ensureLocalSearchMetaheuristicsIsMutable();
14059 for (com.google.ortools.constraintsolver.LocalSearchMetaheuristic.Value value : values) {
14060 localSearchMetaheuristics_.addInt(value.getNumber());
14077 localSearchMetaheuristics_ = emptyIntList();
14078 bitField0_ = (bitField0_ & ~0x20000000);
14093 public java.util.List<java.lang.Integer>
14095 return java.util.Collections.unmodifiableList(localSearchMetaheuristics_);
14110 return localSearchMetaheuristics_.getInt(index);
14126 int index,
int value) {
14127 ensureLocalSearchMetaheuristicsIsMutable();
14128 localSearchMetaheuristics_.setInt(index, value);
14145 ensureLocalSearchMetaheuristicsIsMutable();
14146 localSearchMetaheuristics_.addInt(value);
14163 java.lang.Iterable<java.lang.Integer> values) {
14164 ensureLocalSearchMetaheuristicsIsMutable();
14165 for (
int value : values) {
14166 localSearchMetaheuristics_.addInt(value);
14172 private int numMaxLocalOptimaBeforeMetaheuristicSwitch_ ;
14177 @java.lang.Override
14179 return numMaxLocalOptimaBeforeMetaheuristicSwitch_;
14188 numMaxLocalOptimaBeforeMetaheuristicSwitch_ = value;
14189 bitField0_ |= 0x40000000;
14198 bitField0_ = (bitField0_ & ~0x40000000);
14199 numMaxLocalOptimaBeforeMetaheuristicSwitch_ = 0;
14204 private double guidedLocalSearchLambdaCoefficient_ ;
14216 @java.lang.Override
14218 return guidedLocalSearchLambdaCoefficient_;
14234 guidedLocalSearchLambdaCoefficient_ = value;
14235 bitField0_ |= 0x80000000;
14251 bitField0_ = (bitField0_ & ~0x80000000);
14252 guidedLocalSearchLambdaCoefficient_ = 0D;
14257 private boolean guidedLocalSearchResetPenaltiesOnNewBestSolution_ ;
14267 @java.lang.Override
14269 return guidedLocalSearchResetPenaltiesOnNewBestSolution_;
14283 guidedLocalSearchResetPenaltiesOnNewBestSolution_ = value;
14284 bitField1_ |= 0x00000001;
14298 bitField1_ = (bitField1_ & ~0x00000001);
14299 guidedLocalSearchResetPenaltiesOnNewBestSolution_ =
false;
14304 private boolean guidedLocalSearchPenalizeWithVehicleClasses_ ;
14315 @java.lang.Override
14317 return guidedLocalSearchPenalizeWithVehicleClasses_;
14332 guidedLocalSearchPenalizeWithVehicleClasses_ = value;
14333 bitField1_ |= 0x00000002;
14348 bitField1_ = (bitField1_ & ~0x00000002);
14349 guidedLocalSearchPenalizeWithVehicleClasses_ =
false;
14354 private boolean useGuidedLocalSearchPenaltiesInLocalSearchOperators_ ;
14364 @java.lang.Override
14366 return useGuidedLocalSearchPenaltiesInLocalSearchOperators_;
14380 useGuidedLocalSearchPenaltiesInLocalSearchOperators_ = value;
14381 bitField1_ |= 0x00000004;
14395 bitField1_ = (bitField1_ & ~0x00000004);
14396 useGuidedLocalSearchPenaltiesInLocalSearchOperators_ =
false;
14401 private boolean useDepthFirstSearch_ ;
14413 @java.lang.Override
14415 return useDepthFirstSearch_;
14431 useDepthFirstSearch_ = value;
14432 bitField1_ |= 0x00000008;
14448 bitField1_ = (bitField1_ & ~0x00000008);
14449 useDepthFirstSearch_ =
false;
14454 private int useCp_ = 0;
14481 bitField1_ |= 0x00000010;
14495 @java.lang.Override
14511 public Builder
setUseCp(com.google.ortools.util.OptionalBoolean value) {
14512 if (value ==
null) {
14513 throw new NullPointerException();
14515 bitField1_ |= 0x00000010;
14516 useCp_ = value.getNumber();
14531 bitField1_ = (bitField1_ & ~0x00000010);
14537 private int useCpSat_ = 0;
14566 bitField1_ |= 0x00000020;
14581 @java.lang.Override
14598 public Builder
setUseCpSat(com.google.ortools.util.OptionalBoolean value) {
14599 if (value ==
null) {
14600 throw new NullPointerException();
14602 bitField1_ |= 0x00000020;
14603 useCpSat_ = value.getNumber();
14619 bitField1_ = (bitField1_ & ~0x00000020);
14625 private int useGeneralizedCpSat_ = 0;
14638 return useGeneralizedCpSat_;
14653 useGeneralizedCpSat_ = value;
14654 bitField1_ |= 0x00000040;
14669 @java.lang.Override
14687 if (value ==
null) {
14688 throw new NullPointerException();
14690 bitField1_ |= 0x00000040;
14691 useGeneralizedCpSat_ = value.getNumber();
14707 bitField1_ = (bitField1_ & ~0x00000040);
14708 useGeneralizedCpSat_ = 0;
14714 private com.google.protobuf.SingleFieldBuilder<
14715 com.google.ortools.sat.SatParameters, com.google.ortools.sat.SatParameters.Builder, com.google.ortools.sat.SatParametersOrBuilder> satParametersBuilder_;
14726 return ((bitField1_ & 0x00000080) != 0);
14738 if (satParametersBuilder_ ==
null) {
14739 return satParameters_ ==
null ? com.google.ortools.sat.SatParameters.getDefaultInstance() : satParameters_;
14741 return satParametersBuilder_.getMessage();
14753 if (satParametersBuilder_ ==
null) {
14754 if (value ==
null) {
14755 throw new NullPointerException();
14757 satParameters_ = value;
14759 satParametersBuilder_.setMessage(value);
14761 bitField1_ |= 0x00000080;
14774 com.google.ortools.sat.SatParameters.Builder builderForValue) {
14775 if (satParametersBuilder_ ==
null) {
14776 satParameters_ = builderForValue.build();
14778 satParametersBuilder_.setMessage(builderForValue.build());
14780 bitField1_ |= 0x00000080;
14793 if (satParametersBuilder_ ==
null) {
14794 if (((bitField1_ & 0x00000080) != 0) &&
14795 satParameters_ !=
null &&
14796 satParameters_ != com.google.ortools.sat.SatParameters.getDefaultInstance()) {
14799 satParameters_ = value;
14802 satParametersBuilder_.mergeFrom(value);
14804 if (satParameters_ !=
null) {
14805 bitField1_ |= 0x00000080;
14819 bitField1_ = (bitField1_ & ~0x00000080);
14820 satParameters_ =
null;
14821 if (satParametersBuilder_ !=
null) {
14822 satParametersBuilder_.dispose();
14823 satParametersBuilder_ =
null;
14837 bitField1_ |= 0x00000080;
14839 return getSatParametersFieldBuilder().getBuilder();
14850 if (satParametersBuilder_ !=
null) {
14851 return satParametersBuilder_.getMessageOrBuilder();
14853 return satParameters_ ==
null ?
14854 com.google.ortools.sat.SatParameters.getDefaultInstance() : satParameters_;
14865 private com.google.protobuf.SingleFieldBuilder<
14866 com.google.ortools.sat.SatParameters, com.google.ortools.sat.SatParameters.Builder, com.google.ortools.sat.SatParametersOrBuilder>
14867 getSatParametersFieldBuilder() {
14868 if (satParametersBuilder_ ==
null) {
14869 satParametersBuilder_ =
new com.google.protobuf.SingleFieldBuilder<
14870 com.google.ortools.sat.SatParameters, com.google.ortools.sat.SatParameters.Builder, com.google.ortools.sat.SatParametersOrBuilder>(
14872 getParentForChildren(),
14874 satParameters_ =
null;
14876 return satParametersBuilder_;
14879 private boolean reportIntermediateCpSatSolutions_ ;
14889 @java.lang.Override
14891 return reportIntermediateCpSatSolutions_;
14905 reportIntermediateCpSatSolutions_ = value;
14906 bitField1_ |= 0x00000100;
14920 bitField1_ = (bitField1_ & ~0x00000100);
14921 reportIntermediateCpSatSolutions_ =
false;
14926 private int fallbackToCpSatSizeThreshold_ ;
14936 @java.lang.Override
14938 return fallbackToCpSatSizeThreshold_;
14952 fallbackToCpSatSizeThreshold_ = value;
14953 bitField1_ |= 0x00000200;
14967 bitField1_ = (bitField1_ & ~0x00000200);
14968 fallbackToCpSatSizeThreshold_ = 0;
14973 private int continuousSchedulingSolver_ = 0;
14979 return continuousSchedulingSolver_;
14987 continuousSchedulingSolver_ = value;
14988 bitField1_ |= 0x00000400;
14996 @java.lang.Override
15007 if (value ==
null) {
15008 throw new NullPointerException();
15010 bitField1_ |= 0x00000400;
15011 continuousSchedulingSolver_ = value.getNumber();
15020 bitField1_ = (bitField1_ & ~0x00000400);
15021 continuousSchedulingSolver_ = 0;
15026 private int mixedIntegerSchedulingSolver_ = 0;
15032 return mixedIntegerSchedulingSolver_;
15040 mixedIntegerSchedulingSolver_ = value;
15041 bitField1_ |= 0x00000800;
15049 @java.lang.Override
15060 if (value ==
null) {
15061 throw new NullPointerException();
15063 bitField1_ |= 0x00000800;
15064 mixedIntegerSchedulingSolver_ = value.getNumber();
15073 bitField1_ = (bitField1_ & ~0x00000800);
15074 mixedIntegerSchedulingSolver_ = 0;
15079 private boolean disableSchedulingBewareThisMayDegradePerformance_ ;
15089 @java.lang.Override
15091 return ((bitField1_ & 0x00001000) != 0);
15102 @java.lang.Override
15104 return disableSchedulingBewareThisMayDegradePerformance_;
15118 disableSchedulingBewareThisMayDegradePerformance_ = value;
15119 bitField1_ |= 0x00001000;
15133 bitField1_ = (bitField1_ & ~0x00001000);
15134 disableSchedulingBewareThisMayDegradePerformance_ =
false;
15139 private double optimizationStep_ ;
15150 @java.lang.Override
15152 return optimizationStep_;
15167 optimizationStep_ = value;
15168 bitField1_ |= 0x00002000;
15183 bitField1_ = (bitField1_ & ~0x00002000);
15184 optimizationStep_ = 0D;
15189 private int numberOfSolutionsToCollect_ ;
15199 @java.lang.Override
15201 return numberOfSolutionsToCollect_;
15215 numberOfSolutionsToCollect_ = value;
15216 bitField1_ |= 0x00004000;
15230 bitField1_ = (bitField1_ & ~0x00004000);
15231 numberOfSolutionsToCollect_ = 0;
15236 private long solutionLimit_ ;
15247 @java.lang.Override
15249 return solutionLimit_;
15264 solutionLimit_ = value;
15265 bitField1_ |= 0x00008000;
15280 bitField1_ = (bitField1_ & ~0x00008000);
15281 solutionLimit_ = 0L;
15286 private com.google.protobuf.Duration timeLimit_;
15287 private com.google.protobuf.SingleFieldBuilder<
15288 com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> timeLimitBuilder_;
15298 return ((bitField1_ & 0x00010000) != 0);
15309 if (timeLimitBuilder_ ==
null) {
15310 return timeLimit_ ==
null ? com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
15312 return timeLimitBuilder_.getMessage();
15323 if (timeLimitBuilder_ ==
null) {
15324 if (value ==
null) {
15325 throw new NullPointerException();
15327 timeLimit_ = value;
15329 timeLimitBuilder_.setMessage(value);
15331 bitField1_ |= 0x00010000;
15343 com.google.protobuf.Duration.Builder builderForValue) {
15344 if (timeLimitBuilder_ ==
null) {
15345 timeLimit_ = builderForValue.build();
15347 timeLimitBuilder_.setMessage(builderForValue.build());
15349 bitField1_ |= 0x00010000;
15361 if (timeLimitBuilder_ ==
null) {
15362 if (((bitField1_ & 0x00010000) != 0) &&
15363 timeLimit_ !=
null &&
15364 timeLimit_ != com.google.protobuf.Duration.getDefaultInstance()) {
15367 timeLimit_ = value;
15370 timeLimitBuilder_.mergeFrom(value);
15372 if (timeLimit_ !=
null) {
15373 bitField1_ |= 0x00010000;
15386 bitField1_ = (bitField1_ & ~0x00010000);
15388 if (timeLimitBuilder_ !=
null) {
15389 timeLimitBuilder_.dispose();
15390 timeLimitBuilder_ =
null;
15403 bitField1_ |= 0x00010000;
15405 return getTimeLimitFieldBuilder().getBuilder();
15415 if (timeLimitBuilder_ !=
null) {
15416 return timeLimitBuilder_.getMessageOrBuilder();
15418 return timeLimit_ ==
null ?
15419 com.google.protobuf.Duration.getDefaultInstance() : timeLimit_;
15429 private com.google.protobuf.SingleFieldBuilder<
15430 com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
15431 getTimeLimitFieldBuilder() {
15432 if (timeLimitBuilder_ ==
null) {
15433 timeLimitBuilder_ =
new com.google.protobuf.SingleFieldBuilder<
15434 com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
15436 getParentForChildren(),
15440 return timeLimitBuilder_;
15443 private com.google.protobuf.Duration lnsTimeLimit_;
15444 private com.google.protobuf.SingleFieldBuilder<
15445 com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> lnsTimeLimitBuilder_;
15456 return ((bitField1_ & 0x00020000) != 0);
15468 if (lnsTimeLimitBuilder_ ==
null) {
15469 return lnsTimeLimit_ ==
null ? com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
15471 return lnsTimeLimitBuilder_.getMessage();
15483 if (lnsTimeLimitBuilder_ ==
null) {
15484 if (value ==
null) {
15485 throw new NullPointerException();
15487 lnsTimeLimit_ = value;
15489 lnsTimeLimitBuilder_.setMessage(value);
15491 bitField1_ |= 0x00020000;
15504 com.google.protobuf.Duration.Builder builderForValue) {
15505 if (lnsTimeLimitBuilder_ ==
null) {
15506 lnsTimeLimit_ = builderForValue.build();
15508 lnsTimeLimitBuilder_.setMessage(builderForValue.build());
15510 bitField1_ |= 0x00020000;
15523 if (lnsTimeLimitBuilder_ ==
null) {
15524 if (((bitField1_ & 0x00020000) != 0) &&
15525 lnsTimeLimit_ !=
null &&
15526 lnsTimeLimit_ != com.google.protobuf.Duration.getDefaultInstance()) {
15529 lnsTimeLimit_ = value;
15532 lnsTimeLimitBuilder_.mergeFrom(value);
15534 if (lnsTimeLimit_ !=
null) {
15535 bitField1_ |= 0x00020000;
15549 bitField1_ = (bitField1_ & ~0x00020000);
15550 lnsTimeLimit_ =
null;
15551 if (lnsTimeLimitBuilder_ !=
null) {
15552 lnsTimeLimitBuilder_.dispose();
15553 lnsTimeLimitBuilder_ =
null;
15567 bitField1_ |= 0x00020000;
15569 return getLnsTimeLimitFieldBuilder().getBuilder();
15580 if (lnsTimeLimitBuilder_ !=
null) {
15581 return lnsTimeLimitBuilder_.getMessageOrBuilder();
15583 return lnsTimeLimit_ ==
null ?
15584 com.google.protobuf.Duration.getDefaultInstance() : lnsTimeLimit_;
15595 private com.google.protobuf.SingleFieldBuilder<
15596 com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
15597 getLnsTimeLimitFieldBuilder() {
15598 if (lnsTimeLimitBuilder_ ==
null) {
15599 lnsTimeLimitBuilder_ =
new com.google.protobuf.SingleFieldBuilder<
15600 com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
15602 getParentForChildren(),
15604 lnsTimeLimit_ =
null;
15606 return lnsTimeLimitBuilder_;
15609 private double secondaryLsTimeLimitRatio_ ;
15623 @java.lang.Override
15625 return secondaryLsTimeLimitRatio_;
15643 secondaryLsTimeLimitRatio_ = value;
15644 bitField1_ |= 0x00040000;
15662 bitField1_ = (bitField1_ & ~0x00040000);
15663 secondaryLsTimeLimitRatio_ = 0D;
15669 private com.google.protobuf.SingleFieldBuilder<
15670 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParametersOrBuilder> improvementLimitParametersBuilder_;
15681 return ((bitField1_ & 0x00080000) != 0);
15693 if (improvementLimitParametersBuilder_ ==
null) {
15694 return improvementLimitParameters_ ==
null ? com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance() : improvementLimitParameters_;
15696 return improvementLimitParametersBuilder_.getMessage();
15708 if (improvementLimitParametersBuilder_ ==
null) {
15709 if (value ==
null) {
15710 throw new NullPointerException();
15712 improvementLimitParameters_ = value;
15714 improvementLimitParametersBuilder_.setMessage(value);
15716 bitField1_ |= 0x00080000;
15729 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder builderForValue) {
15730 if (improvementLimitParametersBuilder_ ==
null) {
15731 improvementLimitParameters_ = builderForValue.build();
15733 improvementLimitParametersBuilder_.setMessage(builderForValue.build());
15735 bitField1_ |= 0x00080000;
15748 if (improvementLimitParametersBuilder_ ==
null) {
15749 if (((bitField1_ & 0x00080000) != 0) &&
15750 improvementLimitParameters_ !=
null &&
15751 improvementLimitParameters_ != com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance()) {
15754 improvementLimitParameters_ = value;
15757 improvementLimitParametersBuilder_.mergeFrom(value);
15759 if (improvementLimitParameters_ !=
null) {
15760 bitField1_ |= 0x00080000;
15774 bitField1_ = (bitField1_ & ~0x00080000);
15775 improvementLimitParameters_ =
null;
15776 if (improvementLimitParametersBuilder_ !=
null) {
15777 improvementLimitParametersBuilder_.dispose();
15778 improvementLimitParametersBuilder_ =
null;
15792 bitField1_ |= 0x00080000;
15794 return getImprovementLimitParametersFieldBuilder().getBuilder();
15805 if (improvementLimitParametersBuilder_ !=
null) {
15806 return improvementLimitParametersBuilder_.getMessageOrBuilder();
15808 return improvementLimitParameters_ ==
null ?
15809 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.getDefaultInstance() : improvementLimitParameters_;
15820 private com.google.protobuf.SingleFieldBuilder<
15821 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParametersOrBuilder>
15822 getImprovementLimitParametersFieldBuilder() {
15823 if (improvementLimitParametersBuilder_ ==
null) {
15824 improvementLimitParametersBuilder_ =
new com.google.protobuf.SingleFieldBuilder<
15825 com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParameters.Builder, com.google.ortools.constraintsolver.RoutingSearchParameters.ImprovementSearchLimitParametersOrBuilder>(
15827 getParentForChildren(),
15829 improvementLimitParameters_ =
null;
15831 return improvementLimitParametersBuilder_;
15834 private boolean useFullPropagation_ ;
15852 @java.lang.Override
15854 return useFullPropagation_;
15876 useFullPropagation_ = value;
15877 bitField1_ |= 0x00100000;
15899 bitField1_ = (bitField1_ & ~0x00100000);
15900 useFullPropagation_ =
false;
15905 private boolean logSearch_ ;
15926 @java.lang.Override
15953 logSearch_ = value;
15954 bitField1_ |= 0x00200000;
15979 bitField1_ = (bitField1_ & ~0x00200000);
15980 logSearch_ =
false;
15985 private double logCostScalingFactor_ ;
15995 @java.lang.Override
15997 return logCostScalingFactor_;
16011 logCostScalingFactor_ = value;
16012 bitField1_ |= 0x00400000;
16026 bitField1_ = (bitField1_ & ~0x00400000);
16027 logCostScalingFactor_ = 0D;
16032 private double logCostOffset_ ;
16037 @java.lang.Override
16039 return logCostOffset_;
16048 logCostOffset_ = value;
16049 bitField1_ |= 0x00800000;
16058 bitField1_ = (bitField1_ & ~0x00800000);
16059 logCostOffset_ = 0D;
16064 private java.lang.Object logTag_ =
"";
16075 java.lang.Object ref = logTag_;
16076 if (!(ref instanceof java.lang.String)) {
16077 com.google.protobuf.ByteString bs =
16078 (com.google.protobuf.ByteString) ref;
16079 java.lang.String s = bs.toStringUtf8();
16083 return (java.lang.String) ref;
16095 public com.google.protobuf.ByteString
16097 java.lang.Object ref = logTag_;
16098 if (ref instanceof String) {
16099 com.google.protobuf.ByteString b =
16100 com.google.protobuf.ByteString.copyFromUtf8(
16101 (java.lang.String) ref);
16105 return (com.google.protobuf.ByteString) ref;
16119 java.lang.String value) {
16120 if (value ==
null) {
throw new NullPointerException(); }
16122 bitField1_ |= 0x01000000;
16137 bitField1_ = (bitField1_ & ~0x01000000);
16152 com.google.protobuf.ByteString value) {
16153 if (value ==
null) {
throw new NullPointerException(); }
16154 checkByteStringIsUtf8(value);
16156 bitField1_ |= 0x01000000;
16161 private boolean useIteratedLocalSearch_ ;
16171 @java.lang.Override
16173 return useIteratedLocalSearch_;
16187 useIteratedLocalSearch_ = value;
16188 bitField1_ |= 0x02000000;
16202 bitField1_ = (bitField1_ & ~0x02000000);
16203 useIteratedLocalSearch_ =
false;
16209 private com.google.protobuf.SingleFieldBuilder<
16210 com.google.ortools.constraintsolver.IteratedLocalSearchParameters, com.google.ortools.constraintsolver.IteratedLocalSearchParameters.Builder, com.google.ortools.constraintsolver.IteratedLocalSearchParametersOrBuilder> iteratedLocalSearchParametersBuilder_;
16220 return ((bitField1_ & 0x04000000) != 0);
16231 if (iteratedLocalSearchParametersBuilder_ ==
null) {
16232 return iteratedLocalSearchParameters_ ==
null ? com.google.ortools.constraintsolver.IteratedLocalSearchParameters.getDefaultInstance() : iteratedLocalSearchParameters_;
16234 return iteratedLocalSearchParametersBuilder_.getMessage();
16245 if (iteratedLocalSearchParametersBuilder_ ==
null) {
16246 if (value ==
null) {
16247 throw new NullPointerException();
16249 iteratedLocalSearchParameters_ = value;
16251 iteratedLocalSearchParametersBuilder_.setMessage(value);
16253 bitField1_ |= 0x04000000;
16265 com.google.ortools.constraintsolver.IteratedLocalSearchParameters.Builder builderForValue) {
16266 if (iteratedLocalSearchParametersBuilder_ ==
null) {
16267 iteratedLocalSearchParameters_ = builderForValue.build();
16269 iteratedLocalSearchParametersBuilder_.setMessage(builderForValue.build());
16271 bitField1_ |= 0x04000000;
16283 if (iteratedLocalSearchParametersBuilder_ ==
null) {
16284 if (((bitField1_ & 0x04000000) != 0) &&
16285 iteratedLocalSearchParameters_ !=
null &&
16286 iteratedLocalSearchParameters_ != com.google.ortools.constraintsolver.IteratedLocalSearchParameters.getDefaultInstance()) {
16289 iteratedLocalSearchParameters_ = value;
16292 iteratedLocalSearchParametersBuilder_.mergeFrom(value);
16294 if (iteratedLocalSearchParameters_ !=
null) {
16295 bitField1_ |= 0x04000000;
16308 bitField1_ = (bitField1_ & ~0x04000000);
16309 iteratedLocalSearchParameters_ =
null;
16310 if (iteratedLocalSearchParametersBuilder_ !=
null) {
16311 iteratedLocalSearchParametersBuilder_.dispose();
16312 iteratedLocalSearchParametersBuilder_ =
null;
16325 bitField1_ |= 0x04000000;
16327 return getIteratedLocalSearchParametersFieldBuilder().getBuilder();
16337 if (iteratedLocalSearchParametersBuilder_ !=
null) {
16338 return iteratedLocalSearchParametersBuilder_.getMessageOrBuilder();
16340 return iteratedLocalSearchParameters_ ==
null ?
16341 com.google.ortools.constraintsolver.IteratedLocalSearchParameters.getDefaultInstance() : iteratedLocalSearchParameters_;
16351 private com.google.protobuf.SingleFieldBuilder<
16352 com.google.ortools.constraintsolver.IteratedLocalSearchParameters, com.google.ortools.constraintsolver.IteratedLocalSearchParameters.Builder, com.google.ortools.constraintsolver.IteratedLocalSearchParametersOrBuilder>
16353 getIteratedLocalSearchParametersFieldBuilder() {
16354 if (iteratedLocalSearchParametersBuilder_ ==
null) {
16355 iteratedLocalSearchParametersBuilder_ =
new com.google.protobuf.SingleFieldBuilder<
16356 com.google.ortools.constraintsolver.IteratedLocalSearchParameters, com.google.ortools.constraintsolver.IteratedLocalSearchParameters.Builder, com.google.ortools.constraintsolver.IteratedLocalSearchParametersOrBuilder>(
16358 getParentForChildren(),
16360 iteratedLocalSearchParameters_ =
null;
16362 return iteratedLocalSearchParametersBuilder_;
16371 DEFAULT_INSTANCE =
new com.google.ortools.constraintsolver.RoutingSearchParameters();
16375 return DEFAULT_INSTANCE;
16380 @java.lang.Override
16382 com.google.protobuf.CodedInputStream input,
16383 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
16384 throws com.google.protobuf.InvalidProtocolBufferException {
16387 builder.mergeFrom(input, extensionRegistry);
16388 }
catch (com.google.protobuf.InvalidProtocolBufferException e) {
16389 throw e.setUnfinishedMessage(builder.buildPartial());
16390 }
catch (com.google.protobuf.UninitializedMessageException e) {
16391 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
16392 }
catch (java.io.IOException e) {
16393 throw new com.google.protobuf.InvalidProtocolBufferException(e)
16394 .setUnfinishedMessage(builder.buildPartial());
16396 return builder.buildPartial();
16400 public static com.google.protobuf.Parser<RoutingSearchParameters>
parser() {
16404 @java.lang.Override
16409 @java.lang.Override
16411 return DEFAULT_INSTANCE;