Google OR-Tools v9.11
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// source: ortools/pdlp/solvers.proto
3
4// Protobuf Java Version: 4.26.1
5package com.google.ortools.pdlp;
6
23public final class PrimalDualHybridGradientParams extends
24 com.google.protobuf.GeneratedMessage implements
25 // @@protoc_insertion_point(message_implements:operations_research.pdlp.PrimalDualHybridGradientParams)
27private static final long serialVersionUID = 0L;
28 static {
29 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
30 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
31 /* major= */ 4,
32 /* minor= */ 26,
33 /* patch= */ 1,
34 /* suffix= */ "",
35 PrimalDualHybridGradientParams.class.getName());
36 }
37 // Use PrimalDualHybridGradientParams.newBuilder() to construct.
38 private PrimalDualHybridGradientParams(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
39 super(builder);
40 }
42 numThreads_ = 1;
43 majorIterationFrequency_ = 64;
44 terminationCheckFrequency_ = 64;
45 restartStrategy_ = 3;
46 primalWeightUpdateSmoothing_ = 0.5D;
47 lInfRuizIterations_ = 5;
48 l2NormRescaling_ = true;
49 sufficientReductionForRestart_ = 0.1D;
50 necessaryReductionForRestart_ = 0.9D;
51 linesearchRule_ = 1;
52 initialStepSizeScaling_ = 1D;
53 randomProjectionSeeds_ = emptyIntList();
54 infiniteConstraintBoundThreshold_ = Double.POSITIVE_INFINITY;
55 handleSomePrimalGradientsOnFiniteBoundsAsResiduals_ = true;
56 diagonalQpTrustRegionSolverTolerance_ = 1e-08D;
57 }
58
59 public static final com.google.protobuf.Descriptors.Descriptor
61 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_PrimalDualHybridGradientParams_descriptor;
62 }
63
64 @java.lang.Override
65 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
67 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_PrimalDualHybridGradientParams_fieldAccessorTable
68 .ensureFieldAccessorsInitialized(
69 com.google.ortools.pdlp.PrimalDualHybridGradientParams.class, com.google.ortools.pdlp.PrimalDualHybridGradientParams.Builder.class);
70 }
71
75 public enum RestartStrategy
76 implements com.google.protobuf.ProtocolMessageEnum {
124 ;
125
126 static {
127 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
128 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
129 /* major= */ 4,
130 /* minor= */ 26,
131 /* patch= */ 1,
132 /* suffix= */ "",
133 RestartStrategy.class.getName());
134 }
138 public static final int RESTART_STRATEGY_UNSPECIFIED_VALUE = 0;
147 public static final int NO_RESTARTS_VALUE = 1;
156 public static final int EVERY_MAJOR_ITERATION_VALUE = 2;
169 public static final int ADAPTIVE_HEURISTIC_VALUE = 3;
181 public static final int ADAPTIVE_DISTANCE_BASED_VALUE = 4;
182
183
184 public final int getNumber() {
185 return value;
186 }
187
193 @java.lang.Deprecated
194 public static RestartStrategy valueOf(int value) {
195 return forNumber(value);
196 }
197
202 public static RestartStrategy forNumber(int value) {
203 switch (value) {
204 case 0: return RESTART_STRATEGY_UNSPECIFIED;
205 case 1: return NO_RESTARTS;
206 case 2: return EVERY_MAJOR_ITERATION;
207 case 3: return ADAPTIVE_HEURISTIC;
208 case 4: return ADAPTIVE_DISTANCE_BASED;
209 default: return null;
210 }
211 }
212
213 public static com.google.protobuf.Internal.EnumLiteMap<RestartStrategy>
215 return internalValueMap;
216 }
217 private static final com.google.protobuf.Internal.EnumLiteMap<
218 RestartStrategy> internalValueMap =
219 new com.google.protobuf.Internal.EnumLiteMap<RestartStrategy>() {
220 public RestartStrategy findValueByNumber(int number) {
221 return RestartStrategy.forNumber(number);
222 }
223 };
224
225 public final com.google.protobuf.Descriptors.EnumValueDescriptor
227 return getDescriptor().getValues().get(ordinal());
228 }
229 public final com.google.protobuf.Descriptors.EnumDescriptor
231 return getDescriptor();
232 }
233 public static final com.google.protobuf.Descriptors.EnumDescriptor
235 return com.google.ortools.pdlp.PrimalDualHybridGradientParams.getDescriptor().getEnumTypes().get(0);
236 }
237
238 private static final RestartStrategy[] VALUES = values();
239
241 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
242 if (desc.getType() != getDescriptor()) {
243 throw new java.lang.IllegalArgumentException(
244 "EnumValueDescriptor is not for this type.");
245 }
246 return VALUES[desc.getIndex()];
247 }
248
249 private final int value;
250
251 private RestartStrategy(int value) {
252 this.value = value;
253 }
254
255 // @@protoc_insertion_point(enum_scope:operations_research.pdlp.PrimalDualHybridGradientParams.RestartStrategy)
256 }
257
261 public enum LinesearchRule
262 implements com.google.protobuf.ProtocolMessageEnum {
298 ;
299
300 static {
301 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
302 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
303 /* major= */ 4,
304 /* minor= */ 26,
305 /* patch= */ 1,
306 /* suffix= */ "",
307 LinesearchRule.class.getName());
308 }
312 public static final int LINESEARCH_RULE_UNSPECIFIED_VALUE = 0;
323 public static final int ADAPTIVE_LINESEARCH_RULE_VALUE = 1;
334 public static final int MALITSKY_POCK_LINESEARCH_RULE_VALUE = 2;
343 public static final int CONSTANT_STEP_SIZE_RULE_VALUE = 3;
344
345
346 public final int getNumber() {
347 return value;
348 }
349
355 @java.lang.Deprecated
356 public static LinesearchRule valueOf(int value) {
357 return forNumber(value);
358 }
359
364 public static LinesearchRule forNumber(int value) {
365 switch (value) {
366 case 0: return LINESEARCH_RULE_UNSPECIFIED;
367 case 1: return ADAPTIVE_LINESEARCH_RULE;
368 case 2: return MALITSKY_POCK_LINESEARCH_RULE;
369 case 3: return CONSTANT_STEP_SIZE_RULE;
370 default: return null;
371 }
372 }
373
374 public static com.google.protobuf.Internal.EnumLiteMap<LinesearchRule>
376 return internalValueMap;
377 }
378 private static final com.google.protobuf.Internal.EnumLiteMap<
379 LinesearchRule> internalValueMap =
380 new com.google.protobuf.Internal.EnumLiteMap<LinesearchRule>() {
381 public LinesearchRule findValueByNumber(int number) {
382 return LinesearchRule.forNumber(number);
383 }
384 };
385
386 public final com.google.protobuf.Descriptors.EnumValueDescriptor
388 return getDescriptor().getValues().get(ordinal());
389 }
390 public final com.google.protobuf.Descriptors.EnumDescriptor
392 return getDescriptor();
393 }
394 public static final com.google.protobuf.Descriptors.EnumDescriptor
396 return com.google.ortools.pdlp.PrimalDualHybridGradientParams.getDescriptor().getEnumTypes().get(1);
397 }
398
399 private static final LinesearchRule[] VALUES = values();
400
401 public static LinesearchRule valueOf(
402 com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
403 if (desc.getType() != getDescriptor()) {
404 throw new java.lang.IllegalArgumentException(
405 "EnumValueDescriptor is not for this type.");
406 }
407 return VALUES[desc.getIndex()];
408 }
409
410 private final int value;
411
412 private LinesearchRule(int value) {
413 this.value = value;
414 }
415
416 // @@protoc_insertion_point(enum_scope:operations_research.pdlp.PrimalDualHybridGradientParams.LinesearchRule)
417 }
418
419 public interface PresolveOptionsOrBuilder extends
420 // @@protoc_insertion_point(interface_extends:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions)
421 com.google.protobuf.MessageOrBuilder {
422
438 boolean hasUseGlop();
454 boolean getUseGlop();
455
485 }
489 public static final class PresolveOptions extends
490 com.google.protobuf.GeneratedMessage implements
491 // @@protoc_insertion_point(message_implements:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions)
493 private static final long serialVersionUID = 0L;
494 static {
495 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
496 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
497 /* major= */ 4,
498 /* minor= */ 26,
499 /* patch= */ 1,
500 /* suffix= */ "",
501 PresolveOptions.class.getName());
502 }
503 // Use PresolveOptions.newBuilder() to construct.
504 private PresolveOptions(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
505 super(builder);
506 }
507 private PresolveOptions() {
508 }
509
510 public static final com.google.protobuf.Descriptors.Descriptor
512 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_PrimalDualHybridGradientParams_PresolveOptions_descriptor;
513 }
514
515 @java.lang.Override
516 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
518 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_PrimalDualHybridGradientParams_PresolveOptions_fieldAccessorTable
519 .ensureFieldAccessorsInitialized(
520 com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.class, com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.Builder.class);
521 }
522
523 private int bitField0_;
524 public static final int USE_GLOP_FIELD_NUMBER = 1;
525 private boolean useGlop_ = false;
541 @java.lang.Override
542 public boolean hasUseGlop() {
543 return ((bitField0_ & 0x00000001) != 0);
544 }
560 @java.lang.Override
561 public boolean getUseGlop() {
562 return useGlop_;
563 }
564
565 public static final int GLOP_PARAMETERS_FIELD_NUMBER = 2;
566 private com.google.ortools.glop.GlopParameters glopParameters_;
576 @java.lang.Override
577 public boolean hasGlopParameters() {
578 return ((bitField0_ & 0x00000002) != 0);
579 }
589 @java.lang.Override
591 return glopParameters_ == null ? com.google.ortools.glop.GlopParameters.getDefaultInstance() : glopParameters_;
592 }
601 @java.lang.Override
603 return glopParameters_ == null ? com.google.ortools.glop.GlopParameters.getDefaultInstance() : glopParameters_;
604 }
605
606 private byte memoizedIsInitialized = -1;
607 @java.lang.Override
608 public final boolean isInitialized() {
609 byte isInitialized = memoizedIsInitialized;
610 if (isInitialized == 1) return true;
611 if (isInitialized == 0) return false;
612
613 memoizedIsInitialized = 1;
614 return true;
615 }
616
617 @java.lang.Override
618 public void writeTo(com.google.protobuf.CodedOutputStream output)
619 throws java.io.IOException {
620 if (((bitField0_ & 0x00000001) != 0)) {
621 output.writeBool(1, useGlop_);
622 }
623 if (((bitField0_ & 0x00000002) != 0)) {
624 output.writeMessage(2, getGlopParameters());
625 }
626 getUnknownFields().writeTo(output);
627 }
628
629 @java.lang.Override
630 public int getSerializedSize() {
631 int size = memoizedSize;
632 if (size != -1) return size;
633
634 size = 0;
635 if (((bitField0_ & 0x00000001) != 0)) {
636 size += com.google.protobuf.CodedOutputStream
637 .computeBoolSize(1, useGlop_);
638 }
639 if (((bitField0_ & 0x00000002) != 0)) {
640 size += com.google.protobuf.CodedOutputStream
641 .computeMessageSize(2, getGlopParameters());
642 }
643 size += getUnknownFields().getSerializedSize();
644 memoizedSize = size;
645 return size;
646 }
647
648 @java.lang.Override
649 public boolean equals(final java.lang.Object obj) {
650 if (obj == this) {
651 return true;
652 }
653 if (!(obj instanceof com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions)) {
654 return super.equals(obj);
655 }
656 com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions other = (com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions) obj;
657
658 if (hasUseGlop() != other.hasUseGlop()) return false;
659 if (hasUseGlop()) {
660 if (getUseGlop()
661 != other.getUseGlop()) return false;
662 }
663 if (hasGlopParameters() != other.hasGlopParameters()) return false;
664 if (hasGlopParameters()) {
665 if (!getGlopParameters()
666 .equals(other.getGlopParameters())) return false;
667 }
668 if (!getUnknownFields().equals(other.getUnknownFields())) return false;
669 return true;
670 }
671
672 @java.lang.Override
673 public int hashCode() {
674 if (memoizedHashCode != 0) {
675 return memoizedHashCode;
676 }
677 int hash = 41;
678 hash = (19 * hash) + getDescriptor().hashCode();
679 if (hasUseGlop()) {
680 hash = (37 * hash) + USE_GLOP_FIELD_NUMBER;
681 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
682 getUseGlop());
683 }
684 if (hasGlopParameters()) {
685 hash = (37 * hash) + GLOP_PARAMETERS_FIELD_NUMBER;
686 hash = (53 * hash) + getGlopParameters().hashCode();
687 }
688 hash = (29 * hash) + getUnknownFields().hashCode();
689 memoizedHashCode = hash;
690 return hash;
691 }
692
694 java.nio.ByteBuffer data)
695 throws com.google.protobuf.InvalidProtocolBufferException {
696 return PARSER.parseFrom(data);
697 }
699 java.nio.ByteBuffer data,
700 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
701 throws com.google.protobuf.InvalidProtocolBufferException {
702 return PARSER.parseFrom(data, extensionRegistry);
703 }
705 com.google.protobuf.ByteString data)
706 throws com.google.protobuf.InvalidProtocolBufferException {
707 return PARSER.parseFrom(data);
708 }
710 com.google.protobuf.ByteString data,
711 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
712 throws com.google.protobuf.InvalidProtocolBufferException {
713 return PARSER.parseFrom(data, extensionRegistry);
714 }
716 throws com.google.protobuf.InvalidProtocolBufferException {
717 return PARSER.parseFrom(data);
718 }
720 byte[] data,
721 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
722 throws com.google.protobuf.InvalidProtocolBufferException {
723 return PARSER.parseFrom(data, extensionRegistry);
724 }
726 throws java.io.IOException {
727 return com.google.protobuf.GeneratedMessage
728 .parseWithIOException(PARSER, input);
729 }
731 java.io.InputStream input,
732 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
733 throws java.io.IOException {
734 return com.google.protobuf.GeneratedMessage
735 .parseWithIOException(PARSER, input, extensionRegistry);
736 }
737
739 throws java.io.IOException {
740 return com.google.protobuf.GeneratedMessage
741 .parseDelimitedWithIOException(PARSER, input);
742 }
743
745 java.io.InputStream input,
746 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
747 throws java.io.IOException {
748 return com.google.protobuf.GeneratedMessage
749 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
750 }
752 com.google.protobuf.CodedInputStream input)
753 throws java.io.IOException {
754 return com.google.protobuf.GeneratedMessage
755 .parseWithIOException(PARSER, input);
756 }
758 com.google.protobuf.CodedInputStream input,
759 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
760 throws java.io.IOException {
761 return com.google.protobuf.GeneratedMessage
762 .parseWithIOException(PARSER, input, extensionRegistry);
763 }
764
765 @java.lang.Override
766 public Builder newBuilderForType() { return newBuilder(); }
767 public static Builder newBuilder() {
768 return DEFAULT_INSTANCE.toBuilder();
769 }
770 public static Builder newBuilder(com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions prototype) {
771 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
772 }
773 @java.lang.Override
775 return this == DEFAULT_INSTANCE
776 ? new Builder() : new Builder().mergeFrom(this);
777 }
778
779 @java.lang.Override
781 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
782 Builder builder = new Builder(parent);
783 return builder;
784 }
788 public static final class Builder extends
789 com.google.protobuf.GeneratedMessage.Builder<Builder> implements
790 // @@protoc_insertion_point(builder_implements:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions)
792 public static final com.google.protobuf.Descriptors.Descriptor
794 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_PrimalDualHybridGradientParams_PresolveOptions_descriptor;
795 }
796
797 @java.lang.Override
798 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
800 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_PrimalDualHybridGradientParams_PresolveOptions_fieldAccessorTable
801 .ensureFieldAccessorsInitialized(
802 com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.class, com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.Builder.class);
803 }
804
805 // Construct using com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.newBuilder()
806 private Builder() {
807 maybeForceBuilderInitialization();
808 }
809
810 private Builder(
811 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
812 super(parent);
813 maybeForceBuilderInitialization();
814 }
815 private void maybeForceBuilderInitialization() {
816 if (com.google.protobuf.GeneratedMessage
817 .alwaysUseFieldBuilders) {
818 getGlopParametersFieldBuilder();
819 }
820 }
821 @java.lang.Override
822 public Builder clear() {
823 super.clear();
824 bitField0_ = 0;
825 useGlop_ = false;
826 glopParameters_ = null;
827 if (glopParametersBuilder_ != null) {
828 glopParametersBuilder_.dispose();
829 glopParametersBuilder_ = null;
830 }
831 return this;
832 }
833
834 @java.lang.Override
835 public com.google.protobuf.Descriptors.Descriptor
837 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_PrimalDualHybridGradientParams_PresolveOptions_descriptor;
838 }
839
840 @java.lang.Override
842 return com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.getDefaultInstance();
843 }
844
845 @java.lang.Override
848 if (!result.isInitialized()) {
849 throw newUninitializedMessageException(result);
850 }
851 return result;
852 }
853
854 @java.lang.Override
856 com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions result = new com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions(this);
857 if (bitField0_ != 0) { buildPartial0(result); }
858 onBuilt();
859 return result;
860 }
861
862 private void buildPartial0(com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions result) {
863 int from_bitField0_ = bitField0_;
864 int to_bitField0_ = 0;
865 if (((from_bitField0_ & 0x00000001) != 0)) {
866 result.useGlop_ = useGlop_;
867 to_bitField0_ |= 0x00000001;
868 }
869 if (((from_bitField0_ & 0x00000002) != 0)) {
870 result.glopParameters_ = glopParametersBuilder_ == null
871 ? glopParameters_
872 : glopParametersBuilder_.build();
873 to_bitField0_ |= 0x00000002;
874 }
875 result.bitField0_ |= to_bitField0_;
876 }
877
878 @java.lang.Override
879 public Builder mergeFrom(com.google.protobuf.Message other) {
880 if (other instanceof com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions) {
881 return mergeFrom((com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions)other);
882 } else {
883 super.mergeFrom(other);
884 return this;
885 }
886 }
887
888 public Builder mergeFrom(com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions other) {
889 if (other == com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.getDefaultInstance()) return this;
890 if (other.hasUseGlop()) {
891 setUseGlop(other.getUseGlop());
892 }
893 if (other.hasGlopParameters()) {
894 mergeGlopParameters(other.getGlopParameters());
895 }
896 this.mergeUnknownFields(other.getUnknownFields());
897 onChanged();
898 return this;
899 }
900
901 @java.lang.Override
902 public final boolean isInitialized() {
903 return true;
904 }
905
906 @java.lang.Override
908 com.google.protobuf.CodedInputStream input,
909 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
910 throws java.io.IOException {
911 if (extensionRegistry == null) {
912 throw new java.lang.NullPointerException();
913 }
914 try {
915 boolean done = false;
916 while (!done) {
917 int tag = input.readTag();
918 switch (tag) {
919 case 0:
920 done = true;
921 break;
922 case 8: {
923 useGlop_ = input.readBool();
924 bitField0_ |= 0x00000001;
925 break;
926 } // case 8
927 case 18: {
928 input.readMessage(
929 getGlopParametersFieldBuilder().getBuilder(),
930 extensionRegistry);
931 bitField0_ |= 0x00000002;
932 break;
933 } // case 18
934 default: {
935 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
936 done = true; // was an endgroup tag
937 }
938 break;
939 } // default:
940 } // switch (tag)
941 } // while (!done)
942 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
943 throw e.unwrapIOException();
944 } finally {
945 onChanged();
946 } // finally
947 return this;
948 }
949 private int bitField0_;
950
951 private boolean useGlop_ ;
967 @java.lang.Override
968 public boolean hasUseGlop() {
969 return ((bitField0_ & 0x00000001) != 0);
970 }
986 @java.lang.Override
987 public boolean getUseGlop() {
988 return useGlop_;
989 }
1006 public Builder setUseGlop(boolean value) {
1007
1008 useGlop_ = value;
1009 bitField0_ |= 0x00000001;
1010 onChanged();
1011 return this;
1012 }
1029 bitField0_ = (bitField0_ & ~0x00000001);
1030 useGlop_ = false;
1031 onChanged();
1032 return this;
1033 }
1034
1035 private com.google.ortools.glop.GlopParameters glopParameters_;
1036 private com.google.protobuf.SingleFieldBuilder<
1037 com.google.ortools.glop.GlopParameters, com.google.ortools.glop.GlopParameters.Builder, com.google.ortools.glop.GlopParametersOrBuilder> glopParametersBuilder_;
1047 public boolean hasGlopParameters() {
1048 return ((bitField0_ & 0x00000002) != 0);
1049 }
1060 if (glopParametersBuilder_ == null) {
1061 return glopParameters_ == null ? com.google.ortools.glop.GlopParameters.getDefaultInstance() : glopParameters_;
1062 } else {
1063 return glopParametersBuilder_.getMessage();
1064 }
1065 }
1074 public Builder setGlopParameters(com.google.ortools.glop.GlopParameters value) {
1075 if (glopParametersBuilder_ == null) {
1076 if (value == null) {
1077 throw new NullPointerException();
1078 }
1079 glopParameters_ = value;
1080 } else {
1081 glopParametersBuilder_.setMessage(value);
1082 }
1083 bitField0_ |= 0x00000002;
1084 onChanged();
1085 return this;
1086 }
1096 com.google.ortools.glop.GlopParameters.Builder builderForValue) {
1097 if (glopParametersBuilder_ == null) {
1098 glopParameters_ = builderForValue.build();
1099 } else {
1100 glopParametersBuilder_.setMessage(builderForValue.build());
1101 }
1102 bitField0_ |= 0x00000002;
1103 onChanged();
1104 return this;
1105 }
1114 public Builder mergeGlopParameters(com.google.ortools.glop.GlopParameters value) {
1115 if (glopParametersBuilder_ == null) {
1116 if (((bitField0_ & 0x00000002) != 0) &&
1117 glopParameters_ != null &&
1118 glopParameters_ != com.google.ortools.glop.GlopParameters.getDefaultInstance()) {
1120 } else {
1121 glopParameters_ = value;
1122 }
1123 } else {
1124 glopParametersBuilder_.mergeFrom(value);
1125 }
1126 if (glopParameters_ != null) {
1127 bitField0_ |= 0x00000002;
1128 onChanged();
1129 }
1130 return this;
1131 }
1141 bitField0_ = (bitField0_ & ~0x00000002);
1142 glopParameters_ = null;
1143 if (glopParametersBuilder_ != null) {
1144 glopParametersBuilder_.dispose();
1145 glopParametersBuilder_ = null;
1146 }
1147 onChanged();
1148 return this;
1149 }
1159 bitField0_ |= 0x00000002;
1160 onChanged();
1161 return getGlopParametersFieldBuilder().getBuilder();
1162 }
1172 if (glopParametersBuilder_ != null) {
1173 return glopParametersBuilder_.getMessageOrBuilder();
1174 } else {
1175 return glopParameters_ == null ?
1176 com.google.ortools.glop.GlopParameters.getDefaultInstance() : glopParameters_;
1177 }
1178 }
1187 private com.google.protobuf.SingleFieldBuilder<
1188 com.google.ortools.glop.GlopParameters, com.google.ortools.glop.GlopParameters.Builder, com.google.ortools.glop.GlopParametersOrBuilder>
1189 getGlopParametersFieldBuilder() {
1190 if (glopParametersBuilder_ == null) {
1191 glopParametersBuilder_ = new com.google.protobuf.SingleFieldBuilder<
1192 com.google.ortools.glop.GlopParameters, com.google.ortools.glop.GlopParameters.Builder, com.google.ortools.glop.GlopParametersOrBuilder>(
1194 getParentForChildren(),
1195 isClean());
1196 glopParameters_ = null;
1197 }
1198 return glopParametersBuilder_;
1199 }
1200
1201 // @@protoc_insertion_point(builder_scope:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions)
1202 }
1203
1204 // @@protoc_insertion_point(class_scope:operations_research.pdlp.PrimalDualHybridGradientParams.PresolveOptions)
1206 static {
1207 DEFAULT_INSTANCE = new com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions();
1208 }
1209
1213
1214 private static final com.google.protobuf.Parser<PresolveOptions>
1215 PARSER = new com.google.protobuf.AbstractParser<PresolveOptions>() {
1216 @java.lang.Override
1217 public PresolveOptions parsePartialFrom(
1218 com.google.protobuf.CodedInputStream input,
1219 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1220 throws com.google.protobuf.InvalidProtocolBufferException {
1221 Builder builder = newBuilder();
1222 try {
1223 builder.mergeFrom(input, extensionRegistry);
1224 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1225 throw e.setUnfinishedMessage(builder.buildPartial());
1226 } catch (com.google.protobuf.UninitializedMessageException e) {
1227 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
1228 } catch (java.io.IOException e) {
1229 throw new com.google.protobuf.InvalidProtocolBufferException(e)
1230 .setUnfinishedMessage(builder.buildPartial());
1231 }
1232 return builder.buildPartial();
1233 }
1234 };
1235
1236 public static com.google.protobuf.Parser<PresolveOptions> parser() {
1237 return PARSER;
1238 }
1239
1240 @java.lang.Override
1241 public com.google.protobuf.Parser<PresolveOptions> getParserForType() {
1242 return PARSER;
1243 }
1244
1245 @java.lang.Override
1249
1250 }
1251
1252 private int bitField0_;
1253 public static final int TERMINATION_CRITERIA_FIELD_NUMBER = 1;
1254 private com.google.ortools.pdlp.TerminationCriteria terminationCriteria_;
1259 @java.lang.Override
1260 public boolean hasTerminationCriteria() {
1261 return ((bitField0_ & 0x00000001) != 0);
1262 }
1267 @java.lang.Override
1269 return terminationCriteria_ == null ? com.google.ortools.pdlp.TerminationCriteria.getDefaultInstance() : terminationCriteria_;
1270 }
1274 @java.lang.Override
1276 return terminationCriteria_ == null ? com.google.ortools.pdlp.TerminationCriteria.getDefaultInstance() : terminationCriteria_;
1277 }
1278
1279 public static final int NUM_THREADS_FIELD_NUMBER = 2;
1280 private int numThreads_ = 1;
1292 @java.lang.Override
1293 public boolean hasNumThreads() {
1294 return ((bitField0_ & 0x00000002) != 0);
1295 }
1307 @java.lang.Override
1308 public int getNumThreads() {
1309 return numThreads_;
1310 }
1311
1312 public static final int NUM_SHARDS_FIELD_NUMBER = 27;
1313 private int numShards_ = 0;
1330 @java.lang.Override
1331 public boolean hasNumShards() {
1332 return ((bitField0_ & 0x00000004) != 0);
1333 }
1350 @java.lang.Override
1351 public int getNumShards() {
1352 return numShards_;
1353 }
1354
1355 public static final int RECORD_ITERATION_STATS_FIELD_NUMBER = 3;
1356 private boolean recordIterationStats_ = false;
1368 @java.lang.Override
1369 public boolean hasRecordIterationStats() {
1370 return ((bitField0_ & 0x00000008) != 0);
1371 }
1383 @java.lang.Override
1384 public boolean getRecordIterationStats() {
1385 return recordIterationStats_;
1386 }
1387
1388 public static final int VERBOSITY_LEVEL_FIELD_NUMBER = 26;
1389 private int verbosityLevel_ = 0;
1408 @java.lang.Override
1409 public boolean hasVerbosityLevel() {
1410 return ((bitField0_ & 0x00000010) != 0);
1411 }
1430 @java.lang.Override
1431 public int getVerbosityLevel() {
1432 return verbosityLevel_;
1433 }
1434
1435 public static final int LOG_INTERVAL_SECONDS_FIELD_NUMBER = 31;
1436 private double logIntervalSeconds_ = 0D;
1449 @java.lang.Override
1450 public boolean hasLogIntervalSeconds() {
1451 return ((bitField0_ & 0x00000020) != 0);
1452 }
1465 @java.lang.Override
1466 public double getLogIntervalSeconds() {
1467 return logIntervalSeconds_;
1468 }
1469
1470 public static final int MAJOR_ITERATION_FREQUENCY_FIELD_NUMBER = 4;
1471 private int majorIterationFrequency_ = 64;
1485 @java.lang.Override
1487 return ((bitField0_ & 0x00000040) != 0);
1488 }
1502 @java.lang.Override
1504 return majorIterationFrequency_;
1505 }
1506
1507 public static final int TERMINATION_CHECK_FREQUENCY_FIELD_NUMBER = 5;
1508 private int terminationCheckFrequency_ = 64;
1519 @java.lang.Override
1521 return ((bitField0_ & 0x00000080) != 0);
1522 }
1533 @java.lang.Override
1535 return terminationCheckFrequency_;
1536 }
1537
1538 public static final int RESTART_STRATEGY_FIELD_NUMBER = 6;
1539 private int restartStrategy_ = 3;
1550 @java.lang.Override public boolean hasRestartStrategy() {
1551 return ((bitField0_ & 0x00000100) != 0);
1552 }
1564 com.google.ortools.pdlp.PrimalDualHybridGradientParams.RestartStrategy result = com.google.ortools.pdlp.PrimalDualHybridGradientParams.RestartStrategy.forNumber(restartStrategy_);
1565 return result == null ? com.google.ortools.pdlp.PrimalDualHybridGradientParams.RestartStrategy.ADAPTIVE_HEURISTIC : result;
1566 }
1567
1569 private double primalWeightUpdateSmoothing_ = 0.5D;
1585 @java.lang.Override
1587 return ((bitField0_ & 0x00000200) != 0);
1588 }
1604 @java.lang.Override
1606 return primalWeightUpdateSmoothing_;
1607 }
1608
1609 public static final int INITIAL_PRIMAL_WEIGHT_FIELD_NUMBER = 8;
1610 private double initialPrimalWeight_ = 0D;
1625 @java.lang.Override
1626 public boolean hasInitialPrimalWeight() {
1627 return ((bitField0_ & 0x00000400) != 0);
1628 }
1643 @java.lang.Override
1644 public double getInitialPrimalWeight() {
1645 return initialPrimalWeight_;
1646 }
1647
1648 public static final int PRESOLVE_OPTIONS_FIELD_NUMBER = 16;
1654 @java.lang.Override
1655 public boolean hasPresolveOptions() {
1656 return ((bitField0_ & 0x00000800) != 0);
1657 }
1662 @java.lang.Override
1664 return presolveOptions_ == null ? com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.getDefaultInstance() : presolveOptions_;
1665 }
1669 @java.lang.Override
1671 return presolveOptions_ == null ? com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.getDefaultInstance() : presolveOptions_;
1672 }
1673
1674 public static final int L_INF_RUIZ_ITERATIONS_FIELD_NUMBER = 9;
1675 private int lInfRuizIterations_ = 5;
1686 @java.lang.Override
1687 public boolean hasLInfRuizIterations() {
1688 return ((bitField0_ & 0x00001000) != 0);
1689 }
1700 @java.lang.Override
1702 return lInfRuizIterations_;
1703 }
1704
1705 public static final int L2_NORM_RESCALING_FIELD_NUMBER = 10;
1706 private boolean l2NormRescaling_ = true;
1716 @java.lang.Override
1717 public boolean hasL2NormRescaling() {
1718 return ((bitField0_ & 0x00002000) != 0);
1719 }
1729 @java.lang.Override
1730 public boolean getL2NormRescaling() {
1731 return l2NormRescaling_;
1732 }
1733
1735 private double sufficientReductionForRestart_ = 0.1D;
1746 @java.lang.Override
1748 return ((bitField0_ & 0x00004000) != 0);
1749 }
1760 @java.lang.Override
1762 return sufficientReductionForRestart_;
1763 }
1764
1766 private double necessaryReductionForRestart_ = 0.9D;
1779 @java.lang.Override
1781 return ((bitField0_ & 0x00008000) != 0);
1782 }
1795 @java.lang.Override
1797 return necessaryReductionForRestart_;
1798 }
1799
1800 public static final int LINESEARCH_RULE_FIELD_NUMBER = 12;
1801 private int linesearchRule_ = 1;
1810 @java.lang.Override public boolean hasLinesearchRule() {
1811 return ((bitField0_ & 0x00010000) != 0);
1812 }
1822 com.google.ortools.pdlp.PrimalDualHybridGradientParams.LinesearchRule result = com.google.ortools.pdlp.PrimalDualHybridGradientParams.LinesearchRule.forNumber(linesearchRule_);
1823 return result == null ? com.google.ortools.pdlp.PrimalDualHybridGradientParams.LinesearchRule.ADAPTIVE_LINESEARCH_RULE : result;
1824 }
1825
1827 private com.google.ortools.pdlp.AdaptiveLinesearchParams adaptiveLinesearchParameters_;
1832 @java.lang.Override
1834 return ((bitField0_ & 0x00020000) != 0);
1835 }
1840 @java.lang.Override
1842 return adaptiveLinesearchParameters_ == null ? com.google.ortools.pdlp.AdaptiveLinesearchParams.getDefaultInstance() : adaptiveLinesearchParameters_;
1843 }
1847 @java.lang.Override
1849 return adaptiveLinesearchParameters_ == null ? com.google.ortools.pdlp.AdaptiveLinesearchParams.getDefaultInstance() : adaptiveLinesearchParameters_;
1850 }
1851
1852 public static final int MALITSKY_POCK_PARAMETERS_FIELD_NUMBER = 19;
1853 private com.google.ortools.pdlp.MalitskyPockParams malitskyPockParameters_;
1858 @java.lang.Override
1859 public boolean hasMalitskyPockParameters() {
1860 return ((bitField0_ & 0x00040000) != 0);
1861 }
1866 @java.lang.Override
1868 return malitskyPockParameters_ == null ? com.google.ortools.pdlp.MalitskyPockParams.getDefaultInstance() : malitskyPockParameters_;
1869 }
1873 @java.lang.Override
1875 return malitskyPockParameters_ == null ? com.google.ortools.pdlp.MalitskyPockParams.getDefaultInstance() : malitskyPockParameters_;
1876 }
1877
1878 public static final int INITIAL_STEP_SIZE_SCALING_FIELD_NUMBER = 25;
1879 private double initialStepSizeScaling_ = 1D;
1889 @java.lang.Override
1890 public boolean hasInitialStepSizeScaling() {
1891 return ((bitField0_ & 0x00080000) != 0);
1892 }
1902 @java.lang.Override
1904 return initialStepSizeScaling_;
1905 }
1906
1907 public static final int RANDOM_PROJECTION_SEEDS_FIELD_NUMBER = 28;
1908 @SuppressWarnings("serial")
1909 private com.google.protobuf.Internal.IntList randomProjectionSeeds_ =
1910 emptyIntList();
1924 @java.lang.Override
1925 public java.util.List<java.lang.Integer>
1927 return randomProjectionSeeds_;
1928 }
1943 return randomProjectionSeeds_.size();
1944 }
1959 public int getRandomProjectionSeeds(int index) {
1960 return randomProjectionSeeds_.getInt(index);
1961 }
1962 private int randomProjectionSeedsMemoizedSerializedSize = -1;
1963
1965 private double infiniteConstraintBoundThreshold_ = Double.POSITIVE_INFINITY;
1979 @java.lang.Override
1981 return ((bitField0_ & 0x00100000) != 0);
1982 }
1996 @java.lang.Override
1998 return infiniteConstraintBoundThreshold_;
1999 }
2000
2002 private boolean handleSomePrimalGradientsOnFiniteBoundsAsResiduals_ = true;
2013 @java.lang.Override
2015 return ((bitField0_ & 0x00200000) != 0);
2016 }
2027 @java.lang.Override
2029 return handleSomePrimalGradientsOnFiniteBoundsAsResiduals_;
2030 }
2031
2033 private boolean useDiagonalQpTrustRegionSolver_ = false;
2047 @java.lang.Override
2049 return ((bitField0_ & 0x00400000) != 0);
2050 }
2064 @java.lang.Override
2066 return useDiagonalQpTrustRegionSolver_;
2067 }
2068
2070 private double diagonalQpTrustRegionSolverTolerance_ = 1e-08D;
2083 @java.lang.Override
2085 return ((bitField0_ & 0x00800000) != 0);
2086 }
2099 @java.lang.Override
2101 return diagonalQpTrustRegionSolverTolerance_;
2102 }
2103
2104 public static final int USE_FEASIBILITY_POLISHING_FIELD_NUMBER = 30;
2105 private boolean useFeasibilityPolishing_ = false;
2139 @java.lang.Override
2141 return ((bitField0_ & 0x01000000) != 0);
2142 }
2176 @java.lang.Override
2178 return useFeasibilityPolishing_;
2179 }
2180
2181 private byte memoizedIsInitialized = -1;
2182 @java.lang.Override
2183 public final boolean isInitialized() {
2184 byte isInitialized = memoizedIsInitialized;
2185 if (isInitialized == 1) return true;
2186 if (isInitialized == 0) return false;
2187
2188 memoizedIsInitialized = 1;
2189 return true;
2190 }
2191
2192 @java.lang.Override
2193 public void writeTo(com.google.protobuf.CodedOutputStream output)
2194 throws java.io.IOException {
2196 if (((bitField0_ & 0x00000001) != 0)) {
2197 output.writeMessage(1, getTerminationCriteria());
2198 }
2199 if (((bitField0_ & 0x00000002) != 0)) {
2200 output.writeInt32(2, numThreads_);
2201 }
2202 if (((bitField0_ & 0x00000008) != 0)) {
2203 output.writeBool(3, recordIterationStats_);
2204 }
2205 if (((bitField0_ & 0x00000040) != 0)) {
2206 output.writeInt32(4, majorIterationFrequency_);
2207 }
2208 if (((bitField0_ & 0x00000080) != 0)) {
2209 output.writeInt32(5, terminationCheckFrequency_);
2210 }
2211 if (((bitField0_ & 0x00000100) != 0)) {
2212 output.writeEnum(6, restartStrategy_);
2213 }
2214 if (((bitField0_ & 0x00000200) != 0)) {
2215 output.writeDouble(7, primalWeightUpdateSmoothing_);
2216 }
2217 if (((bitField0_ & 0x00000400) != 0)) {
2218 output.writeDouble(8, initialPrimalWeight_);
2219 }
2220 if (((bitField0_ & 0x00001000) != 0)) {
2221 output.writeInt32(9, lInfRuizIterations_);
2222 }
2223 if (((bitField0_ & 0x00002000) != 0)) {
2224 output.writeBool(10, l2NormRescaling_);
2225 }
2226 if (((bitField0_ & 0x00004000) != 0)) {
2227 output.writeDouble(11, sufficientReductionForRestart_);
2228 }
2229 if (((bitField0_ & 0x00010000) != 0)) {
2230 output.writeEnum(12, linesearchRule_);
2231 }
2232 if (((bitField0_ & 0x00000800) != 0)) {
2233 output.writeMessage(16, getPresolveOptions());
2234 }
2235 if (((bitField0_ & 0x00008000) != 0)) {
2236 output.writeDouble(17, necessaryReductionForRestart_);
2237 }
2238 if (((bitField0_ & 0x00020000) != 0)) {
2239 output.writeMessage(18, getAdaptiveLinesearchParameters());
2240 }
2241 if (((bitField0_ & 0x00040000) != 0)) {
2242 output.writeMessage(19, getMalitskyPockParameters());
2243 }
2244 if (((bitField0_ & 0x00100000) != 0)) {
2245 output.writeDouble(22, infiniteConstraintBoundThreshold_);
2246 }
2247 if (((bitField0_ & 0x00400000) != 0)) {
2248 output.writeBool(23, useDiagonalQpTrustRegionSolver_);
2249 }
2250 if (((bitField0_ & 0x00800000) != 0)) {
2251 output.writeDouble(24, diagonalQpTrustRegionSolverTolerance_);
2252 }
2253 if (((bitField0_ & 0x00080000) != 0)) {
2254 output.writeDouble(25, initialStepSizeScaling_);
2255 }
2256 if (((bitField0_ & 0x00000010) != 0)) {
2257 output.writeInt32(26, verbosityLevel_);
2258 }
2259 if (((bitField0_ & 0x00000004) != 0)) {
2260 output.writeInt32(27, numShards_);
2261 }
2262 if (getRandomProjectionSeedsList().size() > 0) {
2263 output.writeUInt32NoTag(226);
2264 output.writeUInt32NoTag(randomProjectionSeedsMemoizedSerializedSize);
2265 }
2266 for (int i = 0; i < randomProjectionSeeds_.size(); i++) {
2267 output.writeInt32NoTag(randomProjectionSeeds_.getInt(i));
2268 }
2269 if (((bitField0_ & 0x00200000) != 0)) {
2270 output.writeBool(29, handleSomePrimalGradientsOnFiniteBoundsAsResiduals_);
2271 }
2272 if (((bitField0_ & 0x01000000) != 0)) {
2273 output.writeBool(30, useFeasibilityPolishing_);
2274 }
2275 if (((bitField0_ & 0x00000020) != 0)) {
2276 output.writeDouble(31, logIntervalSeconds_);
2277 }
2278 getUnknownFields().writeTo(output);
2279 }
2280
2281 @java.lang.Override
2282 public int getSerializedSize() {
2283 int size = memoizedSize;
2284 if (size != -1) return size;
2285
2286 size = 0;
2287 if (((bitField0_ & 0x00000001) != 0)) {
2288 size += com.google.protobuf.CodedOutputStream
2289 .computeMessageSize(1, getTerminationCriteria());
2290 }
2291 if (((bitField0_ & 0x00000002) != 0)) {
2292 size += com.google.protobuf.CodedOutputStream
2293 .computeInt32Size(2, numThreads_);
2294 }
2295 if (((bitField0_ & 0x00000008) != 0)) {
2296 size += com.google.protobuf.CodedOutputStream
2297 .computeBoolSize(3, recordIterationStats_);
2298 }
2299 if (((bitField0_ & 0x00000040) != 0)) {
2300 size += com.google.protobuf.CodedOutputStream
2301 .computeInt32Size(4, majorIterationFrequency_);
2302 }
2303 if (((bitField0_ & 0x00000080) != 0)) {
2304 size += com.google.protobuf.CodedOutputStream
2305 .computeInt32Size(5, terminationCheckFrequency_);
2306 }
2307 if (((bitField0_ & 0x00000100) != 0)) {
2308 size += com.google.protobuf.CodedOutputStream
2309 .computeEnumSize(6, restartStrategy_);
2310 }
2311 if (((bitField0_ & 0x00000200) != 0)) {
2312 size += com.google.protobuf.CodedOutputStream
2313 .computeDoubleSize(7, primalWeightUpdateSmoothing_);
2314 }
2315 if (((bitField0_ & 0x00000400) != 0)) {
2316 size += com.google.protobuf.CodedOutputStream
2317 .computeDoubleSize(8, initialPrimalWeight_);
2318 }
2319 if (((bitField0_ & 0x00001000) != 0)) {
2320 size += com.google.protobuf.CodedOutputStream
2321 .computeInt32Size(9, lInfRuizIterations_);
2322 }
2323 if (((bitField0_ & 0x00002000) != 0)) {
2324 size += com.google.protobuf.CodedOutputStream
2325 .computeBoolSize(10, l2NormRescaling_);
2326 }
2327 if (((bitField0_ & 0x00004000) != 0)) {
2328 size += com.google.protobuf.CodedOutputStream
2329 .computeDoubleSize(11, sufficientReductionForRestart_);
2330 }
2331 if (((bitField0_ & 0x00010000) != 0)) {
2332 size += com.google.protobuf.CodedOutputStream
2333 .computeEnumSize(12, linesearchRule_);
2334 }
2335 if (((bitField0_ & 0x00000800) != 0)) {
2336 size += com.google.protobuf.CodedOutputStream
2337 .computeMessageSize(16, getPresolveOptions());
2338 }
2339 if (((bitField0_ & 0x00008000) != 0)) {
2340 size += com.google.protobuf.CodedOutputStream
2341 .computeDoubleSize(17, necessaryReductionForRestart_);
2342 }
2343 if (((bitField0_ & 0x00020000) != 0)) {
2344 size += com.google.protobuf.CodedOutputStream
2345 .computeMessageSize(18, getAdaptiveLinesearchParameters());
2346 }
2347 if (((bitField0_ & 0x00040000) != 0)) {
2348 size += com.google.protobuf.CodedOutputStream
2349 .computeMessageSize(19, getMalitskyPockParameters());
2350 }
2351 if (((bitField0_ & 0x00100000) != 0)) {
2352 size += com.google.protobuf.CodedOutputStream
2353 .computeDoubleSize(22, infiniteConstraintBoundThreshold_);
2354 }
2355 if (((bitField0_ & 0x00400000) != 0)) {
2356 size += com.google.protobuf.CodedOutputStream
2357 .computeBoolSize(23, useDiagonalQpTrustRegionSolver_);
2358 }
2359 if (((bitField0_ & 0x00800000) != 0)) {
2360 size += com.google.protobuf.CodedOutputStream
2361 .computeDoubleSize(24, diagonalQpTrustRegionSolverTolerance_);
2362 }
2363 if (((bitField0_ & 0x00080000) != 0)) {
2364 size += com.google.protobuf.CodedOutputStream
2365 .computeDoubleSize(25, initialStepSizeScaling_);
2366 }
2367 if (((bitField0_ & 0x00000010) != 0)) {
2368 size += com.google.protobuf.CodedOutputStream
2369 .computeInt32Size(26, verbosityLevel_);
2370 }
2371 if (((bitField0_ & 0x00000004) != 0)) {
2372 size += com.google.protobuf.CodedOutputStream
2373 .computeInt32Size(27, numShards_);
2374 }
2375 {
2376 int dataSize = 0;
2377 for (int i = 0; i < randomProjectionSeeds_.size(); i++) {
2378 dataSize += com.google.protobuf.CodedOutputStream
2379 .computeInt32SizeNoTag(randomProjectionSeeds_.getInt(i));
2380 }
2381 size += dataSize;
2382 if (!getRandomProjectionSeedsList().isEmpty()) {
2383 size += 2;
2384 size += com.google.protobuf.CodedOutputStream
2385 .computeInt32SizeNoTag(dataSize);
2386 }
2387 randomProjectionSeedsMemoizedSerializedSize = dataSize;
2388 }
2389 if (((bitField0_ & 0x00200000) != 0)) {
2390 size += com.google.protobuf.CodedOutputStream
2391 .computeBoolSize(29, handleSomePrimalGradientsOnFiniteBoundsAsResiduals_);
2392 }
2393 if (((bitField0_ & 0x01000000) != 0)) {
2394 size += com.google.protobuf.CodedOutputStream
2395 .computeBoolSize(30, useFeasibilityPolishing_);
2396 }
2397 if (((bitField0_ & 0x00000020) != 0)) {
2398 size += com.google.protobuf.CodedOutputStream
2399 .computeDoubleSize(31, logIntervalSeconds_);
2400 }
2401 size += getUnknownFields().getSerializedSize();
2402 memoizedSize = size;
2403 return size;
2404 }
2405
2406 @java.lang.Override
2407 public boolean equals(final java.lang.Object obj) {
2408 if (obj == this) {
2409 return true;
2410 }
2411 if (!(obj instanceof com.google.ortools.pdlp.PrimalDualHybridGradientParams)) {
2412 return super.equals(obj);
2413 }
2414 com.google.ortools.pdlp.PrimalDualHybridGradientParams other = (com.google.ortools.pdlp.PrimalDualHybridGradientParams) obj;
2415
2416 if (hasTerminationCriteria() != other.hasTerminationCriteria()) return false;
2417 if (hasTerminationCriteria()) {
2419 .equals(other.getTerminationCriteria())) return false;
2420 }
2421 if (hasNumThreads() != other.hasNumThreads()) return false;
2422 if (hasNumThreads()) {
2423 if (getNumThreads()
2424 != other.getNumThreads()) return false;
2425 }
2426 if (hasNumShards() != other.hasNumShards()) return false;
2427 if (hasNumShards()) {
2428 if (getNumShards()
2429 != other.getNumShards()) return false;
2430 }
2431 if (hasRecordIterationStats() != other.hasRecordIterationStats()) return false;
2434 != other.getRecordIterationStats()) return false;
2435 }
2436 if (hasVerbosityLevel() != other.hasVerbosityLevel()) return false;
2437 if (hasVerbosityLevel()) {
2438 if (getVerbosityLevel()
2439 != other.getVerbosityLevel()) return false;
2440 }
2441 if (hasLogIntervalSeconds() != other.hasLogIntervalSeconds()) return false;
2442 if (hasLogIntervalSeconds()) {
2443 if (java.lang.Double.doubleToLongBits(getLogIntervalSeconds())
2444 != java.lang.Double.doubleToLongBits(
2445 other.getLogIntervalSeconds())) return false;
2446 }
2447 if (hasMajorIterationFrequency() != other.hasMajorIterationFrequency()) return false;
2450 != other.getMajorIterationFrequency()) return false;
2451 }
2452 if (hasTerminationCheckFrequency() != other.hasTerminationCheckFrequency()) return false;
2455 != other.getTerminationCheckFrequency()) return false;
2456 }
2457 if (hasRestartStrategy() != other.hasRestartStrategy()) return false;
2458 if (hasRestartStrategy()) {
2459 if (restartStrategy_ != other.restartStrategy_) return false;
2460 }
2463 if (java.lang.Double.doubleToLongBits(getPrimalWeightUpdateSmoothing())
2464 != java.lang.Double.doubleToLongBits(
2465 other.getPrimalWeightUpdateSmoothing())) return false;
2466 }
2467 if (hasInitialPrimalWeight() != other.hasInitialPrimalWeight()) return false;
2468 if (hasInitialPrimalWeight()) {
2469 if (java.lang.Double.doubleToLongBits(getInitialPrimalWeight())
2470 != java.lang.Double.doubleToLongBits(
2471 other.getInitialPrimalWeight())) return false;
2472 }
2473 if (hasPresolveOptions() != other.hasPresolveOptions()) return false;
2474 if (hasPresolveOptions()) {
2475 if (!getPresolveOptions()
2476 .equals(other.getPresolveOptions())) return false;
2477 }
2478 if (hasLInfRuizIterations() != other.hasLInfRuizIterations()) return false;
2479 if (hasLInfRuizIterations()) {
2481 != other.getLInfRuizIterations()) return false;
2482 }
2483 if (hasL2NormRescaling() != other.hasL2NormRescaling()) return false;
2484 if (hasL2NormRescaling()) {
2485 if (getL2NormRescaling()
2486 != other.getL2NormRescaling()) return false;
2487 }
2490 if (java.lang.Double.doubleToLongBits(getSufficientReductionForRestart())
2491 != java.lang.Double.doubleToLongBits(
2492 other.getSufficientReductionForRestart())) return false;
2493 }
2496 if (java.lang.Double.doubleToLongBits(getNecessaryReductionForRestart())
2497 != java.lang.Double.doubleToLongBits(
2498 other.getNecessaryReductionForRestart())) return false;
2499 }
2500 if (hasLinesearchRule() != other.hasLinesearchRule()) return false;
2501 if (hasLinesearchRule()) {
2502 if (linesearchRule_ != other.linesearchRule_) return false;
2503 }
2507 .equals(other.getAdaptiveLinesearchParameters())) return false;
2508 }
2509 if (hasMalitskyPockParameters() != other.hasMalitskyPockParameters()) return false;
2512 .equals(other.getMalitskyPockParameters())) return false;
2513 }
2514 if (hasInitialStepSizeScaling() != other.hasInitialStepSizeScaling()) return false;
2516 if (java.lang.Double.doubleToLongBits(getInitialStepSizeScaling())
2517 != java.lang.Double.doubleToLongBits(
2518 other.getInitialStepSizeScaling())) return false;
2519 }
2521 .equals(other.getRandomProjectionSeedsList())) return false;
2524 if (java.lang.Double.doubleToLongBits(getInfiniteConstraintBoundThreshold())
2525 != java.lang.Double.doubleToLongBits(
2526 other.getInfiniteConstraintBoundThreshold())) return false;
2527 }
2532 }
2536 != other.getUseDiagonalQpTrustRegionSolver()) return false;
2537 }
2540 if (java.lang.Double.doubleToLongBits(getDiagonalQpTrustRegionSolverTolerance())
2541 != java.lang.Double.doubleToLongBits(
2542 other.getDiagonalQpTrustRegionSolverTolerance())) return false;
2543 }
2544 if (hasUseFeasibilityPolishing() != other.hasUseFeasibilityPolishing()) return false;
2547 != other.getUseFeasibilityPolishing()) return false;
2548 }
2549 if (!getUnknownFields().equals(other.getUnknownFields())) return false;
2550 return true;
2551 }
2552
2553 @java.lang.Override
2554 public int hashCode() {
2555 if (memoizedHashCode != 0) {
2556 return memoizedHashCode;
2557 }
2558 int hash = 41;
2559 hash = (19 * hash) + getDescriptor().hashCode();
2560 if (hasTerminationCriteria()) {
2561 hash = (37 * hash) + TERMINATION_CRITERIA_FIELD_NUMBER;
2562 hash = (53 * hash) + getTerminationCriteria().hashCode();
2563 }
2564 if (hasNumThreads()) {
2565 hash = (37 * hash) + NUM_THREADS_FIELD_NUMBER;
2566 hash = (53 * hash) + getNumThreads();
2567 }
2568 if (hasNumShards()) {
2569 hash = (37 * hash) + NUM_SHARDS_FIELD_NUMBER;
2570 hash = (53 * hash) + getNumShards();
2571 }
2573 hash = (37 * hash) + RECORD_ITERATION_STATS_FIELD_NUMBER;
2574 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2576 }
2577 if (hasVerbosityLevel()) {
2578 hash = (37 * hash) + VERBOSITY_LEVEL_FIELD_NUMBER;
2579 hash = (53 * hash) + getVerbosityLevel();
2580 }
2581 if (hasLogIntervalSeconds()) {
2582 hash = (37 * hash) + LOG_INTERVAL_SECONDS_FIELD_NUMBER;
2583 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2584 java.lang.Double.doubleToLongBits(getLogIntervalSeconds()));
2585 }
2587 hash = (37 * hash) + MAJOR_ITERATION_FREQUENCY_FIELD_NUMBER;
2588 hash = (53 * hash) + getMajorIterationFrequency();
2589 }
2591 hash = (37 * hash) + TERMINATION_CHECK_FREQUENCY_FIELD_NUMBER;
2592 hash = (53 * hash) + getTerminationCheckFrequency();
2593 }
2594 if (hasRestartStrategy()) {
2595 hash = (37 * hash) + RESTART_STRATEGY_FIELD_NUMBER;
2596 hash = (53 * hash) + restartStrategy_;
2597 }
2600 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2601 java.lang.Double.doubleToLongBits(getPrimalWeightUpdateSmoothing()));
2602 }
2603 if (hasInitialPrimalWeight()) {
2604 hash = (37 * hash) + INITIAL_PRIMAL_WEIGHT_FIELD_NUMBER;
2605 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2606 java.lang.Double.doubleToLongBits(getInitialPrimalWeight()));
2607 }
2608 if (hasPresolveOptions()) {
2609 hash = (37 * hash) + PRESOLVE_OPTIONS_FIELD_NUMBER;
2610 hash = (53 * hash) + getPresolveOptions().hashCode();
2611 }
2612 if (hasLInfRuizIterations()) {
2613 hash = (37 * hash) + L_INF_RUIZ_ITERATIONS_FIELD_NUMBER;
2614 hash = (53 * hash) + getLInfRuizIterations();
2615 }
2616 if (hasL2NormRescaling()) {
2617 hash = (37 * hash) + L2_NORM_RESCALING_FIELD_NUMBER;
2618 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2620 }
2623 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2624 java.lang.Double.doubleToLongBits(getSufficientReductionForRestart()));
2625 }
2628 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2629 java.lang.Double.doubleToLongBits(getNecessaryReductionForRestart()));
2630 }
2631 if (hasLinesearchRule()) {
2632 hash = (37 * hash) + LINESEARCH_RULE_FIELD_NUMBER;
2633 hash = (53 * hash) + linesearchRule_;
2634 }
2637 hash = (53 * hash) + getAdaptiveLinesearchParameters().hashCode();
2638 }
2640 hash = (37 * hash) + MALITSKY_POCK_PARAMETERS_FIELD_NUMBER;
2641 hash = (53 * hash) + getMalitskyPockParameters().hashCode();
2642 }
2644 hash = (37 * hash) + INITIAL_STEP_SIZE_SCALING_FIELD_NUMBER;
2645 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2646 java.lang.Double.doubleToLongBits(getInitialStepSizeScaling()));
2647 }
2649 hash = (37 * hash) + RANDOM_PROJECTION_SEEDS_FIELD_NUMBER;
2650 hash = (53 * hash) + getRandomProjectionSeedsList().hashCode();
2651 }
2654 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2655 java.lang.Double.doubleToLongBits(getInfiniteConstraintBoundThreshold()));
2656 }
2659 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2661 }
2664 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2666 }
2669 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2670 java.lang.Double.doubleToLongBits(getDiagonalQpTrustRegionSolverTolerance()));
2671 }
2673 hash = (37 * hash) + USE_FEASIBILITY_POLISHING_FIELD_NUMBER;
2674 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2676 }
2677 hash = (29 * hash) + getUnknownFields().hashCode();
2678 memoizedHashCode = hash;
2679 return hash;
2680 }
2681
2683 java.nio.ByteBuffer data)
2684 throws com.google.protobuf.InvalidProtocolBufferException {
2685 return PARSER.parseFrom(data);
2686 }
2688 java.nio.ByteBuffer data,
2689 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2690 throws com.google.protobuf.InvalidProtocolBufferException {
2691 return PARSER.parseFrom(data, extensionRegistry);
2692 }
2694 com.google.protobuf.ByteString data)
2695 throws com.google.protobuf.InvalidProtocolBufferException {
2696 return PARSER.parseFrom(data);
2697 }
2699 com.google.protobuf.ByteString data,
2700 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2701 throws com.google.protobuf.InvalidProtocolBufferException {
2702 return PARSER.parseFrom(data, extensionRegistry);
2703 }
2705 throws com.google.protobuf.InvalidProtocolBufferException {
2706 return PARSER.parseFrom(data);
2707 }
2709 byte[] data,
2710 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2711 throws com.google.protobuf.InvalidProtocolBufferException {
2712 return PARSER.parseFrom(data, extensionRegistry);
2713 }
2715 throws java.io.IOException {
2716 return com.google.protobuf.GeneratedMessage
2717 .parseWithIOException(PARSER, input);
2718 }
2720 java.io.InputStream input,
2721 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2722 throws java.io.IOException {
2723 return com.google.protobuf.GeneratedMessage
2724 .parseWithIOException(PARSER, input, extensionRegistry);
2725 }
2726
2728 throws java.io.IOException {
2729 return com.google.protobuf.GeneratedMessage
2730 .parseDelimitedWithIOException(PARSER, input);
2731 }
2732
2734 java.io.InputStream input,
2735 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2736 throws java.io.IOException {
2737 return com.google.protobuf.GeneratedMessage
2738 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
2739 }
2741 com.google.protobuf.CodedInputStream input)
2742 throws java.io.IOException {
2743 return com.google.protobuf.GeneratedMessage
2744 .parseWithIOException(PARSER, input);
2745 }
2747 com.google.protobuf.CodedInputStream input,
2748 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2749 throws java.io.IOException {
2750 return com.google.protobuf.GeneratedMessage
2751 .parseWithIOException(PARSER, input, extensionRegistry);
2752 }
2753
2754 @java.lang.Override
2755 public Builder newBuilderForType() { return newBuilder(); }
2756 public static Builder newBuilder() {
2757 return DEFAULT_INSTANCE.toBuilder();
2758 }
2759 public static Builder newBuilder(com.google.ortools.pdlp.PrimalDualHybridGradientParams prototype) {
2760 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
2761 }
2762 @java.lang.Override
2764 return this == DEFAULT_INSTANCE
2765 ? new Builder() : new Builder().mergeFrom(this);
2766 }
2767
2768 @java.lang.Override
2770 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
2771 Builder builder = new Builder(parent);
2772 return builder;
2773 }
2790 public static final class Builder extends
2791 com.google.protobuf.GeneratedMessage.Builder<Builder> implements
2792 // @@protoc_insertion_point(builder_implements:operations_research.pdlp.PrimalDualHybridGradientParams)
2793 com.google.ortools.pdlp.PrimalDualHybridGradientParamsOrBuilder {
2794 public static final com.google.protobuf.Descriptors.Descriptor
2796 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_PrimalDualHybridGradientParams_descriptor;
2797 }
2798
2799 @java.lang.Override
2800 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
2802 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_PrimalDualHybridGradientParams_fieldAccessorTable
2803 .ensureFieldAccessorsInitialized(
2804 com.google.ortools.pdlp.PrimalDualHybridGradientParams.class, com.google.ortools.pdlp.PrimalDualHybridGradientParams.Builder.class);
2805 }
2806
2807 // Construct using com.google.ortools.pdlp.PrimalDualHybridGradientParams.newBuilder()
2808 private Builder() {
2809 maybeForceBuilderInitialization();
2810 }
2811
2812 private Builder(
2813 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
2814 super(parent);
2815 maybeForceBuilderInitialization();
2816 }
2817 private void maybeForceBuilderInitialization() {
2818 if (com.google.protobuf.GeneratedMessage
2819 .alwaysUseFieldBuilders) {
2820 getTerminationCriteriaFieldBuilder();
2821 getPresolveOptionsFieldBuilder();
2822 getAdaptiveLinesearchParametersFieldBuilder();
2823 getMalitskyPockParametersFieldBuilder();
2824 }
2825 }
2826 @java.lang.Override
2827 public Builder clear() {
2828 super.clear();
2829 bitField0_ = 0;
2830 terminationCriteria_ = null;
2831 if (terminationCriteriaBuilder_ != null) {
2832 terminationCriteriaBuilder_.dispose();
2833 terminationCriteriaBuilder_ = null;
2834 }
2835 numThreads_ = 1;
2836 numShards_ = 0;
2837 recordIterationStats_ = false;
2838 verbosityLevel_ = 0;
2839 logIntervalSeconds_ = 0D;
2840 majorIterationFrequency_ = 64;
2841 terminationCheckFrequency_ = 64;
2842 restartStrategy_ = 3;
2843 primalWeightUpdateSmoothing_ = 0.5D;
2844 initialPrimalWeight_ = 0D;
2845 presolveOptions_ = null;
2846 if (presolveOptionsBuilder_ != null) {
2847 presolveOptionsBuilder_.dispose();
2848 presolveOptionsBuilder_ = null;
2849 }
2850 lInfRuizIterations_ = 5;
2851 l2NormRescaling_ = true;
2852 sufficientReductionForRestart_ = 0.1D;
2853 necessaryReductionForRestart_ = 0.9D;
2854 linesearchRule_ = 1;
2855 adaptiveLinesearchParameters_ = null;
2856 if (adaptiveLinesearchParametersBuilder_ != null) {
2857 adaptiveLinesearchParametersBuilder_.dispose();
2858 adaptiveLinesearchParametersBuilder_ = null;
2859 }
2860 malitskyPockParameters_ = null;
2861 if (malitskyPockParametersBuilder_ != null) {
2862 malitskyPockParametersBuilder_.dispose();
2863 malitskyPockParametersBuilder_ = null;
2864 }
2865 initialStepSizeScaling_ = 1D;
2866 randomProjectionSeeds_ = emptyIntList();
2867 infiniteConstraintBoundThreshold_ = Double.POSITIVE_INFINITY;
2868 handleSomePrimalGradientsOnFiniteBoundsAsResiduals_ = true;
2869 useDiagonalQpTrustRegionSolver_ = false;
2870 diagonalQpTrustRegionSolverTolerance_ = 1e-08D;
2871 useFeasibilityPolishing_ = false;
2872 return this;
2873 }
2874
2875 @java.lang.Override
2876 public com.google.protobuf.Descriptors.Descriptor
2878 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_PrimalDualHybridGradientParams_descriptor;
2879 }
2880
2881 @java.lang.Override
2883 return com.google.ortools.pdlp.PrimalDualHybridGradientParams.getDefaultInstance();
2884 }
2885
2886 @java.lang.Override
2889 if (!result.isInitialized()) {
2890 throw newUninitializedMessageException(result);
2891 }
2892 return result;
2893 }
2894
2895 @java.lang.Override
2897 com.google.ortools.pdlp.PrimalDualHybridGradientParams result = new com.google.ortools.pdlp.PrimalDualHybridGradientParams(this);
2898 if (bitField0_ != 0) { buildPartial0(result); }
2899 onBuilt();
2900 return result;
2901 }
2902
2903 private void buildPartial0(com.google.ortools.pdlp.PrimalDualHybridGradientParams result) {
2904 int from_bitField0_ = bitField0_;
2905 int to_bitField0_ = 0;
2906 if (((from_bitField0_ & 0x00000001) != 0)) {
2907 result.terminationCriteria_ = terminationCriteriaBuilder_ == null
2908 ? terminationCriteria_
2909 : terminationCriteriaBuilder_.build();
2910 to_bitField0_ |= 0x00000001;
2911 }
2912 if (((from_bitField0_ & 0x00000002) != 0)) {
2913 result.numThreads_ = numThreads_;
2914 to_bitField0_ |= 0x00000002;
2915 }
2916 if (((from_bitField0_ & 0x00000004) != 0)) {
2917 result.numShards_ = numShards_;
2918 to_bitField0_ |= 0x00000004;
2919 }
2920 if (((from_bitField0_ & 0x00000008) != 0)) {
2921 result.recordIterationStats_ = recordIterationStats_;
2922 to_bitField0_ |= 0x00000008;
2923 }
2924 if (((from_bitField0_ & 0x00000010) != 0)) {
2925 result.verbosityLevel_ = verbosityLevel_;
2926 to_bitField0_ |= 0x00000010;
2927 }
2928 if (((from_bitField0_ & 0x00000020) != 0)) {
2929 result.logIntervalSeconds_ = logIntervalSeconds_;
2930 to_bitField0_ |= 0x00000020;
2931 }
2932 if (((from_bitField0_ & 0x00000040) != 0)) {
2933 result.majorIterationFrequency_ = majorIterationFrequency_;
2934 to_bitField0_ |= 0x00000040;
2935 }
2936 if (((from_bitField0_ & 0x00000080) != 0)) {
2937 result.terminationCheckFrequency_ = terminationCheckFrequency_;
2938 to_bitField0_ |= 0x00000080;
2939 }
2940 if (((from_bitField0_ & 0x00000100) != 0)) {
2941 result.restartStrategy_ = restartStrategy_;
2942 to_bitField0_ |= 0x00000100;
2943 }
2944 if (((from_bitField0_ & 0x00000200) != 0)) {
2945 result.primalWeightUpdateSmoothing_ = primalWeightUpdateSmoothing_;
2946 to_bitField0_ |= 0x00000200;
2947 }
2948 if (((from_bitField0_ & 0x00000400) != 0)) {
2949 result.initialPrimalWeight_ = initialPrimalWeight_;
2950 to_bitField0_ |= 0x00000400;
2951 }
2952 if (((from_bitField0_ & 0x00000800) != 0)) {
2953 result.presolveOptions_ = presolveOptionsBuilder_ == null
2954 ? presolveOptions_
2955 : presolveOptionsBuilder_.build();
2956 to_bitField0_ |= 0x00000800;
2957 }
2958 if (((from_bitField0_ & 0x00001000) != 0)) {
2959 result.lInfRuizIterations_ = lInfRuizIterations_;
2960 to_bitField0_ |= 0x00001000;
2961 }
2962 if (((from_bitField0_ & 0x00002000) != 0)) {
2963 result.l2NormRescaling_ = l2NormRescaling_;
2964 to_bitField0_ |= 0x00002000;
2965 }
2966 if (((from_bitField0_ & 0x00004000) != 0)) {
2967 result.sufficientReductionForRestart_ = sufficientReductionForRestart_;
2968 to_bitField0_ |= 0x00004000;
2969 }
2970 if (((from_bitField0_ & 0x00008000) != 0)) {
2971 result.necessaryReductionForRestart_ = necessaryReductionForRestart_;
2972 to_bitField0_ |= 0x00008000;
2973 }
2974 if (((from_bitField0_ & 0x00010000) != 0)) {
2975 result.linesearchRule_ = linesearchRule_;
2976 to_bitField0_ |= 0x00010000;
2977 }
2978 if (((from_bitField0_ & 0x00020000) != 0)) {
2979 result.adaptiveLinesearchParameters_ = adaptiveLinesearchParametersBuilder_ == null
2980 ? adaptiveLinesearchParameters_
2981 : adaptiveLinesearchParametersBuilder_.build();
2982 to_bitField0_ |= 0x00020000;
2983 }
2984 if (((from_bitField0_ & 0x00040000) != 0)) {
2985 result.malitskyPockParameters_ = malitskyPockParametersBuilder_ == null
2986 ? malitskyPockParameters_
2987 : malitskyPockParametersBuilder_.build();
2988 to_bitField0_ |= 0x00040000;
2989 }
2990 if (((from_bitField0_ & 0x00080000) != 0)) {
2991 result.initialStepSizeScaling_ = initialStepSizeScaling_;
2992 to_bitField0_ |= 0x00080000;
2993 }
2994 if (((from_bitField0_ & 0x00100000) != 0)) {
2995 randomProjectionSeeds_.makeImmutable();
2996 result.randomProjectionSeeds_ = randomProjectionSeeds_;
2997 }
2998 if (((from_bitField0_ & 0x00200000) != 0)) {
2999 result.infiniteConstraintBoundThreshold_ = infiniteConstraintBoundThreshold_;
3000 to_bitField0_ |= 0x00100000;
3001 }
3002 if (((from_bitField0_ & 0x00400000) != 0)) {
3003 result.handleSomePrimalGradientsOnFiniteBoundsAsResiduals_ = handleSomePrimalGradientsOnFiniteBoundsAsResiduals_;
3004 to_bitField0_ |= 0x00200000;
3005 }
3006 if (((from_bitField0_ & 0x00800000) != 0)) {
3007 result.useDiagonalQpTrustRegionSolver_ = useDiagonalQpTrustRegionSolver_;
3008 to_bitField0_ |= 0x00400000;
3009 }
3010 if (((from_bitField0_ & 0x01000000) != 0)) {
3011 result.diagonalQpTrustRegionSolverTolerance_ = diagonalQpTrustRegionSolverTolerance_;
3012 to_bitField0_ |= 0x00800000;
3013 }
3014 if (((from_bitField0_ & 0x02000000) != 0)) {
3015 result.useFeasibilityPolishing_ = useFeasibilityPolishing_;
3016 to_bitField0_ |= 0x01000000;
3017 }
3018 result.bitField0_ |= to_bitField0_;
3019 }
3020
3021 @java.lang.Override
3022 public Builder mergeFrom(com.google.protobuf.Message other) {
3023 if (other instanceof com.google.ortools.pdlp.PrimalDualHybridGradientParams) {
3024 return mergeFrom((com.google.ortools.pdlp.PrimalDualHybridGradientParams)other);
3025 } else {
3026 super.mergeFrom(other);
3027 return this;
3028 }
3029 }
3030
3031 public Builder mergeFrom(com.google.ortools.pdlp.PrimalDualHybridGradientParams other) {
3032 if (other == com.google.ortools.pdlp.PrimalDualHybridGradientParams.getDefaultInstance()) return this;
3033 if (other.hasTerminationCriteria()) {
3034 mergeTerminationCriteria(other.getTerminationCriteria());
3035 }
3036 if (other.hasNumThreads()) {
3037 setNumThreads(other.getNumThreads());
3038 }
3039 if (other.hasNumShards()) {
3040 setNumShards(other.getNumShards());
3041 }
3042 if (other.hasRecordIterationStats()) {
3043 setRecordIterationStats(other.getRecordIterationStats());
3044 }
3045 if (other.hasVerbosityLevel()) {
3046 setVerbosityLevel(other.getVerbosityLevel());
3047 }
3048 if (other.hasLogIntervalSeconds()) {
3049 setLogIntervalSeconds(other.getLogIntervalSeconds());
3050 }
3051 if (other.hasMajorIterationFrequency()) {
3052 setMajorIterationFrequency(other.getMajorIterationFrequency());
3053 }
3054 if (other.hasTerminationCheckFrequency()) {
3055 setTerminationCheckFrequency(other.getTerminationCheckFrequency());
3056 }
3057 if (other.hasRestartStrategy()) {
3058 setRestartStrategy(other.getRestartStrategy());
3059 }
3060 if (other.hasPrimalWeightUpdateSmoothing()) {
3061 setPrimalWeightUpdateSmoothing(other.getPrimalWeightUpdateSmoothing());
3062 }
3063 if (other.hasInitialPrimalWeight()) {
3064 setInitialPrimalWeight(other.getInitialPrimalWeight());
3065 }
3066 if (other.hasPresolveOptions()) {
3067 mergePresolveOptions(other.getPresolveOptions());
3068 }
3069 if (other.hasLInfRuizIterations()) {
3070 setLInfRuizIterations(other.getLInfRuizIterations());
3071 }
3072 if (other.hasL2NormRescaling()) {
3073 setL2NormRescaling(other.getL2NormRescaling());
3074 }
3075 if (other.hasSufficientReductionForRestart()) {
3076 setSufficientReductionForRestart(other.getSufficientReductionForRestart());
3077 }
3078 if (other.hasNecessaryReductionForRestart()) {
3079 setNecessaryReductionForRestart(other.getNecessaryReductionForRestart());
3080 }
3081 if (other.hasLinesearchRule()) {
3082 setLinesearchRule(other.getLinesearchRule());
3083 }
3084 if (other.hasAdaptiveLinesearchParameters()) {
3085 mergeAdaptiveLinesearchParameters(other.getAdaptiveLinesearchParameters());
3086 }
3087 if (other.hasMalitskyPockParameters()) {
3088 mergeMalitskyPockParameters(other.getMalitskyPockParameters());
3089 }
3090 if (other.hasInitialStepSizeScaling()) {
3091 setInitialStepSizeScaling(other.getInitialStepSizeScaling());
3092 }
3093 if (!other.randomProjectionSeeds_.isEmpty()) {
3094 if (randomProjectionSeeds_.isEmpty()) {
3095 randomProjectionSeeds_ = other.randomProjectionSeeds_;
3096 randomProjectionSeeds_.makeImmutable();
3097 bitField0_ |= 0x00100000;
3098 } else {
3099 ensureRandomProjectionSeedsIsMutable();
3100 randomProjectionSeeds_.addAll(other.randomProjectionSeeds_);
3101 }
3102 onChanged();
3103 }
3104 if (other.hasInfiniteConstraintBoundThreshold()) {
3105 setInfiniteConstraintBoundThreshold(other.getInfiniteConstraintBoundThreshold());
3106 }
3107 if (other.hasHandleSomePrimalGradientsOnFiniteBoundsAsResiduals()) {
3108 setHandleSomePrimalGradientsOnFiniteBoundsAsResiduals(other.getHandleSomePrimalGradientsOnFiniteBoundsAsResiduals());
3109 }
3110 if (other.hasUseDiagonalQpTrustRegionSolver()) {
3111 setUseDiagonalQpTrustRegionSolver(other.getUseDiagonalQpTrustRegionSolver());
3112 }
3113 if (other.hasDiagonalQpTrustRegionSolverTolerance()) {
3114 setDiagonalQpTrustRegionSolverTolerance(other.getDiagonalQpTrustRegionSolverTolerance());
3115 }
3116 if (other.hasUseFeasibilityPolishing()) {
3117 setUseFeasibilityPolishing(other.getUseFeasibilityPolishing());
3118 }
3119 this.mergeUnknownFields(other.getUnknownFields());
3120 onChanged();
3121 return this;
3122 }
3123
3124 @java.lang.Override
3125 public final boolean isInitialized() {
3126 return true;
3127 }
3128
3129 @java.lang.Override
3131 com.google.protobuf.CodedInputStream input,
3132 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3133 throws java.io.IOException {
3134 if (extensionRegistry == null) {
3135 throw new java.lang.NullPointerException();
3136 }
3137 try {
3138 boolean done = false;
3139 while (!done) {
3140 int tag = input.readTag();
3141 switch (tag) {
3142 case 0:
3143 done = true;
3144 break;
3145 case 10: {
3146 input.readMessage(
3147 getTerminationCriteriaFieldBuilder().getBuilder(),
3148 extensionRegistry);
3149 bitField0_ |= 0x00000001;
3150 break;
3151 } // case 10
3152 case 16: {
3153 numThreads_ = input.readInt32();
3154 bitField0_ |= 0x00000002;
3155 break;
3156 } // case 16
3157 case 24: {
3158 recordIterationStats_ = input.readBool();
3159 bitField0_ |= 0x00000008;
3160 break;
3161 } // case 24
3162 case 32: {
3163 majorIterationFrequency_ = input.readInt32();
3164 bitField0_ |= 0x00000040;
3165 break;
3166 } // case 32
3167 case 40: {
3168 terminationCheckFrequency_ = input.readInt32();
3169 bitField0_ |= 0x00000080;
3170 break;
3171 } // case 40
3172 case 48: {
3173 int tmpRaw = input.readEnum();
3175 com.google.ortools.pdlp.PrimalDualHybridGradientParams.RestartStrategy.forNumber(tmpRaw);
3176 if (tmpValue == null) {
3177 mergeUnknownVarintField(6, tmpRaw);
3178 } else {
3179 restartStrategy_ = tmpRaw;
3180 bitField0_ |= 0x00000100;
3181 }
3182 break;
3183 } // case 48
3184 case 57: {
3185 primalWeightUpdateSmoothing_ = input.readDouble();
3186 bitField0_ |= 0x00000200;
3187 break;
3188 } // case 57
3189 case 65: {
3190 initialPrimalWeight_ = input.readDouble();
3191 bitField0_ |= 0x00000400;
3192 break;
3193 } // case 65
3194 case 72: {
3195 lInfRuizIterations_ = input.readInt32();
3196 bitField0_ |= 0x00001000;
3197 break;
3198 } // case 72
3199 case 80: {
3200 l2NormRescaling_ = input.readBool();
3201 bitField0_ |= 0x00002000;
3202 break;
3203 } // case 80
3204 case 89: {
3205 sufficientReductionForRestart_ = input.readDouble();
3206 bitField0_ |= 0x00004000;
3207 break;
3208 } // case 89
3209 case 96: {
3210 int tmpRaw = input.readEnum();
3212 com.google.ortools.pdlp.PrimalDualHybridGradientParams.LinesearchRule.forNumber(tmpRaw);
3213 if (tmpValue == null) {
3214 mergeUnknownVarintField(12, tmpRaw);
3215 } else {
3216 linesearchRule_ = tmpRaw;
3217 bitField0_ |= 0x00010000;
3218 }
3219 break;
3220 } // case 96
3221 case 130: {
3222 input.readMessage(
3223 getPresolveOptionsFieldBuilder().getBuilder(),
3224 extensionRegistry);
3225 bitField0_ |= 0x00000800;
3226 break;
3227 } // case 130
3228 case 137: {
3229 necessaryReductionForRestart_ = input.readDouble();
3230 bitField0_ |= 0x00008000;
3231 break;
3232 } // case 137
3233 case 146: {
3234 input.readMessage(
3235 getAdaptiveLinesearchParametersFieldBuilder().getBuilder(),
3236 extensionRegistry);
3237 bitField0_ |= 0x00020000;
3238 break;
3239 } // case 146
3240 case 154: {
3241 input.readMessage(
3242 getMalitskyPockParametersFieldBuilder().getBuilder(),
3243 extensionRegistry);
3244 bitField0_ |= 0x00040000;
3245 break;
3246 } // case 154
3247 case 177: {
3248 infiniteConstraintBoundThreshold_ = input.readDouble();
3249 bitField0_ |= 0x00200000;
3250 break;
3251 } // case 177
3252 case 184: {
3253 useDiagonalQpTrustRegionSolver_ = input.readBool();
3254 bitField0_ |= 0x00800000;
3255 break;
3256 } // case 184
3257 case 193: {
3258 diagonalQpTrustRegionSolverTolerance_ = input.readDouble();
3259 bitField0_ |= 0x01000000;
3260 break;
3261 } // case 193
3262 case 201: {
3263 initialStepSizeScaling_ = input.readDouble();
3264 bitField0_ |= 0x00080000;
3265 break;
3266 } // case 201
3267 case 208: {
3268 verbosityLevel_ = input.readInt32();
3269 bitField0_ |= 0x00000010;
3270 break;
3271 } // case 208
3272 case 216: {
3273 numShards_ = input.readInt32();
3274 bitField0_ |= 0x00000004;
3275 break;
3276 } // case 216
3277 case 224: {
3278 int v = input.readInt32();
3279 ensureRandomProjectionSeedsIsMutable();
3280 randomProjectionSeeds_.addInt(v);
3281 break;
3282 } // case 224
3283 case 226: {
3284 int length = input.readRawVarint32();
3285 int limit = input.pushLimit(length);
3286 ensureRandomProjectionSeedsIsMutable();
3287 while (input.getBytesUntilLimit() > 0) {
3288 randomProjectionSeeds_.addInt(input.readInt32());
3289 }
3290 input.popLimit(limit);
3291 break;
3292 } // case 226
3293 case 232: {
3294 handleSomePrimalGradientsOnFiniteBoundsAsResiduals_ = input.readBool();
3295 bitField0_ |= 0x00400000;
3296 break;
3297 } // case 232
3298 case 240: {
3299 useFeasibilityPolishing_ = input.readBool();
3300 bitField0_ |= 0x02000000;
3301 break;
3302 } // case 240
3303 case 249: {
3304 logIntervalSeconds_ = input.readDouble();
3305 bitField0_ |= 0x00000020;
3306 break;
3307 } // case 249
3308 default: {
3309 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
3310 done = true; // was an endgroup tag
3311 }
3312 break;
3313 } // default:
3314 } // switch (tag)
3315 } // while (!done)
3316 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3317 throw e.unwrapIOException();
3318 } finally {
3319 onChanged();
3320 } // finally
3321 return this;
3322 }
3323 private int bitField0_;
3324
3325 private com.google.ortools.pdlp.TerminationCriteria terminationCriteria_;
3326 private com.google.protobuf.SingleFieldBuilder<
3327 com.google.ortools.pdlp.TerminationCriteria, com.google.ortools.pdlp.TerminationCriteria.Builder, com.google.ortools.pdlp.TerminationCriteriaOrBuilder> terminationCriteriaBuilder_;
3332 public boolean hasTerminationCriteria() {
3333 return ((bitField0_ & 0x00000001) != 0);
3334 }
3340 if (terminationCriteriaBuilder_ == null) {
3341 return terminationCriteria_ == null ? com.google.ortools.pdlp.TerminationCriteria.getDefaultInstance() : terminationCriteria_;
3342 } else {
3343 return terminationCriteriaBuilder_.getMessage();
3344 }
3345 }
3349 public Builder setTerminationCriteria(com.google.ortools.pdlp.TerminationCriteria value) {
3350 if (terminationCriteriaBuilder_ == null) {
3351 if (value == null) {
3352 throw new NullPointerException();
3353 }
3354 terminationCriteria_ = value;
3355 } else {
3356 terminationCriteriaBuilder_.setMessage(value);
3357 }
3358 bitField0_ |= 0x00000001;
3359 onChanged();
3360 return this;
3361 }
3366 com.google.ortools.pdlp.TerminationCriteria.Builder builderForValue) {
3367 if (terminationCriteriaBuilder_ == null) {
3368 terminationCriteria_ = builderForValue.build();
3369 } else {
3370 terminationCriteriaBuilder_.setMessage(builderForValue.build());
3371 }
3372 bitField0_ |= 0x00000001;
3373 onChanged();
3374 return this;
3375 }
3379 public Builder mergeTerminationCriteria(com.google.ortools.pdlp.TerminationCriteria value) {
3380 if (terminationCriteriaBuilder_ == null) {
3381 if (((bitField0_ & 0x00000001) != 0) &&
3382 terminationCriteria_ != null &&
3383 terminationCriteria_ != com.google.ortools.pdlp.TerminationCriteria.getDefaultInstance()) {
3384 getTerminationCriteriaBuilder().mergeFrom(value);
3385 } else {
3386 terminationCriteria_ = value;
3387 }
3388 } else {
3389 terminationCriteriaBuilder_.mergeFrom(value);
3390 }
3391 if (terminationCriteria_ != null) {
3392 bitField0_ |= 0x00000001;
3393 onChanged();
3394 }
3395 return this;
3396 }
3401 bitField0_ = (bitField0_ & ~0x00000001);
3402 terminationCriteria_ = null;
3403 if (terminationCriteriaBuilder_ != null) {
3404 terminationCriteriaBuilder_.dispose();
3405 terminationCriteriaBuilder_ = null;
3406 }
3407 onChanged();
3408 return this;
3409 }
3414 bitField0_ |= 0x00000001;
3415 onChanged();
3416 return getTerminationCriteriaFieldBuilder().getBuilder();
3417 }
3422 if (terminationCriteriaBuilder_ != null) {
3423 return terminationCriteriaBuilder_.getMessageOrBuilder();
3424 } else {
3425 return terminationCriteria_ == null ?
3426 com.google.ortools.pdlp.TerminationCriteria.getDefaultInstance() : terminationCriteria_;
3427 }
3428 }
3432 private com.google.protobuf.SingleFieldBuilder<
3433 com.google.ortools.pdlp.TerminationCriteria, com.google.ortools.pdlp.TerminationCriteria.Builder, com.google.ortools.pdlp.TerminationCriteriaOrBuilder>
3434 getTerminationCriteriaFieldBuilder() {
3435 if (terminationCriteriaBuilder_ == null) {
3436 terminationCriteriaBuilder_ = new com.google.protobuf.SingleFieldBuilder<
3437 com.google.ortools.pdlp.TerminationCriteria, com.google.ortools.pdlp.TerminationCriteria.Builder, com.google.ortools.pdlp.TerminationCriteriaOrBuilder>(
3439 getParentForChildren(),
3440 isClean());
3441 terminationCriteria_ = null;
3442 }
3443 return terminationCriteriaBuilder_;
3444 }
3445
3446 private int numThreads_ = 1;
3458 @java.lang.Override
3459 public boolean hasNumThreads() {
3460 return ((bitField0_ & 0x00000002) != 0);
3461 }
3473 @java.lang.Override
3474 public int getNumThreads() {
3475 return numThreads_;
3476 }
3489 public Builder setNumThreads(int value) {
3490
3491 numThreads_ = value;
3492 bitField0_ |= 0x00000002;
3493 onChanged();
3494 return this;
3495 }
3508 bitField0_ = (bitField0_ & ~0x00000002);
3509 numThreads_ = 1;
3510 onChanged();
3511 return this;
3512 }
3513
3514 private int numShards_ ;
3531 @java.lang.Override
3532 public boolean hasNumShards() {
3533 return ((bitField0_ & 0x00000004) != 0);
3534 }
3551 @java.lang.Override
3552 public int getNumShards() {
3553 return numShards_;
3554 }
3572 public Builder setNumShards(int value) {
3573
3574 numShards_ = value;
3575 bitField0_ |= 0x00000004;
3576 onChanged();
3577 return this;
3578 }
3596 bitField0_ = (bitField0_ & ~0x00000004);
3597 numShards_ = 0;
3598 onChanged();
3599 return this;
3600 }
3601
3602 private boolean recordIterationStats_ ;
3614 @java.lang.Override
3615 public boolean hasRecordIterationStats() {
3616 return ((bitField0_ & 0x00000008) != 0);
3617 }
3629 @java.lang.Override
3630 public boolean getRecordIterationStats() {
3631 return recordIterationStats_;
3632 }
3645 public Builder setRecordIterationStats(boolean value) {
3646
3647 recordIterationStats_ = value;
3648 bitField0_ |= 0x00000008;
3649 onChanged();
3650 return this;
3651 }
3664 bitField0_ = (bitField0_ & ~0x00000008);
3665 recordIterationStats_ = false;
3666 onChanged();
3667 return this;
3668 }
3669
3670 private int verbosityLevel_ ;
3689 @java.lang.Override
3690 public boolean hasVerbosityLevel() {
3691 return ((bitField0_ & 0x00000010) != 0);
3692 }
3711 @java.lang.Override
3712 public int getVerbosityLevel() {
3713 return verbosityLevel_;
3714 }
3734 public Builder setVerbosityLevel(int value) {
3735
3736 verbosityLevel_ = value;
3737 bitField0_ |= 0x00000010;
3738 onChanged();
3739 return this;
3740 }
3760 bitField0_ = (bitField0_ & ~0x00000010);
3761 verbosityLevel_ = 0;
3762 onChanged();
3763 return this;
3764 }
3765
3766 private double logIntervalSeconds_ ;
3779 @java.lang.Override
3780 public boolean hasLogIntervalSeconds() {
3781 return ((bitField0_ & 0x00000020) != 0);
3782 }
3795 @java.lang.Override
3796 public double getLogIntervalSeconds() {
3797 return logIntervalSeconds_;
3798 }
3812 public Builder setLogIntervalSeconds(double value) {
3813
3814 logIntervalSeconds_ = value;
3815 bitField0_ |= 0x00000020;
3816 onChanged();
3817 return this;
3818 }
3832 bitField0_ = (bitField0_ & ~0x00000020);
3833 logIntervalSeconds_ = 0D;
3834 onChanged();
3835 return this;
3836 }
3837
3838 private int majorIterationFrequency_ = 64;
3852 @java.lang.Override
3854 return ((bitField0_ & 0x00000040) != 0);
3855 }
3869 @java.lang.Override
3871 return majorIterationFrequency_;
3872 }
3888
3889 majorIterationFrequency_ = value;
3890 bitField0_ |= 0x00000040;
3891 onChanged();
3892 return this;
3893 }
3908 bitField0_ = (bitField0_ & ~0x00000040);
3909 majorIterationFrequency_ = 64;
3910 onChanged();
3911 return this;
3912 }
3913
3914 private int terminationCheckFrequency_ = 64;
3925 @java.lang.Override
3927 return ((bitField0_ & 0x00000080) != 0);
3928 }
3939 @java.lang.Override
3941 return terminationCheckFrequency_;
3942 }
3955
3956 terminationCheckFrequency_ = value;
3957 bitField0_ |= 0x00000080;
3958 onChanged();
3959 return this;
3960 }
3972 bitField0_ = (bitField0_ & ~0x00000080);
3973 terminationCheckFrequency_ = 64;
3974 onChanged();
3975 return this;
3976 }
3977
3978 private int restartStrategy_ = 3;
3989 @java.lang.Override public boolean hasRestartStrategy() {
3990 return ((bitField0_ & 0x00000100) != 0);
3991 }
4002 @java.lang.Override
4004 com.google.ortools.pdlp.PrimalDualHybridGradientParams.RestartStrategy result = com.google.ortools.pdlp.PrimalDualHybridGradientParams.RestartStrategy.forNumber(restartStrategy_);
4005 return result == null ? com.google.ortools.pdlp.PrimalDualHybridGradientParams.RestartStrategy.ADAPTIVE_HEURISTIC : result;
4006 }
4018 public Builder setRestartStrategy(com.google.ortools.pdlp.PrimalDualHybridGradientParams.RestartStrategy value) {
4019 if (value == null) {
4020 throw new NullPointerException();
4021 }
4022 bitField0_ |= 0x00000100;
4023 restartStrategy_ = value.getNumber();
4024 onChanged();
4025 return this;
4026 }
4038 bitField0_ = (bitField0_ & ~0x00000100);
4039 restartStrategy_ = 3;
4040 onChanged();
4041 return this;
4042 }
4043
4044 private double primalWeightUpdateSmoothing_ = 0.5D;
4060 @java.lang.Override
4062 return ((bitField0_ & 0x00000200) != 0);
4063 }
4079 @java.lang.Override
4081 return primalWeightUpdateSmoothing_;
4082 }
4100
4101 primalWeightUpdateSmoothing_ = value;
4102 bitField0_ |= 0x00000200;
4103 onChanged();
4104 return this;
4105 }
4122 bitField0_ = (bitField0_ & ~0x00000200);
4123 primalWeightUpdateSmoothing_ = 0.5D;
4124 onChanged();
4125 return this;
4126 }
4127
4128 private double initialPrimalWeight_ ;
4143 @java.lang.Override
4144 public boolean hasInitialPrimalWeight() {
4145 return ((bitField0_ & 0x00000400) != 0);
4146 }
4161 @java.lang.Override
4162 public double getInitialPrimalWeight() {
4163 return initialPrimalWeight_;
4164 }
4180 public Builder setInitialPrimalWeight(double value) {
4181
4182 initialPrimalWeight_ = value;
4183 bitField0_ |= 0x00000400;
4184 onChanged();
4185 return this;
4186 }
4202 bitField0_ = (bitField0_ & ~0x00000400);
4203 initialPrimalWeight_ = 0D;
4204 onChanged();
4205 return this;
4206 }
4207
4209 private com.google.protobuf.SingleFieldBuilder<
4210 com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions, com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.Builder, com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptionsOrBuilder> presolveOptionsBuilder_;
4215 public boolean hasPresolveOptions() {
4216 return ((bitField0_ & 0x00000800) != 0);
4217 }
4223 if (presolveOptionsBuilder_ == null) {
4224 return presolveOptions_ == null ? com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.getDefaultInstance() : presolveOptions_;
4225 } else {
4226 return presolveOptionsBuilder_.getMessage();
4227 }
4228 }
4232 public Builder setPresolveOptions(com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions value) {
4233 if (presolveOptionsBuilder_ == null) {
4234 if (value == null) {
4235 throw new NullPointerException();
4236 }
4237 presolveOptions_ = value;
4238 } else {
4239 presolveOptionsBuilder_.setMessage(value);
4240 }
4241 bitField0_ |= 0x00000800;
4242 onChanged();
4243 return this;
4244 }
4249 com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.Builder builderForValue) {
4250 if (presolveOptionsBuilder_ == null) {
4251 presolveOptions_ = builderForValue.build();
4252 } else {
4253 presolveOptionsBuilder_.setMessage(builderForValue.build());
4254 }
4255 bitField0_ |= 0x00000800;
4256 onChanged();
4257 return this;
4258 }
4262 public Builder mergePresolveOptions(com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions value) {
4263 if (presolveOptionsBuilder_ == null) {
4264 if (((bitField0_ & 0x00000800) != 0) &&
4265 presolveOptions_ != null &&
4266 presolveOptions_ != com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.getDefaultInstance()) {
4267 getPresolveOptionsBuilder().mergeFrom(value);
4268 } else {
4269 presolveOptions_ = value;
4270 }
4271 } else {
4272 presolveOptionsBuilder_.mergeFrom(value);
4273 }
4274 if (presolveOptions_ != null) {
4275 bitField0_ |= 0x00000800;
4276 onChanged();
4277 }
4278 return this;
4279 }
4284 bitField0_ = (bitField0_ & ~0x00000800);
4285 presolveOptions_ = null;
4286 if (presolveOptionsBuilder_ != null) {
4287 presolveOptionsBuilder_.dispose();
4288 presolveOptionsBuilder_ = null;
4289 }
4290 onChanged();
4291 return this;
4292 }
4297 bitField0_ |= 0x00000800;
4298 onChanged();
4299 return getPresolveOptionsFieldBuilder().getBuilder();
4300 }
4305 if (presolveOptionsBuilder_ != null) {
4306 return presolveOptionsBuilder_.getMessageOrBuilder();
4307 } else {
4308 return presolveOptions_ == null ?
4309 com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.getDefaultInstance() : presolveOptions_;
4310 }
4311 }
4315 private com.google.protobuf.SingleFieldBuilder<
4316 com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions, com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.Builder, com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptionsOrBuilder>
4317 getPresolveOptionsFieldBuilder() {
4318 if (presolveOptionsBuilder_ == null) {
4319 presolveOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilder<
4320 com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions, com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptions.Builder, com.google.ortools.pdlp.PrimalDualHybridGradientParams.PresolveOptionsOrBuilder>(
4322 getParentForChildren(),
4323 isClean());
4324 presolveOptions_ = null;
4325 }
4326 return presolveOptionsBuilder_;
4327 }
4328
4329 private int lInfRuizIterations_ = 5;
4340 @java.lang.Override
4341 public boolean hasLInfRuizIterations() {
4342 return ((bitField0_ & 0x00001000) != 0);
4343 }
4354 @java.lang.Override
4356 return lInfRuizIterations_;
4357 }
4369 public Builder setLInfRuizIterations(int value) {
4370
4371 lInfRuizIterations_ = value;
4372 bitField0_ |= 0x00001000;
4373 onChanged();
4374 return this;
4375 }
4387 bitField0_ = (bitField0_ & ~0x00001000);
4388 lInfRuizIterations_ = 5;
4389 onChanged();
4390 return this;
4391 }
4392
4393 private boolean l2NormRescaling_ = true;
4403 @java.lang.Override
4404 public boolean hasL2NormRescaling() {
4405 return ((bitField0_ & 0x00002000) != 0);
4406 }
4416 @java.lang.Override
4417 public boolean getL2NormRescaling() {
4418 return l2NormRescaling_;
4419 }
4430 public Builder setL2NormRescaling(boolean value) {
4431
4432 l2NormRescaling_ = value;
4433 bitField0_ |= 0x00002000;
4434 onChanged();
4435 return this;
4436 }
4447 bitField0_ = (bitField0_ & ~0x00002000);
4448 l2NormRescaling_ = true;
4449 onChanged();
4450 return this;
4451 }
4452
4453 private double sufficientReductionForRestart_ = 0.1D;
4464 @java.lang.Override
4466 return ((bitField0_ & 0x00004000) != 0);
4467 }
4478 @java.lang.Override
4480 return sufficientReductionForRestart_;
4481 }
4494
4495 sufficientReductionForRestart_ = value;
4496 bitField0_ |= 0x00004000;
4497 onChanged();
4498 return this;
4499 }
4511 bitField0_ = (bitField0_ & ~0x00004000);
4512 sufficientReductionForRestart_ = 0.1D;
4513 onChanged();
4514 return this;
4515 }
4516
4517 private double necessaryReductionForRestart_ = 0.9D;
4530 @java.lang.Override
4532 return ((bitField0_ & 0x00008000) != 0);
4533 }
4546 @java.lang.Override
4548 return necessaryReductionForRestart_;
4549 }
4564
4565 necessaryReductionForRestart_ = value;
4566 bitField0_ |= 0x00008000;
4567 onChanged();
4568 return this;
4569 }
4583 bitField0_ = (bitField0_ & ~0x00008000);
4584 necessaryReductionForRestart_ = 0.9D;
4585 onChanged();
4586 return this;
4587 }
4588
4589 private int linesearchRule_ = 1;
4598 @java.lang.Override public boolean hasLinesearchRule() {
4599 return ((bitField0_ & 0x00010000) != 0);
4600 }
4609 @java.lang.Override
4611 com.google.ortools.pdlp.PrimalDualHybridGradientParams.LinesearchRule result = com.google.ortools.pdlp.PrimalDualHybridGradientParams.LinesearchRule.forNumber(linesearchRule_);
4612 return result == null ? com.google.ortools.pdlp.PrimalDualHybridGradientParams.LinesearchRule.ADAPTIVE_LINESEARCH_RULE : result;
4613 }
4623 public Builder setLinesearchRule(com.google.ortools.pdlp.PrimalDualHybridGradientParams.LinesearchRule value) {
4624 if (value == null) {
4625 throw new NullPointerException();
4626 }
4627 bitField0_ |= 0x00010000;
4628 linesearchRule_ = value.getNumber();
4629 onChanged();
4630 return this;
4631 }
4641 bitField0_ = (bitField0_ & ~0x00010000);
4642 linesearchRule_ = 1;
4643 onChanged();
4644 return this;
4645 }
4646
4647 private com.google.ortools.pdlp.AdaptiveLinesearchParams adaptiveLinesearchParameters_;
4648 private com.google.protobuf.SingleFieldBuilder<
4649 com.google.ortools.pdlp.AdaptiveLinesearchParams, com.google.ortools.pdlp.AdaptiveLinesearchParams.Builder, com.google.ortools.pdlp.AdaptiveLinesearchParamsOrBuilder> adaptiveLinesearchParametersBuilder_;
4655 return ((bitField0_ & 0x00020000) != 0);
4656 }
4662 if (adaptiveLinesearchParametersBuilder_ == null) {
4663 return adaptiveLinesearchParameters_ == null ? com.google.ortools.pdlp.AdaptiveLinesearchParams.getDefaultInstance() : adaptiveLinesearchParameters_;
4664 } else {
4665 return adaptiveLinesearchParametersBuilder_.getMessage();
4666 }
4667 }
4671 public Builder setAdaptiveLinesearchParameters(com.google.ortools.pdlp.AdaptiveLinesearchParams value) {
4672 if (adaptiveLinesearchParametersBuilder_ == null) {
4673 if (value == null) {
4674 throw new NullPointerException();
4675 }
4676 adaptiveLinesearchParameters_ = value;
4677 } else {
4678 adaptiveLinesearchParametersBuilder_.setMessage(value);
4679 }
4680 bitField0_ |= 0x00020000;
4681 onChanged();
4682 return this;
4683 }
4688 com.google.ortools.pdlp.AdaptiveLinesearchParams.Builder builderForValue) {
4689 if (adaptiveLinesearchParametersBuilder_ == null) {
4690 adaptiveLinesearchParameters_ = builderForValue.build();
4691 } else {
4692 adaptiveLinesearchParametersBuilder_.setMessage(builderForValue.build());
4693 }
4694 bitField0_ |= 0x00020000;
4695 onChanged();
4696 return this;
4697 }
4701 public Builder mergeAdaptiveLinesearchParameters(com.google.ortools.pdlp.AdaptiveLinesearchParams value) {
4702 if (adaptiveLinesearchParametersBuilder_ == null) {
4703 if (((bitField0_ & 0x00020000) != 0) &&
4704 adaptiveLinesearchParameters_ != null &&
4705 adaptiveLinesearchParameters_ != com.google.ortools.pdlp.AdaptiveLinesearchParams.getDefaultInstance()) {
4706 getAdaptiveLinesearchParametersBuilder().mergeFrom(value);
4707 } else {
4708 adaptiveLinesearchParameters_ = value;
4709 }
4710 } else {
4711 adaptiveLinesearchParametersBuilder_.mergeFrom(value);
4712 }
4713 if (adaptiveLinesearchParameters_ != null) {
4714 bitField0_ |= 0x00020000;
4715 onChanged();
4716 }
4717 return this;
4718 }
4723 bitField0_ = (bitField0_ & ~0x00020000);
4724 adaptiveLinesearchParameters_ = null;
4725 if (adaptiveLinesearchParametersBuilder_ != null) {
4726 adaptiveLinesearchParametersBuilder_.dispose();
4727 adaptiveLinesearchParametersBuilder_ = null;
4728 }
4729 onChanged();
4730 return this;
4731 }
4736 bitField0_ |= 0x00020000;
4737 onChanged();
4738 return getAdaptiveLinesearchParametersFieldBuilder().getBuilder();
4739 }
4744 if (adaptiveLinesearchParametersBuilder_ != null) {
4745 return adaptiveLinesearchParametersBuilder_.getMessageOrBuilder();
4746 } else {
4747 return adaptiveLinesearchParameters_ == null ?
4748 com.google.ortools.pdlp.AdaptiveLinesearchParams.getDefaultInstance() : adaptiveLinesearchParameters_;
4749 }
4750 }
4754 private com.google.protobuf.SingleFieldBuilder<
4755 com.google.ortools.pdlp.AdaptiveLinesearchParams, com.google.ortools.pdlp.AdaptiveLinesearchParams.Builder, com.google.ortools.pdlp.AdaptiveLinesearchParamsOrBuilder>
4756 getAdaptiveLinesearchParametersFieldBuilder() {
4757 if (adaptiveLinesearchParametersBuilder_ == null) {
4758 adaptiveLinesearchParametersBuilder_ = new com.google.protobuf.SingleFieldBuilder<
4759 com.google.ortools.pdlp.AdaptiveLinesearchParams, com.google.ortools.pdlp.AdaptiveLinesearchParams.Builder, com.google.ortools.pdlp.AdaptiveLinesearchParamsOrBuilder>(
4761 getParentForChildren(),
4762 isClean());
4763 adaptiveLinesearchParameters_ = null;
4764 }
4765 return adaptiveLinesearchParametersBuilder_;
4766 }
4767
4768 private com.google.ortools.pdlp.MalitskyPockParams malitskyPockParameters_;
4769 private com.google.protobuf.SingleFieldBuilder<
4770 com.google.ortools.pdlp.MalitskyPockParams, com.google.ortools.pdlp.MalitskyPockParams.Builder, com.google.ortools.pdlp.MalitskyPockParamsOrBuilder> malitskyPockParametersBuilder_;
4775 public boolean hasMalitskyPockParameters() {
4776 return ((bitField0_ & 0x00040000) != 0);
4777 }
4783 if (malitskyPockParametersBuilder_ == null) {
4784 return malitskyPockParameters_ == null ? com.google.ortools.pdlp.MalitskyPockParams.getDefaultInstance() : malitskyPockParameters_;
4785 } else {
4786 return malitskyPockParametersBuilder_.getMessage();
4787 }
4788 }
4792 public Builder setMalitskyPockParameters(com.google.ortools.pdlp.MalitskyPockParams value) {
4793 if (malitskyPockParametersBuilder_ == null) {
4794 if (value == null) {
4795 throw new NullPointerException();
4796 }
4797 malitskyPockParameters_ = value;
4798 } else {
4799 malitskyPockParametersBuilder_.setMessage(value);
4800 }
4801 bitField0_ |= 0x00040000;
4802 onChanged();
4803 return this;
4804 }
4809 com.google.ortools.pdlp.MalitskyPockParams.Builder builderForValue) {
4810 if (malitskyPockParametersBuilder_ == null) {
4811 malitskyPockParameters_ = builderForValue.build();
4812 } else {
4813 malitskyPockParametersBuilder_.setMessage(builderForValue.build());
4814 }
4815 bitField0_ |= 0x00040000;
4816 onChanged();
4817 return this;
4818 }
4822 public Builder mergeMalitskyPockParameters(com.google.ortools.pdlp.MalitskyPockParams value) {
4823 if (malitskyPockParametersBuilder_ == null) {
4824 if (((bitField0_ & 0x00040000) != 0) &&
4825 malitskyPockParameters_ != null &&
4826 malitskyPockParameters_ != com.google.ortools.pdlp.MalitskyPockParams.getDefaultInstance()) {
4827 getMalitskyPockParametersBuilder().mergeFrom(value);
4828 } else {
4829 malitskyPockParameters_ = value;
4830 }
4831 } else {
4832 malitskyPockParametersBuilder_.mergeFrom(value);
4833 }
4834 if (malitskyPockParameters_ != null) {
4835 bitField0_ |= 0x00040000;
4836 onChanged();
4837 }
4838 return this;
4839 }
4844 bitField0_ = (bitField0_ & ~0x00040000);
4845 malitskyPockParameters_ = null;
4846 if (malitskyPockParametersBuilder_ != null) {
4847 malitskyPockParametersBuilder_.dispose();
4848 malitskyPockParametersBuilder_ = null;
4849 }
4850 onChanged();
4851 return this;
4852 }
4857 bitField0_ |= 0x00040000;
4858 onChanged();
4859 return getMalitskyPockParametersFieldBuilder().getBuilder();
4860 }
4865 if (malitskyPockParametersBuilder_ != null) {
4866 return malitskyPockParametersBuilder_.getMessageOrBuilder();
4867 } else {
4868 return malitskyPockParameters_ == null ?
4869 com.google.ortools.pdlp.MalitskyPockParams.getDefaultInstance() : malitskyPockParameters_;
4870 }
4871 }
4875 private com.google.protobuf.SingleFieldBuilder<
4876 com.google.ortools.pdlp.MalitskyPockParams, com.google.ortools.pdlp.MalitskyPockParams.Builder, com.google.ortools.pdlp.MalitskyPockParamsOrBuilder>
4877 getMalitskyPockParametersFieldBuilder() {
4878 if (malitskyPockParametersBuilder_ == null) {
4879 malitskyPockParametersBuilder_ = new com.google.protobuf.SingleFieldBuilder<
4880 com.google.ortools.pdlp.MalitskyPockParams, com.google.ortools.pdlp.MalitskyPockParams.Builder, com.google.ortools.pdlp.MalitskyPockParamsOrBuilder>(
4882 getParentForChildren(),
4883 isClean());
4884 malitskyPockParameters_ = null;
4885 }
4886 return malitskyPockParametersBuilder_;
4887 }
4888
4889 private double initialStepSizeScaling_ = 1D;
4899 @java.lang.Override
4900 public boolean hasInitialStepSizeScaling() {
4901 return ((bitField0_ & 0x00080000) != 0);
4902 }
4912 @java.lang.Override
4914 return initialStepSizeScaling_;
4915 }
4926 public Builder setInitialStepSizeScaling(double value) {
4927
4928 initialStepSizeScaling_ = value;
4929 bitField0_ |= 0x00080000;
4930 onChanged();
4931 return this;
4932 }
4943 bitField0_ = (bitField0_ & ~0x00080000);
4944 initialStepSizeScaling_ = 1D;
4945 onChanged();
4946 return this;
4947 }
4948
4949 private com.google.protobuf.Internal.IntList randomProjectionSeeds_ = emptyIntList();
4950 private void ensureRandomProjectionSeedsIsMutable() {
4951 if (!randomProjectionSeeds_.isModifiable()) {
4952 randomProjectionSeeds_ = makeMutableCopy(randomProjectionSeeds_);
4953 }
4954 bitField0_ |= 0x00100000;
4955 }
4969 public java.util.List<java.lang.Integer>
4971 randomProjectionSeeds_.makeImmutable();
4972 return randomProjectionSeeds_;
4973 }
4988 return randomProjectionSeeds_.size();
4989 }
5004 public int getRandomProjectionSeeds(int index) {
5005 return randomProjectionSeeds_.getInt(index);
5006 }
5023 int index, int value) {
5024
5025 ensureRandomProjectionSeedsIsMutable();
5026 randomProjectionSeeds_.setInt(index, value);
5027 bitField0_ |= 0x00100000;
5028 onChanged();
5029 return this;
5030 }
5046
5047 ensureRandomProjectionSeedsIsMutable();
5048 randomProjectionSeeds_.addInt(value);
5049 bitField0_ |= 0x00100000;
5050 onChanged();
5051 return this;
5052 }
5068 java.lang.Iterable<? extends java.lang.Integer> values) {
5069 ensureRandomProjectionSeedsIsMutable();
5070 com.google.protobuf.AbstractMessageLite.Builder.addAll(
5071 values, randomProjectionSeeds_);
5072 bitField0_ |= 0x00100000;
5073 onChanged();
5074 return this;
5075 }
5090 randomProjectionSeeds_ = emptyIntList();
5091 bitField0_ = (bitField0_ & ~0x00100000);
5092 onChanged();
5093 return this;
5094 }
5095
5096 private double infiniteConstraintBoundThreshold_ = Double.POSITIVE_INFINITY;
5110 @java.lang.Override
5112 return ((bitField0_ & 0x00200000) != 0);
5113 }
5127 @java.lang.Override
5129 return infiniteConstraintBoundThreshold_;
5130 }
5146
5147 infiniteConstraintBoundThreshold_ = value;
5148 bitField0_ |= 0x00200000;
5149 onChanged();
5150 return this;
5151 }
5166 bitField0_ = (bitField0_ & ~0x00200000);
5167 infiniteConstraintBoundThreshold_ = Double.POSITIVE_INFINITY;
5168 onChanged();
5169 return this;
5170 }
5171
5172 private boolean handleSomePrimalGradientsOnFiniteBoundsAsResiduals_ = true;
5183 @java.lang.Override
5185 return ((bitField0_ & 0x00400000) != 0);
5186 }
5197 @java.lang.Override
5199 return handleSomePrimalGradientsOnFiniteBoundsAsResiduals_;
5200 }
5213
5214 handleSomePrimalGradientsOnFiniteBoundsAsResiduals_ = value;
5215 bitField0_ |= 0x00400000;
5216 onChanged();
5217 return this;
5218 }
5230 bitField0_ = (bitField0_ & ~0x00400000);
5231 handleSomePrimalGradientsOnFiniteBoundsAsResiduals_ = true;
5232 onChanged();
5233 return this;
5234 }
5235
5236 private boolean useDiagonalQpTrustRegionSolver_ ;
5250 @java.lang.Override
5252 return ((bitField0_ & 0x00800000) != 0);
5253 }
5267 @java.lang.Override
5269 return useDiagonalQpTrustRegionSolver_;
5270 }
5286
5287 useDiagonalQpTrustRegionSolver_ = value;
5288 bitField0_ |= 0x00800000;
5289 onChanged();
5290 return this;
5291 }
5306 bitField0_ = (bitField0_ & ~0x00800000);
5307 useDiagonalQpTrustRegionSolver_ = false;
5308 onChanged();
5309 return this;
5310 }
5311
5312 private double diagonalQpTrustRegionSolverTolerance_ = 1e-08D;
5325 @java.lang.Override
5327 return ((bitField0_ & 0x01000000) != 0);
5328 }
5341 @java.lang.Override
5343 return diagonalQpTrustRegionSolverTolerance_;
5344 }
5359
5360 diagonalQpTrustRegionSolverTolerance_ = value;
5361 bitField0_ |= 0x01000000;
5362 onChanged();
5363 return this;
5364 }
5378 bitField0_ = (bitField0_ & ~0x01000000);
5379 diagonalQpTrustRegionSolverTolerance_ = 1e-08D;
5380 onChanged();
5381 return this;
5382 }
5383
5384 private boolean useFeasibilityPolishing_ ;
5418 @java.lang.Override
5420 return ((bitField0_ & 0x02000000) != 0);
5421 }
5455 @java.lang.Override
5457 return useFeasibilityPolishing_;
5458 }
5493 public Builder setUseFeasibilityPolishing(boolean value) {
5494
5495 useFeasibilityPolishing_ = value;
5496 bitField0_ |= 0x02000000;
5497 onChanged();
5498 return this;
5499 }
5534 bitField0_ = (bitField0_ & ~0x02000000);
5535 useFeasibilityPolishing_ = false;
5536 onChanged();
5537 return this;
5538 }
5539
5540 // @@protoc_insertion_point(builder_scope:operations_research.pdlp.PrimalDualHybridGradientParams)
5541 }
5542
5543 // @@protoc_insertion_point(class_scope:operations_research.pdlp.PrimalDualHybridGradientParams)
5544 private static final com.google.ortools.pdlp.PrimalDualHybridGradientParams DEFAULT_INSTANCE;
5545 static {
5546 DEFAULT_INSTANCE = new com.google.ortools.pdlp.PrimalDualHybridGradientParams();
5547 }
5548
5550 return DEFAULT_INSTANCE;
5551 }
5552
5553 private static final com.google.protobuf.Parser<PrimalDualHybridGradientParams>
5554 PARSER = new com.google.protobuf.AbstractParser<PrimalDualHybridGradientParams>() {
5555 @java.lang.Override
5556 public PrimalDualHybridGradientParams parsePartialFrom(
5557 com.google.protobuf.CodedInputStream input,
5558 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5559 throws com.google.protobuf.InvalidProtocolBufferException {
5560 Builder builder = newBuilder();
5561 try {
5562 builder.mergeFrom(input, extensionRegistry);
5563 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5564 throw e.setUnfinishedMessage(builder.buildPartial());
5565 } catch (com.google.protobuf.UninitializedMessageException e) {
5566 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
5567 } catch (java.io.IOException e) {
5568 throw new com.google.protobuf.InvalidProtocolBufferException(e)
5569 .setUnfinishedMessage(builder.buildPartial());
5570 }
5571 return builder.buildPartial();
5572 }
5573 };
5574
5575 public static com.google.protobuf.Parser<PrimalDualHybridGradientParams> parser() {
5576 return PARSER;
5577 }
5578
5579 @java.lang.Override
5580 public com.google.protobuf.Parser<PrimalDualHybridGradientParams> getParserForType() {
5581 return PARSER;
5582 }
5583
5584 @java.lang.Override
5586 return DEFAULT_INSTANCE;
5587 }
5588
5589}
5590
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)
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()