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