Google OR-Tools v9.12
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
PrimalDualHybridGradientParams.java
Go to the documentation of this file.
1// Generated by the protocol buffer compiler. DO NOT EDIT!
2// NO CHECKED-IN PROTOBUF GENCODE
3// source: ortools/pdlp/solvers.proto
4// Protobuf Java Version: 4.29.3
5
6package com.google.ortools.pdlp;
7
24public final class PrimalDualHybridGradientParams extends
25 com.google.protobuf.GeneratedMessage implements
26 // @@protoc_insertion_point(message_implements:operations_research.pdlp.PrimalDualHybridGradientParams)
28private static final long serialVersionUID = 0L;
29 static {
30 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
31 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
32 /* major= */ 4,
33 /* minor= */ 29,
34 /* patch= */ 3,
35 /* suffix= */ "",
36 PrimalDualHybridGradientParams.class.getName());
37 }
38 // Use PrimalDualHybridGradientParams.newBuilder() to construct.
39 private PrimalDualHybridGradientParams(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
40 super(builder);
41 }
42 private PrimalDualHybridGradientParams() {
43 numThreads_ = 1;
44 schedulerType_ = 1;
45 majorIterationFrequency_ = 64;
46 terminationCheckFrequency_ = 64;
47 restartStrategy_ = 3;
48 primalWeightUpdateSmoothing_ = 0.5D;
49 lInfRuizIterations_ = 5;
50 l2NormRescaling_ = true;
51 sufficientReductionForRestart_ = 0.1D;
52 necessaryReductionForRestart_ = 0.9D;
53 linesearchRule_ = 1;
54 initialStepSizeScaling_ = 1D;
55 randomProjectionSeeds_ = emptyIntList();
56 infiniteConstraintBoundThreshold_ = Double.POSITIVE_INFINITY;
57 handleSomePrimalGradientsOnFiniteBoundsAsResiduals_ = true;
58 diagonalQpTrustRegionSolverTolerance_ = 1e-08D;
59 }
60
61 public static final com.google.protobuf.Descriptors.Descriptor
63 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_PrimalDualHybridGradientParams_descriptor;
64 }
65
66 @java.lang.Override
67 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
69 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_PrimalDualHybridGradientParams_fieldAccessorTable
70 .ensureFieldAccessorsInitialized(
71 com.google.ortools.pdlp.PrimalDualHybridGradientParams.class, com.google.ortools.pdlp.PrimalDualHybridGradientParams.Builder.class);
72 }
73
77 public enum RestartStrategy
78 implements com.google.protobuf.ProtocolMessageEnum {
126 ;
127
128 static {
129 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
130 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
131 /* major= */ 4,
132 /* minor= */ 29,
133 /* patch= */ 3,
134 /* suffix= */ "",
135 RestartStrategy.class.getName());
136 }
140 public static final int RESTART_STRATEGY_UNSPECIFIED_VALUE = 0;
149 public static final int NO_RESTARTS_VALUE = 1;
158 public static final int EVERY_MAJOR_ITERATION_VALUE = 2;
171 public static final int ADAPTIVE_HEURISTIC_VALUE = 3;
183 public static final int ADAPTIVE_DISTANCE_BASED_VALUE = 4;
184
185
186 public final int getNumber() {
187 return value;
188 }
189
195 @java.lang.Deprecated
196 public static RestartStrategy valueOf(int value) {
197 return forNumber(value);
198 }
199
204 public static RestartStrategy forNumber(int value) {
205 switch (value) {
206 case 0: return RESTART_STRATEGY_UNSPECIFIED;
207 case 1: return NO_RESTARTS;
208 case 2: return EVERY_MAJOR_ITERATION;
209 case 3: return ADAPTIVE_HEURISTIC;
210 case 4: return ADAPTIVE_DISTANCE_BASED;
211 default: return null;
212 }
213 }
214
215 public static com.google.protobuf.Internal.EnumLiteMap<RestartStrategy>
217 return internalValueMap;
218 }
219 private static final com.google.protobuf.Internal.EnumLiteMap<
220 RestartStrategy> internalValueMap =
221 new com.google.protobuf.Internal.EnumLiteMap<RestartStrategy>() {
222 public RestartStrategy findValueByNumber(int number) {
223 return RestartStrategy.forNumber(number);
224 }
225 };
226
227 public final com.google.protobuf.Descriptors.EnumValueDescriptor
229 return getDescriptor().getValues().get(ordinal());
230 }
231 public final com.google.protobuf.Descriptors.EnumDescriptor
233 return getDescriptor();
234 }
235 public static final com.google.protobuf.Descriptors.EnumDescriptor
237 return com.google.ortools.pdlp.PrimalDualHybridGradientParams.getDescriptor().getEnumTypes().get(0);
238 }
239
240 private static final RestartStrategy[] VALUES = values();
241
242 public static RestartStrategy valueOf(
243 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
244 if (desc.getType() != getDescriptor()) {
245 throw new java.lang.IllegalArgumentException(
246 "EnumValueDescriptor is not for this type.");
247 }
248 return VALUES[desc.getIndex()];
249 }
250
251 private final int value;
252
253 private RestartStrategy(int value) {
254 this.value = value;
255 }
256
257 // @@protoc_insertion_point(enum_scope:operations_research.pdlp.PrimalDualHybridGradientParams.RestartStrategy)
258 }
259
263 public enum LinesearchRule
264 implements com.google.protobuf.ProtocolMessageEnum {
300 ;
301
302 static {
303 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
304 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
305 /* major= */ 4,
306 /* minor= */ 29,
307 /* patch= */ 3,
308 /* suffix= */ "",
309 LinesearchRule.class.getName());
310 }
314 public static final int LINESEARCH_RULE_UNSPECIFIED_VALUE = 0;
325 public static final int ADAPTIVE_LINESEARCH_RULE_VALUE = 1;
336 public static final int MALITSKY_POCK_LINESEARCH_RULE_VALUE = 2;
345 public static final int CONSTANT_STEP_SIZE_RULE_VALUE = 3;
346
347
348 public final int getNumber() {
349 return value;
350 }
351
357 @java.lang.Deprecated
358 public static LinesearchRule valueOf(int value) {
359 return forNumber(value);
360 }
361
366 public static LinesearchRule forNumber(int value) {
367 switch (value) {
368 case 0: return LINESEARCH_RULE_UNSPECIFIED;
369 case 1: return ADAPTIVE_LINESEARCH_RULE;
370 case 2: return MALITSKY_POCK_LINESEARCH_RULE;
371 case 3: return CONSTANT_STEP_SIZE_RULE;
372 default: return null;
373 }
374 }
375
376 public static com.google.protobuf.Internal.EnumLiteMap<LinesearchRule>
378 return internalValueMap;
379 }
380 private static final com.google.protobuf.Internal.EnumLiteMap<
381 LinesearchRule> internalValueMap =
382 new com.google.protobuf.Internal.EnumLiteMap<LinesearchRule>() {
383 public LinesearchRule findValueByNumber(int number) {
384 return LinesearchRule.forNumber(number);
385 }
386 };
387
388 public final com.google.protobuf.Descriptors.EnumValueDescriptor
390 return getDescriptor().getValues().get(ordinal());
391 }
392 public final com.google.protobuf.Descriptors.EnumDescriptor
394 return getDescriptor();
395 }
396 public static final com.google.protobuf.Descriptors.EnumDescriptor
398 return com.google.ortools.pdlp.PrimalDualHybridGradientParams.getDescriptor().getEnumTypes().get(1);
399 }
400
401 private static final LinesearchRule[] VALUES = values();
402
403 public static LinesearchRule valueOf(
404 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
405 if (desc.getType() != getDescriptor()) {
406 throw new java.lang.IllegalArgumentException(
407 "EnumValueDescriptor is not for this type.");
408 }
409 return VALUES[desc.getIndex()];
410 }
411
412 private final int value;
413
414 private LinesearchRule(int value) {
415 this.value = value;
416 }
417
418 // @@protoc_insertion_point(enum_scope:operations_research.pdlp.PrimalDualHybridGradientParams.LinesearchRule)
419 }
420
421 public interface PresolveOptionsOrBuilder extends
422 // @@protoc_insertion_point(interface_extends:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions)
423 com.google.protobuf.MessageOrBuilder {
424
440 boolean hasUseGlop();
456 boolean getUseGlop();
457
487 }
488
491 public static final class PresolveOptions extends
492 com.google.protobuf.GeneratedMessage implements
493 // @@protoc_insertion_point(message_implements:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions)
495 private static final long serialVersionUID = 0L;
496 static {
497 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
498 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
499 /* major= */ 4,
500 /* minor= */ 29,
501 /* patch= */ 3,
502 /* suffix= */ "",
503 PresolveOptions.class.getName());
504 }
505 // Use PresolveOptions.newBuilder() to construct.
506 private PresolveOptions(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
507 super(builder);
508 }
509 private PresolveOptions() {
510 }
511
512 public static final com.google.protobuf.Descriptors.Descriptor
514 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_PrimalDualHybridGradientParams_PresolveOptions_descriptor;
515 }
516
517 @java.lang.Override
518 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
520 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_PrimalDualHybridGradientParams_PresolveOptions_fieldAccessorTable
521 .ensureFieldAccessorsInitialized(
522 com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.class, com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.Builder.class);
523 }
524
525 private int bitField0_;
526 public static final int USE_GLOP_FIELD_NUMBER = 1;
527 private boolean useGlop_ = false;
543 @java.lang.Override
544 public boolean hasUseGlop() {
545 return ((bitField0_ & 0x00000001) != 0);
546 }
547
562 @java.lang.Override
563 public boolean getUseGlop() {
564 return useGlop_;
565 }
566
567 public static final int GLOP_PARAMETERS_FIELD_NUMBER = 2;
568 private com.google.ortools.glop.GlopParameters glopParameters_;
578 @java.lang.Override
579 public boolean hasGlopParameters() {
580 return ((bitField0_ & 0x00000002) != 0);
581 }
582
591 @java.lang.Override
593 return glopParameters_ == null ? com.google.ortools.glop.GlopParameters.getDefaultInstance() : glopParameters_;
594 }
595
603 @java.lang.Override
605 return glopParameters_ == null ? com.google.ortools.glop.GlopParameters.getDefaultInstance() : glopParameters_;
606 }
607
608 private byte memoizedIsInitialized = -1;
609 @java.lang.Override
610 public final boolean isInitialized() {
611 byte isInitialized = memoizedIsInitialized;
612 if (isInitialized == 1) return true;
613 if (isInitialized == 0) return false;
614
615 memoizedIsInitialized = 1;
616 return true;
617 }
618
619 @java.lang.Override
620 public void writeTo(com.google.protobuf.CodedOutputStream output)
621 throws java.io.IOException {
622 if (((bitField0_ & 0x00000001) != 0)) {
623 output.writeBool(1, useGlop_);
624 }
625 if (((bitField0_ & 0x00000002) != 0)) {
626 output.writeMessage(2, getGlopParameters());
627 }
628 getUnknownFields().writeTo(output);
629 }
630
631 @java.lang.Override
632 public int getSerializedSize() {
633 int size = memoizedSize;
634 if (size != -1) return size;
635
636 size = 0;
637 if (((bitField0_ & 0x00000001) != 0)) {
638 size += com.google.protobuf.CodedOutputStream
639 .computeBoolSize(1, useGlop_);
640 }
641 if (((bitField0_ & 0x00000002) != 0)) {
642 size += com.google.protobuf.CodedOutputStream
643 .computeMessageSize(2, getGlopParameters());
644 }
645 size += getUnknownFields().getSerializedSize();
646 memoizedSize = size;
647 return size;
648 }
649
650 @java.lang.Override
651 public boolean equals(final java.lang.Object obj) {
652 if (obj == this) {
653 return true;
654 }
655 if (!(obj instanceof com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions)) {
656 return super.equals(obj);
657 }
658 com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions other = (com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions) obj;
659
660 if (hasUseGlop() != other.hasUseGlop()) return false;
661 if (hasUseGlop()) {
662 if (getUseGlop()
663 != other.getUseGlop()) return false;
664 }
665 if (hasGlopParameters() != other.hasGlopParameters()) return false;
666 if (hasGlopParameters()) {
667 if (!getGlopParameters()
668 .equals(other.getGlopParameters())) return false;
669 }
670 if (!getUnknownFields().equals(other.getUnknownFields())) return false;
671 return true;
672 }
673
674 @java.lang.Override
675 public int hashCode() {
676 if (memoizedHashCode != 0) {
677 return memoizedHashCode;
678 }
679 int hash = 41;
680 hash = (19 * hash) + getDescriptor().hashCode();
681 if (hasUseGlop()) {
682 hash = (37 * hash) + USE_GLOP_FIELD_NUMBER;
683 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
684 getUseGlop());
685 }
686 if (hasGlopParameters()) {
687 hash = (37 * hash) + GLOP_PARAMETERS_FIELD_NUMBER;
688 hash = (53 * hash) + getGlopParameters().hashCode();
689 }
690 hash = (29 * hash) + getUnknownFields().hashCode();
691 memoizedHashCode = hash;
692 return hash;
693 }
694
696 java.nio.ByteBuffer data)
697 throws com.google.protobuf.InvalidProtocolBufferException {
698 return PARSER.parseFrom(data);
699 }
701 java.nio.ByteBuffer data,
702 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
703 throws com.google.protobuf.InvalidProtocolBufferException {
704 return PARSER.parseFrom(data, extensionRegistry);
705 }
707 com.google.protobuf.ByteString data)
708 throws com.google.protobuf.InvalidProtocolBufferException {
709 return PARSER.parseFrom(data);
710 }
712 com.google.protobuf.ByteString data,
713 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
714 throws com.google.protobuf.InvalidProtocolBufferException {
715 return PARSER.parseFrom(data, extensionRegistry);
716 }
718 throws com.google.protobuf.InvalidProtocolBufferException {
719 return PARSER.parseFrom(data);
720 }
722 byte[] data,
723 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
724 throws com.google.protobuf.InvalidProtocolBufferException {
725 return PARSER.parseFrom(data, extensionRegistry);
726 }
728 throws java.io.IOException {
729 return com.google.protobuf.GeneratedMessage
730 .parseWithIOException(PARSER, input);
731 }
733 java.io.InputStream input,
734 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
735 throws java.io.IOException {
736 return com.google.protobuf.GeneratedMessage
737 .parseWithIOException(PARSER, input, extensionRegistry);
738 }
739
741 throws java.io.IOException {
742 return com.google.protobuf.GeneratedMessage
743 .parseDelimitedWithIOException(PARSER, input);
744 }
745
747 java.io.InputStream input,
748 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
749 throws java.io.IOException {
750 return com.google.protobuf.GeneratedMessage
751 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
752 }
754 com.google.protobuf.CodedInputStream input)
755 throws java.io.IOException {
756 return com.google.protobuf.GeneratedMessage
757 .parseWithIOException(PARSER, input);
758 }
760 com.google.protobuf.CodedInputStream input,
761 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
762 throws java.io.IOException {
763 return com.google.protobuf.GeneratedMessage
764 .parseWithIOException(PARSER, input, extensionRegistry);
765 }
766
767 @java.lang.Override
768 public Builder newBuilderForType() { return newBuilder(); }
769 public static Builder newBuilder() {
770 return DEFAULT_INSTANCE.toBuilder();
771 }
772 public static Builder newBuilder(com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions prototype) {
773 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
774 }
775 @java.lang.Override
777 return this == DEFAULT_INSTANCE
778 ? new Builder() : new Builder().mergeFrom(this);
779 }
780
781 @java.lang.Override
783 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
784 Builder builder = new Builder(parent);
785 return builder;
786 }
787
790 public static final class Builder extends
791 com.google.protobuf.GeneratedMessage.Builder<Builder> implements
792 // @@protoc_insertion_point(builder_implements:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions)
793 com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptionsOrBuilder {
794 public static final com.google.protobuf.Descriptors.Descriptor
796 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_PrimalDualHybridGradientParams_PresolveOptions_descriptor;
797 }
798
799 @java.lang.Override
800 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
802 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_PrimalDualHybridGradientParams_PresolveOptions_fieldAccessorTable
803 .ensureFieldAccessorsInitialized(
804 com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.class, com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.Builder.class);
805 }
806
807 // Construct using com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.newBuilder()
808 private Builder() {
809 maybeForceBuilderInitialization();
810 }
811
812 private Builder(
813 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
814 super(parent);
815 maybeForceBuilderInitialization();
816 }
817 private void maybeForceBuilderInitialization() {
818 if (com.google.protobuf.GeneratedMessage
819 .alwaysUseFieldBuilders) {
820 getGlopParametersFieldBuilder();
821 }
822 }
823 @java.lang.Override
824 public Builder clear() {
825 super.clear();
826 bitField0_ = 0;
827 useGlop_ = false;
828 glopParameters_ = null;
829 if (glopParametersBuilder_ != null) {
830 glopParametersBuilder_.dispose();
831 glopParametersBuilder_ = null;
832 }
833 return this;
834 }
835
836 @java.lang.Override
837 public com.google.protobuf.Descriptors.Descriptor
839 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_PrimalDualHybridGradientParams_PresolveOptions_descriptor;
840 }
841
842 @java.lang.Override
844 return com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.getDefaultInstance();
845 }
846
847 @java.lang.Override
850 if (!result.isInitialized()) {
851 throw newUninitializedMessageException(result);
852 }
853 return result;
854 }
855
856 @java.lang.Override
858 com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions result = new com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions(this);
859 if (bitField0_ != 0) { buildPartial0(result); }
860 onBuilt();
861 return result;
862 }
863
864 private void buildPartial0(com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions result) {
865 int from_bitField0_ = bitField0_;
866 int to_bitField0_ = 0;
867 if (((from_bitField0_ & 0x00000001) != 0)) {
868 result.useGlop_ = useGlop_;
869 to_bitField0_ |= 0x00000001;
870 }
871 if (((from_bitField0_ & 0x00000002) != 0)) {
872 result.glopParameters_ = glopParametersBuilder_ == null
873 ? glopParameters_
874 : glopParametersBuilder_.build();
875 to_bitField0_ |= 0x00000002;
876 }
877 result.bitField0_ |= to_bitField0_;
878 }
879
880 @java.lang.Override
881 public Builder mergeFrom(com.google.protobuf.Message other) {
882 if (other instanceof com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions) {
883 return mergeFrom((com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions)other);
884 } else {
885 super.mergeFrom(other);
886 return this;
887 }
888 }
889
890 public Builder mergeFrom(com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions other) {
891 if (other == com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.getDefaultInstance()) return this;
892 if (other.hasUseGlop()) {
893 setUseGlop(other.getUseGlop());
894 }
895 if (other.hasGlopParameters()) {
896 mergeGlopParameters(other.getGlopParameters());
897 }
898 this.mergeUnknownFields(other.getUnknownFields());
899 onChanged();
900 return this;
901 }
902
903 @java.lang.Override
904 public final boolean isInitialized() {
905 return true;
906 }
907
908 @java.lang.Override
909 public Builder mergeFrom(
910 com.google.protobuf.CodedInputStream input,
911 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
912 throws java.io.IOException {
913 if (extensionRegistry == null) {
914 throw new java.lang.NullPointerException();
915 }
916 try {
917 boolean done = false;
918 while (!done) {
919 int tag = input.readTag();
920 switch (tag) {
921 case 0:
922 done = true;
923 break;
924 case 8: {
925 useGlop_ = input.readBool();
926 bitField0_ |= 0x00000001;
927 break;
928 } // case 8
929 case 18: {
930 input.readMessage(
931 getGlopParametersFieldBuilder().getBuilder(),
932 extensionRegistry);
933 bitField0_ |= 0x00000002;
934 break;
935 } // case 18
936 default: {
937 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
938 done = true; // was an endgroup tag
939 }
940 break;
941 } // default:
942 } // switch (tag)
943 } // while (!done)
944 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
945 throw e.unwrapIOException();
946 } finally {
947 onChanged();
948 } // finally
949 return this;
950 }
951 private int bitField0_;
952
953 private boolean useGlop_ ;
969 @java.lang.Override
970 public boolean hasUseGlop() {
971 return ((bitField0_ & 0x00000001) != 0);
972 }
973
988 @java.lang.Override
989 public boolean getUseGlop() {
990 return useGlop_;
991 }
992
1008 public Builder setUseGlop(boolean value) {
1009
1010 useGlop_ = value;
1011 bitField0_ |= 0x00000001;
1012 onChanged();
1013 return this;
1014 }
1015
1030 public Builder clearUseGlop() {
1031 bitField0_ = (bitField0_ & ~0x00000001);
1032 useGlop_ = false;
1033 onChanged();
1034 return this;
1035 }
1036
1037 private com.google.ortools.glop.GlopParameters glopParameters_;
1038 private com.google.protobuf.SingleFieldBuilder<
1039 com.google.ortools.glop.GlopParameters, com.google.ortools.glop.GlopParameters.Builder, com.google.ortools.glop.GlopParametersOrBuilder> glopParametersBuilder_;
1049 public boolean hasGlopParameters() {
1050 return ((bitField0_ & 0x00000002) != 0);
1051 }
1052
1062 if (glopParametersBuilder_ == null) {
1063 return glopParameters_ == null ? com.google.ortools.glop.GlopParameters.getDefaultInstance() : glopParameters_;
1064 } else {
1065 return glopParametersBuilder_.getMessage();
1066 }
1067 }
1068
1076 public Builder setGlopParameters(com.google.ortools.glop.GlopParameters value) {
1077 if (glopParametersBuilder_ == null) {
1078 if (value == null) {
1079 throw new NullPointerException();
1080 }
1081 glopParameters_ = value;
1082 } else {
1083 glopParametersBuilder_.setMessage(value);
1084 }
1085 bitField0_ |= 0x00000002;
1086 onChanged();
1087 return this;
1088 }
1089
1097 public Builder setGlopParameters(
1098 com.google.ortools.glop.GlopParameters.Builder builderForValue) {
1099 if (glopParametersBuilder_ == null) {
1100 glopParameters_ = builderForValue.build();
1101 } else {
1102 glopParametersBuilder_.setMessage(builderForValue.build());
1103 }
1104 bitField0_ |= 0x00000002;
1105 onChanged();
1106 return this;
1107 }
1108
1116 public Builder mergeGlopParameters(com.google.ortools.glop.GlopParameters value) {
1117 if (glopParametersBuilder_ == null) {
1118 if (((bitField0_ & 0x00000002) != 0) &&
1119 glopParameters_ != null &&
1120 glopParameters_ != com.google.ortools.glop.GlopParameters.getDefaultInstance()) {
1122 } else {
1123 glopParameters_ = value;
1124 }
1125 } else {
1126 glopParametersBuilder_.mergeFrom(value);
1127 }
1128 if (glopParameters_ != null) {
1129 bitField0_ |= 0x00000002;
1130 onChanged();
1131 }
1132 return this;
1133 }
1134
1142 public Builder clearGlopParameters() {
1143 bitField0_ = (bitField0_ & ~0x00000002);
1144 glopParameters_ = null;
1145 if (glopParametersBuilder_ != null) {
1146 glopParametersBuilder_.dispose();
1147 glopParametersBuilder_ = null;
1148 }
1149 onChanged();
1150 return this;
1151 }
1152
1161 bitField0_ |= 0x00000002;
1162 onChanged();
1163 return getGlopParametersFieldBuilder().getBuilder();
1164 }
1165
1174 if (glopParametersBuilder_ != null) {
1175 return glopParametersBuilder_.getMessageOrBuilder();
1176 } else {
1177 return glopParameters_ == null ?
1178 com.google.ortools.glop.GlopParameters.getDefaultInstance() : glopParameters_;
1179 }
1180 }
1181
1189 private com.google.protobuf.SingleFieldBuilder<
1190 com.google.ortools.glop.GlopParameters, com.google.ortools.glop.GlopParameters.Builder, com.google.ortools.glop.GlopParametersOrBuilder>
1191 getGlopParametersFieldBuilder() {
1192 if (glopParametersBuilder_ == null) {
1193 glopParametersBuilder_ = new com.google.protobuf.SingleFieldBuilder<
1194 com.google.ortools.glop.GlopParameters, com.google.ortools.glop.GlopParameters.Builder, com.google.ortools.glop.GlopParametersOrBuilder>(
1196 getParentForChildren(),
1197 isClean());
1198 glopParameters_ = null;
1199 }
1200 return glopParametersBuilder_;
1201 }
1202
1203 // @@protoc_insertion_point(builder_scope:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions)
1204 }
1205
1206 // @@protoc_insertion_point(class_scope:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions)
1208 static {
1209 DEFAULT_INSTANCE = new com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions();
1210 }
1211
1215
1216 private static final com.google.protobuf.Parser<PresolveOptions>
1217 PARSER = new com.google.protobuf.AbstractParser<PresolveOptions>() {
1218 @java.lang.Override
1219 public PresolveOptions parsePartialFrom(
1220 com.google.protobuf.CodedInputStream input,
1221 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1222 throws com.google.protobuf.InvalidProtocolBufferException {
1223 Builder builder = newBuilder();
1224 try {
1225 builder.mergeFrom(input, extensionRegistry);
1226 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1227 throw e.setUnfinishedMessage(builder.buildPartial());
1228 } catch (com.google.protobuf.UninitializedMessageException e) {
1229 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
1230 } catch (java.io.IOException e) {
1231 throw new com.google.protobuf.InvalidProtocolBufferException(e)
1232 .setUnfinishedMessage(builder.buildPartial());
1233 }
1234 return builder.buildPartial();
1235 }
1236 };
1237
1238 public static com.google.protobuf.Parser<PresolveOptions> parser() {
1239 return PARSER;
1240 }
1241
1242 @java.lang.Override
1243 public com.google.protobuf.Parser<PresolveOptions> getParserForType() {
1244 return PARSER;
1245 }
1246
1247 @java.lang.Override
1251
1252 }
1253
1254 private int bitField0_;
1255 public static final int TERMINATION_CRITERIA_FIELD_NUMBER = 1;
1256 private com.google.ortools.pdlp.TerminationCriteria terminationCriteria_;
1261 @java.lang.Override
1262 public boolean hasTerminationCriteria() {
1263 return ((bitField0_ & 0x00000001) != 0);
1264 }
1265
1269 @java.lang.Override
1271 return terminationCriteria_ == null ? com.google.ortools.pdlp.TerminationCriteria.getDefaultInstance() : terminationCriteria_;
1272 }
1273
1276 @java.lang.Override
1278 return terminationCriteria_ == null ? com.google.ortools.pdlp.TerminationCriteria.getDefaultInstance() : terminationCriteria_;
1279 }
1280
1281 public static final int NUM_THREADS_FIELD_NUMBER = 2;
1282 private int numThreads_ = 1;
1294 @java.lang.Override
1295 public boolean hasNumThreads() {
1296 return ((bitField0_ & 0x00000002) != 0);
1297 }
1298
1309 @java.lang.Override
1310 public int getNumThreads() {
1311 return numThreads_;
1312 }
1313
1314 public static final int NUM_SHARDS_FIELD_NUMBER = 27;
1315 private int numShards_ = 0;
1332 @java.lang.Override
1333 public boolean hasNumShards() {
1334 return ((bitField0_ & 0x00000004) != 0);
1335 }
1336
1352 @java.lang.Override
1353 public int getNumShards() {
1354 return numShards_;
1355 }
1356
1357 public static final int SCHEDULER_TYPE_FIELD_NUMBER = 32;
1358 private int schedulerType_ = 1;
1368 @java.lang.Override public boolean hasSchedulerType() {
1369 return ((bitField0_ & 0x00000008) != 0);
1370 }
1371
1381 com.google.ortools.pdlp.SchedulerType result = com.google.ortools.pdlp.SchedulerType.forNumber(schedulerType_);
1383 }
1384
1385 public static final int RECORD_ITERATION_STATS_FIELD_NUMBER = 3;
1386 private boolean recordIterationStats_ = false;
1398 @java.lang.Override
1399 public boolean hasRecordIterationStats() {
1400 return ((bitField0_ & 0x00000010) != 0);
1401 }
1402
1413 @java.lang.Override
1414 public boolean getRecordIterationStats() {
1415 return recordIterationStats_;
1416 }
1417
1418 public static final int VERBOSITY_LEVEL_FIELD_NUMBER = 26;
1419 private int verbosityLevel_ = 0;
1438 @java.lang.Override
1439 public boolean hasVerbosityLevel() {
1440 return ((bitField0_ & 0x00000020) != 0);
1441 }
1442
1460 @java.lang.Override
1461 public int getVerbosityLevel() {
1462 return verbosityLevel_;
1463 }
1464
1465 public static final int LOG_INTERVAL_SECONDS_FIELD_NUMBER = 31;
1466 private double logIntervalSeconds_ = 0D;
1479 @java.lang.Override
1480 public boolean hasLogIntervalSeconds() {
1481 return ((bitField0_ & 0x00000040) != 0);
1482 }
1483
1495 @java.lang.Override
1496 public double getLogIntervalSeconds() {
1497 return logIntervalSeconds_;
1498 }
1499
1500 public static final int MAJOR_ITERATION_FREQUENCY_FIELD_NUMBER = 4;
1501 private int majorIterationFrequency_ = 64;
1515 @java.lang.Override
1517 return ((bitField0_ & 0x00000080) != 0);
1518 }
1519
1532 @java.lang.Override
1534 return majorIterationFrequency_;
1535 }
1536
1537 public static final int TERMINATION_CHECK_FREQUENCY_FIELD_NUMBER = 5;
1538 private int terminationCheckFrequency_ = 64;
1549 @java.lang.Override
1551 return ((bitField0_ & 0x00000100) != 0);
1552 }
1553
1563 @java.lang.Override
1565 return terminationCheckFrequency_;
1566 }
1567
1568 public static final int RESTART_STRATEGY_FIELD_NUMBER = 6;
1569 private int restartStrategy_ = 3;
1580 @java.lang.Override public boolean hasRestartStrategy() {
1581 return ((bitField0_ & 0x00000200) != 0);
1582 }
1583
1594 com.google.ortools.pdlp.PrimalDualHybridGradientParams.RestartStrategy result = com.google.ortools.pdlp.PrimalDualHybridGradientParams.RestartStrategy.forNumber(restartStrategy_);
1596 }
1597
1599 private double primalWeightUpdateSmoothing_ = 0.5D;
1615 @java.lang.Override
1617 return ((bitField0_ & 0x00000400) != 0);
1618 }
1619
1634 @java.lang.Override
1636 return primalWeightUpdateSmoothing_;
1637 }
1638
1639 public static final int INITIAL_PRIMAL_WEIGHT_FIELD_NUMBER = 8;
1640 private double initialPrimalWeight_ = 0D;
1655 @java.lang.Override
1656 public boolean hasInitialPrimalWeight() {
1657 return ((bitField0_ & 0x00000800) != 0);
1658 }
1659
1673 @java.lang.Override
1674 public double getInitialPrimalWeight() {
1675 return initialPrimalWeight_;
1676 }
1677
1678 public static final int PRESOLVE_OPTIONS_FIELD_NUMBER = 16;
1684 @java.lang.Override
1685 public boolean hasPresolveOptions() {
1686 return ((bitField0_ & 0x00001000) != 0);
1687 }
1688
1692 @java.lang.Override
1694 return presolveOptions_ == null ? com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.getDefaultInstance() : presolveOptions_;
1695 }
1696
1699 @java.lang.Override
1701 return presolveOptions_ == null ? com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.getDefaultInstance() : presolveOptions_;
1702 }
1703
1704 public static final int L_INF_RUIZ_ITERATIONS_FIELD_NUMBER = 9;
1705 private int lInfRuizIterations_ = 5;
1716 @java.lang.Override
1717 public boolean hasLInfRuizIterations() {
1718 return ((bitField0_ & 0x00002000) != 0);
1719 }
1720
1730 @java.lang.Override
1732 return lInfRuizIterations_;
1733 }
1734
1735 public static final int L2_NORM_RESCALING_FIELD_NUMBER = 10;
1736 private boolean l2NormRescaling_ = true;
1746 @java.lang.Override
1747 public boolean hasL2NormRescaling() {
1748 return ((bitField0_ & 0x00004000) != 0);
1749 }
1750
1759 @java.lang.Override
1760 public boolean getL2NormRescaling() {
1761 return l2NormRescaling_;
1762 }
1763
1765 private double sufficientReductionForRestart_ = 0.1D;
1776 @java.lang.Override
1778 return ((bitField0_ & 0x00008000) != 0);
1779 }
1780
1790 @java.lang.Override
1792 return sufficientReductionForRestart_;
1793 }
1794
1796 private double necessaryReductionForRestart_ = 0.9D;
1809 @java.lang.Override
1811 return ((bitField0_ & 0x00010000) != 0);
1812 }
1813
1825 @java.lang.Override
1827 return necessaryReductionForRestart_;
1828 }
1829
1830 public static final int LINESEARCH_RULE_FIELD_NUMBER = 12;
1831 private int linesearchRule_ = 1;
1840 @java.lang.Override public boolean hasLinesearchRule() {
1841 return ((bitField0_ & 0x00020000) != 0);
1842 }
1843
1852 com.google.ortools.pdlp.PrimalDualHybridGradientParams.LinesearchRule result = com.google.ortools.pdlp.PrimalDualHybridGradientParams.LinesearchRule.forNumber(linesearchRule_);
1854 }
1855
1857 private com.google.ortools.pdlp.AdaptiveLinesearchParams adaptiveLinesearchParameters_;
1862 @java.lang.Override
1864 return ((bitField0_ & 0x00040000) != 0);
1865 }
1866
1870 @java.lang.Override
1872 return adaptiveLinesearchParameters_ == null ? com.google.ortools.pdlp.AdaptiveLinesearchParams.getDefaultInstance() : adaptiveLinesearchParameters_;
1873 }
1874
1877 @java.lang.Override
1879 return adaptiveLinesearchParameters_ == null ? com.google.ortools.pdlp.AdaptiveLinesearchParams.getDefaultInstance() : adaptiveLinesearchParameters_;
1880 }
1881
1882 public static final int MALITSKY_POCK_PARAMETERS_FIELD_NUMBER = 19;
1883 private com.google.ortools.pdlp.MalitskyPockParams malitskyPockParameters_;
1888 @java.lang.Override
1889 public boolean hasMalitskyPockParameters() {
1890 return ((bitField0_ & 0x00080000) != 0);
1891 }
1892
1896 @java.lang.Override
1898 return malitskyPockParameters_ == null ? com.google.ortools.pdlp.MalitskyPockParams.getDefaultInstance() : malitskyPockParameters_;
1899 }
1900
1903 @java.lang.Override
1905 return malitskyPockParameters_ == null ? com.google.ortools.pdlp.MalitskyPockParams.getDefaultInstance() : malitskyPockParameters_;
1906 }
1907
1908 public static final int INITIAL_STEP_SIZE_SCALING_FIELD_NUMBER = 25;
1909 private double initialStepSizeScaling_ = 1D;
1919 @java.lang.Override
1920 public boolean hasInitialStepSizeScaling() {
1921 return ((bitField0_ & 0x00100000) != 0);
1922 }
1923
1932 @java.lang.Override
1934 return initialStepSizeScaling_;
1935 }
1936
1937 public static final int RANDOM_PROJECTION_SEEDS_FIELD_NUMBER = 28;
1938 @SuppressWarnings("serial")
1939 private com.google.protobuf.Internal.IntList randomProjectionSeeds_ =
1940 emptyIntList();
1954 @java.lang.Override
1955 public java.util.List<java.lang.Integer>
1957 return randomProjectionSeeds_;
1958 }
1959
1973 return randomProjectionSeeds_.size();
1974 }
1975
1989 public int getRandomProjectionSeeds(int index) {
1990 return randomProjectionSeeds_.getInt(index);
1991 }
1992 private int randomProjectionSeedsMemoizedSerializedSize = -1;
1993
1995 private double infiniteConstraintBoundThreshold_ = Double.POSITIVE_INFINITY;
2009 @java.lang.Override
2011 return ((bitField0_ & 0x00200000) != 0);
2012 }
2013
2026 @java.lang.Override
2028 return infiniteConstraintBoundThreshold_;
2029 }
2030
2032 private boolean handleSomePrimalGradientsOnFiniteBoundsAsResiduals_ = true;
2043 @java.lang.Override
2045 return ((bitField0_ & 0x00400000) != 0);
2046 }
2047
2057 @java.lang.Override
2059 return handleSomePrimalGradientsOnFiniteBoundsAsResiduals_;
2060 }
2061
2063 private boolean useDiagonalQpTrustRegionSolver_ = false;
2077 @java.lang.Override
2079 return ((bitField0_ & 0x00800000) != 0);
2080 }
2081
2094 @java.lang.Override
2096 return useDiagonalQpTrustRegionSolver_;
2097 }
2098
2100 private double diagonalQpTrustRegionSolverTolerance_ = 1e-08D;
2113 @java.lang.Override
2115 return ((bitField0_ & 0x01000000) != 0);
2116 }
2117
2129 @java.lang.Override
2131 return diagonalQpTrustRegionSolverTolerance_;
2132 }
2133
2134 public static final int USE_FEASIBILITY_POLISHING_FIELD_NUMBER = 30;
2135 private boolean useFeasibilityPolishing_ = false;
2169 @java.lang.Override
2171 return ((bitField0_ & 0x02000000) != 0);
2172 }
2173
2206 @java.lang.Override
2208 return useFeasibilityPolishing_;
2209 }
2210
2211 private byte memoizedIsInitialized = -1;
2212 @java.lang.Override
2213 public final boolean isInitialized() {
2214 byte isInitialized = memoizedIsInitialized;
2215 if (isInitialized == 1) return true;
2216 if (isInitialized == 0) return false;
2217
2218 memoizedIsInitialized = 1;
2219 return true;
2220 }
2221
2222 @java.lang.Override
2223 public void writeTo(com.google.protobuf.CodedOutputStream output)
2224 throws java.io.IOException {
2226 if (((bitField0_ & 0x00000001) != 0)) {
2227 output.writeMessage(1, getTerminationCriteria());
2228 }
2229 if (((bitField0_ & 0x00000002) != 0)) {
2230 output.writeInt32(2, numThreads_);
2231 }
2232 if (((bitField0_ & 0x00000010) != 0)) {
2233 output.writeBool(3, recordIterationStats_);
2234 }
2235 if (((bitField0_ & 0x00000080) != 0)) {
2236 output.writeInt32(4, majorIterationFrequency_);
2237 }
2238 if (((bitField0_ & 0x00000100) != 0)) {
2239 output.writeInt32(5, terminationCheckFrequency_);
2240 }
2241 if (((bitField0_ & 0x00000200) != 0)) {
2242 output.writeEnum(6, restartStrategy_);
2243 }
2244 if (((bitField0_ & 0x00000400) != 0)) {
2245 output.writeDouble(7, primalWeightUpdateSmoothing_);
2246 }
2247 if (((bitField0_ & 0x00000800) != 0)) {
2248 output.writeDouble(8, initialPrimalWeight_);
2249 }
2250 if (((bitField0_ & 0x00002000) != 0)) {
2251 output.writeInt32(9, lInfRuizIterations_);
2252 }
2253 if (((bitField0_ & 0x00004000) != 0)) {
2254 output.writeBool(10, l2NormRescaling_);
2255 }
2256 if (((bitField0_ & 0x00008000) != 0)) {
2257 output.writeDouble(11, sufficientReductionForRestart_);
2258 }
2259 if (((bitField0_ & 0x00020000) != 0)) {
2260 output.writeEnum(12, linesearchRule_);
2261 }
2262 if (((bitField0_ & 0x00001000) != 0)) {
2263 output.writeMessage(16, getPresolveOptions());
2264 }
2265 if (((bitField0_ & 0x00010000) != 0)) {
2266 output.writeDouble(17, necessaryReductionForRestart_);
2267 }
2268 if (((bitField0_ & 0x00040000) != 0)) {
2269 output.writeMessage(18, getAdaptiveLinesearchParameters());
2270 }
2271 if (((bitField0_ & 0x00080000) != 0)) {
2272 output.writeMessage(19, getMalitskyPockParameters());
2273 }
2274 if (((bitField0_ & 0x00200000) != 0)) {
2275 output.writeDouble(22, infiniteConstraintBoundThreshold_);
2276 }
2277 if (((bitField0_ & 0x00800000) != 0)) {
2278 output.writeBool(23, useDiagonalQpTrustRegionSolver_);
2279 }
2280 if (((bitField0_ & 0x01000000) != 0)) {
2281 output.writeDouble(24, diagonalQpTrustRegionSolverTolerance_);
2282 }
2283 if (((bitField0_ & 0x00100000) != 0)) {
2284 output.writeDouble(25, initialStepSizeScaling_);
2285 }
2286 if (((bitField0_ & 0x00000020) != 0)) {
2287 output.writeInt32(26, verbosityLevel_);
2288 }
2289 if (((bitField0_ & 0x00000004) != 0)) {
2290 output.writeInt32(27, numShards_);
2291 }
2292 if (getRandomProjectionSeedsList().size() > 0) {
2293 output.writeUInt32NoTag(226);
2294 output.writeUInt32NoTag(randomProjectionSeedsMemoizedSerializedSize);
2295 }
2296 for (int i = 0; i < randomProjectionSeeds_.size(); i++) {
2297 output.writeInt32NoTag(randomProjectionSeeds_.getInt(i));
2298 }
2299 if (((bitField0_ & 0x00400000) != 0)) {
2300 output.writeBool(29, handleSomePrimalGradientsOnFiniteBoundsAsResiduals_);
2301 }
2302 if (((bitField0_ & 0x02000000) != 0)) {
2303 output.writeBool(30, useFeasibilityPolishing_);
2304 }
2305 if (((bitField0_ & 0x00000040) != 0)) {
2306 output.writeDouble(31, logIntervalSeconds_);
2307 }
2308 if (((bitField0_ & 0x00000008) != 0)) {
2309 output.writeEnum(32, schedulerType_);
2310 }
2311 getUnknownFields().writeTo(output);
2312 }
2313
2314 @java.lang.Override
2315 public int getSerializedSize() {
2316 int size = memoizedSize;
2317 if (size != -1) return size;
2318
2319 size = 0;
2320 if (((bitField0_ & 0x00000001) != 0)) {
2321 size += com.google.protobuf.CodedOutputStream
2322 .computeMessageSize(1, getTerminationCriteria());
2323 }
2324 if (((bitField0_ & 0x00000002) != 0)) {
2325 size += com.google.protobuf.CodedOutputStream
2326 .computeInt32Size(2, numThreads_);
2327 }
2328 if (((bitField0_ & 0x00000010) != 0)) {
2329 size += com.google.protobuf.CodedOutputStream
2330 .computeBoolSize(3, recordIterationStats_);
2331 }
2332 if (((bitField0_ & 0x00000080) != 0)) {
2333 size += com.google.protobuf.CodedOutputStream
2334 .computeInt32Size(4, majorIterationFrequency_);
2335 }
2336 if (((bitField0_ & 0x00000100) != 0)) {
2337 size += com.google.protobuf.CodedOutputStream
2338 .computeInt32Size(5, terminationCheckFrequency_);
2339 }
2340 if (((bitField0_ & 0x00000200) != 0)) {
2341 size += com.google.protobuf.CodedOutputStream
2342 .computeEnumSize(6, restartStrategy_);
2343 }
2344 if (((bitField0_ & 0x00000400) != 0)) {
2345 size += com.google.protobuf.CodedOutputStream
2346 .computeDoubleSize(7, primalWeightUpdateSmoothing_);
2347 }
2348 if (((bitField0_ & 0x00000800) != 0)) {
2349 size += com.google.protobuf.CodedOutputStream
2350 .computeDoubleSize(8, initialPrimalWeight_);
2351 }
2352 if (((bitField0_ & 0x00002000) != 0)) {
2353 size += com.google.protobuf.CodedOutputStream
2354 .computeInt32Size(9, lInfRuizIterations_);
2355 }
2356 if (((bitField0_ & 0x00004000) != 0)) {
2357 size += com.google.protobuf.CodedOutputStream
2358 .computeBoolSize(10, l2NormRescaling_);
2359 }
2360 if (((bitField0_ & 0x00008000) != 0)) {
2361 size += com.google.protobuf.CodedOutputStream
2362 .computeDoubleSize(11, sufficientReductionForRestart_);
2363 }
2364 if (((bitField0_ & 0x00020000) != 0)) {
2365 size += com.google.protobuf.CodedOutputStream
2366 .computeEnumSize(12, linesearchRule_);
2367 }
2368 if (((bitField0_ & 0x00001000) != 0)) {
2369 size += com.google.protobuf.CodedOutputStream
2370 .computeMessageSize(16, getPresolveOptions());
2371 }
2372 if (((bitField0_ & 0x00010000) != 0)) {
2373 size += com.google.protobuf.CodedOutputStream
2374 .computeDoubleSize(17, necessaryReductionForRestart_);
2375 }
2376 if (((bitField0_ & 0x00040000) != 0)) {
2377 size += com.google.protobuf.CodedOutputStream
2378 .computeMessageSize(18, getAdaptiveLinesearchParameters());
2379 }
2380 if (((bitField0_ & 0x00080000) != 0)) {
2381 size += com.google.protobuf.CodedOutputStream
2382 .computeMessageSize(19, getMalitskyPockParameters());
2383 }
2384 if (((bitField0_ & 0x00200000) != 0)) {
2385 size += com.google.protobuf.CodedOutputStream
2386 .computeDoubleSize(22, infiniteConstraintBoundThreshold_);
2387 }
2388 if (((bitField0_ & 0x00800000) != 0)) {
2389 size += com.google.protobuf.CodedOutputStream
2390 .computeBoolSize(23, useDiagonalQpTrustRegionSolver_);
2391 }
2392 if (((bitField0_ & 0x01000000) != 0)) {
2393 size += com.google.protobuf.CodedOutputStream
2394 .computeDoubleSize(24, diagonalQpTrustRegionSolverTolerance_);
2395 }
2396 if (((bitField0_ & 0x00100000) != 0)) {
2397 size += com.google.protobuf.CodedOutputStream
2398 .computeDoubleSize(25, initialStepSizeScaling_);
2399 }
2400 if (((bitField0_ & 0x00000020) != 0)) {
2401 size += com.google.protobuf.CodedOutputStream
2402 .computeInt32Size(26, verbosityLevel_);
2403 }
2404 if (((bitField0_ & 0x00000004) != 0)) {
2405 size += com.google.protobuf.CodedOutputStream
2406 .computeInt32Size(27, numShards_);
2407 }
2408 {
2409 int dataSize = 0;
2410 for (int i = 0; i < randomProjectionSeeds_.size(); i++) {
2411 dataSize += com.google.protobuf.CodedOutputStream
2412 .computeInt32SizeNoTag(randomProjectionSeeds_.getInt(i));
2413 }
2414 size += dataSize;
2415 if (!getRandomProjectionSeedsList().isEmpty()) {
2416 size += 2;
2417 size += com.google.protobuf.CodedOutputStream
2418 .computeInt32SizeNoTag(dataSize);
2419 }
2420 randomProjectionSeedsMemoizedSerializedSize = dataSize;
2421 }
2422 if (((bitField0_ & 0x00400000) != 0)) {
2423 size += com.google.protobuf.CodedOutputStream
2424 .computeBoolSize(29, handleSomePrimalGradientsOnFiniteBoundsAsResiduals_);
2425 }
2426 if (((bitField0_ & 0x02000000) != 0)) {
2427 size += com.google.protobuf.CodedOutputStream
2428 .computeBoolSize(30, useFeasibilityPolishing_);
2429 }
2430 if (((bitField0_ & 0x00000040) != 0)) {
2431 size += com.google.protobuf.CodedOutputStream
2432 .computeDoubleSize(31, logIntervalSeconds_);
2433 }
2434 if (((bitField0_ & 0x00000008) != 0)) {
2435 size += com.google.protobuf.CodedOutputStream
2436 .computeEnumSize(32, schedulerType_);
2437 }
2438 size += getUnknownFields().getSerializedSize();
2439 memoizedSize = size;
2440 return size;
2441 }
2442
2443 @java.lang.Override
2444 public boolean equals(final java.lang.Object obj) {
2445 if (obj == this) {
2446 return true;
2447 }
2448 if (!(obj instanceof com.google.ortools.pdlp.PrimalDualHybridGradientParams)) {
2449 return super.equals(obj);
2450 }
2451 com.google.ortools.pdlp.PrimalDualHybridGradientParams other = (com.google.ortools.pdlp.PrimalDualHybridGradientParams) obj;
2452
2453 if (hasTerminationCriteria() != other.hasTerminationCriteria()) return false;
2454 if (hasTerminationCriteria()) {
2456 .equals(other.getTerminationCriteria())) return false;
2457 }
2458 if (hasNumThreads() != other.hasNumThreads()) return false;
2459 if (hasNumThreads()) {
2460 if (getNumThreads()
2461 != other.getNumThreads()) return false;
2462 }
2463 if (hasNumShards() != other.hasNumShards()) return false;
2464 if (hasNumShards()) {
2465 if (getNumShards()
2466 != other.getNumShards()) return false;
2467 }
2468 if (hasSchedulerType() != other.hasSchedulerType()) return false;
2469 if (hasSchedulerType()) {
2470 if (schedulerType_ != other.schedulerType_) return false;
2471 }
2472 if (hasRecordIterationStats() != other.hasRecordIterationStats()) return false;
2475 != other.getRecordIterationStats()) return false;
2476 }
2477 if (hasVerbosityLevel() != other.hasVerbosityLevel()) return false;
2478 if (hasVerbosityLevel()) {
2479 if (getVerbosityLevel()
2480 != other.getVerbosityLevel()) return false;
2481 }
2482 if (hasLogIntervalSeconds() != other.hasLogIntervalSeconds()) return false;
2483 if (hasLogIntervalSeconds()) {
2484 if (java.lang.Double.doubleToLongBits(getLogIntervalSeconds())
2485 != java.lang.Double.doubleToLongBits(
2486 other.getLogIntervalSeconds())) return false;
2487 }
2488 if (hasMajorIterationFrequency() != other.hasMajorIterationFrequency()) return false;
2491 != other.getMajorIterationFrequency()) return false;
2492 }
2493 if (hasTerminationCheckFrequency() != other.hasTerminationCheckFrequency()) return false;
2496 != other.getTerminationCheckFrequency()) return false;
2497 }
2498 if (hasRestartStrategy() != other.hasRestartStrategy()) return false;
2499 if (hasRestartStrategy()) {
2500 if (restartStrategy_ != other.restartStrategy_) return false;
2501 }
2504 if (java.lang.Double.doubleToLongBits(getPrimalWeightUpdateSmoothing())
2505 != java.lang.Double.doubleToLongBits(
2506 other.getPrimalWeightUpdateSmoothing())) return false;
2507 }
2508 if (hasInitialPrimalWeight() != other.hasInitialPrimalWeight()) return false;
2509 if (hasInitialPrimalWeight()) {
2510 if (java.lang.Double.doubleToLongBits(getInitialPrimalWeight())
2511 != java.lang.Double.doubleToLongBits(
2512 other.getInitialPrimalWeight())) return false;
2513 }
2514 if (hasPresolveOptions() != other.hasPresolveOptions()) return false;
2515 if (hasPresolveOptions()) {
2516 if (!getPresolveOptions()
2517 .equals(other.getPresolveOptions())) return false;
2518 }
2519 if (hasLInfRuizIterations() != other.hasLInfRuizIterations()) return false;
2520 if (hasLInfRuizIterations()) {
2522 != other.getLInfRuizIterations()) return false;
2523 }
2524 if (hasL2NormRescaling() != other.hasL2NormRescaling()) return false;
2525 if (hasL2NormRescaling()) {
2526 if (getL2NormRescaling()
2527 != other.getL2NormRescaling()) return false;
2528 }
2531 if (java.lang.Double.doubleToLongBits(getSufficientReductionForRestart())
2532 != java.lang.Double.doubleToLongBits(
2533 other.getSufficientReductionForRestart())) return false;
2534 }
2537 if (java.lang.Double.doubleToLongBits(getNecessaryReductionForRestart())
2538 != java.lang.Double.doubleToLongBits(
2539 other.getNecessaryReductionForRestart())) return false;
2540 }
2541 if (hasLinesearchRule() != other.hasLinesearchRule()) return false;
2542 if (hasLinesearchRule()) {
2543 if (linesearchRule_ != other.linesearchRule_) return false;
2544 }
2548 .equals(other.getAdaptiveLinesearchParameters())) return false;
2549 }
2550 if (hasMalitskyPockParameters() != other.hasMalitskyPockParameters()) return false;
2553 .equals(other.getMalitskyPockParameters())) return false;
2554 }
2555 if (hasInitialStepSizeScaling() != other.hasInitialStepSizeScaling()) return false;
2557 if (java.lang.Double.doubleToLongBits(getInitialStepSizeScaling())
2558 != java.lang.Double.doubleToLongBits(
2559 other.getInitialStepSizeScaling())) return false;
2560 }
2562 .equals(other.getRandomProjectionSeedsList())) return false;
2565 if (java.lang.Double.doubleToLongBits(getInfiniteConstraintBoundThreshold())
2566 != java.lang.Double.doubleToLongBits(
2567 other.getInfiniteConstraintBoundThreshold())) return false;
2568 }
2573 }
2577 != other.getUseDiagonalQpTrustRegionSolver()) return false;
2578 }
2581 if (java.lang.Double.doubleToLongBits(getDiagonalQpTrustRegionSolverTolerance())
2582 != java.lang.Double.doubleToLongBits(
2583 other.getDiagonalQpTrustRegionSolverTolerance())) return false;
2584 }
2585 if (hasUseFeasibilityPolishing() != other.hasUseFeasibilityPolishing()) return false;
2588 != other.getUseFeasibilityPolishing()) return false;
2589 }
2590 if (!getUnknownFields().equals(other.getUnknownFields())) return false;
2591 return true;
2592 }
2593
2594 @java.lang.Override
2595 public int hashCode() {
2596 if (memoizedHashCode != 0) {
2597 return memoizedHashCode;
2598 }
2599 int hash = 41;
2600 hash = (19 * hash) + getDescriptor().hashCode();
2601 if (hasTerminationCriteria()) {
2602 hash = (37 * hash) + TERMINATION_CRITERIA_FIELD_NUMBER;
2603 hash = (53 * hash) + getTerminationCriteria().hashCode();
2604 }
2605 if (hasNumThreads()) {
2606 hash = (37 * hash) + NUM_THREADS_FIELD_NUMBER;
2607 hash = (53 * hash) + getNumThreads();
2608 }
2609 if (hasNumShards()) {
2610 hash = (37 * hash) + NUM_SHARDS_FIELD_NUMBER;
2611 hash = (53 * hash) + getNumShards();
2612 }
2613 if (hasSchedulerType()) {
2614 hash = (37 * hash) + SCHEDULER_TYPE_FIELD_NUMBER;
2615 hash = (53 * hash) + schedulerType_;
2616 }
2618 hash = (37 * hash) + RECORD_ITERATION_STATS_FIELD_NUMBER;
2619 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2621 }
2622 if (hasVerbosityLevel()) {
2623 hash = (37 * hash) + VERBOSITY_LEVEL_FIELD_NUMBER;
2624 hash = (53 * hash) + getVerbosityLevel();
2625 }
2626 if (hasLogIntervalSeconds()) {
2627 hash = (37 * hash) + LOG_INTERVAL_SECONDS_FIELD_NUMBER;
2628 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2629 java.lang.Double.doubleToLongBits(getLogIntervalSeconds()));
2630 }
2632 hash = (37 * hash) + MAJOR_ITERATION_FREQUENCY_FIELD_NUMBER;
2633 hash = (53 * hash) + getMajorIterationFrequency();
2634 }
2636 hash = (37 * hash) + TERMINATION_CHECK_FREQUENCY_FIELD_NUMBER;
2637 hash = (53 * hash) + getTerminationCheckFrequency();
2638 }
2639 if (hasRestartStrategy()) {
2640 hash = (37 * hash) + RESTART_STRATEGY_FIELD_NUMBER;
2641 hash = (53 * hash) + restartStrategy_;
2642 }
2645 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2646 java.lang.Double.doubleToLongBits(getPrimalWeightUpdateSmoothing()));
2647 }
2648 if (hasInitialPrimalWeight()) {
2649 hash = (37 * hash) + INITIAL_PRIMAL_WEIGHT_FIELD_NUMBER;
2650 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2651 java.lang.Double.doubleToLongBits(getInitialPrimalWeight()));
2652 }
2653 if (hasPresolveOptions()) {
2654 hash = (37 * hash) + PRESOLVE_OPTIONS_FIELD_NUMBER;
2655 hash = (53 * hash) + getPresolveOptions().hashCode();
2656 }
2657 if (hasLInfRuizIterations()) {
2658 hash = (37 * hash) + L_INF_RUIZ_ITERATIONS_FIELD_NUMBER;
2659 hash = (53 * hash) + getLInfRuizIterations();
2660 }
2661 if (hasL2NormRescaling()) {
2662 hash = (37 * hash) + L2_NORM_RESCALING_FIELD_NUMBER;
2663 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2665 }
2668 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2669 java.lang.Double.doubleToLongBits(getSufficientReductionForRestart()));
2670 }
2673 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2674 java.lang.Double.doubleToLongBits(getNecessaryReductionForRestart()));
2675 }
2676 if (hasLinesearchRule()) {
2677 hash = (37 * hash) + LINESEARCH_RULE_FIELD_NUMBER;
2678 hash = (53 * hash) + linesearchRule_;
2679 }
2682 hash = (53 * hash) + getAdaptiveLinesearchParameters().hashCode();
2683 }
2685 hash = (37 * hash) + MALITSKY_POCK_PARAMETERS_FIELD_NUMBER;
2686 hash = (53 * hash) + getMalitskyPockParameters().hashCode();
2687 }
2689 hash = (37 * hash) + INITIAL_STEP_SIZE_SCALING_FIELD_NUMBER;
2690 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2691 java.lang.Double.doubleToLongBits(getInitialStepSizeScaling()));
2692 }
2694 hash = (37 * hash) + RANDOM_PROJECTION_SEEDS_FIELD_NUMBER;
2695 hash = (53 * hash) + getRandomProjectionSeedsList().hashCode();
2696 }
2699 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2700 java.lang.Double.doubleToLongBits(getInfiniteConstraintBoundThreshold()));
2701 }
2704 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2706 }
2709 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2711 }
2714 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2715 java.lang.Double.doubleToLongBits(getDiagonalQpTrustRegionSolverTolerance()));
2716 }
2718 hash = (37 * hash) + USE_FEASIBILITY_POLISHING_FIELD_NUMBER;
2719 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2721 }
2722 hash = (29 * hash) + getUnknownFields().hashCode();
2723 memoizedHashCode = hash;
2724 return hash;
2725 }
2726
2728 java.nio.ByteBuffer data)
2729 throws com.google.protobuf.InvalidProtocolBufferException {
2730 return PARSER.parseFrom(data);
2731 }
2733 java.nio.ByteBuffer data,
2734 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2735 throws com.google.protobuf.InvalidProtocolBufferException {
2736 return PARSER.parseFrom(data, extensionRegistry);
2737 }
2739 com.google.protobuf.ByteString data)
2740 throws com.google.protobuf.InvalidProtocolBufferException {
2741 return PARSER.parseFrom(data);
2742 }
2744 com.google.protobuf.ByteString data,
2745 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2746 throws com.google.protobuf.InvalidProtocolBufferException {
2747 return PARSER.parseFrom(data, extensionRegistry);
2748 }
2750 throws com.google.protobuf.InvalidProtocolBufferException {
2751 return PARSER.parseFrom(data);
2752 }
2754 byte[] data,
2755 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2756 throws com.google.protobuf.InvalidProtocolBufferException {
2757 return PARSER.parseFrom(data, extensionRegistry);
2758 }
2760 throws java.io.IOException {
2761 return com.google.protobuf.GeneratedMessage
2762 .parseWithIOException(PARSER, input);
2763 }
2765 java.io.InputStream input,
2766 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2767 throws java.io.IOException {
2768 return com.google.protobuf.GeneratedMessage
2769 .parseWithIOException(PARSER, input, extensionRegistry);
2770 }
2771
2773 throws java.io.IOException {
2774 return com.google.protobuf.GeneratedMessage
2775 .parseDelimitedWithIOException(PARSER, input);
2776 }
2777
2779 java.io.InputStream input,
2780 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2781 throws java.io.IOException {
2782 return com.google.protobuf.GeneratedMessage
2783 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
2784 }
2786 com.google.protobuf.CodedInputStream input)
2787 throws java.io.IOException {
2788 return com.google.protobuf.GeneratedMessage
2789 .parseWithIOException(PARSER, input);
2790 }
2792 com.google.protobuf.CodedInputStream input,
2793 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2794 throws java.io.IOException {
2795 return com.google.protobuf.GeneratedMessage
2796 .parseWithIOException(PARSER, input, extensionRegistry);
2797 }
2798
2799 @java.lang.Override
2800 public Builder newBuilderForType() { return newBuilder(); }
2801 public static Builder newBuilder() {
2802 return DEFAULT_INSTANCE.toBuilder();
2803 }
2804 public static Builder newBuilder(com.google.ortools.pdlp.PrimalDualHybridGradientParams prototype) {
2805 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
2806 }
2807 @java.lang.Override
2809 return this == DEFAULT_INSTANCE
2810 ? new Builder() : new Builder().mergeFrom(this);
2811 }
2812
2813 @java.lang.Override
2815 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
2816 Builder builder = new Builder(parent);
2817 return builder;
2818 }
2819
2835 public static final class Builder extends
2836 com.google.protobuf.GeneratedMessage.Builder<Builder> implements
2837 // @@protoc_insertion_point(builder_implements:operations_research.pdlp.PrimalDualHybridGradientParams)
2839 public static final com.google.protobuf.Descriptors.Descriptor
2841 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_PrimalDualHybridGradientParams_descriptor;
2842 }
2843
2844 @java.lang.Override
2845 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
2847 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_PrimalDualHybridGradientParams_fieldAccessorTable
2848 .ensureFieldAccessorsInitialized(
2849 com.google.ortools.pdlp.PrimalDualHybridGradientParams.class, com.google.ortools.pdlp.PrimalDualHybridGradientParams.Builder.class);
2850 }
2851
2852 // Construct using com.google.ortools.pdlp.PrimalDualHybridGradientParams.newBuilder()
2853 private Builder() {
2854 maybeForceBuilderInitialization();
2855 }
2856
2857 private Builder(
2858 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
2859 super(parent);
2860 maybeForceBuilderInitialization();
2861 }
2862 private void maybeForceBuilderInitialization() {
2863 if (com.google.protobuf.GeneratedMessage
2864 .alwaysUseFieldBuilders) {
2865 getTerminationCriteriaFieldBuilder();
2866 getPresolveOptionsFieldBuilder();
2867 getAdaptiveLinesearchParametersFieldBuilder();
2868 getMalitskyPockParametersFieldBuilder();
2869 }
2870 }
2871 @java.lang.Override
2872 public Builder clear() {
2873 super.clear();
2874 bitField0_ = 0;
2875 terminationCriteria_ = null;
2876 if (terminationCriteriaBuilder_ != null) {
2877 terminationCriteriaBuilder_.dispose();
2878 terminationCriteriaBuilder_ = null;
2879 }
2880 numThreads_ = 1;
2881 numShards_ = 0;
2882 schedulerType_ = 1;
2883 recordIterationStats_ = false;
2884 verbosityLevel_ = 0;
2885 logIntervalSeconds_ = 0D;
2886 majorIterationFrequency_ = 64;
2887 terminationCheckFrequency_ = 64;
2888 restartStrategy_ = 3;
2889 primalWeightUpdateSmoothing_ = 0.5D;
2890 initialPrimalWeight_ = 0D;
2891 presolveOptions_ = null;
2892 if (presolveOptionsBuilder_ != null) {
2893 presolveOptionsBuilder_.dispose();
2894 presolveOptionsBuilder_ = null;
2895 }
2896 lInfRuizIterations_ = 5;
2897 l2NormRescaling_ = true;
2898 sufficientReductionForRestart_ = 0.1D;
2899 necessaryReductionForRestart_ = 0.9D;
2900 linesearchRule_ = 1;
2901 adaptiveLinesearchParameters_ = null;
2902 if (adaptiveLinesearchParametersBuilder_ != null) {
2903 adaptiveLinesearchParametersBuilder_.dispose();
2904 adaptiveLinesearchParametersBuilder_ = null;
2905 }
2906 malitskyPockParameters_ = null;
2907 if (malitskyPockParametersBuilder_ != null) {
2908 malitskyPockParametersBuilder_.dispose();
2909 malitskyPockParametersBuilder_ = null;
2910 }
2911 initialStepSizeScaling_ = 1D;
2912 randomProjectionSeeds_ = emptyIntList();
2913 infiniteConstraintBoundThreshold_ = Double.POSITIVE_INFINITY;
2914 handleSomePrimalGradientsOnFiniteBoundsAsResiduals_ = true;
2915 useDiagonalQpTrustRegionSolver_ = false;
2916 diagonalQpTrustRegionSolverTolerance_ = 1e-08D;
2917 useFeasibilityPolishing_ = false;
2918 return this;
2919 }
2920
2921 @java.lang.Override
2922 public com.google.protobuf.Descriptors.Descriptor
2924 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_PrimalDualHybridGradientParams_descriptor;
2925 }
2926
2927 @java.lang.Override
2929 return com.google.ortools.pdlp.PrimalDualHybridGradientParams.getDefaultInstance();
2930 }
2931
2932 @java.lang.Override
2935 if (!result.isInitialized()) {
2936 throw newUninitializedMessageException(result);
2937 }
2938 return result;
2939 }
2940
2941 @java.lang.Override
2943 com.google.ortools.pdlp.PrimalDualHybridGradientParams result = new com.google.ortools.pdlp.PrimalDualHybridGradientParams(this);
2944 if (bitField0_ != 0) { buildPartial0(result); }
2945 onBuilt();
2946 return result;
2947 }
2948
2949 private void buildPartial0(com.google.ortools.pdlp.PrimalDualHybridGradientParams result) {
2950 int from_bitField0_ = bitField0_;
2951 int to_bitField0_ = 0;
2952 if (((from_bitField0_ & 0x00000001) != 0)) {
2953 result.terminationCriteria_ = terminationCriteriaBuilder_ == null
2954 ? terminationCriteria_
2955 : terminationCriteriaBuilder_.build();
2956 to_bitField0_ |= 0x00000001;
2957 }
2958 if (((from_bitField0_ & 0x00000002) != 0)) {
2959 result.numThreads_ = numThreads_;
2960 to_bitField0_ |= 0x00000002;
2961 }
2962 if (((from_bitField0_ & 0x00000004) != 0)) {
2963 result.numShards_ = numShards_;
2964 to_bitField0_ |= 0x00000004;
2965 }
2966 if (((from_bitField0_ & 0x00000008) != 0)) {
2967 result.schedulerType_ = schedulerType_;
2968 to_bitField0_ |= 0x00000008;
2969 }
2970 if (((from_bitField0_ & 0x00000010) != 0)) {
2971 result.recordIterationStats_ = recordIterationStats_;
2972 to_bitField0_ |= 0x00000010;
2973 }
2974 if (((from_bitField0_ & 0x00000020) != 0)) {
2975 result.verbosityLevel_ = verbosityLevel_;
2976 to_bitField0_ |= 0x00000020;
2977 }
2978 if (((from_bitField0_ & 0x00000040) != 0)) {
2979 result.logIntervalSeconds_ = logIntervalSeconds_;
2980 to_bitField0_ |= 0x00000040;
2981 }
2982 if (((from_bitField0_ & 0x00000080) != 0)) {
2983 result.majorIterationFrequency_ = majorIterationFrequency_;
2984 to_bitField0_ |= 0x00000080;
2985 }
2986 if (((from_bitField0_ & 0x00000100) != 0)) {
2987 result.terminationCheckFrequency_ = terminationCheckFrequency_;
2988 to_bitField0_ |= 0x00000100;
2989 }
2990 if (((from_bitField0_ & 0x00000200) != 0)) {
2991 result.restartStrategy_ = restartStrategy_;
2992 to_bitField0_ |= 0x00000200;
2993 }
2994 if (((from_bitField0_ & 0x00000400) != 0)) {
2995 result.primalWeightUpdateSmoothing_ = primalWeightUpdateSmoothing_;
2996 to_bitField0_ |= 0x00000400;
2997 }
2998 if (((from_bitField0_ & 0x00000800) != 0)) {
2999 result.initialPrimalWeight_ = initialPrimalWeight_;
3000 to_bitField0_ |= 0x00000800;
3001 }
3002 if (((from_bitField0_ & 0x00001000) != 0)) {
3003 result.presolveOptions_ = presolveOptionsBuilder_ == null
3004 ? presolveOptions_
3005 : presolveOptionsBuilder_.build();
3006 to_bitField0_ |= 0x00001000;
3007 }
3008 if (((from_bitField0_ & 0x00002000) != 0)) {
3009 result.lInfRuizIterations_ = lInfRuizIterations_;
3010 to_bitField0_ |= 0x00002000;
3011 }
3012 if (((from_bitField0_ & 0x00004000) != 0)) {
3013 result.l2NormRescaling_ = l2NormRescaling_;
3014 to_bitField0_ |= 0x00004000;
3015 }
3016 if (((from_bitField0_ & 0x00008000) != 0)) {
3017 result.sufficientReductionForRestart_ = sufficientReductionForRestart_;
3018 to_bitField0_ |= 0x00008000;
3019 }
3020 if (((from_bitField0_ & 0x00010000) != 0)) {
3021 result.necessaryReductionForRestart_ = necessaryReductionForRestart_;
3022 to_bitField0_ |= 0x00010000;
3023 }
3024 if (((from_bitField0_ & 0x00020000) != 0)) {
3025 result.linesearchRule_ = linesearchRule_;
3026 to_bitField0_ |= 0x00020000;
3027 }
3028 if (((from_bitField0_ & 0x00040000) != 0)) {
3029 result.adaptiveLinesearchParameters_ = adaptiveLinesearchParametersBuilder_ == null
3030 ? adaptiveLinesearchParameters_
3031 : adaptiveLinesearchParametersBuilder_.build();
3032 to_bitField0_ |= 0x00040000;
3033 }
3034 if (((from_bitField0_ & 0x00080000) != 0)) {
3035 result.malitskyPockParameters_ = malitskyPockParametersBuilder_ == null
3036 ? malitskyPockParameters_
3037 : malitskyPockParametersBuilder_.build();
3038 to_bitField0_ |= 0x00080000;
3039 }
3040 if (((from_bitField0_ & 0x00100000) != 0)) {
3041 result.initialStepSizeScaling_ = initialStepSizeScaling_;
3042 to_bitField0_ |= 0x00100000;
3043 }
3044 if (((from_bitField0_ & 0x00200000) != 0)) {
3045 randomProjectionSeeds_.makeImmutable();
3046 result.randomProjectionSeeds_ = randomProjectionSeeds_;
3047 }
3048 if (((from_bitField0_ & 0x00400000) != 0)) {
3049 result.infiniteConstraintBoundThreshold_ = infiniteConstraintBoundThreshold_;
3050 to_bitField0_ |= 0x00200000;
3051 }
3052 if (((from_bitField0_ & 0x00800000) != 0)) {
3053 result.handleSomePrimalGradientsOnFiniteBoundsAsResiduals_ = handleSomePrimalGradientsOnFiniteBoundsAsResiduals_;
3054 to_bitField0_ |= 0x00400000;
3055 }
3056 if (((from_bitField0_ & 0x01000000) != 0)) {
3057 result.useDiagonalQpTrustRegionSolver_ = useDiagonalQpTrustRegionSolver_;
3058 to_bitField0_ |= 0x00800000;
3059 }
3060 if (((from_bitField0_ & 0x02000000) != 0)) {
3061 result.diagonalQpTrustRegionSolverTolerance_ = diagonalQpTrustRegionSolverTolerance_;
3062 to_bitField0_ |= 0x01000000;
3063 }
3064 if (((from_bitField0_ & 0x04000000) != 0)) {
3065 result.useFeasibilityPolishing_ = useFeasibilityPolishing_;
3066 to_bitField0_ |= 0x02000000;
3067 }
3068 result.bitField0_ |= to_bitField0_;
3069 }
3070
3071 @java.lang.Override
3072 public Builder mergeFrom(com.google.protobuf.Message other) {
3073 if (other instanceof com.google.ortools.pdlp.PrimalDualHybridGradientParams) {
3074 return mergeFrom((com.google.ortools.pdlp.PrimalDualHybridGradientParams)other);
3075 } else {
3076 super.mergeFrom(other);
3077 return this;
3078 }
3079 }
3080
3081 public Builder mergeFrom(com.google.ortools.pdlp.PrimalDualHybridGradientParams other) {
3082 if (other == com.google.ortools.pdlp.PrimalDualHybridGradientParams.getDefaultInstance()) return this;
3083 if (other.hasTerminationCriteria()) {
3084 mergeTerminationCriteria(other.getTerminationCriteria());
3085 }
3086 if (other.hasNumThreads()) {
3087 setNumThreads(other.getNumThreads());
3088 }
3089 if (other.hasNumShards()) {
3090 setNumShards(other.getNumShards());
3091 }
3092 if (other.hasSchedulerType()) {
3093 setSchedulerType(other.getSchedulerType());
3094 }
3095 if (other.hasRecordIterationStats()) {
3096 setRecordIterationStats(other.getRecordIterationStats());
3097 }
3098 if (other.hasVerbosityLevel()) {
3099 setVerbosityLevel(other.getVerbosityLevel());
3100 }
3101 if (other.hasLogIntervalSeconds()) {
3102 setLogIntervalSeconds(other.getLogIntervalSeconds());
3103 }
3104 if (other.hasMajorIterationFrequency()) {
3105 setMajorIterationFrequency(other.getMajorIterationFrequency());
3106 }
3107 if (other.hasTerminationCheckFrequency()) {
3108 setTerminationCheckFrequency(other.getTerminationCheckFrequency());
3109 }
3110 if (other.hasRestartStrategy()) {
3111 setRestartStrategy(other.getRestartStrategy());
3112 }
3113 if (other.hasPrimalWeightUpdateSmoothing()) {
3114 setPrimalWeightUpdateSmoothing(other.getPrimalWeightUpdateSmoothing());
3115 }
3116 if (other.hasInitialPrimalWeight()) {
3117 setInitialPrimalWeight(other.getInitialPrimalWeight());
3118 }
3119 if (other.hasPresolveOptions()) {
3120 mergePresolveOptions(other.getPresolveOptions());
3121 }
3122 if (other.hasLInfRuizIterations()) {
3123 setLInfRuizIterations(other.getLInfRuizIterations());
3124 }
3125 if (other.hasL2NormRescaling()) {
3126 setL2NormRescaling(other.getL2NormRescaling());
3127 }
3128 if (other.hasSufficientReductionForRestart()) {
3129 setSufficientReductionForRestart(other.getSufficientReductionForRestart());
3130 }
3131 if (other.hasNecessaryReductionForRestart()) {
3132 setNecessaryReductionForRestart(other.getNecessaryReductionForRestart());
3133 }
3134 if (other.hasLinesearchRule()) {
3135 setLinesearchRule(other.getLinesearchRule());
3136 }
3137 if (other.hasAdaptiveLinesearchParameters()) {
3138 mergeAdaptiveLinesearchParameters(other.getAdaptiveLinesearchParameters());
3139 }
3140 if (other.hasMalitskyPockParameters()) {
3141 mergeMalitskyPockParameters(other.getMalitskyPockParameters());
3142 }
3143 if (other.hasInitialStepSizeScaling()) {
3144 setInitialStepSizeScaling(other.getInitialStepSizeScaling());
3145 }
3146 if (!other.randomProjectionSeeds_.isEmpty()) {
3147 if (randomProjectionSeeds_.isEmpty()) {
3148 randomProjectionSeeds_ = other.randomProjectionSeeds_;
3149 randomProjectionSeeds_.makeImmutable();
3150 bitField0_ |= 0x00200000;
3151 } else {
3152 ensureRandomProjectionSeedsIsMutable();
3153 randomProjectionSeeds_.addAll(other.randomProjectionSeeds_);
3154 }
3155 onChanged();
3156 }
3157 if (other.hasInfiniteConstraintBoundThreshold()) {
3158 setInfiniteConstraintBoundThreshold(other.getInfiniteConstraintBoundThreshold());
3159 }
3160 if (other.hasHandleSomePrimalGradientsOnFiniteBoundsAsResiduals()) {
3161 setHandleSomePrimalGradientsOnFiniteBoundsAsResiduals(other.getHandleSomePrimalGradientsOnFiniteBoundsAsResiduals());
3162 }
3163 if (other.hasUseDiagonalQpTrustRegionSolver()) {
3164 setUseDiagonalQpTrustRegionSolver(other.getUseDiagonalQpTrustRegionSolver());
3165 }
3166 if (other.hasDiagonalQpTrustRegionSolverTolerance()) {
3167 setDiagonalQpTrustRegionSolverTolerance(other.getDiagonalQpTrustRegionSolverTolerance());
3168 }
3169 if (other.hasUseFeasibilityPolishing()) {
3170 setUseFeasibilityPolishing(other.getUseFeasibilityPolishing());
3171 }
3172 this.mergeUnknownFields(other.getUnknownFields());
3173 onChanged();
3174 return this;
3175 }
3176
3177 @java.lang.Override
3178 public final boolean isInitialized() {
3179 return true;
3180 }
3181
3182 @java.lang.Override
3183 public Builder mergeFrom(
3184 com.google.protobuf.CodedInputStream input,
3185 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3186 throws java.io.IOException {
3187 if (extensionRegistry == null) {
3188 throw new java.lang.NullPointerException();
3189 }
3190 try {
3191 boolean done = false;
3192 while (!done) {
3193 int tag = input.readTag();
3194 switch (tag) {
3195 case 0:
3196 done = true;
3197 break;
3198 case 10: {
3199 input.readMessage(
3200 getTerminationCriteriaFieldBuilder().getBuilder(),
3201 extensionRegistry);
3202 bitField0_ |= 0x00000001;
3203 break;
3204 } // case 10
3205 case 16: {
3206 numThreads_ = input.readInt32();
3207 bitField0_ |= 0x00000002;
3208 break;
3209 } // case 16
3210 case 24: {
3211 recordIterationStats_ = input.readBool();
3212 bitField0_ |= 0x00000010;
3213 break;
3214 } // case 24
3215 case 32: {
3216 majorIterationFrequency_ = input.readInt32();
3217 bitField0_ |= 0x00000080;
3218 break;
3219 } // case 32
3220 case 40: {
3221 terminationCheckFrequency_ = input.readInt32();
3222 bitField0_ |= 0x00000100;
3223 break;
3224 } // case 40
3225 case 48: {
3226 int tmpRaw = input.readEnum();
3228 com.google.ortools.pdlp.PrimalDualHybridGradientParams.RestartStrategy.forNumber(tmpRaw);
3229 if (tmpValue == null) {
3230 mergeUnknownVarintField(6, tmpRaw);
3231 } else {
3232 restartStrategy_ = tmpRaw;
3233 bitField0_ |= 0x00000200;
3234 }
3235 break;
3236 } // case 48
3237 case 57: {
3238 primalWeightUpdateSmoothing_ = input.readDouble();
3239 bitField0_ |= 0x00000400;
3240 break;
3241 } // case 57
3242 case 65: {
3243 initialPrimalWeight_ = input.readDouble();
3244 bitField0_ |= 0x00000800;
3245 break;
3246 } // case 65
3247 case 72: {
3248 lInfRuizIterations_ = input.readInt32();
3249 bitField0_ |= 0x00002000;
3250 break;
3251 } // case 72
3252 case 80: {
3253 l2NormRescaling_ = input.readBool();
3254 bitField0_ |= 0x00004000;
3255 break;
3256 } // case 80
3257 case 89: {
3258 sufficientReductionForRestart_ = input.readDouble();
3259 bitField0_ |= 0x00008000;
3260 break;
3261 } // case 89
3262 case 96: {
3263 int tmpRaw = input.readEnum();
3265 com.google.ortools.pdlp.PrimalDualHybridGradientParams.LinesearchRule.forNumber(tmpRaw);
3266 if (tmpValue == null) {
3267 mergeUnknownVarintField(12, tmpRaw);
3268 } else {
3269 linesearchRule_ = tmpRaw;
3270 bitField0_ |= 0x00020000;
3271 }
3272 break;
3273 } // case 96
3274 case 130: {
3275 input.readMessage(
3276 getPresolveOptionsFieldBuilder().getBuilder(),
3277 extensionRegistry);
3278 bitField0_ |= 0x00001000;
3279 break;
3280 } // case 130
3281 case 137: {
3282 necessaryReductionForRestart_ = input.readDouble();
3283 bitField0_ |= 0x00010000;
3284 break;
3285 } // case 137
3286 case 146: {
3287 input.readMessage(
3288 getAdaptiveLinesearchParametersFieldBuilder().getBuilder(),
3289 extensionRegistry);
3290 bitField0_ |= 0x00040000;
3291 break;
3292 } // case 146
3293 case 154: {
3294 input.readMessage(
3295 getMalitskyPockParametersFieldBuilder().getBuilder(),
3296 extensionRegistry);
3297 bitField0_ |= 0x00080000;
3298 break;
3299 } // case 154
3300 case 177: {
3301 infiniteConstraintBoundThreshold_ = input.readDouble();
3302 bitField0_ |= 0x00400000;
3303 break;
3304 } // case 177
3305 case 184: {
3306 useDiagonalQpTrustRegionSolver_ = input.readBool();
3307 bitField0_ |= 0x01000000;
3308 break;
3309 } // case 184
3310 case 193: {
3311 diagonalQpTrustRegionSolverTolerance_ = input.readDouble();
3312 bitField0_ |= 0x02000000;
3313 break;
3314 } // case 193
3315 case 201: {
3316 initialStepSizeScaling_ = input.readDouble();
3317 bitField0_ |= 0x00100000;
3318 break;
3319 } // case 201
3320 case 208: {
3321 verbosityLevel_ = input.readInt32();
3322 bitField0_ |= 0x00000020;
3323 break;
3324 } // case 208
3325 case 216: {
3326 numShards_ = input.readInt32();
3327 bitField0_ |= 0x00000004;
3328 break;
3329 } // case 216
3330 case 224: {
3331 int v = input.readInt32();
3332 ensureRandomProjectionSeedsIsMutable();
3333 randomProjectionSeeds_.addInt(v);
3334 break;
3335 } // case 224
3336 case 226: {
3337 int length = input.readRawVarint32();
3338 int limit = input.pushLimit(length);
3339 ensureRandomProjectionSeedsIsMutable();
3340 while (input.getBytesUntilLimit() > 0) {
3341 randomProjectionSeeds_.addInt(input.readInt32());
3342 }
3343 input.popLimit(limit);
3344 break;
3345 } // case 226
3346 case 232: {
3347 handleSomePrimalGradientsOnFiniteBoundsAsResiduals_ = input.readBool();
3348 bitField0_ |= 0x00800000;
3349 break;
3350 } // case 232
3351 case 240: {
3352 useFeasibilityPolishing_ = input.readBool();
3353 bitField0_ |= 0x04000000;
3354 break;
3355 } // case 240
3356 case 249: {
3357 logIntervalSeconds_ = input.readDouble();
3358 bitField0_ |= 0x00000040;
3359 break;
3360 } // case 249
3361 case 256: {
3362 int tmpRaw = input.readEnum();
3364 com.google.ortools.pdlp.SchedulerType.forNumber(tmpRaw);
3365 if (tmpValue == null) {
3366 mergeUnknownVarintField(32, tmpRaw);
3367 } else {
3368 schedulerType_ = tmpRaw;
3369 bitField0_ |= 0x00000008;
3370 }
3371 break;
3372 } // case 256
3373 default: {
3374 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
3375 done = true; // was an endgroup tag
3376 }
3377 break;
3378 } // default:
3379 } // switch (tag)
3380 } // while (!done)
3381 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3382 throw e.unwrapIOException();
3383 } finally {
3384 onChanged();
3385 } // finally
3386 return this;
3387 }
3388 private int bitField0_;
3389
3390 private com.google.ortools.pdlp.TerminationCriteria terminationCriteria_;
3391 private com.google.protobuf.SingleFieldBuilder<
3392 com.google.ortools.pdlp.TerminationCriteria, com.google.ortools.pdlp.TerminationCriteria.Builder, com.google.ortools.pdlp.TerminationCriteriaOrBuilder> terminationCriteriaBuilder_;
3397 public boolean hasTerminationCriteria() {
3398 return ((bitField0_ & 0x00000001) != 0);
3399 }
3400
3405 if (terminationCriteriaBuilder_ == null) {
3406 return terminationCriteria_ == null ? com.google.ortools.pdlp.TerminationCriteria.getDefaultInstance() : terminationCriteria_;
3407 } else {
3408 return terminationCriteriaBuilder_.getMessage();
3409 }
3410 }
3411
3414 public Builder setTerminationCriteria(com.google.ortools.pdlp.TerminationCriteria value) {
3415 if (terminationCriteriaBuilder_ == null) {
3416 if (value == null) {
3417 throw new NullPointerException();
3418 }
3419 terminationCriteria_ = value;
3420 } else {
3421 terminationCriteriaBuilder_.setMessage(value);
3422 }
3423 bitField0_ |= 0x00000001;
3424 onChanged();
3425 return this;
3426 }
3427
3431 com.google.ortools.pdlp.TerminationCriteria.Builder builderForValue) {
3432 if (terminationCriteriaBuilder_ == null) {
3433 terminationCriteria_ = builderForValue.build();
3434 } else {
3435 terminationCriteriaBuilder_.setMessage(builderForValue.build());
3436 }
3437 bitField0_ |= 0x00000001;
3438 onChanged();
3439 return this;
3440 }
3441
3444 public Builder mergeTerminationCriteria(com.google.ortools.pdlp.TerminationCriteria value) {
3445 if (terminationCriteriaBuilder_ == null) {
3446 if (((bitField0_ & 0x00000001) != 0) &&
3447 terminationCriteria_ != null &&
3448 terminationCriteria_ != com.google.ortools.pdlp.TerminationCriteria.getDefaultInstance()) {
3449 getTerminationCriteriaBuilder().mergeFrom(value);
3450 } else {
3451 terminationCriteria_ = value;
3452 }
3453 } else {
3454 terminationCriteriaBuilder_.mergeFrom(value);
3455 }
3456 if (terminationCriteria_ != null) {
3457 bitField0_ |= 0x00000001;
3458 onChanged();
3459 }
3460 return this;
3461 }
3462
3465 public Builder clearTerminationCriteria() {
3466 bitField0_ = (bitField0_ & ~0x00000001);
3467 terminationCriteria_ = null;
3468 if (terminationCriteriaBuilder_ != null) {
3469 terminationCriteriaBuilder_.dispose();
3470 terminationCriteriaBuilder_ = null;
3471 }
3472 onChanged();
3473 return this;
3474 }
3475
3479 bitField0_ |= 0x00000001;
3480 onChanged();
3481 return getTerminationCriteriaFieldBuilder().getBuilder();
3482 }
3483
3487 if (terminationCriteriaBuilder_ != null) {
3488 return terminationCriteriaBuilder_.getMessageOrBuilder();
3489 } else {
3490 return terminationCriteria_ == null ?
3491 com.google.ortools.pdlp.TerminationCriteria.getDefaultInstance() : terminationCriteria_;
3492 }
3493 }
3494
3497 private com.google.protobuf.SingleFieldBuilder<
3498 com.google.ortools.pdlp.TerminationCriteria, com.google.ortools.pdlp.TerminationCriteria.Builder, com.google.ortools.pdlp.TerminationCriteriaOrBuilder>
3499 getTerminationCriteriaFieldBuilder() {
3500 if (terminationCriteriaBuilder_ == null) {
3501 terminationCriteriaBuilder_ = new com.google.protobuf.SingleFieldBuilder<
3502 com.google.ortools.pdlp.TerminationCriteria, com.google.ortools.pdlp.TerminationCriteria.Builder, com.google.ortools.pdlp.TerminationCriteriaOrBuilder>(
3504 getParentForChildren(),
3505 isClean());
3506 terminationCriteria_ = null;
3507 }
3508 return terminationCriteriaBuilder_;
3509 }
3510
3511 private int numThreads_ = 1;
3523 @java.lang.Override
3524 public boolean hasNumThreads() {
3525 return ((bitField0_ & 0x00000002) != 0);
3526 }
3527
3538 @java.lang.Override
3539 public int getNumThreads() {
3540 return numThreads_;
3541 }
3542
3554 public Builder setNumThreads(int value) {
3555
3556 numThreads_ = value;
3557 bitField0_ |= 0x00000002;
3558 onChanged();
3559 return this;
3560 }
3561
3572 public Builder clearNumThreads() {
3573 bitField0_ = (bitField0_ & ~0x00000002);
3574 numThreads_ = 1;
3575 onChanged();
3576 return this;
3577 }
3578
3579 private int numShards_ ;
3596 @java.lang.Override
3597 public boolean hasNumShards() {
3598 return ((bitField0_ & 0x00000004) != 0);
3599 }
3600
3616 @java.lang.Override
3617 public int getNumShards() {
3618 return numShards_;
3619 }
3620
3637 public Builder setNumShards(int value) {
3638
3639 numShards_ = value;
3640 bitField0_ |= 0x00000004;
3641 onChanged();
3642 return this;
3643 }
3644
3660 public Builder clearNumShards() {
3661 bitField0_ = (bitField0_ & ~0x00000004);
3662 numShards_ = 0;
3663 onChanged();
3664 return this;
3665 }
3666
3667 private int schedulerType_ = 1;
3677 @java.lang.Override public boolean hasSchedulerType() {
3678 return ((bitField0_ & 0x00000008) != 0);
3679 }
3680
3689 @java.lang.Override
3691 com.google.ortools.pdlp.SchedulerType result = com.google.ortools.pdlp.SchedulerType.forNumber(schedulerType_);
3693 }
3694
3704 public Builder setSchedulerType(com.google.ortools.pdlp.SchedulerType value) {
3705 if (value == null) {
3706 throw new NullPointerException();
3707 }
3708 bitField0_ |= 0x00000008;
3709 schedulerType_ = value.getNumber();
3710 onChanged();
3711 return this;
3712 }
3713
3722 public Builder clearSchedulerType() {
3723 bitField0_ = (bitField0_ & ~0x00000008);
3724 schedulerType_ = 1;
3725 onChanged();
3726 return this;
3727 }
3728
3729 private boolean recordIterationStats_ ;
3741 @java.lang.Override
3742 public boolean hasRecordIterationStats() {
3743 return ((bitField0_ & 0x00000010) != 0);
3744 }
3745
3756 @java.lang.Override
3757 public boolean getRecordIterationStats() {
3758 return recordIterationStats_;
3759 }
3760
3772 public Builder setRecordIterationStats(boolean value) {
3773
3774 recordIterationStats_ = value;
3775 bitField0_ |= 0x00000010;
3776 onChanged();
3777 return this;
3778 }
3779
3790 public Builder clearRecordIterationStats() {
3791 bitField0_ = (bitField0_ & ~0x00000010);
3792 recordIterationStats_ = false;
3793 onChanged();
3794 return this;
3795 }
3796
3797 private int verbosityLevel_ ;
3816 @java.lang.Override
3817 public boolean hasVerbosityLevel() {
3818 return ((bitField0_ & 0x00000020) != 0);
3819 }
3820
3838 @java.lang.Override
3839 public int getVerbosityLevel() {
3840 return verbosityLevel_;
3841 }
3842
3861 public Builder setVerbosityLevel(int value) {
3862
3863 verbosityLevel_ = value;
3864 bitField0_ |= 0x00000020;
3865 onChanged();
3866 return this;
3867 }
3868
3886 public Builder clearVerbosityLevel() {
3887 bitField0_ = (bitField0_ & ~0x00000020);
3888 verbosityLevel_ = 0;
3889 onChanged();
3890 return this;
3891 }
3892
3893 private double logIntervalSeconds_ ;
3906 @java.lang.Override
3907 public boolean hasLogIntervalSeconds() {
3908 return ((bitField0_ & 0x00000040) != 0);
3909 }
3910
3922 @java.lang.Override
3923 public double getLogIntervalSeconds() {
3924 return logIntervalSeconds_;
3925 }
3926
3939 public Builder setLogIntervalSeconds(double value) {
3940
3941 logIntervalSeconds_ = value;
3942 bitField0_ |= 0x00000040;
3943 onChanged();
3944 return this;
3945 }
3946
3958 public Builder clearLogIntervalSeconds() {
3959 bitField0_ = (bitField0_ & ~0x00000040);
3960 logIntervalSeconds_ = 0D;
3961 onChanged();
3962 return this;
3963 }
3964
3965 private int majorIterationFrequency_ = 64;
3979 @java.lang.Override
3981 return ((bitField0_ & 0x00000080) != 0);
3982 }
3983
3996 @java.lang.Override
3998 return majorIterationFrequency_;
3999 }
4000
4014 public Builder setMajorIterationFrequency(int value) {
4015
4016 majorIterationFrequency_ = value;
4017 bitField0_ |= 0x00000080;
4018 onChanged();
4019 return this;
4020 }
4021
4035 bitField0_ = (bitField0_ & ~0x00000080);
4036 majorIterationFrequency_ = 64;
4037 onChanged();
4038 return this;
4039 }
4040
4041 private int terminationCheckFrequency_ = 64;
4052 @java.lang.Override
4054 return ((bitField0_ & 0x00000100) != 0);
4055 }
4056
4066 @java.lang.Override
4068 return terminationCheckFrequency_;
4069 }
4070
4081 public Builder setTerminationCheckFrequency(int value) {
4082
4083 terminationCheckFrequency_ = value;
4084 bitField0_ |= 0x00000100;
4085 onChanged();
4086 return this;
4087 }
4088
4099 bitField0_ = (bitField0_ & ~0x00000100);
4100 terminationCheckFrequency_ = 64;
4101 onChanged();
4102 return this;
4103 }
4104
4105 private int restartStrategy_ = 3;
4116 @java.lang.Override public boolean hasRestartStrategy() {
4117 return ((bitField0_ & 0x00000200) != 0);
4118 }
4119
4129 @java.lang.Override
4131 com.google.ortools.pdlp.PrimalDualHybridGradientParams.RestartStrategy result = com.google.ortools.pdlp.PrimalDualHybridGradientParams.RestartStrategy.forNumber(restartStrategy_);
4133 }
4134
4145 public Builder setRestartStrategy(com.google.ortools.pdlp.PrimalDualHybridGradientParams.RestartStrategy value) {
4146 if (value == null) {
4147 throw new NullPointerException();
4148 }
4149 bitField0_ |= 0x00000200;
4150 restartStrategy_ = value.getNumber();
4151 onChanged();
4152 return this;
4153 }
4154
4164 public Builder clearRestartStrategy() {
4165 bitField0_ = (bitField0_ & ~0x00000200);
4166 restartStrategy_ = 3;
4167 onChanged();
4168 return this;
4169 }
4170
4171 private double primalWeightUpdateSmoothing_ = 0.5D;
4187 @java.lang.Override
4189 return ((bitField0_ & 0x00000400) != 0);
4190 }
4191
4206 @java.lang.Override
4208 return primalWeightUpdateSmoothing_;
4209 }
4210
4226 public Builder setPrimalWeightUpdateSmoothing(double value) {
4227
4228 primalWeightUpdateSmoothing_ = value;
4229 bitField0_ |= 0x00000400;
4230 onChanged();
4231 return this;
4232 }
4233
4249 bitField0_ = (bitField0_ & ~0x00000400);
4250 primalWeightUpdateSmoothing_ = 0.5D;
4251 onChanged();
4252 return this;
4253 }
4254
4255 private double initialPrimalWeight_ ;
4270 @java.lang.Override
4271 public boolean hasInitialPrimalWeight() {
4272 return ((bitField0_ & 0x00000800) != 0);
4273 }
4274
4288 @java.lang.Override
4289 public double getInitialPrimalWeight() {
4290 return initialPrimalWeight_;
4291 }
4292
4307 public Builder setInitialPrimalWeight(double value) {
4308
4309 initialPrimalWeight_ = value;
4310 bitField0_ |= 0x00000800;
4311 onChanged();
4312 return this;
4313 }
4314
4328 public Builder clearInitialPrimalWeight() {
4329 bitField0_ = (bitField0_ & ~0x00000800);
4330 initialPrimalWeight_ = 0D;
4331 onChanged();
4332 return this;
4333 }
4334
4336 private com.google.protobuf.SingleFieldBuilder<
4337 com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions, com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.Builder, com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptionsOrBuilder> presolveOptionsBuilder_;
4342 public boolean hasPresolveOptions() {
4343 return ((bitField0_ & 0x00001000) != 0);
4344 }
4345
4350 if (presolveOptionsBuilder_ == null) {
4351 return presolveOptions_ == null ? com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.getDefaultInstance() : presolveOptions_;
4352 } else {
4353 return presolveOptionsBuilder_.getMessage();
4354 }
4355 }
4356
4359 public Builder setPresolveOptions(com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions value) {
4360 if (presolveOptionsBuilder_ == null) {
4361 if (value == null) {
4362 throw new NullPointerException();
4363 }
4364 presolveOptions_ = value;
4365 } else {
4366 presolveOptionsBuilder_.setMessage(value);
4367 }
4368 bitField0_ |= 0x00001000;
4369 onChanged();
4370 return this;
4371 }
4372
4375 public Builder setPresolveOptions(
4376 com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.Builder builderForValue) {
4377 if (presolveOptionsBuilder_ == null) {
4378 presolveOptions_ = builderForValue.build();
4379 } else {
4380 presolveOptionsBuilder_.setMessage(builderForValue.build());
4381 }
4382 bitField0_ |= 0x00001000;
4383 onChanged();
4384 return this;
4385 }
4386
4389 public Builder mergePresolveOptions(com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions value) {
4390 if (presolveOptionsBuilder_ == null) {
4391 if (((bitField0_ & 0x00001000) != 0) &&
4392 presolveOptions_ != null &&
4393 presolveOptions_ != com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.getDefaultInstance()) {
4394 getPresolveOptionsBuilder().mergeFrom(value);
4395 } else {
4396 presolveOptions_ = value;
4397 }
4398 } else {
4399 presolveOptionsBuilder_.mergeFrom(value);
4400 }
4401 if (presolveOptions_ != null) {
4402 bitField0_ |= 0x00001000;
4403 onChanged();
4404 }
4405 return this;
4406 }
4407
4410 public Builder clearPresolveOptions() {
4411 bitField0_ = (bitField0_ & ~0x00001000);
4412 presolveOptions_ = null;
4413 if (presolveOptionsBuilder_ != null) {
4414 presolveOptionsBuilder_.dispose();
4415 presolveOptionsBuilder_ = null;
4416 }
4417 onChanged();
4418 return this;
4419 }
4420
4424 bitField0_ |= 0x00001000;
4425 onChanged();
4426 return getPresolveOptionsFieldBuilder().getBuilder();
4427 }
4428
4432 if (presolveOptionsBuilder_ != null) {
4433 return presolveOptionsBuilder_.getMessageOrBuilder();
4434 } else {
4435 return presolveOptions_ == null ?
4436 com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.getDefaultInstance() : presolveOptions_;
4437 }
4438 }
4439
4442 private com.google.protobuf.SingleFieldBuilder<
4443 com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions, com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.Builder, com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptionsOrBuilder>
4444 getPresolveOptionsFieldBuilder() {
4445 if (presolveOptionsBuilder_ == null) {
4446 presolveOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilder<
4447 com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions, com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.Builder, com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptionsOrBuilder>(
4449 getParentForChildren(),
4450 isClean());
4451 presolveOptions_ = null;
4452 }
4453 return presolveOptionsBuilder_;
4454 }
4455
4456 private int lInfRuizIterations_ = 5;
4467 @java.lang.Override
4468 public boolean hasLInfRuizIterations() {
4469 return ((bitField0_ & 0x00002000) != 0);
4470 }
4471
4481 @java.lang.Override
4483 return lInfRuizIterations_;
4484 }
4485
4496 public Builder setLInfRuizIterations(int value) {
4497
4498 lInfRuizIterations_ = value;
4499 bitField0_ |= 0x00002000;
4500 onChanged();
4501 return this;
4502 }
4503
4513 public Builder clearLInfRuizIterations() {
4514 bitField0_ = (bitField0_ & ~0x00002000);
4515 lInfRuizIterations_ = 5;
4516 onChanged();
4517 return this;
4518 }
4519
4520 private boolean l2NormRescaling_ = true;
4530 @java.lang.Override
4531 public boolean hasL2NormRescaling() {
4532 return ((bitField0_ & 0x00004000) != 0);
4533 }
4534
4543 @java.lang.Override
4544 public boolean getL2NormRescaling() {
4545 return l2NormRescaling_;
4546 }
4547
4557 public Builder setL2NormRescaling(boolean value) {
4558
4559 l2NormRescaling_ = value;
4560 bitField0_ |= 0x00004000;
4561 onChanged();
4562 return this;
4563 }
4564
4573 public Builder clearL2NormRescaling() {
4574 bitField0_ = (bitField0_ & ~0x00004000);
4575 l2NormRescaling_ = true;
4576 onChanged();
4577 return this;
4578 }
4579
4580 private double sufficientReductionForRestart_ = 0.1D;
4591 @java.lang.Override
4593 return ((bitField0_ & 0x00008000) != 0);
4594 }
4595
4605 @java.lang.Override
4607 return sufficientReductionForRestart_;
4608 }
4609
4620 public Builder setSufficientReductionForRestart(double value) {
4621
4622 sufficientReductionForRestart_ = value;
4623 bitField0_ |= 0x00008000;
4624 onChanged();
4625 return this;
4626 }
4627
4638 bitField0_ = (bitField0_ & ~0x00008000);
4639 sufficientReductionForRestart_ = 0.1D;
4640 onChanged();
4641 return this;
4642 }
4643
4644 private double necessaryReductionForRestart_ = 0.9D;
4657 @java.lang.Override
4659 return ((bitField0_ & 0x00010000) != 0);
4660 }
4661
4673 @java.lang.Override
4675 return necessaryReductionForRestart_;
4676 }
4677
4690 public Builder setNecessaryReductionForRestart(double value) {
4691
4692 necessaryReductionForRestart_ = value;
4693 bitField0_ |= 0x00010000;
4694 onChanged();
4695 return this;
4696 }
4697
4710 bitField0_ = (bitField0_ & ~0x00010000);
4711 necessaryReductionForRestart_ = 0.9D;
4712 onChanged();
4713 return this;
4714 }
4715
4716 private int linesearchRule_ = 1;
4725 @java.lang.Override public boolean hasLinesearchRule() {
4726 return ((bitField0_ & 0x00020000) != 0);
4727 }
4728
4736 @java.lang.Override
4738 com.google.ortools.pdlp.PrimalDualHybridGradientParams.LinesearchRule result = com.google.ortools.pdlp.PrimalDualHybridGradientParams.LinesearchRule.forNumber(linesearchRule_);
4740 }
4741
4750 public Builder setLinesearchRule(com.google.ortools.pdlp.PrimalDualHybridGradientParams.LinesearchRule value) {
4751 if (value == null) {
4752 throw new NullPointerException();
4753 }
4754 bitField0_ |= 0x00020000;
4755 linesearchRule_ = value.getNumber();
4756 onChanged();
4757 return this;
4758 }
4759
4767 public Builder clearLinesearchRule() {
4768 bitField0_ = (bitField0_ & ~0x00020000);
4769 linesearchRule_ = 1;
4770 onChanged();
4771 return this;
4772 }
4773
4774 private com.google.ortools.pdlp.AdaptiveLinesearchParams adaptiveLinesearchParameters_;
4775 private com.google.protobuf.SingleFieldBuilder<
4776 com.google.ortools.pdlp.AdaptiveLinesearchParams, com.google.ortools.pdlp.AdaptiveLinesearchParams.Builder, com.google.ortools.pdlp.AdaptiveLinesearchParamsOrBuilder> adaptiveLinesearchParametersBuilder_;
4782 return ((bitField0_ & 0x00040000) != 0);
4783 }
4784
4789 if (adaptiveLinesearchParametersBuilder_ == null) {
4790 return adaptiveLinesearchParameters_ == null ? com.google.ortools.pdlp.AdaptiveLinesearchParams.getDefaultInstance() : adaptiveLinesearchParameters_;
4791 } else {
4792 return adaptiveLinesearchParametersBuilder_.getMessage();
4793 }
4794 }
4795
4798 public Builder setAdaptiveLinesearchParameters(com.google.ortools.pdlp.AdaptiveLinesearchParams value) {
4799 if (adaptiveLinesearchParametersBuilder_ == null) {
4800 if (value == null) {
4801 throw new NullPointerException();
4802 }
4803 adaptiveLinesearchParameters_ = value;
4804 } else {
4805 adaptiveLinesearchParametersBuilder_.setMessage(value);
4806 }
4807 bitField0_ |= 0x00040000;
4808 onChanged();
4809 return this;
4810 }
4811
4815 com.google.ortools.pdlp.AdaptiveLinesearchParams.Builder builderForValue) {
4816 if (adaptiveLinesearchParametersBuilder_ == null) {
4817 adaptiveLinesearchParameters_ = builderForValue.build();
4818 } else {
4819 adaptiveLinesearchParametersBuilder_.setMessage(builderForValue.build());
4820 }
4821 bitField0_ |= 0x00040000;
4822 onChanged();
4823 return this;
4824 }
4825
4828 public Builder mergeAdaptiveLinesearchParameters(com.google.ortools.pdlp.AdaptiveLinesearchParams value) {
4829 if (adaptiveLinesearchParametersBuilder_ == null) {
4830 if (((bitField0_ & 0x00040000) != 0) &&
4831 adaptiveLinesearchParameters_ != null &&
4832 adaptiveLinesearchParameters_ != com.google.ortools.pdlp.AdaptiveLinesearchParams.getDefaultInstance()) {
4833 getAdaptiveLinesearchParametersBuilder().mergeFrom(value);
4834 } else {
4835 adaptiveLinesearchParameters_ = value;
4836 }
4837 } else {
4838 adaptiveLinesearchParametersBuilder_.mergeFrom(value);
4839 }
4840 if (adaptiveLinesearchParameters_ != null) {
4841 bitField0_ |= 0x00040000;
4842 onChanged();
4843 }
4844 return this;
4845 }
4846
4850 bitField0_ = (bitField0_ & ~0x00040000);
4851 adaptiveLinesearchParameters_ = null;
4852 if (adaptiveLinesearchParametersBuilder_ != null) {
4853 adaptiveLinesearchParametersBuilder_.dispose();
4854 adaptiveLinesearchParametersBuilder_ = null;
4855 }
4856 onChanged();
4857 return this;
4858 }
4859
4863 bitField0_ |= 0x00040000;
4864 onChanged();
4865 return getAdaptiveLinesearchParametersFieldBuilder().getBuilder();
4866 }
4867
4871 if (adaptiveLinesearchParametersBuilder_ != null) {
4872 return adaptiveLinesearchParametersBuilder_.getMessageOrBuilder();
4873 } else {
4874 return adaptiveLinesearchParameters_ == null ?
4875 com.google.ortools.pdlp.AdaptiveLinesearchParams.getDefaultInstance() : adaptiveLinesearchParameters_;
4876 }
4877 }
4878
4881 private com.google.protobuf.SingleFieldBuilder<
4882 com.google.ortools.pdlp.AdaptiveLinesearchParams, com.google.ortools.pdlp.AdaptiveLinesearchParams.Builder, com.google.ortools.pdlp.AdaptiveLinesearchParamsOrBuilder>
4883 getAdaptiveLinesearchParametersFieldBuilder() {
4884 if (adaptiveLinesearchParametersBuilder_ == null) {
4885 adaptiveLinesearchParametersBuilder_ = new com.google.protobuf.SingleFieldBuilder<
4886 com.google.ortools.pdlp.AdaptiveLinesearchParams, com.google.ortools.pdlp.AdaptiveLinesearchParams.Builder, com.google.ortools.pdlp.AdaptiveLinesearchParamsOrBuilder>(
4888 getParentForChildren(),
4889 isClean());
4890 adaptiveLinesearchParameters_ = null;
4891 }
4892 return adaptiveLinesearchParametersBuilder_;
4893 }
4894
4895 private com.google.ortools.pdlp.MalitskyPockParams malitskyPockParameters_;
4896 private com.google.protobuf.SingleFieldBuilder<
4897 com.google.ortools.pdlp.MalitskyPockParams, com.google.ortools.pdlp.MalitskyPockParams.Builder, com.google.ortools.pdlp.MalitskyPockParamsOrBuilder> malitskyPockParametersBuilder_;
4902 public boolean hasMalitskyPockParameters() {
4903 return ((bitField0_ & 0x00080000) != 0);
4904 }
4905
4910 if (malitskyPockParametersBuilder_ == null) {
4911 return malitskyPockParameters_ == null ? com.google.ortools.pdlp.MalitskyPockParams.getDefaultInstance() : malitskyPockParameters_;
4912 } else {
4913 return malitskyPockParametersBuilder_.getMessage();
4914 }
4915 }
4916
4919 public Builder setMalitskyPockParameters(com.google.ortools.pdlp.MalitskyPockParams value) {
4920 if (malitskyPockParametersBuilder_ == null) {
4921 if (value == null) {
4922 throw new NullPointerException();
4923 }
4924 malitskyPockParameters_ = value;
4925 } else {
4926 malitskyPockParametersBuilder_.setMessage(value);
4927 }
4928 bitField0_ |= 0x00080000;
4929 onChanged();
4930 return this;
4931 }
4932
4936 com.google.ortools.pdlp.MalitskyPockParams.Builder builderForValue) {
4937 if (malitskyPockParametersBuilder_ == null) {
4938 malitskyPockParameters_ = builderForValue.build();
4939 } else {
4940 malitskyPockParametersBuilder_.setMessage(builderForValue.build());
4941 }
4942 bitField0_ |= 0x00080000;
4943 onChanged();
4944 return this;
4945 }
4946
4949 public Builder mergeMalitskyPockParameters(com.google.ortools.pdlp.MalitskyPockParams value) {
4950 if (malitskyPockParametersBuilder_ == null) {
4951 if (((bitField0_ & 0x00080000) != 0) &&
4952 malitskyPockParameters_ != null &&
4953 malitskyPockParameters_ != com.google.ortools.pdlp.MalitskyPockParams.getDefaultInstance()) {
4954 getMalitskyPockParametersBuilder().mergeFrom(value);
4955 } else {
4956 malitskyPockParameters_ = value;
4957 }
4958 } else {
4959 malitskyPockParametersBuilder_.mergeFrom(value);
4960 }
4961 if (malitskyPockParameters_ != null) {
4962 bitField0_ |= 0x00080000;
4963 onChanged();
4964 }
4965 return this;
4966 }
4967
4971 bitField0_ = (bitField0_ & ~0x00080000);
4972 malitskyPockParameters_ = null;
4973 if (malitskyPockParametersBuilder_ != null) {
4974 malitskyPockParametersBuilder_.dispose();
4975 malitskyPockParametersBuilder_ = null;
4976 }
4977 onChanged();
4978 return this;
4979 }
4980
4984 bitField0_ |= 0x00080000;
4985 onChanged();
4986 return getMalitskyPockParametersFieldBuilder().getBuilder();
4987 }
4988
4992 if (malitskyPockParametersBuilder_ != null) {
4993 return malitskyPockParametersBuilder_.getMessageOrBuilder();
4994 } else {
4995 return malitskyPockParameters_ == null ?
4996 com.google.ortools.pdlp.MalitskyPockParams.getDefaultInstance() : malitskyPockParameters_;
4997 }
4998 }
4999
5002 private com.google.protobuf.SingleFieldBuilder<
5003 com.google.ortools.pdlp.MalitskyPockParams, com.google.ortools.pdlp.MalitskyPockParams.Builder, com.google.ortools.pdlp.MalitskyPockParamsOrBuilder>
5004 getMalitskyPockParametersFieldBuilder() {
5005 if (malitskyPockParametersBuilder_ == null) {
5006 malitskyPockParametersBuilder_ = new com.google.protobuf.SingleFieldBuilder<
5007 com.google.ortools.pdlp.MalitskyPockParams, com.google.ortools.pdlp.MalitskyPockParams.Builder, com.google.ortools.pdlp.MalitskyPockParamsOrBuilder>(
5009 getParentForChildren(),
5010 isClean());
5011 malitskyPockParameters_ = null;
5012 }
5013 return malitskyPockParametersBuilder_;
5014 }
5015
5016 private double initialStepSizeScaling_ = 1D;
5026 @java.lang.Override
5027 public boolean hasInitialStepSizeScaling() {
5028 return ((bitField0_ & 0x00100000) != 0);
5029 }
5030
5039 @java.lang.Override
5041 return initialStepSizeScaling_;
5042 }
5043
5053 public Builder setInitialStepSizeScaling(double value) {
5054
5055 initialStepSizeScaling_ = value;
5056 bitField0_ |= 0x00100000;
5057 onChanged();
5058 return this;
5059 }
5060
5070 bitField0_ = (bitField0_ & ~0x00100000);
5071 initialStepSizeScaling_ = 1D;
5072 onChanged();
5073 return this;
5074 }
5075
5076 private com.google.protobuf.Internal.IntList randomProjectionSeeds_ = emptyIntList();
5077 private void ensureRandomProjectionSeedsIsMutable() {
5078 if (!randomProjectionSeeds_.isModifiable()) {
5079 randomProjectionSeeds_ = makeMutableCopy(randomProjectionSeeds_);
5080 }
5081 bitField0_ |= 0x00200000;
5082 }
5096 public java.util.List<java.lang.Integer>
5098 randomProjectionSeeds_.makeImmutable();
5099 return randomProjectionSeeds_;
5100 }
5101
5115 return randomProjectionSeeds_.size();
5116 }
5117
5131 public int getRandomProjectionSeeds(int index) {
5132 return randomProjectionSeeds_.getInt(index);
5133 }
5134
5150 int index, int value) {
5151
5152 ensureRandomProjectionSeedsIsMutable();
5153 randomProjectionSeeds_.setInt(index, value);
5154 bitField0_ |= 0x00200000;
5155 onChanged();
5156 return this;
5157 }
5158
5172 public Builder addRandomProjectionSeeds(int value) {
5173
5174 ensureRandomProjectionSeedsIsMutable();
5175 randomProjectionSeeds_.addInt(value);
5176 bitField0_ |= 0x00200000;
5177 onChanged();
5178 return this;
5179 }
5180
5195 java.lang.Iterable<? extends java.lang.Integer> values) {
5196 ensureRandomProjectionSeedsIsMutable();
5197 com.google.protobuf.AbstractMessageLite.Builder.addAll(
5198 values, randomProjectionSeeds_);
5199 bitField0_ |= 0x00200000;
5200 onChanged();
5201 return this;
5202 }
5203
5217 randomProjectionSeeds_ = emptyIntList();
5218 bitField0_ = (bitField0_ & ~0x00200000);
5219 onChanged();
5220 return this;
5221 }
5222
5223 private double infiniteConstraintBoundThreshold_ = Double.POSITIVE_INFINITY;
5237 @java.lang.Override
5239 return ((bitField0_ & 0x00400000) != 0);
5240 }
5241
5254 @java.lang.Override
5256 return infiniteConstraintBoundThreshold_;
5257 }
5258
5272 public Builder setInfiniteConstraintBoundThreshold(double value) {
5273
5274 infiniteConstraintBoundThreshold_ = value;
5275 bitField0_ |= 0x00400000;
5276 onChanged();
5277 return this;
5278 }
5279
5293 bitField0_ = (bitField0_ & ~0x00400000);
5294 infiniteConstraintBoundThreshold_ = Double.POSITIVE_INFINITY;
5295 onChanged();
5296 return this;
5297 }
5298
5299 private boolean handleSomePrimalGradientsOnFiniteBoundsAsResiduals_ = true;
5310 @java.lang.Override
5312 return ((bitField0_ & 0x00800000) != 0);
5313 }
5314
5324 @java.lang.Override
5326 return handleSomePrimalGradientsOnFiniteBoundsAsResiduals_;
5327 }
5328
5340
5341 handleSomePrimalGradientsOnFiniteBoundsAsResiduals_ = value;
5342 bitField0_ |= 0x00800000;
5343 onChanged();
5344 return this;
5345 }
5346
5357 bitField0_ = (bitField0_ & ~0x00800000);
5358 handleSomePrimalGradientsOnFiniteBoundsAsResiduals_ = true;
5359 onChanged();
5360 return this;
5361 }
5362
5363 private boolean useDiagonalQpTrustRegionSolver_ ;
5377 @java.lang.Override
5379 return ((bitField0_ & 0x01000000) != 0);
5380 }
5381
5394 @java.lang.Override
5396 return useDiagonalQpTrustRegionSolver_;
5397 }
5398
5412 public Builder setUseDiagonalQpTrustRegionSolver(boolean value) {
5413
5414 useDiagonalQpTrustRegionSolver_ = value;
5415 bitField0_ |= 0x01000000;
5416 onChanged();
5417 return this;
5418 }
5419
5433 bitField0_ = (bitField0_ & ~0x01000000);
5434 useDiagonalQpTrustRegionSolver_ = false;
5435 onChanged();
5436 return this;
5437 }
5438
5439 private double diagonalQpTrustRegionSolverTolerance_ = 1e-08D;
5452 @java.lang.Override
5454 return ((bitField0_ & 0x02000000) != 0);
5455 }
5456
5468 @java.lang.Override
5470 return diagonalQpTrustRegionSolverTolerance_;
5471 }
5472
5485 public Builder setDiagonalQpTrustRegionSolverTolerance(double value) {
5486
5487 diagonalQpTrustRegionSolverTolerance_ = value;
5488 bitField0_ |= 0x02000000;
5489 onChanged();
5490 return this;
5491 }
5492
5505 bitField0_ = (bitField0_ & ~0x02000000);
5506 diagonalQpTrustRegionSolverTolerance_ = 1e-08D;
5507 onChanged();
5508 return this;
5509 }
5510
5511 private boolean useFeasibilityPolishing_ ;
5545 @java.lang.Override
5547 return ((bitField0_ & 0x04000000) != 0);
5548 }
5549
5582 @java.lang.Override
5584 return useFeasibilityPolishing_;
5585 }
5586
5620 public Builder setUseFeasibilityPolishing(boolean value) {
5621
5622 useFeasibilityPolishing_ = value;
5623 bitField0_ |= 0x04000000;
5624 onChanged();
5625 return this;
5626 }
5627
5661 bitField0_ = (bitField0_ & ~0x04000000);
5662 useFeasibilityPolishing_ = false;
5663 onChanged();
5664 return this;
5665 }
5666
5667 // @@protoc_insertion_point(builder_scope:operations_research.pdlp.PrimalDualHybridGradientParams)
5668 }
5669
5670 // @@protoc_insertion_point(class_scope:operations_research.pdlp.PrimalDualHybridGradientParams)
5671 private static final com.google.ortools.pdlp.PrimalDualHybridGradientParams DEFAULT_INSTANCE;
5672 static {
5673 DEFAULT_INSTANCE = new com.google.ortools.pdlp.PrimalDualHybridGradientParams();
5674 }
5675
5677 return DEFAULT_INSTANCE;
5678 }
5679
5680 private static final com.google.protobuf.Parser<PrimalDualHybridGradientParams>
5681 PARSER = new com.google.protobuf.AbstractParser<PrimalDualHybridGradientParams>() {
5682 @java.lang.Override
5683 public PrimalDualHybridGradientParams parsePartialFrom(
5684 com.google.protobuf.CodedInputStream input,
5685 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5686 throws com.google.protobuf.InvalidProtocolBufferException {
5687 Builder builder = newBuilder();
5688 try {
5689 builder.mergeFrom(input, extensionRegistry);
5690 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5691 throw e.setUnfinishedMessage(builder.buildPartial());
5692 } catch (com.google.protobuf.UninitializedMessageException e) {
5693 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
5694 } catch (java.io.IOException e) {
5695 throw new com.google.protobuf.InvalidProtocolBufferException(e)
5696 .setUnfinishedMessage(builder.buildPartial());
5697 }
5698 return builder.buildPartial();
5699 }
5700 };
5701
5702 public static com.google.protobuf.Parser<PrimalDualHybridGradientParams> parser() {
5703 return PARSER;
5704 }
5705
5706 @java.lang.Override
5707 public com.google.protobuf.Parser<PrimalDualHybridGradientParams> getParserForType() {
5708 return PARSER;
5709 }
5710
5711 @java.lang.Override
5713 return DEFAULT_INSTANCE;
5714 }
5715
5716}
5717
Builder mergeMalitskyPockParameters(com.google.ortools.pdlp.MalitskyPockParams value)
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
com.google.ortools.pdlp.AdaptiveLinesearchParams getAdaptiveLinesearchParameters()
Builder setPresolveOptions(com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions value)
com.google.ortools.pdlp.PrimalDualHybridGradientParams getDefaultInstanceForType()
com.google.ortools.pdlp.TerminationCriteria.Builder getTerminationCriteriaBuilder()
Builder setMalitskyPockParameters(com.google.ortools.pdlp.MalitskyPockParams value)
Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Builder setRestartStrategy(com.google.ortools.pdlp.PrimalDualHybridGradientParams.RestartStrategy value)
Builder setMalitskyPockParameters(com.google.ortools.pdlp.MalitskyPockParams.Builder builderForValue)
Builder setPresolveOptions(com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.Builder builderForValue)
Builder setTerminationCriteria(com.google.ortools.pdlp.TerminationCriteria.Builder builderForValue)
com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions getPresolveOptions()
Builder addAllRandomProjectionSeeds(java.lang.Iterable<? extends java.lang.Integer > values)
com.google.ortools.pdlp.PrimalDualHybridGradientParams.LinesearchRule getLinesearchRule()
com.google.ortools.pdlp.PrimalDualHybridGradientParams.RestartStrategy getRestartStrategy()
com.google.ortools.pdlp.AdaptiveLinesearchParamsOrBuilder getAdaptiveLinesearchParametersOrBuilder()
Builder setTerminationCriteria(com.google.ortools.pdlp.TerminationCriteria value)
com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.Builder getPresolveOptionsBuilder()
com.google.ortools.pdlp.AdaptiveLinesearchParams.Builder getAdaptiveLinesearchParametersBuilder()
Builder setAdaptiveLinesearchParameters(com.google.ortools.pdlp.AdaptiveLinesearchParams value)
Builder setSchedulerType(com.google.ortools.pdlp.SchedulerType value)
com.google.ortools.pdlp.MalitskyPockParamsOrBuilder getMalitskyPockParametersOrBuilder()
com.google.ortools.pdlp.PrimalDualHybridGradientParams buildPartial()
Builder setAdaptiveLinesearchParameters(com.google.ortools.pdlp.AdaptiveLinesearchParams.Builder builderForValue)
com.google.ortools.pdlp.TerminationCriteriaOrBuilder getTerminationCriteriaOrBuilder()
Builder mergePresolveOptions(com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions value)
com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
Builder setLinesearchRule(com.google.ortools.pdlp.PrimalDualHybridGradientParams.LinesearchRule value)
Builder mergeFrom(com.google.ortools.pdlp.PrimalDualHybridGradientParams other)
Builder mergeAdaptiveLinesearchParameters(com.google.ortools.pdlp.AdaptiveLinesearchParams value)
com.google.ortools.pdlp.MalitskyPockParams.Builder getMalitskyPockParametersBuilder()
Builder mergeTerminationCriteria(com.google.ortools.pdlp.TerminationCriteria value)
com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptionsOrBuilder getPresolveOptionsOrBuilder()
com.google.ortools.pdlp.PrimalDualHybridGradientParams build()
com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions buildPartial()
com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions build()
com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions getDefaultInstanceForType()
Builder setGlopParameters(com.google.ortools.glop.GlopParameters.Builder builderForValue)
com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
Builder mergeFrom(com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions other)
Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions parseDelimitedFrom(java.io.InputStream input)
static com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions parseFrom(com.google.protobuf.ByteString data)
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
static Builder newBuilder(com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions prototype)
Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent)
static com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions getDefaultInstance()
com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions getDefaultInstanceForType()
static com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions parseFrom(java.io.InputStream input)
static com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions parseFrom(byte[] data)
static com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
static com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions parseFrom(java.nio.ByteBuffer data)
static com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions parseFrom(com.google.protobuf.CodedInputStream input)
com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
static com.google.ortools.pdlp.PrimalDualHybridGradientParams parseDelimitedFrom(java.io.InputStream input)
static com.google.ortools.pdlp.PrimalDualHybridGradientParams parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.pdlp.PrimalDualHybridGradientParams parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.ortools.pdlp.PrimalDualHybridGradientParams getDefaultInstanceForType()
Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent)
com.google.ortools.pdlp.TerminationCriteria getTerminationCriteria()
static com.google.ortools.pdlp.PrimalDualHybridGradientParams parseFrom(com.google.protobuf.CodedInputStream input)
com.google.ortools.pdlp.MalitskyPockParams getMalitskyPockParameters()
static com.google.protobuf.Parser< PrimalDualHybridGradientParams > parser()
static com.google.ortools.pdlp.PrimalDualHybridGradientParams parseFrom(byte[] data)
com.google.ortools.pdlp.AdaptiveLinesearchParamsOrBuilder getAdaptiveLinesearchParametersOrBuilder()
static com.google.ortools.pdlp.PrimalDualHybridGradientParams parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.pdlp.PrimalDualHybridGradientParams getDefaultInstance()
static com.google.ortools.pdlp.PrimalDualHybridGradientParams parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
void writeTo(com.google.protobuf.CodedOutputStream output)
com.google.ortools.pdlp.AdaptiveLinesearchParams getAdaptiveLinesearchParameters()
com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions getPresolveOptions()
com.google.ortools.pdlp.PrimalDualHybridGradientParams.RestartStrategy getRestartStrategy()
com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptionsOrBuilder getPresolveOptionsOrBuilder()
static Builder newBuilder(com.google.ortools.pdlp.PrimalDualHybridGradientParams prototype)
com.google.ortools.pdlp.PrimalDualHybridGradientParams.LinesearchRule getLinesearchRule()
com.google.ortools.pdlp.TerminationCriteriaOrBuilder getTerminationCriteriaOrBuilder()
static com.google.ortools.pdlp.PrimalDualHybridGradientParams parseFrom(java.io.InputStream input)
static com.google.ortools.pdlp.PrimalDualHybridGradientParams parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.pdlp.PrimalDualHybridGradientParams parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.pdlp.PrimalDualHybridGradientParams parseFrom(java.nio.ByteBuffer data)
com.google.ortools.pdlp.MalitskyPockParamsOrBuilder getMalitskyPockParametersOrBuilder()
static com.google.ortools.pdlp.PrimalDualHybridGradientParams parseFrom(com.google.protobuf.ByteString data)
com.google.protobuf.Parser< PrimalDualHybridGradientParams > getParserForType()
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
static com.google.protobuf.Internal.EnumLiteMap< LinesearchRule > internalGetValueMap()
static LinesearchRule valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
static RestartStrategy valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
static com.google.protobuf.Internal.EnumLiteMap< RestartStrategy > internalGetValueMap()
final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
com.google.ortools.glop.GlopParametersOrBuilder getGlopParametersOrBuilder()