Google OR-Tools v9.12
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
TerminationCriteria.java
Go to the documentation of this file.
1// Generated by the protocol buffer compiler. DO NOT EDIT!
2// NO CHECKED-IN PROTOBUF GENCODE
3// source: ortools/pdlp/solvers.proto
4// Protobuf Java Version: 4.29.3
5
6package com.google.ortools.pdlp;
7
24public final class TerminationCriteria extends
25 com.google.protobuf.GeneratedMessage implements
26 // @@protoc_insertion_point(message_implements:operations_research.pdlp.TerminationCriteria)
28private static final long serialVersionUID = 0L;
29 static {
30 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
31 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
32 /* major= */ 4,
33 /* minor= */ 29,
34 /* patch= */ 3,
35 /* suffix= */ "",
36 TerminationCriteria.class.getName());
37 }
38 // Use TerminationCriteria.newBuilder() to construct.
39 private TerminationCriteria(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
40 super(builder);
41 }
42 private TerminationCriteria() {
43 optimalityNorm_ = 2;
44 epsOptimalAbsolute_ = 1e-06D;
45 epsOptimalRelative_ = 1e-06D;
46 epsPrimalInfeasible_ = 1e-08D;
47 epsDualInfeasible_ = 1e-08D;
48 timeSecLimit_ = Double.POSITIVE_INFINITY;
49 iterationLimit_ = 2147483647;
50 kktMatrixPassLimit_ = Double.POSITIVE_INFINITY;
51 }
52
53 public static final com.google.protobuf.Descriptors.Descriptor
55 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_TerminationCriteria_descriptor;
56 }
57
58 @java.lang.Override
59 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
61 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_TerminationCriteria_fieldAccessorTable
62 .ensureFieldAccessorsInitialized(
63 com.google.ortools.pdlp.TerminationCriteria.class, com.google.ortools.pdlp.TerminationCriteria.Builder.class);
64 }
65
66 public interface SimpleOptimalityCriteriaOrBuilder extends
67 // @@protoc_insertion_point(interface_extends:operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria)
68 com.google.protobuf.MessageOrBuilder {
69
90
111 }
112
115 public static final class SimpleOptimalityCriteria extends
116 com.google.protobuf.GeneratedMessage implements
117 // @@protoc_insertion_point(message_implements:operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria)
119 private static final long serialVersionUID = 0L;
120 static {
121 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
122 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
123 /* major= */ 4,
124 /* minor= */ 29,
125 /* patch= */ 3,
126 /* suffix= */ "",
127 SimpleOptimalityCriteria.class.getName());
128 }
129 // Use SimpleOptimalityCriteria.newBuilder() to construct.
130 private SimpleOptimalityCriteria(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
131 super(builder);
132 }
133 private SimpleOptimalityCriteria() {
134 epsOptimalAbsolute_ = 1e-06D;
135 epsOptimalRelative_ = 1e-06D;
136 }
137
138 public static final com.google.protobuf.Descriptors.Descriptor
140 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_TerminationCriteria_SimpleOptimalityCriteria_descriptor;
141 }
142
143 @java.lang.Override
144 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
146 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_TerminationCriteria_SimpleOptimalityCriteria_fieldAccessorTable
147 .ensureFieldAccessorsInitialized(
148 com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria.class, com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria.Builder.class);
149 }
150
151 private int bitField0_;
152 public static final int EPS_OPTIMAL_ABSOLUTE_FIELD_NUMBER = 1;
153 private double epsOptimalAbsolute_ = 1e-06D;
163 @java.lang.Override
164 public boolean hasEpsOptimalAbsolute() {
165 return ((bitField0_ & 0x00000001) != 0);
166 }
167
176 @java.lang.Override
177 public double getEpsOptimalAbsolute() {
178 return epsOptimalAbsolute_;
179 }
180
181 public static final int EPS_OPTIMAL_RELATIVE_FIELD_NUMBER = 2;
182 private double epsOptimalRelative_ = 1e-06D;
192 @java.lang.Override
193 public boolean hasEpsOptimalRelative() {
194 return ((bitField0_ & 0x00000002) != 0);
195 }
196
205 @java.lang.Override
206 public double getEpsOptimalRelative() {
207 return epsOptimalRelative_;
208 }
209
210 private byte memoizedIsInitialized = -1;
211 @java.lang.Override
212 public final boolean isInitialized() {
213 byte isInitialized = memoizedIsInitialized;
214 if (isInitialized == 1) return true;
215 if (isInitialized == 0) return false;
216
217 memoizedIsInitialized = 1;
218 return true;
219 }
220
221 @java.lang.Override
222 public void writeTo(com.google.protobuf.CodedOutputStream output)
223 throws java.io.IOException {
224 if (((bitField0_ & 0x00000001) != 0)) {
225 output.writeDouble(1, epsOptimalAbsolute_);
226 }
227 if (((bitField0_ & 0x00000002) != 0)) {
228 output.writeDouble(2, epsOptimalRelative_);
229 }
230 getUnknownFields().writeTo(output);
231 }
232
233 @java.lang.Override
234 public int getSerializedSize() {
235 int size = memoizedSize;
236 if (size != -1) return size;
237
238 size = 0;
239 if (((bitField0_ & 0x00000001) != 0)) {
240 size += com.google.protobuf.CodedOutputStream
241 .computeDoubleSize(1, epsOptimalAbsolute_);
242 }
243 if (((bitField0_ & 0x00000002) != 0)) {
244 size += com.google.protobuf.CodedOutputStream
245 .computeDoubleSize(2, epsOptimalRelative_);
246 }
247 size += getUnknownFields().getSerializedSize();
248 memoizedSize = size;
249 return size;
250 }
251
252 @java.lang.Override
253 public boolean equals(final java.lang.Object obj) {
254 if (obj == this) {
255 return true;
256 }
257 if (!(obj instanceof com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria)) {
258 return super.equals(obj);
259 }
260 com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria other = (com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria) obj;
261
262 if (hasEpsOptimalAbsolute() != other.hasEpsOptimalAbsolute()) return false;
263 if (hasEpsOptimalAbsolute()) {
264 if (java.lang.Double.doubleToLongBits(getEpsOptimalAbsolute())
265 != java.lang.Double.doubleToLongBits(
266 other.getEpsOptimalAbsolute())) return false;
267 }
268 if (hasEpsOptimalRelative() != other.hasEpsOptimalRelative()) return false;
269 if (hasEpsOptimalRelative()) {
270 if (java.lang.Double.doubleToLongBits(getEpsOptimalRelative())
271 != java.lang.Double.doubleToLongBits(
272 other.getEpsOptimalRelative())) return false;
273 }
274 if (!getUnknownFields().equals(other.getUnknownFields())) return false;
275 return true;
276 }
277
278 @java.lang.Override
279 public int hashCode() {
280 if (memoizedHashCode != 0) {
281 return memoizedHashCode;
282 }
283 int hash = 41;
284 hash = (19 * hash) + getDescriptor().hashCode();
285 if (hasEpsOptimalAbsolute()) {
286 hash = (37 * hash) + EPS_OPTIMAL_ABSOLUTE_FIELD_NUMBER;
287 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
288 java.lang.Double.doubleToLongBits(getEpsOptimalAbsolute()));
289 }
290 if (hasEpsOptimalRelative()) {
291 hash = (37 * hash) + EPS_OPTIMAL_RELATIVE_FIELD_NUMBER;
292 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
293 java.lang.Double.doubleToLongBits(getEpsOptimalRelative()));
294 }
295 hash = (29 * hash) + getUnknownFields().hashCode();
296 memoizedHashCode = hash;
297 return hash;
298 }
299
301 java.nio.ByteBuffer data)
302 throws com.google.protobuf.InvalidProtocolBufferException {
303 return PARSER.parseFrom(data);
304 }
306 java.nio.ByteBuffer data,
307 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
308 throws com.google.protobuf.InvalidProtocolBufferException {
309 return PARSER.parseFrom(data, extensionRegistry);
310 }
312 com.google.protobuf.ByteString data)
313 throws com.google.protobuf.InvalidProtocolBufferException {
314 return PARSER.parseFrom(data);
315 }
317 com.google.protobuf.ByteString data,
318 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
319 throws com.google.protobuf.InvalidProtocolBufferException {
320 return PARSER.parseFrom(data, extensionRegistry);
321 }
323 throws com.google.protobuf.InvalidProtocolBufferException {
324 return PARSER.parseFrom(data);
325 }
327 byte[] data,
328 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
329 throws com.google.protobuf.InvalidProtocolBufferException {
330 return PARSER.parseFrom(data, extensionRegistry);
331 }
333 throws java.io.IOException {
334 return com.google.protobuf.GeneratedMessage
335 .parseWithIOException(PARSER, input);
336 }
338 java.io.InputStream input,
339 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
340 throws java.io.IOException {
341 return com.google.protobuf.GeneratedMessage
342 .parseWithIOException(PARSER, input, extensionRegistry);
343 }
344
346 throws java.io.IOException {
347 return com.google.protobuf.GeneratedMessage
348 .parseDelimitedWithIOException(PARSER, input);
349 }
350
352 java.io.InputStream input,
353 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
354 throws java.io.IOException {
355 return com.google.protobuf.GeneratedMessage
356 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
357 }
359 com.google.protobuf.CodedInputStream input)
360 throws java.io.IOException {
361 return com.google.protobuf.GeneratedMessage
362 .parseWithIOException(PARSER, input);
363 }
365 com.google.protobuf.CodedInputStream input,
366 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
367 throws java.io.IOException {
368 return com.google.protobuf.GeneratedMessage
369 .parseWithIOException(PARSER, input, extensionRegistry);
370 }
371
372 @java.lang.Override
373 public Builder newBuilderForType() { return newBuilder(); }
374 public static Builder newBuilder() {
375 return DEFAULT_INSTANCE.toBuilder();
376 }
377 public static Builder newBuilder(com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria prototype) {
378 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
379 }
380 @java.lang.Override
382 return this == DEFAULT_INSTANCE
383 ? new Builder() : new Builder().mergeFrom(this);
384 }
385
386 @java.lang.Override
388 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
389 Builder builder = new Builder(parent);
390 return builder;
391 }
392
395 public static final class Builder extends
396 com.google.protobuf.GeneratedMessage.Builder<Builder> implements
397 // @@protoc_insertion_point(builder_implements:operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria)
398 com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteriaOrBuilder {
399 public static final com.google.protobuf.Descriptors.Descriptor
401 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_TerminationCriteria_SimpleOptimalityCriteria_descriptor;
402 }
403
404 @java.lang.Override
405 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
407 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_TerminationCriteria_SimpleOptimalityCriteria_fieldAccessorTable
408 .ensureFieldAccessorsInitialized(
409 com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria.class, com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria.Builder.class);
410 }
411
412 // Construct using com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria.newBuilder()
413 private Builder() {
414
415 }
416
417 private Builder(
418 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
419 super(parent);
420
421 }
422 @java.lang.Override
423 public Builder clear() {
424 super.clear();
425 bitField0_ = 0;
426 epsOptimalAbsolute_ = 1e-06D;
427 epsOptimalRelative_ = 1e-06D;
428 return this;
429 }
430
431 @java.lang.Override
432 public com.google.protobuf.Descriptors.Descriptor
434 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_TerminationCriteria_SimpleOptimalityCriteria_descriptor;
435 }
436
437 @java.lang.Override
439 return com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria.getDefaultInstance();
440 }
441
442 @java.lang.Override
445 if (!result.isInitialized()) {
446 throw newUninitializedMessageException(result);
447 }
448 return result;
449 }
450
451 @java.lang.Override
453 com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria result = new com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria(this);
454 if (bitField0_ != 0) { buildPartial0(result); }
455 onBuilt();
456 return result;
457 }
458
459 private void buildPartial0(com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria result) {
460 int from_bitField0_ = bitField0_;
461 int to_bitField0_ = 0;
462 if (((from_bitField0_ & 0x00000001) != 0)) {
463 result.epsOptimalAbsolute_ = epsOptimalAbsolute_;
464 to_bitField0_ |= 0x00000001;
465 }
466 if (((from_bitField0_ & 0x00000002) != 0)) {
467 result.epsOptimalRelative_ = epsOptimalRelative_;
468 to_bitField0_ |= 0x00000002;
469 }
470 result.bitField0_ |= to_bitField0_;
471 }
472
473 @java.lang.Override
474 public Builder mergeFrom(com.google.protobuf.Message other) {
475 if (other instanceof com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria) {
476 return mergeFrom((com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria)other);
477 } else {
478 super.mergeFrom(other);
479 return this;
480 }
481 }
482
483 public Builder mergeFrom(com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria other) {
484 if (other == com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria.getDefaultInstance()) return this;
485 if (other.hasEpsOptimalAbsolute()) {
486 setEpsOptimalAbsolute(other.getEpsOptimalAbsolute());
487 }
488 if (other.hasEpsOptimalRelative()) {
489 setEpsOptimalRelative(other.getEpsOptimalRelative());
490 }
491 this.mergeUnknownFields(other.getUnknownFields());
492 onChanged();
493 return this;
494 }
495
496 @java.lang.Override
497 public final boolean isInitialized() {
498 return true;
499 }
500
501 @java.lang.Override
502 public Builder mergeFrom(
503 com.google.protobuf.CodedInputStream input,
504 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
505 throws java.io.IOException {
506 if (extensionRegistry == null) {
507 throw new java.lang.NullPointerException();
508 }
509 try {
510 boolean done = false;
511 while (!done) {
512 int tag = input.readTag();
513 switch (tag) {
514 case 0:
515 done = true;
516 break;
517 case 9: {
518 epsOptimalAbsolute_ = input.readDouble();
519 bitField0_ |= 0x00000001;
520 break;
521 } // case 9
522 case 17: {
523 epsOptimalRelative_ = input.readDouble();
524 bitField0_ |= 0x00000002;
525 break;
526 } // case 17
527 default: {
528 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
529 done = true; // was an endgroup tag
530 }
531 break;
532 } // default:
533 } // switch (tag)
534 } // while (!done)
535 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
536 throw e.unwrapIOException();
537 } finally {
538 onChanged();
539 } // finally
540 return this;
541 }
542 private int bitField0_;
543
544 private double epsOptimalAbsolute_ = 1e-06D;
554 @java.lang.Override
555 public boolean hasEpsOptimalAbsolute() {
556 return ((bitField0_ & 0x00000001) != 0);
557 }
558
567 @java.lang.Override
568 public double getEpsOptimalAbsolute() {
569 return epsOptimalAbsolute_;
570 }
571
581 public Builder setEpsOptimalAbsolute(double value) {
582
583 epsOptimalAbsolute_ = value;
584 bitField0_ |= 0x00000001;
585 onChanged();
586 return this;
587 }
588
597 public Builder clearEpsOptimalAbsolute() {
598 bitField0_ = (bitField0_ & ~0x00000001);
599 epsOptimalAbsolute_ = 1e-06D;
600 onChanged();
601 return this;
602 }
603
604 private double epsOptimalRelative_ = 1e-06D;
614 @java.lang.Override
615 public boolean hasEpsOptimalRelative() {
616 return ((bitField0_ & 0x00000002) != 0);
617 }
618
627 @java.lang.Override
628 public double getEpsOptimalRelative() {
629 return epsOptimalRelative_;
630 }
631
641 public Builder setEpsOptimalRelative(double value) {
642
643 epsOptimalRelative_ = value;
644 bitField0_ |= 0x00000002;
645 onChanged();
646 return this;
647 }
648
657 public Builder clearEpsOptimalRelative() {
658 bitField0_ = (bitField0_ & ~0x00000002);
659 epsOptimalRelative_ = 1e-06D;
660 onChanged();
661 return this;
662 }
663
664 // @@protoc_insertion_point(builder_scope:operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria)
665 }
666
667 // @@protoc_insertion_point(class_scope:operations_research.pdlp.TerminationCriteria.SimpleOptimalityCriteria)
669 static {
670 DEFAULT_INSTANCE = new com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria();
671 }
672
676
677 private static final com.google.protobuf.Parser<SimpleOptimalityCriteria>
678 PARSER = new com.google.protobuf.AbstractParser<SimpleOptimalityCriteria>() {
679 @java.lang.Override
680 public SimpleOptimalityCriteria parsePartialFrom(
681 com.google.protobuf.CodedInputStream input,
682 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
683 throws com.google.protobuf.InvalidProtocolBufferException {
684 Builder builder = newBuilder();
685 try {
686 builder.mergeFrom(input, extensionRegistry);
687 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
688 throw e.setUnfinishedMessage(builder.buildPartial());
689 } catch (com.google.protobuf.UninitializedMessageException e) {
690 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
691 } catch (java.io.IOException e) {
692 throw new com.google.protobuf.InvalidProtocolBufferException(e)
693 .setUnfinishedMessage(builder.buildPartial());
694 }
695 return builder.buildPartial();
696 }
697 };
698
699 public static com.google.protobuf.Parser<SimpleOptimalityCriteria> parser() {
700 return PARSER;
701 }
702
703 @java.lang.Override
704 public com.google.protobuf.Parser<SimpleOptimalityCriteria> getParserForType() {
705 return PARSER;
706 }
707
708 @java.lang.Override
712
713 }
714
715 public interface DetailedOptimalityCriteriaOrBuilder extends
716 // @@protoc_insertion_point(interface_extends:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria)
717 com.google.protobuf.MessageOrBuilder {
718
737
756
775
794
813
832 }
833
836 public static final class DetailedOptimalityCriteria extends
837 com.google.protobuf.GeneratedMessage implements
838 // @@protoc_insertion_point(message_implements:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria)
840 private static final long serialVersionUID = 0L;
841 static {
842 com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
843 com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
844 /* major= */ 4,
845 /* minor= */ 29,
846 /* patch= */ 3,
847 /* suffix= */ "",
848 DetailedOptimalityCriteria.class.getName());
849 }
850 // Use DetailedOptimalityCriteria.newBuilder() to construct.
851 private DetailedOptimalityCriteria(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
852 super(builder);
853 }
854 private DetailedOptimalityCriteria() {
855 epsOptimalPrimalResidualAbsolute_ = 1e-06D;
856 epsOptimalPrimalResidualRelative_ = 1e-06D;
857 epsOptimalDualResidualAbsolute_ = 1e-06D;
858 epsOptimalDualResidualRelative_ = 1e-06D;
859 epsOptimalObjectiveGapAbsolute_ = 1e-06D;
860 epsOptimalObjectiveGapRelative_ = 1e-06D;
861 }
862
863 public static final com.google.protobuf.Descriptors.Descriptor
865 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_TerminationCriteria_DetailedOptimalityCriteria_descriptor;
866 }
867
868 @java.lang.Override
869 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
871 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_TerminationCriteria_DetailedOptimalityCriteria_fieldAccessorTable
872 .ensureFieldAccessorsInitialized(
873 com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria.class, com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria.Builder.class);
874 }
875
876 private int bitField0_;
878 private double epsOptimalPrimalResidualAbsolute_ = 1e-06D;
887 @java.lang.Override
889 return ((bitField0_ & 0x00000001) != 0);
890 }
891
899 @java.lang.Override
901 return epsOptimalPrimalResidualAbsolute_;
902 }
903
905 private double epsOptimalPrimalResidualRelative_ = 1e-06D;
914 @java.lang.Override
916 return ((bitField0_ & 0x00000002) != 0);
917 }
918
926 @java.lang.Override
928 return epsOptimalPrimalResidualRelative_;
929 }
930
932 private double epsOptimalDualResidualAbsolute_ = 1e-06D;
941 @java.lang.Override
943 return ((bitField0_ & 0x00000004) != 0);
944 }
945
953 @java.lang.Override
955 return epsOptimalDualResidualAbsolute_;
956 }
957
959 private double epsOptimalDualResidualRelative_ = 1e-06D;
968 @java.lang.Override
970 return ((bitField0_ & 0x00000008) != 0);
971 }
972
980 @java.lang.Override
982 return epsOptimalDualResidualRelative_;
983 }
984
986 private double epsOptimalObjectiveGapAbsolute_ = 1e-06D;
995 @java.lang.Override
997 return ((bitField0_ & 0x00000010) != 0);
998 }
999
1007 @java.lang.Override
1009 return epsOptimalObjectiveGapAbsolute_;
1010 }
1011
1013 private double epsOptimalObjectiveGapRelative_ = 1e-06D;
1022 @java.lang.Override
1024 return ((bitField0_ & 0x00000020) != 0);
1025 }
1026
1034 @java.lang.Override
1036 return epsOptimalObjectiveGapRelative_;
1037 }
1038
1039 private byte memoizedIsInitialized = -1;
1040 @java.lang.Override
1041 public final boolean isInitialized() {
1042 byte isInitialized = memoizedIsInitialized;
1043 if (isInitialized == 1) return true;
1044 if (isInitialized == 0) return false;
1045
1046 memoizedIsInitialized = 1;
1047 return true;
1048 }
1049
1050 @java.lang.Override
1051 public void writeTo(com.google.protobuf.CodedOutputStream output)
1052 throws java.io.IOException {
1053 if (((bitField0_ & 0x00000001) != 0)) {
1054 output.writeDouble(1, epsOptimalPrimalResidualAbsolute_);
1055 }
1056 if (((bitField0_ & 0x00000002) != 0)) {
1057 output.writeDouble(2, epsOptimalPrimalResidualRelative_);
1058 }
1059 if (((bitField0_ & 0x00000004) != 0)) {
1060 output.writeDouble(3, epsOptimalDualResidualAbsolute_);
1061 }
1062 if (((bitField0_ & 0x00000008) != 0)) {
1063 output.writeDouble(4, epsOptimalDualResidualRelative_);
1064 }
1065 if (((bitField0_ & 0x00000010) != 0)) {
1066 output.writeDouble(5, epsOptimalObjectiveGapAbsolute_);
1067 }
1068 if (((bitField0_ & 0x00000020) != 0)) {
1069 output.writeDouble(6, epsOptimalObjectiveGapRelative_);
1070 }
1071 getUnknownFields().writeTo(output);
1072 }
1073
1074 @java.lang.Override
1075 public int getSerializedSize() {
1076 int size = memoizedSize;
1077 if (size != -1) return size;
1078
1079 size = 0;
1080 if (((bitField0_ & 0x00000001) != 0)) {
1081 size += com.google.protobuf.CodedOutputStream
1082 .computeDoubleSize(1, epsOptimalPrimalResidualAbsolute_);
1083 }
1084 if (((bitField0_ & 0x00000002) != 0)) {
1085 size += com.google.protobuf.CodedOutputStream
1086 .computeDoubleSize(2, epsOptimalPrimalResidualRelative_);
1087 }
1088 if (((bitField0_ & 0x00000004) != 0)) {
1089 size += com.google.protobuf.CodedOutputStream
1090 .computeDoubleSize(3, epsOptimalDualResidualAbsolute_);
1091 }
1092 if (((bitField0_ & 0x00000008) != 0)) {
1093 size += com.google.protobuf.CodedOutputStream
1094 .computeDoubleSize(4, epsOptimalDualResidualRelative_);
1095 }
1096 if (((bitField0_ & 0x00000010) != 0)) {
1097 size += com.google.protobuf.CodedOutputStream
1098 .computeDoubleSize(5, epsOptimalObjectiveGapAbsolute_);
1099 }
1100 if (((bitField0_ & 0x00000020) != 0)) {
1101 size += com.google.protobuf.CodedOutputStream
1102 .computeDoubleSize(6, epsOptimalObjectiveGapRelative_);
1103 }
1104 size += getUnknownFields().getSerializedSize();
1105 memoizedSize = size;
1106 return size;
1107 }
1108
1109 @java.lang.Override
1110 public boolean equals(final java.lang.Object obj) {
1111 if (obj == this) {
1112 return true;
1113 }
1114 if (!(obj instanceof com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria)) {
1115 return super.equals(obj);
1116 }
1117 com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria other = (com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria) obj;
1118
1121 if (java.lang.Double.doubleToLongBits(getEpsOptimalPrimalResidualAbsolute())
1122 != java.lang.Double.doubleToLongBits(
1123 other.getEpsOptimalPrimalResidualAbsolute())) return false;
1124 }
1127 if (java.lang.Double.doubleToLongBits(getEpsOptimalPrimalResidualRelative())
1128 != java.lang.Double.doubleToLongBits(
1129 other.getEpsOptimalPrimalResidualRelative())) return false;
1130 }
1133 if (java.lang.Double.doubleToLongBits(getEpsOptimalDualResidualAbsolute())
1134 != java.lang.Double.doubleToLongBits(
1135 other.getEpsOptimalDualResidualAbsolute())) return false;
1136 }
1139 if (java.lang.Double.doubleToLongBits(getEpsOptimalDualResidualRelative())
1140 != java.lang.Double.doubleToLongBits(
1141 other.getEpsOptimalDualResidualRelative())) return false;
1142 }
1145 if (java.lang.Double.doubleToLongBits(getEpsOptimalObjectiveGapAbsolute())
1146 != java.lang.Double.doubleToLongBits(
1147 other.getEpsOptimalObjectiveGapAbsolute())) return false;
1148 }
1151 if (java.lang.Double.doubleToLongBits(getEpsOptimalObjectiveGapRelative())
1152 != java.lang.Double.doubleToLongBits(
1153 other.getEpsOptimalObjectiveGapRelative())) return false;
1154 }
1155 if (!getUnknownFields().equals(other.getUnknownFields())) return false;
1156 return true;
1157 }
1158
1159 @java.lang.Override
1160 public int hashCode() {
1161 if (memoizedHashCode != 0) {
1162 return memoizedHashCode;
1163 }
1164 int hash = 41;
1165 hash = (19 * hash) + getDescriptor().hashCode();
1168 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
1169 java.lang.Double.doubleToLongBits(getEpsOptimalPrimalResidualAbsolute()));
1170 }
1173 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
1174 java.lang.Double.doubleToLongBits(getEpsOptimalPrimalResidualRelative()));
1175 }
1178 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
1179 java.lang.Double.doubleToLongBits(getEpsOptimalDualResidualAbsolute()));
1180 }
1183 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
1184 java.lang.Double.doubleToLongBits(getEpsOptimalDualResidualRelative()));
1185 }
1188 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
1189 java.lang.Double.doubleToLongBits(getEpsOptimalObjectiveGapAbsolute()));
1190 }
1193 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
1194 java.lang.Double.doubleToLongBits(getEpsOptimalObjectiveGapRelative()));
1195 }
1196 hash = (29 * hash) + getUnknownFields().hashCode();
1197 memoizedHashCode = hash;
1198 return hash;
1199 }
1200
1202 java.nio.ByteBuffer data)
1203 throws com.google.protobuf.InvalidProtocolBufferException {
1204 return PARSER.parseFrom(data);
1205 }
1207 java.nio.ByteBuffer data,
1208 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1209 throws com.google.protobuf.InvalidProtocolBufferException {
1210 return PARSER.parseFrom(data, extensionRegistry);
1211 }
1213 com.google.protobuf.ByteString data)
1214 throws com.google.protobuf.InvalidProtocolBufferException {
1215 return PARSER.parseFrom(data);
1216 }
1218 com.google.protobuf.ByteString data,
1219 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1220 throws com.google.protobuf.InvalidProtocolBufferException {
1221 return PARSER.parseFrom(data, extensionRegistry);
1222 }
1224 throws com.google.protobuf.InvalidProtocolBufferException {
1225 return PARSER.parseFrom(data);
1226 }
1228 byte[] data,
1229 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1230 throws com.google.protobuf.InvalidProtocolBufferException {
1231 return PARSER.parseFrom(data, extensionRegistry);
1232 }
1234 throws java.io.IOException {
1235 return com.google.protobuf.GeneratedMessage
1236 .parseWithIOException(PARSER, input);
1237 }
1239 java.io.InputStream input,
1240 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1241 throws java.io.IOException {
1242 return com.google.protobuf.GeneratedMessage
1243 .parseWithIOException(PARSER, input, extensionRegistry);
1244 }
1245
1247 throws java.io.IOException {
1248 return com.google.protobuf.GeneratedMessage
1249 .parseDelimitedWithIOException(PARSER, input);
1250 }
1251
1253 java.io.InputStream input,
1254 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1255 throws java.io.IOException {
1256 return com.google.protobuf.GeneratedMessage
1257 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
1258 }
1260 com.google.protobuf.CodedInputStream input)
1261 throws java.io.IOException {
1262 return com.google.protobuf.GeneratedMessage
1263 .parseWithIOException(PARSER, input);
1264 }
1266 com.google.protobuf.CodedInputStream input,
1267 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1268 throws java.io.IOException {
1269 return com.google.protobuf.GeneratedMessage
1270 .parseWithIOException(PARSER, input, extensionRegistry);
1271 }
1272
1273 @java.lang.Override
1274 public Builder newBuilderForType() { return newBuilder(); }
1275 public static Builder newBuilder() {
1276 return DEFAULT_INSTANCE.toBuilder();
1277 }
1278 public static Builder newBuilder(com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria prototype) {
1279 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
1280 }
1281 @java.lang.Override
1283 return this == DEFAULT_INSTANCE
1284 ? new Builder() : new Builder().mergeFrom(this);
1285 }
1286
1287 @java.lang.Override
1289 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
1290 Builder builder = new Builder(parent);
1291 return builder;
1292 }
1293
1296 public static final class Builder extends
1297 com.google.protobuf.GeneratedMessage.Builder<Builder> implements
1298 // @@protoc_insertion_point(builder_implements:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria)
1299 com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteriaOrBuilder {
1300 public static final com.google.protobuf.Descriptors.Descriptor
1302 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_TerminationCriteria_DetailedOptimalityCriteria_descriptor;
1303 }
1304
1305 @java.lang.Override
1306 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
1308 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_TerminationCriteria_DetailedOptimalityCriteria_fieldAccessorTable
1309 .ensureFieldAccessorsInitialized(
1310 com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria.class, com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria.Builder.class);
1311 }
1312
1313 // Construct using com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria.newBuilder()
1314 private Builder() {
1315
1316 }
1317
1318 private Builder(
1319 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
1320 super(parent);
1321
1322 }
1323 @java.lang.Override
1324 public Builder clear() {
1325 super.clear();
1326 bitField0_ = 0;
1327 epsOptimalPrimalResidualAbsolute_ = 1e-06D;
1328 epsOptimalPrimalResidualRelative_ = 1e-06D;
1329 epsOptimalDualResidualAbsolute_ = 1e-06D;
1330 epsOptimalDualResidualRelative_ = 1e-06D;
1331 epsOptimalObjectiveGapAbsolute_ = 1e-06D;
1332 epsOptimalObjectiveGapRelative_ = 1e-06D;
1333 return this;
1334 }
1335
1336 @java.lang.Override
1337 public com.google.protobuf.Descriptors.Descriptor
1339 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_TerminationCriteria_DetailedOptimalityCriteria_descriptor;
1340 }
1341
1342 @java.lang.Override
1344 return com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria.getDefaultInstance();
1345 }
1346
1347 @java.lang.Override
1350 if (!result.isInitialized()) {
1351 throw newUninitializedMessageException(result);
1352 }
1353 return result;
1354 }
1355
1356 @java.lang.Override
1358 com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria result = new com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria(this);
1359 if (bitField0_ != 0) { buildPartial0(result); }
1360 onBuilt();
1361 return result;
1362 }
1363
1364 private void buildPartial0(com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria result) {
1365 int from_bitField0_ = bitField0_;
1366 int to_bitField0_ = 0;
1367 if (((from_bitField0_ & 0x00000001) != 0)) {
1368 result.epsOptimalPrimalResidualAbsolute_ = epsOptimalPrimalResidualAbsolute_;
1369 to_bitField0_ |= 0x00000001;
1370 }
1371 if (((from_bitField0_ & 0x00000002) != 0)) {
1372 result.epsOptimalPrimalResidualRelative_ = epsOptimalPrimalResidualRelative_;
1373 to_bitField0_ |= 0x00000002;
1374 }
1375 if (((from_bitField0_ & 0x00000004) != 0)) {
1376 result.epsOptimalDualResidualAbsolute_ = epsOptimalDualResidualAbsolute_;
1377 to_bitField0_ |= 0x00000004;
1378 }
1379 if (((from_bitField0_ & 0x00000008) != 0)) {
1380 result.epsOptimalDualResidualRelative_ = epsOptimalDualResidualRelative_;
1381 to_bitField0_ |= 0x00000008;
1382 }
1383 if (((from_bitField0_ & 0x00000010) != 0)) {
1384 result.epsOptimalObjectiveGapAbsolute_ = epsOptimalObjectiveGapAbsolute_;
1385 to_bitField0_ |= 0x00000010;
1386 }
1387 if (((from_bitField0_ & 0x00000020) != 0)) {
1388 result.epsOptimalObjectiveGapRelative_ = epsOptimalObjectiveGapRelative_;
1389 to_bitField0_ |= 0x00000020;
1390 }
1391 result.bitField0_ |= to_bitField0_;
1392 }
1393
1394 @java.lang.Override
1395 public Builder mergeFrom(com.google.protobuf.Message other) {
1396 if (other instanceof com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria) {
1397 return mergeFrom((com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria)other);
1398 } else {
1399 super.mergeFrom(other);
1400 return this;
1401 }
1402 }
1403
1404 public Builder mergeFrom(com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria other) {
1405 if (other == com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria.getDefaultInstance()) return this;
1406 if (other.hasEpsOptimalPrimalResidualAbsolute()) {
1407 setEpsOptimalPrimalResidualAbsolute(other.getEpsOptimalPrimalResidualAbsolute());
1408 }
1409 if (other.hasEpsOptimalPrimalResidualRelative()) {
1410 setEpsOptimalPrimalResidualRelative(other.getEpsOptimalPrimalResidualRelative());
1411 }
1412 if (other.hasEpsOptimalDualResidualAbsolute()) {
1413 setEpsOptimalDualResidualAbsolute(other.getEpsOptimalDualResidualAbsolute());
1414 }
1415 if (other.hasEpsOptimalDualResidualRelative()) {
1416 setEpsOptimalDualResidualRelative(other.getEpsOptimalDualResidualRelative());
1417 }
1418 if (other.hasEpsOptimalObjectiveGapAbsolute()) {
1419 setEpsOptimalObjectiveGapAbsolute(other.getEpsOptimalObjectiveGapAbsolute());
1420 }
1421 if (other.hasEpsOptimalObjectiveGapRelative()) {
1422 setEpsOptimalObjectiveGapRelative(other.getEpsOptimalObjectiveGapRelative());
1423 }
1424 this.mergeUnknownFields(other.getUnknownFields());
1425 onChanged();
1426 return this;
1427 }
1428
1429 @java.lang.Override
1430 public final boolean isInitialized() {
1431 return true;
1432 }
1433
1434 @java.lang.Override
1435 public Builder mergeFrom(
1436 com.google.protobuf.CodedInputStream input,
1437 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1438 throws java.io.IOException {
1439 if (extensionRegistry == null) {
1440 throw new java.lang.NullPointerException();
1441 }
1442 try {
1443 boolean done = false;
1444 while (!done) {
1445 int tag = input.readTag();
1446 switch (tag) {
1447 case 0:
1448 done = true;
1449 break;
1450 case 9: {
1451 epsOptimalPrimalResidualAbsolute_ = input.readDouble();
1452 bitField0_ |= 0x00000001;
1453 break;
1454 } // case 9
1455 case 17: {
1456 epsOptimalPrimalResidualRelative_ = input.readDouble();
1457 bitField0_ |= 0x00000002;
1458 break;
1459 } // case 17
1460 case 25: {
1461 epsOptimalDualResidualAbsolute_ = input.readDouble();
1462 bitField0_ |= 0x00000004;
1463 break;
1464 } // case 25
1465 case 33: {
1466 epsOptimalDualResidualRelative_ = input.readDouble();
1467 bitField0_ |= 0x00000008;
1468 break;
1469 } // case 33
1470 case 41: {
1471 epsOptimalObjectiveGapAbsolute_ = input.readDouble();
1472 bitField0_ |= 0x00000010;
1473 break;
1474 } // case 41
1475 case 49: {
1476 epsOptimalObjectiveGapRelative_ = input.readDouble();
1477 bitField0_ |= 0x00000020;
1478 break;
1479 } // case 49
1480 default: {
1481 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
1482 done = true; // was an endgroup tag
1483 }
1484 break;
1485 } // default:
1486 } // switch (tag)
1487 } // while (!done)
1488 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1489 throw e.unwrapIOException();
1490 } finally {
1491 onChanged();
1492 } // finally
1493 return this;
1494 }
1495 private int bitField0_;
1496
1497 private double epsOptimalPrimalResidualAbsolute_ = 1e-06D;
1506 @java.lang.Override
1508 return ((bitField0_ & 0x00000001) != 0);
1509 }
1510
1518 @java.lang.Override
1520 return epsOptimalPrimalResidualAbsolute_;
1521 }
1522
1531 public Builder setEpsOptimalPrimalResidualAbsolute(double value) {
1532
1533 epsOptimalPrimalResidualAbsolute_ = value;
1534 bitField0_ |= 0x00000001;
1535 onChanged();
1536 return this;
1537 }
1538
1547 bitField0_ = (bitField0_ & ~0x00000001);
1548 epsOptimalPrimalResidualAbsolute_ = 1e-06D;
1549 onChanged();
1550 return this;
1551 }
1552
1553 private double epsOptimalPrimalResidualRelative_ = 1e-06D;
1562 @java.lang.Override
1564 return ((bitField0_ & 0x00000002) != 0);
1565 }
1566
1574 @java.lang.Override
1576 return epsOptimalPrimalResidualRelative_;
1577 }
1578
1587 public Builder setEpsOptimalPrimalResidualRelative(double value) {
1588
1589 epsOptimalPrimalResidualRelative_ = value;
1590 bitField0_ |= 0x00000002;
1591 onChanged();
1592 return this;
1593 }
1594
1603 bitField0_ = (bitField0_ & ~0x00000002);
1604 epsOptimalPrimalResidualRelative_ = 1e-06D;
1605 onChanged();
1606 return this;
1607 }
1608
1609 private double epsOptimalDualResidualAbsolute_ = 1e-06D;
1618 @java.lang.Override
1620 return ((bitField0_ & 0x00000004) != 0);
1621 }
1622
1630 @java.lang.Override
1632 return epsOptimalDualResidualAbsolute_;
1633 }
1634
1643 public Builder setEpsOptimalDualResidualAbsolute(double value) {
1644
1645 epsOptimalDualResidualAbsolute_ = value;
1646 bitField0_ |= 0x00000004;
1647 onChanged();
1648 return this;
1649 }
1650
1659 bitField0_ = (bitField0_ & ~0x00000004);
1660 epsOptimalDualResidualAbsolute_ = 1e-06D;
1661 onChanged();
1662 return this;
1663 }
1664
1665 private double epsOptimalDualResidualRelative_ = 1e-06D;
1674 @java.lang.Override
1676 return ((bitField0_ & 0x00000008) != 0);
1677 }
1678
1686 @java.lang.Override
1688 return epsOptimalDualResidualRelative_;
1689 }
1690
1699 public Builder setEpsOptimalDualResidualRelative(double value) {
1700
1701 epsOptimalDualResidualRelative_ = value;
1702 bitField0_ |= 0x00000008;
1703 onChanged();
1704 return this;
1705 }
1706
1715 bitField0_ = (bitField0_ & ~0x00000008);
1716 epsOptimalDualResidualRelative_ = 1e-06D;
1717 onChanged();
1718 return this;
1719 }
1720
1721 private double epsOptimalObjectiveGapAbsolute_ = 1e-06D;
1730 @java.lang.Override
1732 return ((bitField0_ & 0x00000010) != 0);
1733 }
1734
1742 @java.lang.Override
1744 return epsOptimalObjectiveGapAbsolute_;
1745 }
1746
1755 public Builder setEpsOptimalObjectiveGapAbsolute(double value) {
1756
1757 epsOptimalObjectiveGapAbsolute_ = value;
1758 bitField0_ |= 0x00000010;
1759 onChanged();
1760 return this;
1761 }
1762
1771 bitField0_ = (bitField0_ & ~0x00000010);
1772 epsOptimalObjectiveGapAbsolute_ = 1e-06D;
1773 onChanged();
1774 return this;
1775 }
1776
1777 private double epsOptimalObjectiveGapRelative_ = 1e-06D;
1786 @java.lang.Override
1788 return ((bitField0_ & 0x00000020) != 0);
1789 }
1790
1798 @java.lang.Override
1800 return epsOptimalObjectiveGapRelative_;
1801 }
1802
1811 public Builder setEpsOptimalObjectiveGapRelative(double value) {
1812
1813 epsOptimalObjectiveGapRelative_ = value;
1814 bitField0_ |= 0x00000020;
1815 onChanged();
1816 return this;
1817 }
1818
1827 bitField0_ = (bitField0_ & ~0x00000020);
1828 epsOptimalObjectiveGapRelative_ = 1e-06D;
1829 onChanged();
1830 return this;
1831 }
1832
1833 // @@protoc_insertion_point(builder_scope:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria)
1834 }
1835
1836 // @@protoc_insertion_point(class_scope:operations_research.pdlp.TerminationCriteria.DetailedOptimalityCriteria)
1838 static {
1839 DEFAULT_INSTANCE = new com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria();
1840 }
1841
1845
1846 private static final com.google.protobuf.Parser<DetailedOptimalityCriteria>
1847 PARSER = new com.google.protobuf.AbstractParser<DetailedOptimalityCriteria>() {
1848 @java.lang.Override
1849 public DetailedOptimalityCriteria parsePartialFrom(
1850 com.google.protobuf.CodedInputStream input,
1851 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1852 throws com.google.protobuf.InvalidProtocolBufferException {
1853 Builder builder = newBuilder();
1854 try {
1855 builder.mergeFrom(input, extensionRegistry);
1856 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1857 throw e.setUnfinishedMessage(builder.buildPartial());
1858 } catch (com.google.protobuf.UninitializedMessageException e) {
1859 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
1860 } catch (java.io.IOException e) {
1861 throw new com.google.protobuf.InvalidProtocolBufferException(e)
1862 .setUnfinishedMessage(builder.buildPartial());
1863 }
1864 return builder.buildPartial();
1865 }
1866 };
1867
1868 public static com.google.protobuf.Parser<DetailedOptimalityCriteria> parser() {
1869 return PARSER;
1870 }
1871
1872 @java.lang.Override
1873 public com.google.protobuf.Parser<DetailedOptimalityCriteria> getParserForType() {
1874 return PARSER;
1875 }
1876
1877 @java.lang.Override
1881
1882 }
1883
1884 private int bitField0_;
1885 private int optimalityCriteriaCase_ = 0;
1886 @SuppressWarnings("serial")
1887 private java.lang.Object optimalityCriteria_;
1888 public enum OptimalityCriteriaCase
1889 implements com.google.protobuf.Internal.EnumLite,
1890 com.google.protobuf.AbstractMessage.InternalOneOfEnum {
1894 private final int value;
1895 private OptimalityCriteriaCase(int value) {
1896 this.value = value;
1897 }
1903 @java.lang.Deprecated
1904 public static OptimalityCriteriaCase valueOf(int value) {
1905 return forNumber(value);
1906 }
1907
1908 public static OptimalityCriteriaCase forNumber(int value) {
1909 switch (value) {
1910 case 9: return SIMPLE_OPTIMALITY_CRITERIA;
1911 case 10: return DETAILED_OPTIMALITY_CRITERIA;
1912 case 0: return OPTIMALITYCRITERIA_NOT_SET;
1913 default: return null;
1914 }
1915 }
1916 public int getNumber() {
1917 return this.value;
1918 }
1919 };
1920
1921 public OptimalityCriteriaCase
1924 optimalityCriteriaCase_);
1925 }
1926
1927 public static final int OPTIMALITY_NORM_FIELD_NUMBER = 1;
1928 private int optimalityNorm_ = 2;
1937 @java.lang.Override public boolean hasOptimalityNorm() {
1938 return ((bitField0_ & 0x00000001) != 0);
1939 }
1940
1949 com.google.ortools.pdlp.OptimalityNorm result = com.google.ortools.pdlp.OptimalityNorm.forNumber(optimalityNorm_);
1950 return result == null ? com.google.ortools.pdlp.OptimalityNorm.OPTIMALITY_NORM_L2 : result;
1951 }
1952
1953 public static final int SIMPLE_OPTIMALITY_CRITERIA_FIELD_NUMBER = 9;
1958 @java.lang.Override
1960 return optimalityCriteriaCase_ == 9;
1961 }
1962
1966 @java.lang.Override
1968 if (optimalityCriteriaCase_ == 9) {
1969 return (com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria) optimalityCriteria_;
1970 }
1971 return com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria.getDefaultInstance();
1972 }
1973
1976 @java.lang.Override
1978 if (optimalityCriteriaCase_ == 9) {
1979 return (com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria) optimalityCriteria_;
1980 }
1981 return com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria.getDefaultInstance();
1982 }
1983
1984 public static final int DETAILED_OPTIMALITY_CRITERIA_FIELD_NUMBER = 10;
1989 @java.lang.Override
1991 return optimalityCriteriaCase_ == 10;
1992 }
1993
1997 @java.lang.Override
1999 if (optimalityCriteriaCase_ == 10) {
2000 return (com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria) optimalityCriteria_;
2001 }
2002 return com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria.getDefaultInstance();
2003 }
2004
2007 @java.lang.Override
2009 if (optimalityCriteriaCase_ == 10) {
2010 return (com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria) optimalityCriteria_;
2011 }
2012 return com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria.getDefaultInstance();
2013 }
2014
2015 public static final int EPS_OPTIMAL_ABSOLUTE_FIELD_NUMBER = 2;
2016 private double epsOptimalAbsolute_ = 1e-06D;
2030 @java.lang.Override
2031 @java.lang.Deprecated public boolean hasEpsOptimalAbsolute() {
2032 return ((bitField0_ & 0x00000002) != 0);
2033 }
2034
2047 @java.lang.Override
2048 @java.lang.Deprecated public double getEpsOptimalAbsolute() {
2049 return epsOptimalAbsolute_;
2050 }
2051
2052 public static final int EPS_OPTIMAL_RELATIVE_FIELD_NUMBER = 3;
2053 private double epsOptimalRelative_ = 1e-06D;
2067 @java.lang.Override
2068 @java.lang.Deprecated public boolean hasEpsOptimalRelative() {
2069 return ((bitField0_ & 0x00000004) != 0);
2070 }
2071
2084 @java.lang.Override
2085 @java.lang.Deprecated public double getEpsOptimalRelative() {
2086 return epsOptimalRelative_;
2087 }
2088
2089 public static final int EPS_PRIMAL_INFEASIBLE_FIELD_NUMBER = 4;
2090 private double epsPrimalInfeasible_ = 1e-08D;
2104 @java.lang.Override
2105 public boolean hasEpsPrimalInfeasible() {
2106 return ((bitField0_ & 0x00000008) != 0);
2107 }
2108
2121 @java.lang.Override
2122 public double getEpsPrimalInfeasible() {
2123 return epsPrimalInfeasible_;
2124 }
2125
2126 public static final int EPS_DUAL_INFEASIBLE_FIELD_NUMBER = 5;
2127 private double epsDualInfeasible_ = 1e-08D;
2143 @java.lang.Override
2144 public boolean hasEpsDualInfeasible() {
2145 return ((bitField0_ & 0x00000010) != 0);
2146 }
2147
2162 @java.lang.Override
2163 public double getEpsDualInfeasible() {
2164 return epsDualInfeasible_;
2165 }
2166
2167 public static final int TIME_SEC_LIMIT_FIELD_NUMBER = 6;
2168 private double timeSecLimit_ = Double.POSITIVE_INFINITY;
2178 @java.lang.Override
2179 public boolean hasTimeSecLimit() {
2180 return ((bitField0_ & 0x00000020) != 0);
2181 }
2182
2191 @java.lang.Override
2192 public double getTimeSecLimit() {
2193 return timeSecLimit_;
2194 }
2195
2196 public static final int ITERATION_LIMIT_FIELD_NUMBER = 7;
2197 private int iterationLimit_ = 2147483647;
2207 @java.lang.Override
2208 public boolean hasIterationLimit() {
2209 return ((bitField0_ & 0x00000040) != 0);
2210 }
2211
2220 @java.lang.Override
2221 public int getIterationLimit() {
2222 return iterationLimit_;
2223 }
2224
2225 public static final int KKT_MATRIX_PASS_LIMIT_FIELD_NUMBER = 8;
2226 private double kktMatrixPassLimit_ = Double.POSITIVE_INFINITY;
2236 @java.lang.Override
2237 public boolean hasKktMatrixPassLimit() {
2238 return ((bitField0_ & 0x00000080) != 0);
2239 }
2240
2249 @java.lang.Override
2250 public double getKktMatrixPassLimit() {
2251 return kktMatrixPassLimit_;
2252 }
2253
2254 private byte memoizedIsInitialized = -1;
2255 @java.lang.Override
2256 public final boolean isInitialized() {
2257 byte isInitialized = memoizedIsInitialized;
2258 if (isInitialized == 1) return true;
2259 if (isInitialized == 0) return false;
2260
2261 memoizedIsInitialized = 1;
2262 return true;
2263 }
2264
2265 @java.lang.Override
2266 public void writeTo(com.google.protobuf.CodedOutputStream output)
2267 throws java.io.IOException {
2268 if (((bitField0_ & 0x00000001) != 0)) {
2269 output.writeEnum(1, optimalityNorm_);
2270 }
2271 if (((bitField0_ & 0x00000002) != 0)) {
2272 output.writeDouble(2, epsOptimalAbsolute_);
2273 }
2274 if (((bitField0_ & 0x00000004) != 0)) {
2275 output.writeDouble(3, epsOptimalRelative_);
2276 }
2277 if (((bitField0_ & 0x00000008) != 0)) {
2278 output.writeDouble(4, epsPrimalInfeasible_);
2279 }
2280 if (((bitField0_ & 0x00000010) != 0)) {
2281 output.writeDouble(5, epsDualInfeasible_);
2282 }
2283 if (((bitField0_ & 0x00000020) != 0)) {
2284 output.writeDouble(6, timeSecLimit_);
2285 }
2286 if (((bitField0_ & 0x00000040) != 0)) {
2287 output.writeInt32(7, iterationLimit_);
2288 }
2289 if (((bitField0_ & 0x00000080) != 0)) {
2290 output.writeDouble(8, kktMatrixPassLimit_);
2291 }
2292 if (optimalityCriteriaCase_ == 9) {
2293 output.writeMessage(9, (com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria) optimalityCriteria_);
2294 }
2295 if (optimalityCriteriaCase_ == 10) {
2296 output.writeMessage(10, (com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria) optimalityCriteria_);
2297 }
2298 getUnknownFields().writeTo(output);
2299 }
2300
2301 @java.lang.Override
2302 public int getSerializedSize() {
2303 int size = memoizedSize;
2304 if (size != -1) return size;
2305
2306 size = 0;
2307 if (((bitField0_ & 0x00000001) != 0)) {
2308 size += com.google.protobuf.CodedOutputStream
2309 .computeEnumSize(1, optimalityNorm_);
2310 }
2311 if (((bitField0_ & 0x00000002) != 0)) {
2312 size += com.google.protobuf.CodedOutputStream
2313 .computeDoubleSize(2, epsOptimalAbsolute_);
2314 }
2315 if (((bitField0_ & 0x00000004) != 0)) {
2316 size += com.google.protobuf.CodedOutputStream
2317 .computeDoubleSize(3, epsOptimalRelative_);
2318 }
2319 if (((bitField0_ & 0x00000008) != 0)) {
2320 size += com.google.protobuf.CodedOutputStream
2321 .computeDoubleSize(4, epsPrimalInfeasible_);
2322 }
2323 if (((bitField0_ & 0x00000010) != 0)) {
2324 size += com.google.protobuf.CodedOutputStream
2325 .computeDoubleSize(5, epsDualInfeasible_);
2326 }
2327 if (((bitField0_ & 0x00000020) != 0)) {
2328 size += com.google.protobuf.CodedOutputStream
2329 .computeDoubleSize(6, timeSecLimit_);
2330 }
2331 if (((bitField0_ & 0x00000040) != 0)) {
2332 size += com.google.protobuf.CodedOutputStream
2333 .computeInt32Size(7, iterationLimit_);
2334 }
2335 if (((bitField0_ & 0x00000080) != 0)) {
2336 size += com.google.protobuf.CodedOutputStream
2337 .computeDoubleSize(8, kktMatrixPassLimit_);
2338 }
2339 if (optimalityCriteriaCase_ == 9) {
2340 size += com.google.protobuf.CodedOutputStream
2341 .computeMessageSize(9, (com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria) optimalityCriteria_);
2342 }
2343 if (optimalityCriteriaCase_ == 10) {
2344 size += com.google.protobuf.CodedOutputStream
2345 .computeMessageSize(10, (com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria) optimalityCriteria_);
2346 }
2347 size += getUnknownFields().getSerializedSize();
2348 memoizedSize = size;
2349 return size;
2350 }
2351
2352 @java.lang.Override
2353 public boolean equals(final java.lang.Object obj) {
2354 if (obj == this) {
2355 return true;
2356 }
2357 if (!(obj instanceof com.google.ortools.pdlp.TerminationCriteria)) {
2358 return super.equals(obj);
2359 }
2360 com.google.ortools.pdlp.TerminationCriteria other = (com.google.ortools.pdlp.TerminationCriteria) obj;
2361
2362 if (hasOptimalityNorm() != other.hasOptimalityNorm()) return false;
2363 if (hasOptimalityNorm()) {
2364 if (optimalityNorm_ != other.optimalityNorm_) return false;
2365 }
2366 if (hasEpsOptimalAbsolute() != other.hasEpsOptimalAbsolute()) return false;
2367 if (hasEpsOptimalAbsolute()) {
2368 if (java.lang.Double.doubleToLongBits(getEpsOptimalAbsolute())
2369 != java.lang.Double.doubleToLongBits(
2370 other.getEpsOptimalAbsolute())) return false;
2371 }
2372 if (hasEpsOptimalRelative() != other.hasEpsOptimalRelative()) return false;
2373 if (hasEpsOptimalRelative()) {
2374 if (java.lang.Double.doubleToLongBits(getEpsOptimalRelative())
2375 != java.lang.Double.doubleToLongBits(
2376 other.getEpsOptimalRelative())) return false;
2377 }
2378 if (hasEpsPrimalInfeasible() != other.hasEpsPrimalInfeasible()) return false;
2379 if (hasEpsPrimalInfeasible()) {
2380 if (java.lang.Double.doubleToLongBits(getEpsPrimalInfeasible())
2381 != java.lang.Double.doubleToLongBits(
2382 other.getEpsPrimalInfeasible())) return false;
2383 }
2384 if (hasEpsDualInfeasible() != other.hasEpsDualInfeasible()) return false;
2385 if (hasEpsDualInfeasible()) {
2386 if (java.lang.Double.doubleToLongBits(getEpsDualInfeasible())
2387 != java.lang.Double.doubleToLongBits(
2388 other.getEpsDualInfeasible())) return false;
2389 }
2390 if (hasTimeSecLimit() != other.hasTimeSecLimit()) return false;
2391 if (hasTimeSecLimit()) {
2392 if (java.lang.Double.doubleToLongBits(getTimeSecLimit())
2393 != java.lang.Double.doubleToLongBits(
2394 other.getTimeSecLimit())) return false;
2395 }
2396 if (hasIterationLimit() != other.hasIterationLimit()) return false;
2397 if (hasIterationLimit()) {
2398 if (getIterationLimit()
2399 != other.getIterationLimit()) return false;
2400 }
2401 if (hasKktMatrixPassLimit() != other.hasKktMatrixPassLimit()) return false;
2402 if (hasKktMatrixPassLimit()) {
2403 if (java.lang.Double.doubleToLongBits(getKktMatrixPassLimit())
2404 != java.lang.Double.doubleToLongBits(
2405 other.getKktMatrixPassLimit())) return false;
2406 }
2407 if (!getOptimalityCriteriaCase().equals(other.getOptimalityCriteriaCase())) return false;
2408 switch (optimalityCriteriaCase_) {
2409 case 9:
2411 .equals(other.getSimpleOptimalityCriteria())) return false;
2412 break;
2413 case 10:
2415 .equals(other.getDetailedOptimalityCriteria())) return false;
2416 break;
2417 case 0:
2418 default:
2419 }
2420 if (!getUnknownFields().equals(other.getUnknownFields())) return false;
2421 return true;
2422 }
2423
2424 @java.lang.Override
2425 public int hashCode() {
2426 if (memoizedHashCode != 0) {
2427 return memoizedHashCode;
2428 }
2429 int hash = 41;
2430 hash = (19 * hash) + getDescriptor().hashCode();
2431 if (hasOptimalityNorm()) {
2432 hash = (37 * hash) + OPTIMALITY_NORM_FIELD_NUMBER;
2433 hash = (53 * hash) + optimalityNorm_;
2434 }
2435 if (hasEpsOptimalAbsolute()) {
2436 hash = (37 * hash) + EPS_OPTIMAL_ABSOLUTE_FIELD_NUMBER;
2437 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2438 java.lang.Double.doubleToLongBits(getEpsOptimalAbsolute()));
2439 }
2440 if (hasEpsOptimalRelative()) {
2441 hash = (37 * hash) + EPS_OPTIMAL_RELATIVE_FIELD_NUMBER;
2442 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2443 java.lang.Double.doubleToLongBits(getEpsOptimalRelative()));
2444 }
2445 if (hasEpsPrimalInfeasible()) {
2446 hash = (37 * hash) + EPS_PRIMAL_INFEASIBLE_FIELD_NUMBER;
2447 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2448 java.lang.Double.doubleToLongBits(getEpsPrimalInfeasible()));
2449 }
2450 if (hasEpsDualInfeasible()) {
2451 hash = (37 * hash) + EPS_DUAL_INFEASIBLE_FIELD_NUMBER;
2452 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2453 java.lang.Double.doubleToLongBits(getEpsDualInfeasible()));
2454 }
2455 if (hasTimeSecLimit()) {
2456 hash = (37 * hash) + TIME_SEC_LIMIT_FIELD_NUMBER;
2457 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2458 java.lang.Double.doubleToLongBits(getTimeSecLimit()));
2459 }
2460 if (hasIterationLimit()) {
2461 hash = (37 * hash) + ITERATION_LIMIT_FIELD_NUMBER;
2462 hash = (53 * hash) + getIterationLimit();
2463 }
2464 if (hasKktMatrixPassLimit()) {
2465 hash = (37 * hash) + KKT_MATRIX_PASS_LIMIT_FIELD_NUMBER;
2466 hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
2467 java.lang.Double.doubleToLongBits(getKktMatrixPassLimit()));
2468 }
2469 switch (optimalityCriteriaCase_) {
2470 case 9:
2471 hash = (37 * hash) + SIMPLE_OPTIMALITY_CRITERIA_FIELD_NUMBER;
2472 hash = (53 * hash) + getSimpleOptimalityCriteria().hashCode();
2473 break;
2474 case 10:
2475 hash = (37 * hash) + DETAILED_OPTIMALITY_CRITERIA_FIELD_NUMBER;
2476 hash = (53 * hash) + getDetailedOptimalityCriteria().hashCode();
2477 break;
2478 case 0:
2479 default:
2480 }
2481 hash = (29 * hash) + getUnknownFields().hashCode();
2482 memoizedHashCode = hash;
2483 return hash;
2484 }
2485
2487 java.nio.ByteBuffer data)
2488 throws com.google.protobuf.InvalidProtocolBufferException {
2489 return PARSER.parseFrom(data);
2490 }
2492 java.nio.ByteBuffer data,
2493 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2494 throws com.google.protobuf.InvalidProtocolBufferException {
2495 return PARSER.parseFrom(data, extensionRegistry);
2496 }
2498 com.google.protobuf.ByteString data)
2499 throws com.google.protobuf.InvalidProtocolBufferException {
2500 return PARSER.parseFrom(data);
2501 }
2503 com.google.protobuf.ByteString data,
2504 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2505 throws com.google.protobuf.InvalidProtocolBufferException {
2506 return PARSER.parseFrom(data, extensionRegistry);
2507 }
2509 throws com.google.protobuf.InvalidProtocolBufferException {
2510 return PARSER.parseFrom(data);
2511 }
2513 byte[] data,
2514 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2515 throws com.google.protobuf.InvalidProtocolBufferException {
2516 return PARSER.parseFrom(data, extensionRegistry);
2517 }
2518 public static com.google.ortools.pdlp.TerminationCriteria parseFrom(java.io.InputStream input)
2519 throws java.io.IOException {
2520 return com.google.protobuf.GeneratedMessage
2521 .parseWithIOException(PARSER, input);
2522 }
2524 java.io.InputStream input,
2525 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2526 throws java.io.IOException {
2527 return com.google.protobuf.GeneratedMessage
2528 .parseWithIOException(PARSER, input, extensionRegistry);
2529 }
2530
2532 throws java.io.IOException {
2533 return com.google.protobuf.GeneratedMessage
2534 .parseDelimitedWithIOException(PARSER, input);
2535 }
2536
2538 java.io.InputStream input,
2539 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2540 throws java.io.IOException {
2541 return com.google.protobuf.GeneratedMessage
2542 .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
2543 }
2545 com.google.protobuf.CodedInputStream input)
2546 throws java.io.IOException {
2547 return com.google.protobuf.GeneratedMessage
2548 .parseWithIOException(PARSER, input);
2549 }
2551 com.google.protobuf.CodedInputStream input,
2552 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2553 throws java.io.IOException {
2554 return com.google.protobuf.GeneratedMessage
2555 .parseWithIOException(PARSER, input, extensionRegistry);
2556 }
2557
2558 @java.lang.Override
2559 public Builder newBuilderForType() { return newBuilder(); }
2560 public static Builder newBuilder() {
2561 return DEFAULT_INSTANCE.toBuilder();
2562 }
2563 public static Builder newBuilder(com.google.ortools.pdlp.TerminationCriteria prototype) {
2564 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
2565 }
2566 @java.lang.Override
2568 return this == DEFAULT_INSTANCE
2569 ? new Builder() : new Builder().mergeFrom(this);
2570 }
2571
2572 @java.lang.Override
2574 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
2575 Builder builder = new Builder(parent);
2576 return builder;
2577 }
2578
2594 public static final class Builder extends
2595 com.google.protobuf.GeneratedMessage.Builder<Builder> implements
2596 // @@protoc_insertion_point(builder_implements:operations_research.pdlp.TerminationCriteria)
2598 public static final com.google.protobuf.Descriptors.Descriptor
2600 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_TerminationCriteria_descriptor;
2601 }
2602
2603 @java.lang.Override
2604 protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
2606 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_TerminationCriteria_fieldAccessorTable
2607 .ensureFieldAccessorsInitialized(
2608 com.google.ortools.pdlp.TerminationCriteria.class, com.google.ortools.pdlp.TerminationCriteria.Builder.class);
2609 }
2610
2611 // Construct using com.google.ortools.pdlp.TerminationCriteria.newBuilder()
2612 private Builder() {
2613
2614 }
2615
2616 private Builder(
2617 com.google.protobuf.GeneratedMessage.BuilderParent parent) {
2618 super(parent);
2619
2620 }
2621 @java.lang.Override
2622 public Builder clear() {
2623 super.clear();
2624 bitField0_ = 0;
2625 optimalityNorm_ = 2;
2626 if (simpleOptimalityCriteriaBuilder_ != null) {
2627 simpleOptimalityCriteriaBuilder_.clear();
2628 }
2629 if (detailedOptimalityCriteriaBuilder_ != null) {
2630 detailedOptimalityCriteriaBuilder_.clear();
2631 }
2632 epsOptimalAbsolute_ = 1e-06D;
2633 epsOptimalRelative_ = 1e-06D;
2634 epsPrimalInfeasible_ = 1e-08D;
2635 epsDualInfeasible_ = 1e-08D;
2636 timeSecLimit_ = Double.POSITIVE_INFINITY;
2637 iterationLimit_ = 2147483647;
2638 kktMatrixPassLimit_ = Double.POSITIVE_INFINITY;
2639 optimalityCriteriaCase_ = 0;
2640 optimalityCriteria_ = null;
2641 return this;
2642 }
2643
2644 @java.lang.Override
2645 public com.google.protobuf.Descriptors.Descriptor
2647 return com.google.ortools.pdlp.Solvers.internal_static_operations_research_pdlp_TerminationCriteria_descriptor;
2648 }
2649
2650 @java.lang.Override
2652 return com.google.ortools.pdlp.TerminationCriteria.getDefaultInstance();
2653 }
2654
2655 @java.lang.Override
2658 if (!result.isInitialized()) {
2659 throw newUninitializedMessageException(result);
2660 }
2661 return result;
2662 }
2663
2664 @java.lang.Override
2666 com.google.ortools.pdlp.TerminationCriteria result = new com.google.ortools.pdlp.TerminationCriteria(this);
2667 if (bitField0_ != 0) { buildPartial0(result); }
2668 buildPartialOneofs(result);
2669 onBuilt();
2670 return result;
2671 }
2672
2673 private void buildPartial0(com.google.ortools.pdlp.TerminationCriteria result) {
2674 int from_bitField0_ = bitField0_;
2675 int to_bitField0_ = 0;
2676 if (((from_bitField0_ & 0x00000001) != 0)) {
2677 result.optimalityNorm_ = optimalityNorm_;
2678 to_bitField0_ |= 0x00000001;
2679 }
2680 if (((from_bitField0_ & 0x00000008) != 0)) {
2681 result.epsOptimalAbsolute_ = epsOptimalAbsolute_;
2682 to_bitField0_ |= 0x00000002;
2683 }
2684 if (((from_bitField0_ & 0x00000010) != 0)) {
2685 result.epsOptimalRelative_ = epsOptimalRelative_;
2686 to_bitField0_ |= 0x00000004;
2687 }
2688 if (((from_bitField0_ & 0x00000020) != 0)) {
2689 result.epsPrimalInfeasible_ = epsPrimalInfeasible_;
2690 to_bitField0_ |= 0x00000008;
2691 }
2692 if (((from_bitField0_ & 0x00000040) != 0)) {
2693 result.epsDualInfeasible_ = epsDualInfeasible_;
2694 to_bitField0_ |= 0x00000010;
2695 }
2696 if (((from_bitField0_ & 0x00000080) != 0)) {
2697 result.timeSecLimit_ = timeSecLimit_;
2698 to_bitField0_ |= 0x00000020;
2699 }
2700 if (((from_bitField0_ & 0x00000100) != 0)) {
2701 result.iterationLimit_ = iterationLimit_;
2702 to_bitField0_ |= 0x00000040;
2703 }
2704 if (((from_bitField0_ & 0x00000200) != 0)) {
2705 result.kktMatrixPassLimit_ = kktMatrixPassLimit_;
2706 to_bitField0_ |= 0x00000080;
2707 }
2708 result.bitField0_ |= to_bitField0_;
2709 }
2710
2711 private void buildPartialOneofs(com.google.ortools.pdlp.TerminationCriteria result) {
2712 result.optimalityCriteriaCase_ = optimalityCriteriaCase_;
2713 result.optimalityCriteria_ = this.optimalityCriteria_;
2714 if (optimalityCriteriaCase_ == 9 &&
2715 simpleOptimalityCriteriaBuilder_ != null) {
2716 result.optimalityCriteria_ = simpleOptimalityCriteriaBuilder_.build();
2717 }
2718 if (optimalityCriteriaCase_ == 10 &&
2719 detailedOptimalityCriteriaBuilder_ != null) {
2720 result.optimalityCriteria_ = detailedOptimalityCriteriaBuilder_.build();
2721 }
2722 }
2723
2724 @java.lang.Override
2725 public Builder mergeFrom(com.google.protobuf.Message other) {
2726 if (other instanceof com.google.ortools.pdlp.TerminationCriteria) {
2727 return mergeFrom((com.google.ortools.pdlp.TerminationCriteria)other);
2728 } else {
2729 super.mergeFrom(other);
2730 return this;
2731 }
2732 }
2733
2734 public Builder mergeFrom(com.google.ortools.pdlp.TerminationCriteria other) {
2735 if (other == com.google.ortools.pdlp.TerminationCriteria.getDefaultInstance()) return this;
2736 if (other.hasOptimalityNorm()) {
2737 setOptimalityNorm(other.getOptimalityNorm());
2738 }
2739 if (other.hasEpsOptimalAbsolute()) {
2740 setEpsOptimalAbsolute(other.getEpsOptimalAbsolute());
2741 }
2742 if (other.hasEpsOptimalRelative()) {
2743 setEpsOptimalRelative(other.getEpsOptimalRelative());
2744 }
2745 if (other.hasEpsPrimalInfeasible()) {
2746 setEpsPrimalInfeasible(other.getEpsPrimalInfeasible());
2747 }
2748 if (other.hasEpsDualInfeasible()) {
2749 setEpsDualInfeasible(other.getEpsDualInfeasible());
2750 }
2751 if (other.hasTimeSecLimit()) {
2752 setTimeSecLimit(other.getTimeSecLimit());
2753 }
2754 if (other.hasIterationLimit()) {
2755 setIterationLimit(other.getIterationLimit());
2756 }
2757 if (other.hasKktMatrixPassLimit()) {
2758 setKktMatrixPassLimit(other.getKktMatrixPassLimit());
2759 }
2760 switch (other.getOptimalityCriteriaCase()) {
2761 case SIMPLE_OPTIMALITY_CRITERIA: {
2762 mergeSimpleOptimalityCriteria(other.getSimpleOptimalityCriteria());
2763 break;
2764 }
2765 case DETAILED_OPTIMALITY_CRITERIA: {
2766 mergeDetailedOptimalityCriteria(other.getDetailedOptimalityCriteria());
2767 break;
2768 }
2769 case OPTIMALITYCRITERIA_NOT_SET: {
2770 break;
2771 }
2772 }
2773 this.mergeUnknownFields(other.getUnknownFields());
2774 onChanged();
2775 return this;
2776 }
2777
2778 @java.lang.Override
2779 public final boolean isInitialized() {
2780 return true;
2781 }
2782
2783 @java.lang.Override
2784 public Builder mergeFrom(
2785 com.google.protobuf.CodedInputStream input,
2786 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2787 throws java.io.IOException {
2788 if (extensionRegistry == null) {
2789 throw new java.lang.NullPointerException();
2790 }
2791 try {
2792 boolean done = false;
2793 while (!done) {
2794 int tag = input.readTag();
2795 switch (tag) {
2796 case 0:
2797 done = true;
2798 break;
2799 case 8: {
2800 int tmpRaw = input.readEnum();
2802 com.google.ortools.pdlp.OptimalityNorm.forNumber(tmpRaw);
2803 if (tmpValue == null) {
2804 mergeUnknownVarintField(1, tmpRaw);
2805 } else {
2806 optimalityNorm_ = tmpRaw;
2807 bitField0_ |= 0x00000001;
2808 }
2809 break;
2810 } // case 8
2811 case 17: {
2812 epsOptimalAbsolute_ = input.readDouble();
2813 bitField0_ |= 0x00000008;
2814 break;
2815 } // case 17
2816 case 25: {
2817 epsOptimalRelative_ = input.readDouble();
2818 bitField0_ |= 0x00000010;
2819 break;
2820 } // case 25
2821 case 33: {
2822 epsPrimalInfeasible_ = input.readDouble();
2823 bitField0_ |= 0x00000020;
2824 break;
2825 } // case 33
2826 case 41: {
2827 epsDualInfeasible_ = input.readDouble();
2828 bitField0_ |= 0x00000040;
2829 break;
2830 } // case 41
2831 case 49: {
2832 timeSecLimit_ = input.readDouble();
2833 bitField0_ |= 0x00000080;
2834 break;
2835 } // case 49
2836 case 56: {
2837 iterationLimit_ = input.readInt32();
2838 bitField0_ |= 0x00000100;
2839 break;
2840 } // case 56
2841 case 65: {
2842 kktMatrixPassLimit_ = input.readDouble();
2843 bitField0_ |= 0x00000200;
2844 break;
2845 } // case 65
2846 case 74: {
2847 input.readMessage(
2848 getSimpleOptimalityCriteriaFieldBuilder().getBuilder(),
2849 extensionRegistry);
2850 optimalityCriteriaCase_ = 9;
2851 break;
2852 } // case 74
2853 case 82: {
2854 input.readMessage(
2855 getDetailedOptimalityCriteriaFieldBuilder().getBuilder(),
2856 extensionRegistry);
2857 optimalityCriteriaCase_ = 10;
2858 break;
2859 } // case 82
2860 default: {
2861 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
2862 done = true; // was an endgroup tag
2863 }
2864 break;
2865 } // default:
2866 } // switch (tag)
2867 } // while (!done)
2868 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2869 throw e.unwrapIOException();
2870 } finally {
2871 onChanged();
2872 } // finally
2873 return this;
2874 }
2875 private int optimalityCriteriaCase_ = 0;
2876 private java.lang.Object optimalityCriteria_;
2880 optimalityCriteriaCase_);
2881 }
2882
2883 public Builder clearOptimalityCriteria() {
2884 optimalityCriteriaCase_ = 0;
2885 optimalityCriteria_ = null;
2886 onChanged();
2887 return this;
2888 }
2889
2890 private int bitField0_;
2891
2892 private int optimalityNorm_ = 2;
2901 @java.lang.Override public boolean hasOptimalityNorm() {
2902 return ((bitField0_ & 0x00000001) != 0);
2903 }
2904
2912 @java.lang.Override
2914 com.google.ortools.pdlp.OptimalityNorm result = com.google.ortools.pdlp.OptimalityNorm.forNumber(optimalityNorm_);
2915 return result == null ? com.google.ortools.pdlp.OptimalityNorm.OPTIMALITY_NORM_L2 : result;
2916 }
2917
2926 public Builder setOptimalityNorm(com.google.ortools.pdlp.OptimalityNorm value) {
2927 if (value == null) {
2928 throw new NullPointerException();
2929 }
2930 bitField0_ |= 0x00000001;
2931 optimalityNorm_ = value.getNumber();
2932 onChanged();
2933 return this;
2934 }
2935
2943 public Builder clearOptimalityNorm() {
2944 bitField0_ = (bitField0_ & ~0x00000001);
2945 optimalityNorm_ = 2;
2946 onChanged();
2947 return this;
2948 }
2949
2950 private com.google.protobuf.SingleFieldBuilder<
2951 com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria, com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria.Builder, com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteriaOrBuilder> simpleOptimalityCriteriaBuilder_;
2956 @java.lang.Override
2958 return optimalityCriteriaCase_ == 9;
2959 }
2960
2964 @java.lang.Override
2966 if (simpleOptimalityCriteriaBuilder_ == null) {
2967 if (optimalityCriteriaCase_ == 9) {
2968 return (com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria) optimalityCriteria_;
2969 }
2970 return com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria.getDefaultInstance();
2971 } else {
2972 if (optimalityCriteriaCase_ == 9) {
2973 return simpleOptimalityCriteriaBuilder_.getMessage();
2974 }
2975 return com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria.getDefaultInstance();
2976 }
2977 }
2978
2981 public Builder setSimpleOptimalityCriteria(com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria value) {
2982 if (simpleOptimalityCriteriaBuilder_ == null) {
2983 if (value == null) {
2984 throw new NullPointerException();
2985 }
2986 optimalityCriteria_ = value;
2987 onChanged();
2988 } else {
2989 simpleOptimalityCriteriaBuilder_.setMessage(value);
2990 }
2991 optimalityCriteriaCase_ = 9;
2992 return this;
2993 }
2994
2998 com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria.Builder builderForValue) {
2999 if (simpleOptimalityCriteriaBuilder_ == null) {
3000 optimalityCriteria_ = builderForValue.build();
3001 onChanged();
3002 } else {
3003 simpleOptimalityCriteriaBuilder_.setMessage(builderForValue.build());
3004 }
3005 optimalityCriteriaCase_ = 9;
3006 return this;
3007 }
3008
3011 public Builder mergeSimpleOptimalityCriteria(com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria value) {
3012 if (simpleOptimalityCriteriaBuilder_ == null) {
3013 if (optimalityCriteriaCase_ == 9 &&
3014 optimalityCriteria_ != com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria.getDefaultInstance()) {
3015 optimalityCriteria_ = com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria.newBuilder((com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria) optimalityCriteria_)
3016 .mergeFrom(value).buildPartial();
3017 } else {
3018 optimalityCriteria_ = value;
3019 }
3020 onChanged();
3021 } else {
3022 if (optimalityCriteriaCase_ == 9) {
3023 simpleOptimalityCriteriaBuilder_.mergeFrom(value);
3024 } else {
3025 simpleOptimalityCriteriaBuilder_.setMessage(value);
3026 }
3027 }
3028 optimalityCriteriaCase_ = 9;
3029 return this;
3030 }
3031
3035 if (simpleOptimalityCriteriaBuilder_ == null) {
3036 if (optimalityCriteriaCase_ == 9) {
3037 optimalityCriteriaCase_ = 0;
3038 optimalityCriteria_ = null;
3039 onChanged();
3040 }
3041 } else {
3042 if (optimalityCriteriaCase_ == 9) {
3043 optimalityCriteriaCase_ = 0;
3044 optimalityCriteria_ = null;
3045 }
3046 simpleOptimalityCriteriaBuilder_.clear();
3047 }
3048 return this;
3049 }
3050
3054 return getSimpleOptimalityCriteriaFieldBuilder().getBuilder();
3055 }
3056
3059 @java.lang.Override
3061 if ((optimalityCriteriaCase_ == 9) && (simpleOptimalityCriteriaBuilder_ != null)) {
3062 return simpleOptimalityCriteriaBuilder_.getMessageOrBuilder();
3063 } else {
3064 if (optimalityCriteriaCase_ == 9) {
3065 return (com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria) optimalityCriteria_;
3066 }
3067 return com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria.getDefaultInstance();
3068 }
3069 }
3070
3073 private com.google.protobuf.SingleFieldBuilder<
3074 com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria, com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria.Builder, com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteriaOrBuilder>
3075 getSimpleOptimalityCriteriaFieldBuilder() {
3076 if (simpleOptimalityCriteriaBuilder_ == null) {
3077 if (!(optimalityCriteriaCase_ == 9)) {
3078 optimalityCriteria_ = com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria.getDefaultInstance();
3079 }
3080 simpleOptimalityCriteriaBuilder_ = new com.google.protobuf.SingleFieldBuilder<
3081 com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria, com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria.Builder, com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteriaOrBuilder>(
3082 (com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria) optimalityCriteria_,
3083 getParentForChildren(),
3084 isClean());
3085 optimalityCriteria_ = null;
3086 }
3087 optimalityCriteriaCase_ = 9;
3088 onChanged();
3089 return simpleOptimalityCriteriaBuilder_;
3090 }
3091
3092 private com.google.protobuf.SingleFieldBuilder<
3093 com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria, com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria.Builder, com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteriaOrBuilder> detailedOptimalityCriteriaBuilder_;
3098 @java.lang.Override
3100 return optimalityCriteriaCase_ == 10;
3101 }
3102
3106 @java.lang.Override
3108 if (detailedOptimalityCriteriaBuilder_ == null) {
3109 if (optimalityCriteriaCase_ == 10) {
3110 return (com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria) optimalityCriteria_;
3111 }
3112 return com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria.getDefaultInstance();
3113 } else {
3114 if (optimalityCriteriaCase_ == 10) {
3115 return detailedOptimalityCriteriaBuilder_.getMessage();
3116 }
3117 return com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria.getDefaultInstance();
3118 }
3119 }
3120
3123 public Builder setDetailedOptimalityCriteria(com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria value) {
3124 if (detailedOptimalityCriteriaBuilder_ == null) {
3125 if (value == null) {
3126 throw new NullPointerException();
3127 }
3128 optimalityCriteria_ = value;
3129 onChanged();
3130 } else {
3131 detailedOptimalityCriteriaBuilder_.setMessage(value);
3132 }
3133 optimalityCriteriaCase_ = 10;
3134 return this;
3135 }
3136
3140 com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria.Builder builderForValue) {
3141 if (detailedOptimalityCriteriaBuilder_ == null) {
3142 optimalityCriteria_ = builderForValue.build();
3143 onChanged();
3144 } else {
3145 detailedOptimalityCriteriaBuilder_.setMessage(builderForValue.build());
3146 }
3147 optimalityCriteriaCase_ = 10;
3148 return this;
3149 }
3150
3153 public Builder mergeDetailedOptimalityCriteria(com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria value) {
3154 if (detailedOptimalityCriteriaBuilder_ == null) {
3155 if (optimalityCriteriaCase_ == 10 &&
3156 optimalityCriteria_ != com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria.getDefaultInstance()) {
3157 optimalityCriteria_ = com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria.newBuilder((com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria) optimalityCriteria_)
3158 .mergeFrom(value).buildPartial();
3159 } else {
3160 optimalityCriteria_ = value;
3161 }
3162 onChanged();
3163 } else {
3164 if (optimalityCriteriaCase_ == 10) {
3165 detailedOptimalityCriteriaBuilder_.mergeFrom(value);
3166 } else {
3167 detailedOptimalityCriteriaBuilder_.setMessage(value);
3168 }
3169 }
3170 optimalityCriteriaCase_ = 10;
3171 return this;
3172 }
3173
3177 if (detailedOptimalityCriteriaBuilder_ == null) {
3178 if (optimalityCriteriaCase_ == 10) {
3179 optimalityCriteriaCase_ = 0;
3180 optimalityCriteria_ = null;
3181 onChanged();
3182 }
3183 } else {
3184 if (optimalityCriteriaCase_ == 10) {
3185 optimalityCriteriaCase_ = 0;
3186 optimalityCriteria_ = null;
3187 }
3188 detailedOptimalityCriteriaBuilder_.clear();
3189 }
3190 return this;
3191 }
3192
3196 return getDetailedOptimalityCriteriaFieldBuilder().getBuilder();
3197 }
3198
3201 @java.lang.Override
3203 if ((optimalityCriteriaCase_ == 10) && (detailedOptimalityCriteriaBuilder_ != null)) {
3204 return detailedOptimalityCriteriaBuilder_.getMessageOrBuilder();
3205 } else {
3206 if (optimalityCriteriaCase_ == 10) {
3207 return (com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria) optimalityCriteria_;
3208 }
3209 return com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria.getDefaultInstance();
3210 }
3211 }
3212
3215 private com.google.protobuf.SingleFieldBuilder<
3216 com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria, com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria.Builder, com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteriaOrBuilder>
3217 getDetailedOptimalityCriteriaFieldBuilder() {
3218 if (detailedOptimalityCriteriaBuilder_ == null) {
3219 if (!(optimalityCriteriaCase_ == 10)) {
3220 optimalityCriteria_ = com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria.getDefaultInstance();
3221 }
3222 detailedOptimalityCriteriaBuilder_ = new com.google.protobuf.SingleFieldBuilder<
3223 com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria, com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria.Builder, com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteriaOrBuilder>(
3224 (com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria) optimalityCriteria_,
3225 getParentForChildren(),
3226 isClean());
3227 optimalityCriteria_ = null;
3228 }
3229 optimalityCriteriaCase_ = 10;
3230 onChanged();
3231 return detailedOptimalityCriteriaBuilder_;
3232 }
3233
3234 private double epsOptimalAbsolute_ = 1e-06D;
3248 @java.lang.Override
3249 @java.lang.Deprecated public boolean hasEpsOptimalAbsolute() {
3250 return ((bitField0_ & 0x00000008) != 0);
3251 }
3252
3265 @java.lang.Override
3266 @java.lang.Deprecated public double getEpsOptimalAbsolute() {
3267 return epsOptimalAbsolute_;
3268 }
3269
3283 @java.lang.Deprecated public Builder setEpsOptimalAbsolute(double value) {
3284
3285 epsOptimalAbsolute_ = value;
3286 bitField0_ |= 0x00000008;
3287 onChanged();
3288 return this;
3289 }
3290
3303 @java.lang.Deprecated public Builder clearEpsOptimalAbsolute() {
3304 bitField0_ = (bitField0_ & ~0x00000008);
3305 epsOptimalAbsolute_ = 1e-06D;
3306 onChanged();
3307 return this;
3308 }
3309
3310 private double epsOptimalRelative_ = 1e-06D;
3324 @java.lang.Override
3325 @java.lang.Deprecated public boolean hasEpsOptimalRelative() {
3326 return ((bitField0_ & 0x00000010) != 0);
3327 }
3328
3341 @java.lang.Override
3342 @java.lang.Deprecated public double getEpsOptimalRelative() {
3343 return epsOptimalRelative_;
3344 }
3345
3359 @java.lang.Deprecated public Builder setEpsOptimalRelative(double value) {
3360
3361 epsOptimalRelative_ = value;
3362 bitField0_ |= 0x00000010;
3363 onChanged();
3364 return this;
3365 }
3366
3379 @java.lang.Deprecated public Builder clearEpsOptimalRelative() {
3380 bitField0_ = (bitField0_ & ~0x00000010);
3381 epsOptimalRelative_ = 1e-06D;
3382 onChanged();
3383 return this;
3384 }
3385
3386 private double epsPrimalInfeasible_ = 1e-08D;
3400 @java.lang.Override
3401 public boolean hasEpsPrimalInfeasible() {
3402 return ((bitField0_ & 0x00000020) != 0);
3403 }
3404
3417 @java.lang.Override
3418 public double getEpsPrimalInfeasible() {
3419 return epsPrimalInfeasible_;
3420 }
3421
3435 public Builder setEpsPrimalInfeasible(double value) {
3436
3437 epsPrimalInfeasible_ = value;
3438 bitField0_ |= 0x00000020;
3439 onChanged();
3440 return this;
3441 }
3442
3455 public Builder clearEpsPrimalInfeasible() {
3456 bitField0_ = (bitField0_ & ~0x00000020);
3457 epsPrimalInfeasible_ = 1e-08D;
3458 onChanged();
3459 return this;
3460 }
3461
3462 private double epsDualInfeasible_ = 1e-08D;
3478 @java.lang.Override
3479 public boolean hasEpsDualInfeasible() {
3480 return ((bitField0_ & 0x00000040) != 0);
3481 }
3482
3497 @java.lang.Override
3498 public double getEpsDualInfeasible() {
3499 return epsDualInfeasible_;
3500 }
3501
3517 public Builder setEpsDualInfeasible(double value) {
3518
3519 epsDualInfeasible_ = value;
3520 bitField0_ |= 0x00000040;
3521 onChanged();
3522 return this;
3523 }
3524
3539 public Builder clearEpsDualInfeasible() {
3540 bitField0_ = (bitField0_ & ~0x00000040);
3541 epsDualInfeasible_ = 1e-08D;
3542 onChanged();
3543 return this;
3544 }
3545
3546 private double timeSecLimit_ = Double.POSITIVE_INFINITY;
3556 @java.lang.Override
3557 public boolean hasTimeSecLimit() {
3558 return ((bitField0_ & 0x00000080) != 0);
3559 }
3560
3569 @java.lang.Override
3570 public double getTimeSecLimit() {
3571 return timeSecLimit_;
3572 }
3573
3583 public Builder setTimeSecLimit(double value) {
3584
3585 timeSecLimit_ = value;
3586 bitField0_ |= 0x00000080;
3587 onChanged();
3588 return this;
3589 }
3590
3599 public Builder clearTimeSecLimit() {
3600 bitField0_ = (bitField0_ & ~0x00000080);
3601 timeSecLimit_ = Double.POSITIVE_INFINITY;
3602 onChanged();
3603 return this;
3604 }
3605
3606 private int iterationLimit_ = 2147483647;
3616 @java.lang.Override
3617 public boolean hasIterationLimit() {
3618 return ((bitField0_ & 0x00000100) != 0);
3619 }
3620
3629 @java.lang.Override
3630 public int getIterationLimit() {
3631 return iterationLimit_;
3632 }
3633
3643 public Builder setIterationLimit(int value) {
3644
3645 iterationLimit_ = value;
3646 bitField0_ |= 0x00000100;
3647 onChanged();
3648 return this;
3649 }
3650
3659 public Builder clearIterationLimit() {
3660 bitField0_ = (bitField0_ & ~0x00000100);
3661 iterationLimit_ = 2147483647;
3662 onChanged();
3663 return this;
3664 }
3665
3666 private double kktMatrixPassLimit_ = Double.POSITIVE_INFINITY;
3676 @java.lang.Override
3677 public boolean hasKktMatrixPassLimit() {
3678 return ((bitField0_ & 0x00000200) != 0);
3679 }
3680
3689 @java.lang.Override
3690 public double getKktMatrixPassLimit() {
3691 return kktMatrixPassLimit_;
3692 }
3693
3703 public Builder setKktMatrixPassLimit(double value) {
3704
3705 kktMatrixPassLimit_ = value;
3706 bitField0_ |= 0x00000200;
3707 onChanged();
3708 return this;
3709 }
3710
3719 public Builder clearKktMatrixPassLimit() {
3720 bitField0_ = (bitField0_ & ~0x00000200);
3721 kktMatrixPassLimit_ = Double.POSITIVE_INFINITY;
3722 onChanged();
3723 return this;
3724 }
3725
3726 // @@protoc_insertion_point(builder_scope:operations_research.pdlp.TerminationCriteria)
3727 }
3728
3729 // @@protoc_insertion_point(class_scope:operations_research.pdlp.TerminationCriteria)
3730 private static final com.google.ortools.pdlp.TerminationCriteria DEFAULT_INSTANCE;
3731 static {
3732 DEFAULT_INSTANCE = new com.google.ortools.pdlp.TerminationCriteria();
3733 }
3734
3736 return DEFAULT_INSTANCE;
3737 }
3738
3739 private static final com.google.protobuf.Parser<TerminationCriteria>
3740 PARSER = new com.google.protobuf.AbstractParser<TerminationCriteria>() {
3741 @java.lang.Override
3742 public TerminationCriteria parsePartialFrom(
3743 com.google.protobuf.CodedInputStream input,
3744 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3745 throws com.google.protobuf.InvalidProtocolBufferException {
3746 Builder builder = newBuilder();
3747 try {
3748 builder.mergeFrom(input, extensionRegistry);
3749 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3750 throw e.setUnfinishedMessage(builder.buildPartial());
3751 } catch (com.google.protobuf.UninitializedMessageException e) {
3752 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
3753 } catch (java.io.IOException e) {
3754 throw new com.google.protobuf.InvalidProtocolBufferException(e)
3755 .setUnfinishedMessage(builder.buildPartial());
3756 }
3757 return builder.buildPartial();
3758 }
3759 };
3760
3761 public static com.google.protobuf.Parser<TerminationCriteria> parser() {
3762 return PARSER;
3763 }
3764
3765 @java.lang.Override
3766 public com.google.protobuf.Parser<TerminationCriteria> getParserForType() {
3767 return PARSER;
3768 }
3769
3770 @java.lang.Override
3772 return DEFAULT_INSTANCE;
3773 }
3774
3775}
3776
com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
com.google.ortools.pdlp.TerminationCriteria build()
Builder setOptimalityNorm(com.google.ortools.pdlp.OptimalityNorm value)
com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteriaOrBuilder getDetailedOptimalityCriteriaOrBuilder()
com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria.Builder getSimpleOptimalityCriteriaBuilder()
Builder mergeSimpleOptimalityCriteria(com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria value)
com.google.ortools.pdlp.TerminationCriteria buildPartial()
Builder setSimpleOptimalityCriteria(com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria.Builder builderForValue)
com.google.ortools.pdlp.TerminationCriteria getDefaultInstanceForType()
com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteriaOrBuilder getSimpleOptimalityCriteriaOrBuilder()
Builder setSimpleOptimalityCriteria(com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria value)
com.google.ortools.pdlp.OptimalityNorm getOptimalityNorm()
Builder setDetailedOptimalityCriteria(com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria value)
Builder setDetailedOptimalityCriteria(com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria.Builder builderForValue)
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria getSimpleOptimalityCriteria()
Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria getDetailedOptimalityCriteria()
Builder mergeFrom(com.google.protobuf.Message other)
com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria.Builder getDetailedOptimalityCriteriaBuilder()
Builder mergeFrom(com.google.ortools.pdlp.TerminationCriteria other)
Builder mergeDetailedOptimalityCriteria(com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria value)
com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria buildPartial()
com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria build()
com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
Builder mergeFrom(com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria other)
Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria getDefaultInstanceForType()
static com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria parseFrom(java.io.InputStream input)
static com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria getDefaultInstance()
static com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria parseDelimitedFrom(java.io.InputStream input)
static Builder newBuilder(com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria prototype)
static com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
com.google.protobuf.Parser< DetailedOptimalityCriteria > getParserForType()
Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent)
static com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria parseFrom(com.google.protobuf.ByteString data)
com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria getDefaultInstanceForType()
static com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria parseFrom(java.nio.ByteBuffer data)
static com.google.protobuf.Parser< DetailedOptimalityCriteria > parser()
static com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria parseFrom(com.google.protobuf.CodedInputStream input)
static com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria parseFrom(byte[] data)
com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria build()
Builder mergeFrom(com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria other)
com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria buildPartial()
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria getDefaultInstanceForType()
com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria parseFrom(java.io.InputStream input)
static com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria parseFrom(byte[] data)
Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent)
static com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria parseDelimitedFrom(java.io.InputStream input)
static com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria parseFrom(java.nio.ByteBuffer data)
static com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria getDefaultInstance()
com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
static com.google.protobuf.Parser< SimpleOptimalityCriteria > parser()
static com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria parseFrom(com.google.protobuf.ByteString data)
static com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria getDefaultInstanceForType()
static com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
com.google.protobuf.Parser< SimpleOptimalityCriteria > getParserForType()
static com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static Builder newBuilder(com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria prototype)
static com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria parseFrom(com.google.protobuf.CodedInputStream input)
static com.google.ortools.pdlp.TerminationCriteria parseFrom(java.io.InputStream input)
boolean equals(final java.lang.Object obj)
com.google.protobuf.Parser< TerminationCriteria > getParserForType()
static com.google.ortools.pdlp.TerminationCriteria parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.ortools.pdlp.TerminationCriteria getDefaultInstanceForType()
com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteria getSimpleOptimalityCriteria()
com.google.ortools.pdlp.OptimalityNorm getOptimalityNorm()
com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
static com.google.ortools.pdlp.TerminationCriteria parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteriaOrBuilder getDetailedOptimalityCriteriaOrBuilder()
static com.google.protobuf.Parser< TerminationCriteria > parser()
static com.google.ortools.pdlp.TerminationCriteria parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static Builder newBuilder(com.google.ortools.pdlp.TerminationCriteria prototype)
static com.google.ortools.pdlp.TerminationCriteria parseFrom(byte[] data)
static com.google.ortools.pdlp.TerminationCriteria parseDelimitedFrom(java.io.InputStream input)
static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
static com.google.ortools.pdlp.TerminationCriteria parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent)
static com.google.ortools.pdlp.TerminationCriteria parseFrom(com.google.protobuf.CodedInputStream input)
void writeTo(com.google.protobuf.CodedOutputStream output)
static com.google.ortools.pdlp.TerminationCriteria parseFrom(java.nio.ByteBuffer data)
static com.google.ortools.pdlp.TerminationCriteria parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.ortools.pdlp.TerminationCriteria parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
com.google.ortools.pdlp.TerminationCriteria.DetailedOptimalityCriteria getDetailedOptimalityCriteria()
static com.google.ortools.pdlp.TerminationCriteria getDefaultInstance()
static com.google.ortools.pdlp.TerminationCriteria parseFrom(com.google.protobuf.ByteString data)
com.google.ortools.pdlp.TerminationCriteria.SimpleOptimalityCriteriaOrBuilder getSimpleOptimalityCriteriaOrBuilder()