Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
Solvers.pb.cs
Go to the documentation of this file.
1// <auto-generated>
2// Generated by the protocol buffer compiler. DO NOT EDIT!
3// source: ortools/pdlp/solvers.proto
4// </auto-generated>
5#pragma warning disable 1591, 0612, 3021, 8981
6#region Designer generated code
7
8using pb = global::Google.Protobuf;
9using pbc = global::Google.Protobuf.Collections;
10using pbr = global::Google.Protobuf.Reflection;
11using scg = global::System.Collections.Generic;
12namespace Google.OrTools.PDLP {
13
15 public static partial class SolversReflection {
16
17 #region Descriptor
19 public static pbr::FileDescriptor Descriptor {
20 get { return descriptor; }
21 }
22 private static pbr::FileDescriptor descriptor;
23
24 static SolversReflection() {
25 byte[] descriptorData = global::System.Convert.FromBase64String(
26 string.Concat(
27 "ChpvcnRvb2xzL3BkbHAvc29sdmVycy5wcm90bxIYb3BlcmF0aW9uc19yZXNl",
28 "YXJjaC5wZGxwGh1vcnRvb2xzL2dsb3AvcGFyYW1ldGVycy5wcm90byKgCAoT",
29 "VGVybWluYXRpb25Dcml0ZXJpYRJVCg9vcHRpbWFsaXR5X25vcm0YASABKA4y",
30 "KC5vcGVyYXRpb25zX3Jlc2VhcmNoLnBkbHAuT3B0aW1hbGl0eU5vcm06Ek9Q",
31 "VElNQUxJVFlfTk9STV9MMhJsChpzaW1wbGVfb3B0aW1hbGl0eV9jcml0ZXJp",
32 "YRgJIAEoCzJGLm9wZXJhdGlvbnNfcmVzZWFyY2gucGRscC5UZXJtaW5hdGlv",
33 "bkNyaXRlcmlhLlNpbXBsZU9wdGltYWxpdHlDcml0ZXJpYUgAEnAKHGRldGFp",
34 "bGVkX29wdGltYWxpdHlfY3JpdGVyaWEYCiABKAsySC5vcGVyYXRpb25zX3Jl",
35 "c2VhcmNoLnBkbHAuVGVybWluYXRpb25Dcml0ZXJpYS5EZXRhaWxlZE9wdGlt",
36 "YWxpdHlDcml0ZXJpYUgAEicKFGVwc19vcHRpbWFsX2Fic29sdXRlGAIgASgB",
37 "OgUxZS0wNkICGAESJwoUZXBzX29wdGltYWxfcmVsYXRpdmUYAyABKAE6BTFl",
38 "LTA2QgIYARIkChVlcHNfcHJpbWFsX2luZmVhc2libGUYBCABKAE6BTFlLTA4",
39 "EiIKE2Vwc19kdWFsX2luZmVhc2libGUYBSABKAE6BTFlLTA4EhsKDnRpbWVf",
40 "c2VjX2xpbWl0GAYgASgBOgNpbmYSIwoPaXRlcmF0aW9uX2xpbWl0GAcgASgF",
41 "OgoyMTQ3NDgzNjQ3EiIKFWtrdF9tYXRyaXhfcGFzc19saW1pdBgIIAEoAToD",
42 "aW5mGmQKGFNpbXBsZU9wdGltYWxpdHlDcml0ZXJpYRIjChRlcHNfb3B0aW1h",
43 "bF9hYnNvbHV0ZRgBIAEoAToFMWUtMDYSIwoUZXBzX29wdGltYWxfcmVsYXRp",
44 "dmUYAiABKAE6BTFlLTA2GtICChpEZXRhaWxlZE9wdGltYWxpdHlDcml0ZXJp",
45 "YRIzCiRlcHNfb3B0aW1hbF9wcmltYWxfcmVzaWR1YWxfYWJzb2x1dGUYASAB",
46 "KAE6BTFlLTA2EjMKJGVwc19vcHRpbWFsX3ByaW1hbF9yZXNpZHVhbF9yZWxh",
47 "dGl2ZRgCIAEoAToFMWUtMDYSMQoiZXBzX29wdGltYWxfZHVhbF9yZXNpZHVh",
48 "bF9hYnNvbHV0ZRgDIAEoAToFMWUtMDYSMQoiZXBzX29wdGltYWxfZHVhbF9y",
49 "ZXNpZHVhbF9yZWxhdGl2ZRgEIAEoAToFMWUtMDYSMQoiZXBzX29wdGltYWxf",
50 "b2JqZWN0aXZlX2dhcF9hYnNvbHV0ZRgFIAEoAToFMWUtMDYSMQoiZXBzX29w",
51 "dGltYWxfb2JqZWN0aXZlX2dhcF9yZWxhdGl2ZRgGIAEoAToFMWUtMDZCFQoT",
52 "b3B0aW1hbGl0eV9jcml0ZXJpYSJtChhBZGFwdGl2ZUxpbmVzZWFyY2hQYXJh",
53 "bXMSKQocc3RlcF9zaXplX3JlZHVjdGlvbl9leHBvbmVudBgBIAEoAToDMC4z",
54 "EiYKGXN0ZXBfc2l6ZV9ncm93dGhfZXhwb25lbnQYAiABKAE6AzAuNiKQAQoS",
55 "TWFsaXRza3lQb2NrUGFyYW1zEikKHHN0ZXBfc2l6ZV9kb3duc2NhbGluZ19m",
56 "YWN0b3IYASABKAE6AzAuNxIrCh1saW5lc2VhcmNoX2NvbnRyYWN0aW9uX2Zh",
57 "Y3RvchgCIAEoAToEMC45ORIiChdzdGVwX3NpemVfaW50ZXJwb2xhdGlvbhgD",
58 "IAEoAToBMSLHDgoeUHJpbWFsRHVhbEh5YnJpZEdyYWRpZW50UGFyYW1zEksK",
59 "FHRlcm1pbmF0aW9uX2NyaXRlcmlhGAEgASgLMi0ub3BlcmF0aW9uc19yZXNl",
60 "YXJjaC5wZGxwLlRlcm1pbmF0aW9uQ3JpdGVyaWESFgoLbnVtX3RocmVhZHMY",
61 "AiABKAU6ATESFQoKbnVtX3NoYXJkcxgbIAEoBToBMBIeChZyZWNvcmRfaXRl",
62 "cmF0aW9uX3N0YXRzGAMgASgIEhoKD3ZlcmJvc2l0eV9sZXZlbBgaIAEoBToB",
63 "MBIfChRsb2dfaW50ZXJ2YWxfc2Vjb25kcxgfIAEoAToBMBIlChltYWpvcl9p",
64 "dGVyYXRpb25fZnJlcXVlbmN5GAQgASgFOgI2NBInCht0ZXJtaW5hdGlvbl9j",
65 "aGVja19mcmVxdWVuY3kYBSABKAU6AjY0EnYKEHJlc3RhcnRfc3RyYXRlZ3kY",
66 "BiABKA4ySC5vcGVyYXRpb25zX3Jlc2VhcmNoLnBkbHAuUHJpbWFsRHVhbEh5",
67 "YnJpZEdyYWRpZW50UGFyYW1zLlJlc3RhcnRTdHJhdGVneToSQURBUFRJVkVf",
68 "SEVVUklTVElDEisKHnByaW1hbF93ZWlnaHRfdXBkYXRlX3Ntb290aGluZxgH",
69 "IAEoAToDMC41Eh0KFWluaXRpYWxfcHJpbWFsX3dlaWdodBgIIAEoARJiChBw",
70 "cmVzb2x2ZV9vcHRpb25zGBAgASgLMkgub3BlcmF0aW9uc19yZXNlYXJjaC5w",
71 "ZGxwLlByaW1hbER1YWxIeWJyaWRHcmFkaWVudFBhcmFtcy5QcmVzb2x2ZU9w",
72 "dGlvbnMSIAoVbF9pbmZfcnVpel9pdGVyYXRpb25zGAkgASgFOgE1Eh8KEWwy",
73 "X25vcm1fcmVzY2FsaW5nGAogASgIOgR0cnVlEi0KIHN1ZmZpY2llbnRfcmVk",
74 "dWN0aW9uX2Zvcl9yZXN0YXJ0GAsgASgBOgMwLjESLAofbmVjZXNzYXJ5X3Jl",
75 "ZHVjdGlvbl9mb3JfcmVzdGFydBgRIAEoAToDMC45EnoKD2xpbmVzZWFyY2hf",
76 "cnVsZRgMIAEoDjJHLm9wZXJhdGlvbnNfcmVzZWFyY2gucGRscC5QcmltYWxE",
77 "dWFsSHlicmlkR3JhZGllbnRQYXJhbXMuTGluZXNlYXJjaFJ1bGU6GEFEQVBU",
78 "SVZFX0xJTkVTRUFSQ0hfUlVMRRJaCh5hZGFwdGl2ZV9saW5lc2VhcmNoX3Bh",
79 "cmFtZXRlcnMYEiABKAsyMi5vcGVyYXRpb25zX3Jlc2VhcmNoLnBkbHAuQWRh",
80 "cHRpdmVMaW5lc2VhcmNoUGFyYW1zEk4KGG1hbGl0c2t5X3BvY2tfcGFyYW1l",
81 "dGVycxgTIAEoCzIsLm9wZXJhdGlvbnNfcmVzZWFyY2gucGRscC5NYWxpdHNr",
82 "eVBvY2tQYXJhbXMSJAoZaW5pdGlhbF9zdGVwX3NpemVfc2NhbGluZxgZIAEo",
83 "AToBMRIjChdyYW5kb21fcHJvamVjdGlvbl9zZWVkcxgcIAMoBUICEAESMAoj",
84 "aW5maW5pdGVfY29uc3RyYWludF9ib3VuZF90aHJlc2hvbGQYFiABKAE6A2lu",
85 "ZhJICjpoYW5kbGVfc29tZV9wcmltYWxfZ3JhZGllbnRzX29uX2Zpbml0ZV9i",
86 "b3VuZHNfYXNfcmVzaWR1YWxzGB0gASgIOgR0cnVlEjIKI3VzZV9kaWFnb25h",
87 "bF9xcF90cnVzdF9yZWdpb25fc29sdmVyGBcgASgIOgVmYWxzZRI4CilkaWFn",
88 "b25hbF9xcF90cnVzdF9yZWdpb25fc29sdmVyX3RvbGVyYW5jZRgYIAEoAToF",
89 "MWUtMDgSKAoZdXNlX2ZlYXNpYmlsaXR5X3BvbGlzaGluZxgeIAEoCDoFZmFs",
90 "c2UaZgoPUHJlc29sdmVPcHRpb25zEhAKCHVzZV9nbG9wGAEgASgIEkEKD2ds",
91 "b3BfcGFyYW1ldGVycxgCIAEoCzIoLm9wZXJhdGlvbnNfcmVzZWFyY2guZ2xv",
92 "cC5HbG9wUGFyYW1ldGVycyKUAQoPUmVzdGFydFN0cmF0ZWd5EiAKHFJFU1RB",
93 "UlRfU1RSQVRFR1lfVU5TUEVDSUZJRUQQABIPCgtOT19SRVNUQVJUUxABEhkK",
94 "FUVWRVJZX01BSk9SX0lURVJBVElPThACEhYKEkFEQVBUSVZFX0hFVVJJU1RJ",
95 "QxADEhsKF0FEQVBUSVZFX0RJU1RBTkNFX0JBU0VEEAQijwEKDkxpbmVzZWFy",
96 "Y2hSdWxlEh8KG0xJTkVTRUFSQ0hfUlVMRV9VTlNQRUNJRklFRBAAEhwKGEFE",
97 "QVBUSVZFX0xJTkVTRUFSQ0hfUlVMRRABEiEKHU1BTElUU0tZX1BPQ0tfTElO",
98 "RVNFQVJDSF9SVUxFEAISGwoXQ09OU1RBTlRfU1RFUF9TSVpFX1JVTEUQA0oE",
99 "CA0QDkoECA4QD0oECA8QEEoECBQQFUoECBUQFiqNAQoOT3B0aW1hbGl0eU5v",
100 "cm0SHwobT1BUSU1BTElUWV9OT1JNX1VOU1BFQ0lGSUVEEAASGQoVT1BUSU1B",
101 "TElUWV9OT1JNX0xfSU5GEAESFgoST1BUSU1BTElUWV9OT1JNX0wyEAISJwoj",
102 "T1BUSU1BTElUWV9OT1JNX0xfSU5GX0NPTVBPTkVOVFdJU0UQA0IxChdjb20u",
103 "Z29vZ2xlLm9ydG9vbHMucGRscFABqgITR29vZ2xlLk9yVG9vbHMuUERMUA=="));
104 descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
105 new pbr::FileDescriptor[] { global::Google.OrTools.Glop.ParametersReflection.Descriptor, },
106 new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Google.OrTools.PDLP.OptimalityNorm), }, null, new pbr::GeneratedClrTypeInfo[] {
107 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.PDLP.TerminationCriteria), global::Google.OrTools.PDLP.TerminationCriteria.Parser, new[]{ "OptimalityNorm", "SimpleOptimalityCriteria", "DetailedOptimalityCriteria", "EpsOptimalAbsolute", "EpsOptimalRelative", "EpsPrimalInfeasible", "EpsDualInfeasible", "TimeSecLimit", "IterationLimit", "KktMatrixPassLimit" }, new[]{ "OptimalityCriteria" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.PDLP.TerminationCriteria.Types.SimpleOptimalityCriteria), global::Google.OrTools.PDLP.TerminationCriteria.Types.SimpleOptimalityCriteria.Parser, new[]{ "EpsOptimalAbsolute", "EpsOptimalRelative" }, null, null, null, null),
108 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.PDLP.TerminationCriteria.Types.DetailedOptimalityCriteria), global::Google.OrTools.PDLP.TerminationCriteria.Types.DetailedOptimalityCriteria.Parser, new[]{ "EpsOptimalPrimalResidualAbsolute", "EpsOptimalPrimalResidualRelative", "EpsOptimalDualResidualAbsolute", "EpsOptimalDualResidualRelative", "EpsOptimalObjectiveGapAbsolute", "EpsOptimalObjectiveGapRelative" }, null, null, null, null)}),
109 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.PDLP.AdaptiveLinesearchParams), global::Google.OrTools.PDLP.AdaptiveLinesearchParams.Parser, new[]{ "StepSizeReductionExponent", "StepSizeGrowthExponent" }, null, null, null, null),
110 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.PDLP.MalitskyPockParams), global::Google.OrTools.PDLP.MalitskyPockParams.Parser, new[]{ "StepSizeDownscalingFactor", "LinesearchContractionFactor", "StepSizeInterpolation" }, null, null, null, null),
111 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.PDLP.PrimalDualHybridGradientParams), global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Parser, new[]{ "TerminationCriteria", "NumThreads", "NumShards", "RecordIterationStats", "VerbosityLevel", "LogIntervalSeconds", "MajorIterationFrequency", "TerminationCheckFrequency", "RestartStrategy", "PrimalWeightUpdateSmoothing", "InitialPrimalWeight", "PresolveOptions", "LInfRuizIterations", "L2NormRescaling", "SufficientReductionForRestart", "NecessaryReductionForRestart", "LinesearchRule", "AdaptiveLinesearchParameters", "MalitskyPockParameters", "InitialStepSizeScaling", "RandomProjectionSeeds", "InfiniteConstraintBoundThreshold", "HandleSomePrimalGradientsOnFiniteBoundsAsResiduals", "UseDiagonalQpTrustRegionSolver", "DiagonalQpTrustRegionSolverTolerance", "UseFeasibilityPolishing" }, null, new[]{ typeof(global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.RestartStrategy), typeof(global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.LinesearchRule) }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.PresolveOptions), global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.PresolveOptions.Parser, new[]{ "UseGlop", "GlopParameters" }, null, null, null, null)})
112 }));
113 }
114 #endregion
115
116 }
117 #region Enums
118 public enum OptimalityNorm {
119 [pbr::OriginalName("OPTIMALITY_NORM_UNSPECIFIED")] Unspecified = 0,
123 [pbr::OriginalName("OPTIMALITY_NORM_L_INF")] LInf = 1,
127 [pbr::OriginalName("OPTIMALITY_NORM_L2")] L2 = 2,
141 [pbr::OriginalName("OPTIMALITY_NORM_L_INF_COMPONENTWISE")] LInfComponentwise = 3,
142 }
143
144 #endregion
145
146 #region Messages
159 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
160 public sealed partial class TerminationCriteria : pb::IMessage<TerminationCriteria>
161 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
162 , pb::IBufferMessage
163 #endif
164 {
165 private static readonly pb::MessageParser<TerminationCriteria> _parser = new pb::MessageParser<TerminationCriteria>(() => new TerminationCriteria());
166 private pb::UnknownFieldSet _unknownFields;
167 private int _hasBits0;
168 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
169 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
170 public static pb::MessageParser<TerminationCriteria> Parser { get { return _parser; } }
171
172 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
173 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
174 public static pbr::MessageDescriptor Descriptor {
175 get { return global::Google.OrTools.PDLP.SolversReflection.Descriptor.MessageTypes[0]; }
176 }
177
178 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
179 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
180 pbr::MessageDescriptor pb::IMessage.Descriptor {
181 get { return Descriptor; }
182 }
183
184 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
185 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
187 OnConstruction();
188 }
189
190 partial void OnConstruction();
191
192 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
193 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
195 _hasBits0 = other._hasBits0;
196 optimalityNorm_ = other.optimalityNorm_;
197 epsOptimalAbsolute_ = other.epsOptimalAbsolute_;
198 epsOptimalRelative_ = other.epsOptimalRelative_;
199 epsPrimalInfeasible_ = other.epsPrimalInfeasible_;
200 epsDualInfeasible_ = other.epsDualInfeasible_;
201 timeSecLimit_ = other.timeSecLimit_;
202 iterationLimit_ = other.iterationLimit_;
203 kktMatrixPassLimit_ = other.kktMatrixPassLimit_;
204 switch (other.OptimalityCriteriaCase) {
205 case OptimalityCriteriaOneofCase.SimpleOptimalityCriteria:
206 SimpleOptimalityCriteria = other.SimpleOptimalityCriteria.Clone();
207 break;
208 case OptimalityCriteriaOneofCase.DetailedOptimalityCriteria:
209 DetailedOptimalityCriteria = other.DetailedOptimalityCriteria.Clone();
210 break;
211 }
212
213 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
214 }
215
216 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
217 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
219 return new TerminationCriteria(this);
220 }
221
223 public const int OptimalityNormFieldNumber = 1;
224 private readonly static global::Google.OrTools.PDLP.OptimalityNorm OptimalityNormDefaultValue = global::Google.OrTools.PDLP.OptimalityNorm.L2;
225
226 private global::Google.OrTools.PDLP.OptimalityNorm optimalityNorm_;
230 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
231 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
232 public global::Google.OrTools.PDLP.OptimalityNorm OptimalityNorm {
233 get { if ((_hasBits0 & 1) != 0) { return optimalityNorm_; } else { return OptimalityNormDefaultValue; } }
234 set {
235 _hasBits0 |= 1;
236 optimalityNorm_ = value;
237 }
238 }
240 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
241 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
242 public bool HasOptimalityNorm {
243 get { return (_hasBits0 & 1) != 0; }
244 }
246 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
247 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
248 public void ClearOptimalityNorm() {
249 _hasBits0 &= ~1;
250 }
251
253 public const int SimpleOptimalityCriteriaFieldNumber = 9;
254 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
255 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
256 public global::Google.OrTools.PDLP.TerminationCriteria.Types.SimpleOptimalityCriteria SimpleOptimalityCriteria {
257 get { return optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.SimpleOptimalityCriteria ? (global::Google.OrTools.PDLP.TerminationCriteria.Types.SimpleOptimalityCriteria) optimalityCriteria_ : null; }
258 set {
259 optimalityCriteria_ = value;
260 optimalityCriteriaCase_ = value == null ? OptimalityCriteriaOneofCase.None : OptimalityCriteriaOneofCase.SimpleOptimalityCriteria;
261 }
262 }
263
265 public const int DetailedOptimalityCriteriaFieldNumber = 10;
266 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
267 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
268 public global::Google.OrTools.PDLP.TerminationCriteria.Types.DetailedOptimalityCriteria DetailedOptimalityCriteria {
269 get { return optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.DetailedOptimalityCriteria ? (global::Google.OrTools.PDLP.TerminationCriteria.Types.DetailedOptimalityCriteria) optimalityCriteria_ : null; }
270 set {
271 optimalityCriteria_ = value;
272 optimalityCriteriaCase_ = value == null ? OptimalityCriteriaOneofCase.None : OptimalityCriteriaOneofCase.DetailedOptimalityCriteria;
273 }
274 }
275
277 public const int EpsOptimalAbsoluteFieldNumber = 2;
278 private readonly static double EpsOptimalAbsoluteDefaultValue = 1e-06D;
279
280 private double epsOptimalAbsolute_;
287 [global::System.ObsoleteAttribute]
288 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
289 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
290 public double EpsOptimalAbsolute {
291 get { if ((_hasBits0 & 2) != 0) { return epsOptimalAbsolute_; } else { return EpsOptimalAbsoluteDefaultValue; } }
292 set {
293 _hasBits0 |= 2;
294 epsOptimalAbsolute_ = value;
295 }
296 }
298 [global::System.ObsoleteAttribute]
299 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
300 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
301 public bool HasEpsOptimalAbsolute {
302 get { return (_hasBits0 & 2) != 0; }
303 }
305 [global::System.ObsoleteAttribute]
306 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
307 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
309 _hasBits0 &= ~2;
310 }
311
313 public const int EpsOptimalRelativeFieldNumber = 3;
314 private readonly static double EpsOptimalRelativeDefaultValue = 1e-06D;
315
316 private double epsOptimalRelative_;
323 [global::System.ObsoleteAttribute]
324 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
325 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
326 public double EpsOptimalRelative {
327 get { if ((_hasBits0 & 4) != 0) { return epsOptimalRelative_; } else { return EpsOptimalRelativeDefaultValue; } }
328 set {
329 _hasBits0 |= 4;
330 epsOptimalRelative_ = value;
331 }
332 }
334 [global::System.ObsoleteAttribute]
335 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
336 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
337 public bool HasEpsOptimalRelative {
338 get { return (_hasBits0 & 4) != 0; }
339 }
341 [global::System.ObsoleteAttribute]
342 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
343 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
345 _hasBits0 &= ~4;
346 }
347
349 public const int EpsPrimalInfeasibleFieldNumber = 4;
350 private readonly static double EpsPrimalInfeasibleDefaultValue = 1e-08D;
351
352 private double epsPrimalInfeasible_;
361 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
362 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
363 public double EpsPrimalInfeasible {
364 get { if ((_hasBits0 & 8) != 0) { return epsPrimalInfeasible_; } else { return EpsPrimalInfeasibleDefaultValue; } }
365 set {
366 _hasBits0 |= 8;
367 epsPrimalInfeasible_ = value;
368 }
369 }
371 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
372 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
373 public bool HasEpsPrimalInfeasible {
374 get { return (_hasBits0 & 8) != 0; }
375 }
377 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
378 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
380 _hasBits0 &= ~8;
381 }
382
384 public const int EpsDualInfeasibleFieldNumber = 5;
385 private readonly static double EpsDualInfeasibleDefaultValue = 1e-08D;
386
387 private double epsDualInfeasible_;
398 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
399 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
400 public double EpsDualInfeasible {
401 get { if ((_hasBits0 & 16) != 0) { return epsDualInfeasible_; } else { return EpsDualInfeasibleDefaultValue; } }
402 set {
403 _hasBits0 |= 16;
404 epsDualInfeasible_ = value;
405 }
406 }
408 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
409 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
410 public bool HasEpsDualInfeasible {
411 get { return (_hasBits0 & 16) != 0; }
412 }
414 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
415 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
417 _hasBits0 &= ~16;
418 }
419
421 public const int TimeSecLimitFieldNumber = 6;
422 private readonly static double TimeSecLimitDefaultValue = double.PositiveInfinity;
423
424 private double timeSecLimit_;
429 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
430 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
431 public double TimeSecLimit {
432 get { if ((_hasBits0 & 32) != 0) { return timeSecLimit_; } else { return TimeSecLimitDefaultValue; } }
433 set {
434 _hasBits0 |= 32;
435 timeSecLimit_ = value;
436 }
437 }
439 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
440 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
441 public bool HasTimeSecLimit {
442 get { return (_hasBits0 & 32) != 0; }
443 }
445 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
446 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
447 public void ClearTimeSecLimit() {
448 _hasBits0 &= ~32;
449 }
450
452 public const int IterationLimitFieldNumber = 7;
453 private readonly static int IterationLimitDefaultValue = 2147483647;
454
455 private int iterationLimit_;
460 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
461 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
462 public int IterationLimit {
463 get { if ((_hasBits0 & 64) != 0) { return iterationLimit_; } else { return IterationLimitDefaultValue; } }
464 set {
465 _hasBits0 |= 64;
466 iterationLimit_ = value;
467 }
468 }
470 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
471 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
472 public bool HasIterationLimit {
473 get { return (_hasBits0 & 64) != 0; }
474 }
476 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
477 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
478 public void ClearIterationLimit() {
479 _hasBits0 &= ~64;
480 }
481
483 public const int KktMatrixPassLimitFieldNumber = 8;
484 private readonly static double KktMatrixPassLimitDefaultValue = double.PositiveInfinity;
485
486 private double kktMatrixPassLimit_;
491 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
492 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
493 public double KktMatrixPassLimit {
494 get { if ((_hasBits0 & 128) != 0) { return kktMatrixPassLimit_; } else { return KktMatrixPassLimitDefaultValue; } }
495 set {
496 _hasBits0 |= 128;
497 kktMatrixPassLimit_ = value;
498 }
499 }
501 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
502 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
503 public bool HasKktMatrixPassLimit {
504 get { return (_hasBits0 & 128) != 0; }
505 }
507 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
508 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
510 _hasBits0 &= ~128;
511 }
512
513 private object optimalityCriteria_;
516 None = 0,
517 SimpleOptimalityCriteria = 9,
518 DetailedOptimalityCriteria = 10,
519 }
520 private OptimalityCriteriaOneofCase optimalityCriteriaCase_ = OptimalityCriteriaOneofCase.None;
521 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
522 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
523 public OptimalityCriteriaOneofCase OptimalityCriteriaCase {
524 get { return optimalityCriteriaCase_; }
525 }
526
527 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
528 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
530 optimalityCriteriaCase_ = OptimalityCriteriaOneofCase.None;
531 optimalityCriteria_ = null;
532 }
533
534 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
535 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
536 public override bool Equals(object other) {
537 return Equals(other as TerminationCriteria);
538 }
539
540 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
541 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
542 public bool Equals(TerminationCriteria other) {
543 if (ReferenceEquals(other, null)) {
544 return false;
545 }
546 if (ReferenceEquals(other, this)) {
547 return true;
548 }
549 if (OptimalityNorm != other.OptimalityNorm) return false;
550 if (!object.Equals(SimpleOptimalityCriteria, other.SimpleOptimalityCriteria)) return false;
551 if (!object.Equals(DetailedOptimalityCriteria, other.DetailedOptimalityCriteria)) return false;
552 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EpsOptimalAbsolute, other.EpsOptimalAbsolute)) return false;
553 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EpsOptimalRelative, other.EpsOptimalRelative)) return false;
554 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EpsPrimalInfeasible, other.EpsPrimalInfeasible)) return false;
555 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EpsDualInfeasible, other.EpsDualInfeasible)) return false;
556 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(TimeSecLimit, other.TimeSecLimit)) return false;
557 if (IterationLimit != other.IterationLimit) return false;
558 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(KktMatrixPassLimit, other.KktMatrixPassLimit)) return false;
559 if (OptimalityCriteriaCase != other.OptimalityCriteriaCase) return false;
560 return Equals(_unknownFields, other._unknownFields);
561 }
562
563 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
564 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
565 public override int GetHashCode() {
566 int hash = 1;
567 if (HasOptimalityNorm) hash ^= OptimalityNorm.GetHashCode();
568 if (optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.SimpleOptimalityCriteria) hash ^= SimpleOptimalityCriteria.GetHashCode();
569 if (optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.DetailedOptimalityCriteria) hash ^= DetailedOptimalityCriteria.GetHashCode();
570 if (HasEpsOptimalAbsolute) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EpsOptimalAbsolute);
571 if (HasEpsOptimalRelative) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EpsOptimalRelative);
572 if (HasEpsPrimalInfeasible) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EpsPrimalInfeasible);
573 if (HasEpsDualInfeasible) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EpsDualInfeasible);
574 if (HasTimeSecLimit) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(TimeSecLimit);
575 if (HasIterationLimit) hash ^= IterationLimit.GetHashCode();
576 if (HasKktMatrixPassLimit) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(KktMatrixPassLimit);
577 hash ^= (int) optimalityCriteriaCase_;
578 if (_unknownFields != null) {
579 hash ^= _unknownFields.GetHashCode();
580 }
581 return hash;
582 }
583
584 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
585 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
586 public override string ToString() {
587 return pb::JsonFormatter.ToDiagnosticString(this);
588 }
589
590 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
591 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
592 public void WriteTo(pb::CodedOutputStream output) {
593 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
594 output.WriteRawMessage(this);
595 #else
596 if (HasOptimalityNorm) {
597 output.WriteRawTag(8);
598 output.WriteEnum((int) OptimalityNorm);
599 }
600 if (HasEpsOptimalAbsolute) {
601 output.WriteRawTag(17);
602 output.WriteDouble(EpsOptimalAbsolute);
603 }
604 if (HasEpsOptimalRelative) {
605 output.WriteRawTag(25);
606 output.WriteDouble(EpsOptimalRelative);
607 }
608 if (HasEpsPrimalInfeasible) {
609 output.WriteRawTag(33);
610 output.WriteDouble(EpsPrimalInfeasible);
611 }
612 if (HasEpsDualInfeasible) {
613 output.WriteRawTag(41);
614 output.WriteDouble(EpsDualInfeasible);
615 }
616 if (HasTimeSecLimit) {
617 output.WriteRawTag(49);
618 output.WriteDouble(TimeSecLimit);
619 }
620 if (HasIterationLimit) {
621 output.WriteRawTag(56);
622 output.WriteInt32(IterationLimit);
623 }
624 if (HasKktMatrixPassLimit) {
625 output.WriteRawTag(65);
626 output.WriteDouble(KktMatrixPassLimit);
627 }
628 if (optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.SimpleOptimalityCriteria) {
629 output.WriteRawTag(74);
630 output.WriteMessage(SimpleOptimalityCriteria);
631 }
632 if (optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.DetailedOptimalityCriteria) {
633 output.WriteRawTag(82);
634 output.WriteMessage(DetailedOptimalityCriteria);
635 }
636 if (_unknownFields != null) {
637 _unknownFields.WriteTo(output);
638 }
639 #endif
640 }
641
642 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
643 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
644 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
645 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
646 if (HasOptimalityNorm) {
647 output.WriteRawTag(8);
648 output.WriteEnum((int) OptimalityNorm);
649 }
650 if (HasEpsOptimalAbsolute) {
651 output.WriteRawTag(17);
652 output.WriteDouble(EpsOptimalAbsolute);
653 }
654 if (HasEpsOptimalRelative) {
655 output.WriteRawTag(25);
656 output.WriteDouble(EpsOptimalRelative);
657 }
658 if (HasEpsPrimalInfeasible) {
659 output.WriteRawTag(33);
660 output.WriteDouble(EpsPrimalInfeasible);
661 }
662 if (HasEpsDualInfeasible) {
663 output.WriteRawTag(41);
664 output.WriteDouble(EpsDualInfeasible);
665 }
666 if (HasTimeSecLimit) {
667 output.WriteRawTag(49);
668 output.WriteDouble(TimeSecLimit);
669 }
670 if (HasIterationLimit) {
671 output.WriteRawTag(56);
672 output.WriteInt32(IterationLimit);
673 }
674 if (HasKktMatrixPassLimit) {
675 output.WriteRawTag(65);
676 output.WriteDouble(KktMatrixPassLimit);
677 }
678 if (optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.SimpleOptimalityCriteria) {
679 output.WriteRawTag(74);
680 output.WriteMessage(SimpleOptimalityCriteria);
681 }
682 if (optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.DetailedOptimalityCriteria) {
683 output.WriteRawTag(82);
684 output.WriteMessage(DetailedOptimalityCriteria);
685 }
686 if (_unknownFields != null) {
687 _unknownFields.WriteTo(ref output);
688 }
689 }
690 #endif
691
692 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
693 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
694 public int CalculateSize() {
695 int size = 0;
696 if (HasOptimalityNorm) {
697 size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) OptimalityNorm);
698 }
699 if (optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.SimpleOptimalityCriteria) {
700 size += 1 + pb::CodedOutputStream.ComputeMessageSize(SimpleOptimalityCriteria);
701 }
702 if (optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.DetailedOptimalityCriteria) {
703 size += 1 + pb::CodedOutputStream.ComputeMessageSize(DetailedOptimalityCriteria);
704 }
705 if (HasEpsOptimalAbsolute) {
706 size += 1 + 8;
707 }
708 if (HasEpsOptimalRelative) {
709 size += 1 + 8;
710 }
711 if (HasEpsPrimalInfeasible) {
712 size += 1 + 8;
713 }
714 if (HasEpsDualInfeasible) {
715 size += 1 + 8;
716 }
717 if (HasTimeSecLimit) {
718 size += 1 + 8;
719 }
720 if (HasIterationLimit) {
721 size += 1 + pb::CodedOutputStream.ComputeInt32Size(IterationLimit);
722 }
723 if (HasKktMatrixPassLimit) {
724 size += 1 + 8;
725 }
726 if (_unknownFields != null) {
727 size += _unknownFields.CalculateSize();
728 }
729 return size;
730 }
731
732 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
733 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
734 public void MergeFrom(TerminationCriteria other) {
735 if (other == null) {
736 return;
737 }
738 if (other.HasOptimalityNorm) {
740 }
741 if (other.HasEpsOptimalAbsolute) {
742 EpsOptimalAbsolute = other.EpsOptimalAbsolute;
743 }
744 if (other.HasEpsOptimalRelative) {
745 EpsOptimalRelative = other.EpsOptimalRelative;
746 }
747 if (other.HasEpsPrimalInfeasible) {
748 EpsPrimalInfeasible = other.EpsPrimalInfeasible;
749 }
750 if (other.HasEpsDualInfeasible) {
751 EpsDualInfeasible = other.EpsDualInfeasible;
752 }
753 if (other.HasTimeSecLimit) {
754 TimeSecLimit = other.TimeSecLimit;
755 }
756 if (other.HasIterationLimit) {
758 }
759 if (other.HasKktMatrixPassLimit) {
761 }
762 switch (other.OptimalityCriteriaCase) {
763 case OptimalityCriteriaOneofCase.SimpleOptimalityCriteria:
764 if (SimpleOptimalityCriteria == null) {
765 SimpleOptimalityCriteria = new global::Google.OrTools.PDLP.TerminationCriteria.Types.SimpleOptimalityCriteria();
766 }
767 SimpleOptimalityCriteria.MergeFrom(other.SimpleOptimalityCriteria);
768 break;
769 case OptimalityCriteriaOneofCase.DetailedOptimalityCriteria:
770 if (DetailedOptimalityCriteria == null) {
771 DetailedOptimalityCriteria = new global::Google.OrTools.PDLP.TerminationCriteria.Types.DetailedOptimalityCriteria();
772 }
773 DetailedOptimalityCriteria.MergeFrom(other.DetailedOptimalityCriteria);
774 break;
775 }
776
777 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
778 }
779
780 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
781 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
782 public void MergeFrom(pb::CodedInputStream input) {
783 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
784 input.ReadRawMessage(this);
785 #else
786 uint tag;
787 while ((tag = input.ReadTag()) != 0) {
788 switch(tag) {
789 default:
790 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
791 break;
792 case 8: {
793 OptimalityNorm = (global::Google.OrTools.PDLP.OptimalityNorm) input.ReadEnum();
794 break;
795 }
796 case 17: {
797 EpsOptimalAbsolute = input.ReadDouble();
798 break;
799 }
800 case 25: {
801 EpsOptimalRelative = input.ReadDouble();
802 break;
803 }
804 case 33: {
805 EpsPrimalInfeasible = input.ReadDouble();
806 break;
807 }
808 case 41: {
809 EpsDualInfeasible = input.ReadDouble();
810 break;
811 }
812 case 49: {
813 TimeSecLimit = input.ReadDouble();
814 break;
815 }
816 case 56: {
817 IterationLimit = input.ReadInt32();
818 break;
819 }
820 case 65: {
821 KktMatrixPassLimit = input.ReadDouble();
822 break;
823 }
824 case 74: {
825 global::Google.OrTools.PDLP.TerminationCriteria.Types.SimpleOptimalityCriteria subBuilder = new global::Google.OrTools.PDLP.TerminationCriteria.Types.SimpleOptimalityCriteria();
826 if (optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.SimpleOptimalityCriteria) {
827 subBuilder.MergeFrom(SimpleOptimalityCriteria);
828 }
829 input.ReadMessage(subBuilder);
830 SimpleOptimalityCriteria = subBuilder;
831 break;
832 }
833 case 82: {
834 global::Google.OrTools.PDLP.TerminationCriteria.Types.DetailedOptimalityCriteria subBuilder = new global::Google.OrTools.PDLP.TerminationCriteria.Types.DetailedOptimalityCriteria();
835 if (optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.DetailedOptimalityCriteria) {
836 subBuilder.MergeFrom(DetailedOptimalityCriteria);
837 }
838 input.ReadMessage(subBuilder);
839 DetailedOptimalityCriteria = subBuilder;
840 break;
841 }
842 }
843 }
844 #endif
845 }
846
847 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
848 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
849 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
850 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
851 uint tag;
852 while ((tag = input.ReadTag()) != 0) {
853 switch(tag) {
854 default:
855 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
856 break;
857 case 8: {
858 OptimalityNorm = (global::Google.OrTools.PDLP.OptimalityNorm) input.ReadEnum();
859 break;
860 }
861 case 17: {
862 EpsOptimalAbsolute = input.ReadDouble();
863 break;
864 }
865 case 25: {
866 EpsOptimalRelative = input.ReadDouble();
867 break;
868 }
869 case 33: {
870 EpsPrimalInfeasible = input.ReadDouble();
871 break;
872 }
873 case 41: {
874 EpsDualInfeasible = input.ReadDouble();
875 break;
876 }
877 case 49: {
878 TimeSecLimit = input.ReadDouble();
879 break;
880 }
881 case 56: {
882 IterationLimit = input.ReadInt32();
883 break;
884 }
885 case 65: {
886 KktMatrixPassLimit = input.ReadDouble();
887 break;
888 }
889 case 74: {
890 global::Google.OrTools.PDLP.TerminationCriteria.Types.SimpleOptimalityCriteria subBuilder = new global::Google.OrTools.PDLP.TerminationCriteria.Types.SimpleOptimalityCriteria();
891 if (optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.SimpleOptimalityCriteria) {
892 subBuilder.MergeFrom(SimpleOptimalityCriteria);
893 }
894 input.ReadMessage(subBuilder);
895 SimpleOptimalityCriteria = subBuilder;
896 break;
897 }
898 case 82: {
899 global::Google.OrTools.PDLP.TerminationCriteria.Types.DetailedOptimalityCriteria subBuilder = new global::Google.OrTools.PDLP.TerminationCriteria.Types.DetailedOptimalityCriteria();
900 if (optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.DetailedOptimalityCriteria) {
901 subBuilder.MergeFrom(DetailedOptimalityCriteria);
902 }
903 input.ReadMessage(subBuilder);
904 DetailedOptimalityCriteria = subBuilder;
905 break;
906 }
907 }
908 }
909 }
910 #endif
911
912 #region Nested types
914 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
915 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
916 public static partial class Types {
917 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
918 public sealed partial class SimpleOptimalityCriteria : pb::IMessage<SimpleOptimalityCriteria>
919 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
920 , pb::IBufferMessage
921 #endif
922 {
923 private static readonly pb::MessageParser<SimpleOptimalityCriteria> _parser = new pb::MessageParser<SimpleOptimalityCriteria>(() => new SimpleOptimalityCriteria());
924 private pb::UnknownFieldSet _unknownFields;
925 private int _hasBits0;
926 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
927 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
928 public static pb::MessageParser<SimpleOptimalityCriteria> Parser { get { return _parser; } }
929
930 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
931 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
932 public static pbr::MessageDescriptor Descriptor {
933 get { return global::Google.OrTools.PDLP.TerminationCriteria.Descriptor.NestedTypes[0]; }
934 }
935
936 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
937 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
938 pbr::MessageDescriptor pb::IMessage.Descriptor {
939 get { return Descriptor; }
940 }
941
942 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
943 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
945 OnConstruction();
946 }
947
948 partial void OnConstruction();
949
950 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
951 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
953 _hasBits0 = other._hasBits0;
954 epsOptimalAbsolute_ = other.epsOptimalAbsolute_;
955 epsOptimalRelative_ = other.epsOptimalRelative_;
956 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
957 }
958
959 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
960 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
962 return new SimpleOptimalityCriteria(this);
963 }
964
966 public const int EpsOptimalAbsoluteFieldNumber = 1;
967 private readonly static double EpsOptimalAbsoluteDefaultValue = 1e-06D;
968
969 private double epsOptimalAbsolute_;
974 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
975 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
976 public double EpsOptimalAbsolute {
977 get { if ((_hasBits0 & 1) != 0) { return epsOptimalAbsolute_; } else { return EpsOptimalAbsoluteDefaultValue; } }
978 set {
979 _hasBits0 |= 1;
980 epsOptimalAbsolute_ = value;
981 }
982 }
984 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
985 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
986 public bool HasEpsOptimalAbsolute {
987 get { return (_hasBits0 & 1) != 0; }
988 }
990 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
991 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
993 _hasBits0 &= ~1;
994 }
995
997 public const int EpsOptimalRelativeFieldNumber = 2;
998 private readonly static double EpsOptimalRelativeDefaultValue = 1e-06D;
999
1000 private double epsOptimalRelative_;
1005 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1006 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1007 public double EpsOptimalRelative {
1008 get { if ((_hasBits0 & 2) != 0) { return epsOptimalRelative_; } else { return EpsOptimalRelativeDefaultValue; } }
1009 set {
1010 _hasBits0 |= 2;
1011 epsOptimalRelative_ = value;
1012 }
1013 }
1015 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1016 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1017 public bool HasEpsOptimalRelative {
1018 get { return (_hasBits0 & 2) != 0; }
1019 }
1021 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1022 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1024 _hasBits0 &= ~2;
1025 }
1026
1027 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1028 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1029 public override bool Equals(object other) {
1030 return Equals(other as SimpleOptimalityCriteria);
1031 }
1032
1033 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1034 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1036 if (ReferenceEquals(other, null)) {
1037 return false;
1038 }
1039 if (ReferenceEquals(other, this)) {
1040 return true;
1041 }
1042 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EpsOptimalAbsolute, other.EpsOptimalAbsolute)) return false;
1043 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EpsOptimalRelative, other.EpsOptimalRelative)) return false;
1044 return Equals(_unknownFields, other._unknownFields);
1045 }
1046
1047 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1048 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1049 public override int GetHashCode() {
1050 int hash = 1;
1051 if (HasEpsOptimalAbsolute) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EpsOptimalAbsolute);
1052 if (HasEpsOptimalRelative) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EpsOptimalRelative);
1053 if (_unknownFields != null) {
1054 hash ^= _unknownFields.GetHashCode();
1055 }
1056 return hash;
1057 }
1058
1059 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1060 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1061 public override string ToString() {
1062 return pb::JsonFormatter.ToDiagnosticString(this);
1063 }
1064
1065 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1066 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1067 public void WriteTo(pb::CodedOutputStream output) {
1068 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1069 output.WriteRawMessage(this);
1070 #else
1071 if (HasEpsOptimalAbsolute) {
1072 output.WriteRawTag(9);
1073 output.WriteDouble(EpsOptimalAbsolute);
1074 }
1075 if (HasEpsOptimalRelative) {
1076 output.WriteRawTag(17);
1077 output.WriteDouble(EpsOptimalRelative);
1078 }
1079 if (_unknownFields != null) {
1080 _unknownFields.WriteTo(output);
1081 }
1082 #endif
1083 }
1084
1085 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1086 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1087 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1088 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1089 if (HasEpsOptimalAbsolute) {
1090 output.WriteRawTag(9);
1091 output.WriteDouble(EpsOptimalAbsolute);
1092 }
1093 if (HasEpsOptimalRelative) {
1094 output.WriteRawTag(17);
1095 output.WriteDouble(EpsOptimalRelative);
1096 }
1097 if (_unknownFields != null) {
1098 _unknownFields.WriteTo(ref output);
1099 }
1100 }
1101 #endif
1102
1103 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1104 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1105 public int CalculateSize() {
1106 int size = 0;
1107 if (HasEpsOptimalAbsolute) {
1108 size += 1 + 8;
1109 }
1110 if (HasEpsOptimalRelative) {
1111 size += 1 + 8;
1112 }
1113 if (_unknownFields != null) {
1114 size += _unknownFields.CalculateSize();
1115 }
1116 return size;
1117 }
1118
1119 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1120 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1122 if (other == null) {
1123 return;
1124 }
1125 if (other.HasEpsOptimalAbsolute) {
1126 EpsOptimalAbsolute = other.EpsOptimalAbsolute;
1127 }
1128 if (other.HasEpsOptimalRelative) {
1129 EpsOptimalRelative = other.EpsOptimalRelative;
1130 }
1131 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1132 }
1133
1134 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1135 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1136 public void MergeFrom(pb::CodedInputStream input) {
1137 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1138 input.ReadRawMessage(this);
1139 #else
1140 uint tag;
1141 while ((tag = input.ReadTag()) != 0) {
1142 switch(tag) {
1143 default:
1144 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1145 break;
1146 case 9: {
1147 EpsOptimalAbsolute = input.ReadDouble();
1148 break;
1149 }
1150 case 17: {
1151 EpsOptimalRelative = input.ReadDouble();
1152 break;
1153 }
1154 }
1155 }
1156 #endif
1157 }
1158
1159 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1160 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1161 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1162 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1163 uint tag;
1164 while ((tag = input.ReadTag()) != 0) {
1165 switch(tag) {
1166 default:
1167 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1168 break;
1169 case 9: {
1170 EpsOptimalAbsolute = input.ReadDouble();
1171 break;
1172 }
1173 case 17: {
1174 EpsOptimalRelative = input.ReadDouble();
1175 break;
1176 }
1177 }
1178 }
1179 }
1180 #endif
1181
1182 }
1183
1184 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
1185 public sealed partial class DetailedOptimalityCriteria : pb::IMessage<DetailedOptimalityCriteria>
1186 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1187 , pb::IBufferMessage
1188 #endif
1189 {
1190 private static readonly pb::MessageParser<DetailedOptimalityCriteria> _parser = new pb::MessageParser<DetailedOptimalityCriteria>(() => new DetailedOptimalityCriteria());
1191 private pb::UnknownFieldSet _unknownFields;
1192 private int _hasBits0;
1193 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1194 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1195 public static pb::MessageParser<DetailedOptimalityCriteria> Parser { get { return _parser; } }
1196
1197 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1198 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1199 public static pbr::MessageDescriptor Descriptor {
1200 get { return global::Google.OrTools.PDLP.TerminationCriteria.Descriptor.NestedTypes[1]; }
1201 }
1202
1203 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1204 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1205 pbr::MessageDescriptor pb::IMessage.Descriptor {
1206 get { return Descriptor; }
1207 }
1208
1209 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1210 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1212 OnConstruction();
1213 }
1214
1215 partial void OnConstruction();
1216
1217 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1218 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1220 _hasBits0 = other._hasBits0;
1221 epsOptimalPrimalResidualAbsolute_ = other.epsOptimalPrimalResidualAbsolute_;
1222 epsOptimalPrimalResidualRelative_ = other.epsOptimalPrimalResidualRelative_;
1223 epsOptimalDualResidualAbsolute_ = other.epsOptimalDualResidualAbsolute_;
1224 epsOptimalDualResidualRelative_ = other.epsOptimalDualResidualRelative_;
1225 epsOptimalObjectiveGapAbsolute_ = other.epsOptimalObjectiveGapAbsolute_;
1226 epsOptimalObjectiveGapRelative_ = other.epsOptimalObjectiveGapRelative_;
1227 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1228 }
1229
1230 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1231 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1233 return new DetailedOptimalityCriteria(this);
1234 }
1235
1237 public const int EpsOptimalPrimalResidualAbsoluteFieldNumber = 1;
1238 private readonly static double EpsOptimalPrimalResidualAbsoluteDefaultValue = 1e-06D;
1239
1240 private double epsOptimalPrimalResidualAbsolute_;
1244 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1245 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1246 public double EpsOptimalPrimalResidualAbsolute {
1247 get { if ((_hasBits0 & 1) != 0) { return epsOptimalPrimalResidualAbsolute_; } else { return EpsOptimalPrimalResidualAbsoluteDefaultValue; } }
1248 set {
1249 _hasBits0 |= 1;
1250 epsOptimalPrimalResidualAbsolute_ = value;
1251 }
1252 }
1254 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1255 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1256 public bool HasEpsOptimalPrimalResidualAbsolute {
1257 get { return (_hasBits0 & 1) != 0; }
1258 }
1260 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1261 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1263 _hasBits0 &= ~1;
1264 }
1265
1267 public const int EpsOptimalPrimalResidualRelativeFieldNumber = 2;
1268 private readonly static double EpsOptimalPrimalResidualRelativeDefaultValue = 1e-06D;
1269
1270 private double epsOptimalPrimalResidualRelative_;
1274 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1275 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1276 public double EpsOptimalPrimalResidualRelative {
1277 get { if ((_hasBits0 & 2) != 0) { return epsOptimalPrimalResidualRelative_; } else { return EpsOptimalPrimalResidualRelativeDefaultValue; } }
1278 set {
1279 _hasBits0 |= 2;
1280 epsOptimalPrimalResidualRelative_ = value;
1281 }
1282 }
1284 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1285 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1286 public bool HasEpsOptimalPrimalResidualRelative {
1287 get { return (_hasBits0 & 2) != 0; }
1288 }
1290 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1291 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1293 _hasBits0 &= ~2;
1294 }
1295
1297 public const int EpsOptimalDualResidualAbsoluteFieldNumber = 3;
1298 private readonly static double EpsOptimalDualResidualAbsoluteDefaultValue = 1e-06D;
1299
1300 private double epsOptimalDualResidualAbsolute_;
1304 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1305 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1306 public double EpsOptimalDualResidualAbsolute {
1307 get { if ((_hasBits0 & 4) != 0) { return epsOptimalDualResidualAbsolute_; } else { return EpsOptimalDualResidualAbsoluteDefaultValue; } }
1308 set {
1309 _hasBits0 |= 4;
1310 epsOptimalDualResidualAbsolute_ = value;
1311 }
1312 }
1314 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1315 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1316 public bool HasEpsOptimalDualResidualAbsolute {
1317 get { return (_hasBits0 & 4) != 0; }
1318 }
1320 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1321 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1323 _hasBits0 &= ~4;
1324 }
1325
1327 public const int EpsOptimalDualResidualRelativeFieldNumber = 4;
1328 private readonly static double EpsOptimalDualResidualRelativeDefaultValue = 1e-06D;
1329
1330 private double epsOptimalDualResidualRelative_;
1334 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1335 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1336 public double EpsOptimalDualResidualRelative {
1337 get { if ((_hasBits0 & 8) != 0) { return epsOptimalDualResidualRelative_; } else { return EpsOptimalDualResidualRelativeDefaultValue; } }
1338 set {
1339 _hasBits0 |= 8;
1340 epsOptimalDualResidualRelative_ = value;
1341 }
1342 }
1344 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1345 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1346 public bool HasEpsOptimalDualResidualRelative {
1347 get { return (_hasBits0 & 8) != 0; }
1348 }
1350 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1351 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1353 _hasBits0 &= ~8;
1354 }
1355
1357 public const int EpsOptimalObjectiveGapAbsoluteFieldNumber = 5;
1358 private readonly static double EpsOptimalObjectiveGapAbsoluteDefaultValue = 1e-06D;
1359
1360 private double epsOptimalObjectiveGapAbsolute_;
1364 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1365 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1366 public double EpsOptimalObjectiveGapAbsolute {
1367 get { if ((_hasBits0 & 16) != 0) { return epsOptimalObjectiveGapAbsolute_; } else { return EpsOptimalObjectiveGapAbsoluteDefaultValue; } }
1368 set {
1369 _hasBits0 |= 16;
1370 epsOptimalObjectiveGapAbsolute_ = value;
1371 }
1372 }
1374 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1375 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1376 public bool HasEpsOptimalObjectiveGapAbsolute {
1377 get { return (_hasBits0 & 16) != 0; }
1378 }
1380 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1381 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1383 _hasBits0 &= ~16;
1384 }
1385
1387 public const int EpsOptimalObjectiveGapRelativeFieldNumber = 6;
1388 private readonly static double EpsOptimalObjectiveGapRelativeDefaultValue = 1e-06D;
1389
1390 private double epsOptimalObjectiveGapRelative_;
1394 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1395 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1396 public double EpsOptimalObjectiveGapRelative {
1397 get { if ((_hasBits0 & 32) != 0) { return epsOptimalObjectiveGapRelative_; } else { return EpsOptimalObjectiveGapRelativeDefaultValue; } }
1398 set {
1399 _hasBits0 |= 32;
1400 epsOptimalObjectiveGapRelative_ = value;
1401 }
1402 }
1404 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1405 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1406 public bool HasEpsOptimalObjectiveGapRelative {
1407 get { return (_hasBits0 & 32) != 0; }
1408 }
1410 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1411 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1413 _hasBits0 &= ~32;
1414 }
1415
1416 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1417 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1418 public override bool Equals(object other) {
1419 return Equals(other as DetailedOptimalityCriteria);
1420 }
1421
1422 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1423 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1425 if (ReferenceEquals(other, null)) {
1426 return false;
1427 }
1428 if (ReferenceEquals(other, this)) {
1429 return true;
1430 }
1431 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EpsOptimalPrimalResidualAbsolute, other.EpsOptimalPrimalResidualAbsolute)) return false;
1432 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EpsOptimalPrimalResidualRelative, other.EpsOptimalPrimalResidualRelative)) return false;
1433 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EpsOptimalDualResidualAbsolute, other.EpsOptimalDualResidualAbsolute)) return false;
1434 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EpsOptimalDualResidualRelative, other.EpsOptimalDualResidualRelative)) return false;
1435 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EpsOptimalObjectiveGapAbsolute, other.EpsOptimalObjectiveGapAbsolute)) return false;
1436 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EpsOptimalObjectiveGapRelative, other.EpsOptimalObjectiveGapRelative)) return false;
1437 return Equals(_unknownFields, other._unknownFields);
1438 }
1439
1440 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1441 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1442 public override int GetHashCode() {
1443 int hash = 1;
1444 if (HasEpsOptimalPrimalResidualAbsolute) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EpsOptimalPrimalResidualAbsolute);
1445 if (HasEpsOptimalPrimalResidualRelative) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EpsOptimalPrimalResidualRelative);
1446 if (HasEpsOptimalDualResidualAbsolute) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EpsOptimalDualResidualAbsolute);
1447 if (HasEpsOptimalDualResidualRelative) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EpsOptimalDualResidualRelative);
1448 if (HasEpsOptimalObjectiveGapAbsolute) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EpsOptimalObjectiveGapAbsolute);
1449 if (HasEpsOptimalObjectiveGapRelative) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EpsOptimalObjectiveGapRelative);
1450 if (_unknownFields != null) {
1451 hash ^= _unknownFields.GetHashCode();
1452 }
1453 return hash;
1454 }
1455
1456 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1457 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1458 public override string ToString() {
1459 return pb::JsonFormatter.ToDiagnosticString(this);
1460 }
1461
1462 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1463 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1464 public void WriteTo(pb::CodedOutputStream output) {
1465 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1466 output.WriteRawMessage(this);
1467 #else
1468 if (HasEpsOptimalPrimalResidualAbsolute) {
1469 output.WriteRawTag(9);
1470 output.WriteDouble(EpsOptimalPrimalResidualAbsolute);
1471 }
1472 if (HasEpsOptimalPrimalResidualRelative) {
1473 output.WriteRawTag(17);
1474 output.WriteDouble(EpsOptimalPrimalResidualRelative);
1475 }
1476 if (HasEpsOptimalDualResidualAbsolute) {
1477 output.WriteRawTag(25);
1478 output.WriteDouble(EpsOptimalDualResidualAbsolute);
1479 }
1480 if (HasEpsOptimalDualResidualRelative) {
1481 output.WriteRawTag(33);
1482 output.WriteDouble(EpsOptimalDualResidualRelative);
1483 }
1484 if (HasEpsOptimalObjectiveGapAbsolute) {
1485 output.WriteRawTag(41);
1486 output.WriteDouble(EpsOptimalObjectiveGapAbsolute);
1487 }
1488 if (HasEpsOptimalObjectiveGapRelative) {
1489 output.WriteRawTag(49);
1490 output.WriteDouble(EpsOptimalObjectiveGapRelative);
1491 }
1492 if (_unknownFields != null) {
1493 _unknownFields.WriteTo(output);
1494 }
1495 #endif
1496 }
1497
1498 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1499 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1500 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1501 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1502 if (HasEpsOptimalPrimalResidualAbsolute) {
1503 output.WriteRawTag(9);
1504 output.WriteDouble(EpsOptimalPrimalResidualAbsolute);
1505 }
1506 if (HasEpsOptimalPrimalResidualRelative) {
1507 output.WriteRawTag(17);
1508 output.WriteDouble(EpsOptimalPrimalResidualRelative);
1509 }
1510 if (HasEpsOptimalDualResidualAbsolute) {
1511 output.WriteRawTag(25);
1512 output.WriteDouble(EpsOptimalDualResidualAbsolute);
1513 }
1514 if (HasEpsOptimalDualResidualRelative) {
1515 output.WriteRawTag(33);
1516 output.WriteDouble(EpsOptimalDualResidualRelative);
1517 }
1518 if (HasEpsOptimalObjectiveGapAbsolute) {
1519 output.WriteRawTag(41);
1520 output.WriteDouble(EpsOptimalObjectiveGapAbsolute);
1521 }
1522 if (HasEpsOptimalObjectiveGapRelative) {
1523 output.WriteRawTag(49);
1524 output.WriteDouble(EpsOptimalObjectiveGapRelative);
1525 }
1526 if (_unknownFields != null) {
1527 _unknownFields.WriteTo(ref output);
1528 }
1529 }
1530 #endif
1531
1532 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1533 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1534 public int CalculateSize() {
1535 int size = 0;
1536 if (HasEpsOptimalPrimalResidualAbsolute) {
1537 size += 1 + 8;
1538 }
1539 if (HasEpsOptimalPrimalResidualRelative) {
1540 size += 1 + 8;
1541 }
1542 if (HasEpsOptimalDualResidualAbsolute) {
1543 size += 1 + 8;
1544 }
1545 if (HasEpsOptimalDualResidualRelative) {
1546 size += 1 + 8;
1547 }
1548 if (HasEpsOptimalObjectiveGapAbsolute) {
1549 size += 1 + 8;
1550 }
1551 if (HasEpsOptimalObjectiveGapRelative) {
1552 size += 1 + 8;
1553 }
1554 if (_unknownFields != null) {
1555 size += _unknownFields.CalculateSize();
1556 }
1557 return size;
1558 }
1559
1560 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1561 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1563 if (other == null) {
1564 return;
1565 }
1567 EpsOptimalPrimalResidualAbsolute = other.EpsOptimalPrimalResidualAbsolute;
1568 }
1570 EpsOptimalPrimalResidualRelative = other.EpsOptimalPrimalResidualRelative;
1571 }
1573 EpsOptimalDualResidualAbsolute = other.EpsOptimalDualResidualAbsolute;
1574 }
1576 EpsOptimalDualResidualRelative = other.EpsOptimalDualResidualRelative;
1577 }
1579 EpsOptimalObjectiveGapAbsolute = other.EpsOptimalObjectiveGapAbsolute;
1580 }
1582 EpsOptimalObjectiveGapRelative = other.EpsOptimalObjectiveGapRelative;
1583 }
1584 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1585 }
1586
1587 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1588 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1589 public void MergeFrom(pb::CodedInputStream input) {
1590 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1591 input.ReadRawMessage(this);
1592 #else
1593 uint tag;
1594 while ((tag = input.ReadTag()) != 0) {
1595 switch(tag) {
1596 default:
1597 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1598 break;
1599 case 9: {
1600 EpsOptimalPrimalResidualAbsolute = input.ReadDouble();
1601 break;
1602 }
1603 case 17: {
1604 EpsOptimalPrimalResidualRelative = input.ReadDouble();
1605 break;
1606 }
1607 case 25: {
1608 EpsOptimalDualResidualAbsolute = input.ReadDouble();
1609 break;
1610 }
1611 case 33: {
1612 EpsOptimalDualResidualRelative = input.ReadDouble();
1613 break;
1614 }
1615 case 41: {
1616 EpsOptimalObjectiveGapAbsolute = input.ReadDouble();
1617 break;
1618 }
1619 case 49: {
1620 EpsOptimalObjectiveGapRelative = input.ReadDouble();
1621 break;
1622 }
1623 }
1624 }
1625 #endif
1626 }
1627
1628 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1629 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1630 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1631 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1632 uint tag;
1633 while ((tag = input.ReadTag()) != 0) {
1634 switch(tag) {
1635 default:
1636 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1637 break;
1638 case 9: {
1639 EpsOptimalPrimalResidualAbsolute = input.ReadDouble();
1640 break;
1641 }
1642 case 17: {
1643 EpsOptimalPrimalResidualRelative = input.ReadDouble();
1644 break;
1645 }
1646 case 25: {
1647 EpsOptimalDualResidualAbsolute = input.ReadDouble();
1648 break;
1649 }
1650 case 33: {
1651 EpsOptimalDualResidualRelative = input.ReadDouble();
1652 break;
1653 }
1654 case 41: {
1655 EpsOptimalObjectiveGapAbsolute = input.ReadDouble();
1656 break;
1657 }
1658 case 49: {
1659 EpsOptimalObjectiveGapRelative = input.ReadDouble();
1660 break;
1661 }
1662 }
1663 }
1664 }
1665 #endif
1666
1667 }
1668
1669 }
1670 #endregion
1671
1672 }
1673
1679 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
1680 public sealed partial class AdaptiveLinesearchParams : pb::IMessage<AdaptiveLinesearchParams>
1681 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1682 , pb::IBufferMessage
1683 #endif
1684 {
1685 private static readonly pb::MessageParser<AdaptiveLinesearchParams> _parser = new pb::MessageParser<AdaptiveLinesearchParams>(() => new AdaptiveLinesearchParams());
1686 private pb::UnknownFieldSet _unknownFields;
1687 private int _hasBits0;
1688 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1689 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1690 public static pb::MessageParser<AdaptiveLinesearchParams> Parser { get { return _parser; } }
1691
1692 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1693 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1694 public static pbr::MessageDescriptor Descriptor {
1695 get { return global::Google.OrTools.PDLP.SolversReflection.Descriptor.MessageTypes[1]; }
1696 }
1697
1698 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1699 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1700 pbr::MessageDescriptor pb::IMessage.Descriptor {
1701 get { return Descriptor; }
1702 }
1703
1704 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1705 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1707 OnConstruction();
1708 }
1709
1710 partial void OnConstruction();
1711
1712 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1713 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1715 _hasBits0 = other._hasBits0;
1716 stepSizeReductionExponent_ = other.stepSizeReductionExponent_;
1717 stepSizeGrowthExponent_ = other.stepSizeGrowthExponent_;
1718 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1719 }
1720
1721 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1722 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1724 return new AdaptiveLinesearchParams(this);
1725 }
1726
1728 public const int StepSizeReductionExponentFieldNumber = 1;
1729 private readonly static double StepSizeReductionExponentDefaultValue = 0.3D;
1730
1731 private double stepSizeReductionExponent_;
1738 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1739 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1740 public double StepSizeReductionExponent {
1741 get { if ((_hasBits0 & 1) != 0) { return stepSizeReductionExponent_; } else { return StepSizeReductionExponentDefaultValue; } }
1742 set {
1743 _hasBits0 |= 1;
1744 stepSizeReductionExponent_ = value;
1745 }
1746 }
1748 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1749 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1750 public bool HasStepSizeReductionExponent {
1751 get { return (_hasBits0 & 1) != 0; }
1752 }
1754 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1755 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1757 _hasBits0 &= ~1;
1758 }
1759
1761 public const int StepSizeGrowthExponentFieldNumber = 2;
1762 private readonly static double StepSizeGrowthExponentDefaultValue = 0.6D;
1763
1764 private double stepSizeGrowthExponent_;
1770 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1771 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1772 public double StepSizeGrowthExponent {
1773 get { if ((_hasBits0 & 2) != 0) { return stepSizeGrowthExponent_; } else { return StepSizeGrowthExponentDefaultValue; } }
1774 set {
1775 _hasBits0 |= 2;
1776 stepSizeGrowthExponent_ = value;
1777 }
1778 }
1780 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1781 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1782 public bool HasStepSizeGrowthExponent {
1783 get { return (_hasBits0 & 2) != 0; }
1784 }
1786 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1787 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1789 _hasBits0 &= ~2;
1790 }
1791
1792 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1793 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1794 public override bool Equals(object other) {
1795 return Equals(other as AdaptiveLinesearchParams);
1796 }
1797
1798 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1799 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1801 if (ReferenceEquals(other, null)) {
1802 return false;
1803 }
1804 if (ReferenceEquals(other, this)) {
1805 return true;
1806 }
1807 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(StepSizeReductionExponent, other.StepSizeReductionExponent)) return false;
1808 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(StepSizeGrowthExponent, other.StepSizeGrowthExponent)) return false;
1809 return Equals(_unknownFields, other._unknownFields);
1810 }
1811
1812 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1813 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1814 public override int GetHashCode() {
1815 int hash = 1;
1816 if (HasStepSizeReductionExponent) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(StepSizeReductionExponent);
1817 if (HasStepSizeGrowthExponent) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(StepSizeGrowthExponent);
1818 if (_unknownFields != null) {
1819 hash ^= _unknownFields.GetHashCode();
1820 }
1821 return hash;
1822 }
1823
1824 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1825 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1826 public override string ToString() {
1827 return pb::JsonFormatter.ToDiagnosticString(this);
1828 }
1829
1830 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1831 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1832 public void WriteTo(pb::CodedOutputStream output) {
1833 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1834 output.WriteRawMessage(this);
1835 #else
1836 if (HasStepSizeReductionExponent) {
1837 output.WriteRawTag(9);
1838 output.WriteDouble(StepSizeReductionExponent);
1839 }
1840 if (HasStepSizeGrowthExponent) {
1841 output.WriteRawTag(17);
1842 output.WriteDouble(StepSizeGrowthExponent);
1843 }
1844 if (_unknownFields != null) {
1845 _unknownFields.WriteTo(output);
1846 }
1847 #endif
1848 }
1849
1850 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1851 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1852 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1853 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1854 if (HasStepSizeReductionExponent) {
1855 output.WriteRawTag(9);
1856 output.WriteDouble(StepSizeReductionExponent);
1857 }
1858 if (HasStepSizeGrowthExponent) {
1859 output.WriteRawTag(17);
1860 output.WriteDouble(StepSizeGrowthExponent);
1861 }
1862 if (_unknownFields != null) {
1863 _unknownFields.WriteTo(ref output);
1864 }
1865 }
1866 #endif
1867
1868 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1869 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1870 public int CalculateSize() {
1871 int size = 0;
1872 if (HasStepSizeReductionExponent) {
1873 size += 1 + 8;
1874 }
1875 if (HasStepSizeGrowthExponent) {
1876 size += 1 + 8;
1877 }
1878 if (_unknownFields != null) {
1879 size += _unknownFields.CalculateSize();
1880 }
1881 return size;
1882 }
1883
1884 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1885 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1887 if (other == null) {
1888 return;
1889 }
1890 if (other.HasStepSizeReductionExponent) {
1891 StepSizeReductionExponent = other.StepSizeReductionExponent;
1892 }
1893 if (other.HasStepSizeGrowthExponent) {
1894 StepSizeGrowthExponent = other.StepSizeGrowthExponent;
1895 }
1896 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1897 }
1898
1899 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1900 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1901 public void MergeFrom(pb::CodedInputStream input) {
1902 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1903 input.ReadRawMessage(this);
1904 #else
1905 uint tag;
1906 while ((tag = input.ReadTag()) != 0) {
1907 switch(tag) {
1908 default:
1909 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1910 break;
1911 case 9: {
1912 StepSizeReductionExponent = input.ReadDouble();
1913 break;
1914 }
1915 case 17: {
1916 StepSizeGrowthExponent = input.ReadDouble();
1917 break;
1918 }
1919 }
1920 }
1921 #endif
1922 }
1923
1924 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1925 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1926 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1927 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1928 uint tag;
1929 while ((tag = input.ReadTag()) != 0) {
1930 switch(tag) {
1931 default:
1932 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1933 break;
1934 case 9: {
1935 StepSizeReductionExponent = input.ReadDouble();
1936 break;
1937 }
1938 case 17: {
1939 StepSizeGrowthExponent = input.ReadDouble();
1940 break;
1941 }
1942 }
1943 }
1944 }
1945 #endif
1946
1947 }
1948
1949 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
1950 public sealed partial class MalitskyPockParams : pb::IMessage<MalitskyPockParams>
1951 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1952 , pb::IBufferMessage
1953 #endif
1954 {
1955 private static readonly pb::MessageParser<MalitskyPockParams> _parser = new pb::MessageParser<MalitskyPockParams>(() => new MalitskyPockParams());
1956 private pb::UnknownFieldSet _unknownFields;
1957 private int _hasBits0;
1958 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1959 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1960 public static pb::MessageParser<MalitskyPockParams> Parser { get { return _parser; } }
1961
1962 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1963 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1964 public static pbr::MessageDescriptor Descriptor {
1965 get { return global::Google.OrTools.PDLP.SolversReflection.Descriptor.MessageTypes[2]; }
1966 }
1967
1968 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1969 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1970 pbr::MessageDescriptor pb::IMessage.Descriptor {
1971 get { return Descriptor; }
1972 }
1973
1974 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1975 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1977 OnConstruction();
1978 }
1979
1980 partial void OnConstruction();
1981
1982 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1983 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1985 _hasBits0 = other._hasBits0;
1986 stepSizeDownscalingFactor_ = other.stepSizeDownscalingFactor_;
1987 linesearchContractionFactor_ = other.linesearchContractionFactor_;
1988 stepSizeInterpolation_ = other.stepSizeInterpolation_;
1989 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1990 }
1991
1992 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1993 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1995 return new MalitskyPockParams(this);
1996 }
1997
1999 public const int StepSizeDownscalingFactorFieldNumber = 1;
2000 private readonly static double StepSizeDownscalingFactorDefaultValue = 0.7D;
2001
2002 private double stepSizeDownscalingFactor_;
2009 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2010 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2011 public double StepSizeDownscalingFactor {
2012 get { if ((_hasBits0 & 1) != 0) { return stepSizeDownscalingFactor_; } else { return StepSizeDownscalingFactorDefaultValue; } }
2013 set {
2014 _hasBits0 |= 1;
2015 stepSizeDownscalingFactor_ = value;
2016 }
2017 }
2019 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2020 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2021 public bool HasStepSizeDownscalingFactor {
2022 get { return (_hasBits0 & 1) != 0; }
2023 }
2025 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2026 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2028 _hasBits0 &= ~1;
2029 }
2030
2032 public const int LinesearchContractionFactorFieldNumber = 2;
2033 private readonly static double LinesearchContractionFactorDefaultValue = 0.99D;
2034
2035 private double linesearchContractionFactor_;
2043 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2044 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2045 public double LinesearchContractionFactor {
2046 get { if ((_hasBits0 & 2) != 0) { return linesearchContractionFactor_; } else { return LinesearchContractionFactorDefaultValue; } }
2047 set {
2048 _hasBits0 |= 2;
2049 linesearchContractionFactor_ = value;
2050 }
2051 }
2053 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2054 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2055 public bool HasLinesearchContractionFactor {
2056 get { return (_hasBits0 & 2) != 0; }
2057 }
2059 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2060 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2062 _hasBits0 &= ~2;
2063 }
2064
2066 public const int StepSizeInterpolationFieldNumber = 3;
2067 private readonly static double StepSizeInterpolationDefaultValue = 1D;
2068
2069 private double stepSizeInterpolation_;
2077 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2078 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2079 public double StepSizeInterpolation {
2080 get { if ((_hasBits0 & 4) != 0) { return stepSizeInterpolation_; } else { return StepSizeInterpolationDefaultValue; } }
2081 set {
2082 _hasBits0 |= 4;
2083 stepSizeInterpolation_ = value;
2084 }
2085 }
2087 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2088 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2089 public bool HasStepSizeInterpolation {
2090 get { return (_hasBits0 & 4) != 0; }
2091 }
2093 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2094 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2096 _hasBits0 &= ~4;
2097 }
2098
2099 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2100 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2101 public override bool Equals(object other) {
2102 return Equals(other as MalitskyPockParams);
2103 }
2104
2105 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2106 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2107 public bool Equals(MalitskyPockParams other) {
2108 if (ReferenceEquals(other, null)) {
2109 return false;
2110 }
2111 if (ReferenceEquals(other, this)) {
2112 return true;
2113 }
2114 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(StepSizeDownscalingFactor, other.StepSizeDownscalingFactor)) return false;
2115 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(LinesearchContractionFactor, other.LinesearchContractionFactor)) return false;
2116 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(StepSizeInterpolation, other.StepSizeInterpolation)) return false;
2117 return Equals(_unknownFields, other._unknownFields);
2118 }
2119
2120 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2121 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2122 public override int GetHashCode() {
2123 int hash = 1;
2124 if (HasStepSizeDownscalingFactor) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(StepSizeDownscalingFactor);
2125 if (HasLinesearchContractionFactor) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(LinesearchContractionFactor);
2126 if (HasStepSizeInterpolation) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(StepSizeInterpolation);
2127 if (_unknownFields != null) {
2128 hash ^= _unknownFields.GetHashCode();
2129 }
2130 return hash;
2131 }
2132
2133 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2134 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2135 public override string ToString() {
2136 return pb::JsonFormatter.ToDiagnosticString(this);
2137 }
2138
2139 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2140 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2141 public void WriteTo(pb::CodedOutputStream output) {
2142 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2143 output.WriteRawMessage(this);
2144 #else
2145 if (HasStepSizeDownscalingFactor) {
2146 output.WriteRawTag(9);
2147 output.WriteDouble(StepSizeDownscalingFactor);
2148 }
2149 if (HasLinesearchContractionFactor) {
2150 output.WriteRawTag(17);
2151 output.WriteDouble(LinesearchContractionFactor);
2152 }
2153 if (HasStepSizeInterpolation) {
2154 output.WriteRawTag(25);
2155 output.WriteDouble(StepSizeInterpolation);
2156 }
2157 if (_unknownFields != null) {
2158 _unknownFields.WriteTo(output);
2159 }
2160 #endif
2161 }
2162
2163 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2164 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2165 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2166 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2167 if (HasStepSizeDownscalingFactor) {
2168 output.WriteRawTag(9);
2169 output.WriteDouble(StepSizeDownscalingFactor);
2170 }
2171 if (HasLinesearchContractionFactor) {
2172 output.WriteRawTag(17);
2173 output.WriteDouble(LinesearchContractionFactor);
2174 }
2175 if (HasStepSizeInterpolation) {
2176 output.WriteRawTag(25);
2177 output.WriteDouble(StepSizeInterpolation);
2178 }
2179 if (_unknownFields != null) {
2180 _unknownFields.WriteTo(ref output);
2181 }
2182 }
2183 #endif
2184
2185 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2186 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2187 public int CalculateSize() {
2188 int size = 0;
2189 if (HasStepSizeDownscalingFactor) {
2190 size += 1 + 8;
2191 }
2192 if (HasLinesearchContractionFactor) {
2193 size += 1 + 8;
2194 }
2195 if (HasStepSizeInterpolation) {
2196 size += 1 + 8;
2197 }
2198 if (_unknownFields != null) {
2199 size += _unknownFields.CalculateSize();
2200 }
2201 return size;
2202 }
2203
2204 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2205 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2206 public void MergeFrom(MalitskyPockParams other) {
2207 if (other == null) {
2208 return;
2209 }
2210 if (other.HasStepSizeDownscalingFactor) {
2211 StepSizeDownscalingFactor = other.StepSizeDownscalingFactor;
2212 }
2214 LinesearchContractionFactor = other.LinesearchContractionFactor;
2215 }
2216 if (other.HasStepSizeInterpolation) {
2217 StepSizeInterpolation = other.StepSizeInterpolation;
2218 }
2219 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
2220 }
2221
2222 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2223 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2224 public void MergeFrom(pb::CodedInputStream input) {
2225 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2226 input.ReadRawMessage(this);
2227 #else
2228 uint tag;
2229 while ((tag = input.ReadTag()) != 0) {
2230 switch(tag) {
2231 default:
2232 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
2233 break;
2234 case 9: {
2235 StepSizeDownscalingFactor = input.ReadDouble();
2236 break;
2237 }
2238 case 17: {
2239 LinesearchContractionFactor = input.ReadDouble();
2240 break;
2241 }
2242 case 25: {
2243 StepSizeInterpolation = input.ReadDouble();
2244 break;
2245 }
2246 }
2247 }
2248 #endif
2249 }
2250
2251 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2252 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2253 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2254 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
2255 uint tag;
2256 while ((tag = input.ReadTag()) != 0) {
2257 switch(tag) {
2258 default:
2259 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
2260 break;
2261 case 9: {
2262 StepSizeDownscalingFactor = input.ReadDouble();
2263 break;
2264 }
2265 case 17: {
2266 LinesearchContractionFactor = input.ReadDouble();
2267 break;
2268 }
2269 case 25: {
2270 StepSizeInterpolation = input.ReadDouble();
2271 break;
2272 }
2273 }
2274 }
2275 }
2276 #endif
2277
2278 }
2279
2292 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
2293 public sealed partial class PrimalDualHybridGradientParams : pb::IMessage<PrimalDualHybridGradientParams>
2294 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2295 , pb::IBufferMessage
2296 #endif
2297 {
2298 private static readonly pb::MessageParser<PrimalDualHybridGradientParams> _parser = new pb::MessageParser<PrimalDualHybridGradientParams>(() => new PrimalDualHybridGradientParams());
2299 private pb::UnknownFieldSet _unknownFields;
2300 private int _hasBits0;
2301 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2302 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2303 public static pb::MessageParser<PrimalDualHybridGradientParams> Parser { get { return _parser; } }
2304
2305 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2306 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2307 public static pbr::MessageDescriptor Descriptor {
2308 get { return global::Google.OrTools.PDLP.SolversReflection.Descriptor.MessageTypes[3]; }
2309 }
2310
2311 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2312 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2313 pbr::MessageDescriptor pb::IMessage.Descriptor {
2314 get { return Descriptor; }
2315 }
2316
2317 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2318 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2320 OnConstruction();
2321 }
2322
2323 partial void OnConstruction();
2324
2325 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2326 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2328 _hasBits0 = other._hasBits0;
2329 terminationCriteria_ = other.terminationCriteria_ != null ? other.terminationCriteria_.Clone() : null;
2330 numThreads_ = other.numThreads_;
2331 numShards_ = other.numShards_;
2332 recordIterationStats_ = other.recordIterationStats_;
2333 verbosityLevel_ = other.verbosityLevel_;
2334 logIntervalSeconds_ = other.logIntervalSeconds_;
2335 majorIterationFrequency_ = other.majorIterationFrequency_;
2336 terminationCheckFrequency_ = other.terminationCheckFrequency_;
2337 restartStrategy_ = other.restartStrategy_;
2338 primalWeightUpdateSmoothing_ = other.primalWeightUpdateSmoothing_;
2339 initialPrimalWeight_ = other.initialPrimalWeight_;
2340 presolveOptions_ = other.presolveOptions_ != null ? other.presolveOptions_.Clone() : null;
2341 lInfRuizIterations_ = other.lInfRuizIterations_;
2342 l2NormRescaling_ = other.l2NormRescaling_;
2343 sufficientReductionForRestart_ = other.sufficientReductionForRestart_;
2344 necessaryReductionForRestart_ = other.necessaryReductionForRestart_;
2345 linesearchRule_ = other.linesearchRule_;
2346 adaptiveLinesearchParameters_ = other.adaptiveLinesearchParameters_ != null ? other.adaptiveLinesearchParameters_.Clone() : null;
2347 malitskyPockParameters_ = other.malitskyPockParameters_ != null ? other.malitskyPockParameters_.Clone() : null;
2348 initialStepSizeScaling_ = other.initialStepSizeScaling_;
2349 randomProjectionSeeds_ = other.randomProjectionSeeds_.Clone();
2350 infiniteConstraintBoundThreshold_ = other.infiniteConstraintBoundThreshold_;
2351 handleSomePrimalGradientsOnFiniteBoundsAsResiduals_ = other.handleSomePrimalGradientsOnFiniteBoundsAsResiduals_;
2352 useDiagonalQpTrustRegionSolver_ = other.useDiagonalQpTrustRegionSolver_;
2353 diagonalQpTrustRegionSolverTolerance_ = other.diagonalQpTrustRegionSolverTolerance_;
2354 useFeasibilityPolishing_ = other.useFeasibilityPolishing_;
2355 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
2356 }
2357
2358 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2359 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2363
2365 public const int TerminationCriteriaFieldNumber = 1;
2366 private global::Google.OrTools.PDLP.TerminationCriteria terminationCriteria_;
2367 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2368 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2369 public global::Google.OrTools.PDLP.TerminationCriteria TerminationCriteria {
2370 get { return terminationCriteria_; }
2371 set {
2372 terminationCriteria_ = value;
2373 }
2374 }
2375
2377 public const int NumThreadsFieldNumber = 2;
2378 private readonly static int NumThreadsDefaultValue = 1;
2379
2380 private int numThreads_;
2387 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2388 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2389 public int NumThreads {
2390 get { if ((_hasBits0 & 1) != 0) { return numThreads_; } else { return NumThreadsDefaultValue; } }
2391 set {
2392 _hasBits0 |= 1;
2393 numThreads_ = value;
2394 }
2395 }
2397 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2398 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2399 public bool HasNumThreads {
2400 get { return (_hasBits0 & 1) != 0; }
2401 }
2403 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2404 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2405 public void ClearNumThreads() {
2406 _hasBits0 &= ~1;
2407 }
2408
2410 public const int NumShardsFieldNumber = 27;
2411 private readonly static int NumShardsDefaultValue = 0;
2412
2413 private int numShards_;
2425 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2426 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2427 public int NumShards {
2428 get { if ((_hasBits0 & 131072) != 0) { return numShards_; } else { return NumShardsDefaultValue; } }
2429 set {
2430 _hasBits0 |= 131072;
2431 numShards_ = value;
2432 }
2433 }
2435 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2436 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2437 public bool HasNumShards {
2438 get { return (_hasBits0 & 131072) != 0; }
2439 }
2441 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2442 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2443 public void ClearNumShards() {
2444 _hasBits0 &= ~131072;
2445 }
2446
2448 public const int RecordIterationStatsFieldNumber = 3;
2449 private readonly static bool RecordIterationStatsDefaultValue = false;
2450
2451 private bool recordIterationStats_;
2458 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2459 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2460 public bool RecordIterationStats {
2461 get { if ((_hasBits0 & 2) != 0) { return recordIterationStats_; } else { return RecordIterationStatsDefaultValue; } }
2462 set {
2463 _hasBits0 |= 2;
2464 recordIterationStats_ = value;
2465 }
2466 }
2468 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2469 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2470 public bool HasRecordIterationStats {
2471 get { return (_hasBits0 & 2) != 0; }
2472 }
2474 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2475 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2477 _hasBits0 &= ~2;
2478 }
2479
2481 public const int VerbosityLevelFieldNumber = 26;
2482 private readonly static int VerbosityLevelDefaultValue = 0;
2483
2484 private int verbosityLevel_;
2498 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2499 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2500 public int VerbosityLevel {
2501 get { if ((_hasBits0 & 65536) != 0) { return verbosityLevel_; } else { return VerbosityLevelDefaultValue; } }
2502 set {
2503 _hasBits0 |= 65536;
2504 verbosityLevel_ = value;
2505 }
2506 }
2508 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2509 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2510 public bool HasVerbosityLevel {
2511 get { return (_hasBits0 & 65536) != 0; }
2512 }
2514 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2515 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2516 public void ClearVerbosityLevel() {
2517 _hasBits0 &= ~65536;
2518 }
2519
2521 public const int LogIntervalSecondsFieldNumber = 31;
2522 private readonly static double LogIntervalSecondsDefaultValue = 0D;
2523
2524 private double logIntervalSeconds_;
2532 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2533 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2534 public double LogIntervalSeconds {
2535 get { if ((_hasBits0 & 1048576) != 0) { return logIntervalSeconds_; } else { return LogIntervalSecondsDefaultValue; } }
2536 set {
2537 _hasBits0 |= 1048576;
2538 logIntervalSeconds_ = value;
2539 }
2540 }
2542 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2543 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2544 public bool HasLogIntervalSeconds {
2545 get { return (_hasBits0 & 1048576) != 0; }
2546 }
2548 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2549 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2551 _hasBits0 &= ~1048576;
2552 }
2553
2555 public const int MajorIterationFrequencyFieldNumber = 4;
2556 private readonly static int MajorIterationFrequencyDefaultValue = 64;
2557
2558 private int majorIterationFrequency_;
2567 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2568 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2569 public int MajorIterationFrequency {
2570 get { if ((_hasBits0 & 4) != 0) { return majorIterationFrequency_; } else { return MajorIterationFrequencyDefaultValue; } }
2571 set {
2572 _hasBits0 |= 4;
2573 majorIterationFrequency_ = value;
2574 }
2575 }
2577 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2578 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2579 public bool HasMajorIterationFrequency {
2580 get { return (_hasBits0 & 4) != 0; }
2581 }
2583 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2584 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2586 _hasBits0 &= ~4;
2587 }
2588
2590 public const int TerminationCheckFrequencyFieldNumber = 5;
2591 private readonly static int TerminationCheckFrequencyDefaultValue = 64;
2592
2593 private int terminationCheckFrequency_;
2599 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2600 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2601 public int TerminationCheckFrequency {
2602 get { if ((_hasBits0 & 8) != 0) { return terminationCheckFrequency_; } else { return TerminationCheckFrequencyDefaultValue; } }
2603 set {
2604 _hasBits0 |= 8;
2605 terminationCheckFrequency_ = value;
2606 }
2607 }
2609 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2610 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2611 public bool HasTerminationCheckFrequency {
2612 get { return (_hasBits0 & 8) != 0; }
2613 }
2615 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2616 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2618 _hasBits0 &= ~8;
2619 }
2620
2622 public const int RestartStrategyFieldNumber = 6;
2623 private readonly static global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.RestartStrategy RestartStrategyDefaultValue = global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.RestartStrategy.AdaptiveHeuristic;
2624
2625 private global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.RestartStrategy restartStrategy_;
2631 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2632 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2633 public global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.RestartStrategy RestartStrategy {
2634 get { if ((_hasBits0 & 16) != 0) { return restartStrategy_; } else { return RestartStrategyDefaultValue; } }
2635 set {
2636 _hasBits0 |= 16;
2637 restartStrategy_ = value;
2638 }
2639 }
2641 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2642 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2643 public bool HasRestartStrategy {
2644 get { return (_hasBits0 & 16) != 0; }
2645 }
2647 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2648 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2649 public void ClearRestartStrategy() {
2650 _hasBits0 &= ~16;
2651 }
2652
2654 public const int PrimalWeightUpdateSmoothingFieldNumber = 7;
2655 private readonly static double PrimalWeightUpdateSmoothingDefaultValue = 0.5D;
2656
2657 private double primalWeightUpdateSmoothing_;
2668 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2669 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2670 public double PrimalWeightUpdateSmoothing {
2671 get { if ((_hasBits0 & 32) != 0) { return primalWeightUpdateSmoothing_; } else { return PrimalWeightUpdateSmoothingDefaultValue; } }
2672 set {
2673 _hasBits0 |= 32;
2674 primalWeightUpdateSmoothing_ = value;
2675 }
2676 }
2678 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2679 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2680 public bool HasPrimalWeightUpdateSmoothing {
2681 get { return (_hasBits0 & 32) != 0; }
2682 }
2684 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2685 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2687 _hasBits0 &= ~32;
2688 }
2689
2691 public const int InitialPrimalWeightFieldNumber = 8;
2692 private readonly static double InitialPrimalWeightDefaultValue = 0D;
2693
2694 private double initialPrimalWeight_;
2704 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2705 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2706 public double InitialPrimalWeight {
2707 get { if ((_hasBits0 & 64) != 0) { return initialPrimalWeight_; } else { return InitialPrimalWeightDefaultValue; } }
2708 set {
2709 _hasBits0 |= 64;
2710 initialPrimalWeight_ = value;
2711 }
2712 }
2714 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2715 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2716 public bool HasInitialPrimalWeight {
2717 get { return (_hasBits0 & 64) != 0; }
2718 }
2720 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2721 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2723 _hasBits0 &= ~64;
2724 }
2725
2727 public const int PresolveOptionsFieldNumber = 16;
2728 private global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.PresolveOptions presolveOptions_;
2729 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2730 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2731 public global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.PresolveOptions PresolveOptions {
2732 get { return presolveOptions_; }
2733 set {
2734 presolveOptions_ = value;
2735 }
2736 }
2737
2739 public const int LInfRuizIterationsFieldNumber = 9;
2740 private readonly static int LInfRuizIterationsDefaultValue = 5;
2741
2742 private int lInfRuizIterations_;
2748 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2749 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2750 public int LInfRuizIterations {
2751 get { if ((_hasBits0 & 128) != 0) { return lInfRuizIterations_; } else { return LInfRuizIterationsDefaultValue; } }
2752 set {
2753 _hasBits0 |= 128;
2754 lInfRuizIterations_ = value;
2755 }
2756 }
2758 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2759 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2760 public bool HasLInfRuizIterations {
2761 get { return (_hasBits0 & 128) != 0; }
2762 }
2764 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2765 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2767 _hasBits0 &= ~128;
2768 }
2769
2771 public const int L2NormRescalingFieldNumber = 10;
2772 private readonly static bool L2NormRescalingDefaultValue = true;
2773
2774 private bool l2NormRescaling_;
2779 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2780 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2781 public bool L2NormRescaling {
2782 get { if ((_hasBits0 & 256) != 0) { return l2NormRescaling_; } else { return L2NormRescalingDefaultValue; } }
2783 set {
2784 _hasBits0 |= 256;
2785 l2NormRescaling_ = value;
2786 }
2787 }
2789 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2790 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2791 public bool HasL2NormRescaling {
2792 get { return (_hasBits0 & 256) != 0; }
2793 }
2795 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2796 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2797 public void ClearL2NormRescaling() {
2798 _hasBits0 &= ~256;
2799 }
2800
2802 public const int SufficientReductionForRestartFieldNumber = 11;
2803 private readonly static double SufficientReductionForRestartDefaultValue = 0.1D;
2804
2805 private double sufficientReductionForRestart_;
2811 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2812 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2813 public double SufficientReductionForRestart {
2814 get { if ((_hasBits0 & 512) != 0) { return sufficientReductionForRestart_; } else { return SufficientReductionForRestartDefaultValue; } }
2815 set {
2816 _hasBits0 |= 512;
2817 sufficientReductionForRestart_ = value;
2818 }
2819 }
2821 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2822 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2823 public bool HasSufficientReductionForRestart {
2824 get { return (_hasBits0 & 512) != 0; }
2825 }
2827 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2828 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2830 _hasBits0 &= ~512;
2831 }
2832
2834 public const int NecessaryReductionForRestartFieldNumber = 17;
2835 private readonly static double NecessaryReductionForRestartDefaultValue = 0.9D;
2836
2837 private double necessaryReductionForRestart_;
2845 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2846 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2847 public double NecessaryReductionForRestart {
2848 get { if ((_hasBits0 & 2048) != 0) { return necessaryReductionForRestart_; } else { return NecessaryReductionForRestartDefaultValue; } }
2849 set {
2850 _hasBits0 |= 2048;
2851 necessaryReductionForRestart_ = value;
2852 }
2853 }
2855 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2856 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2857 public bool HasNecessaryReductionForRestart {
2858 get { return (_hasBits0 & 2048) != 0; }
2859 }
2861 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2862 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2864 _hasBits0 &= ~2048;
2865 }
2866
2868 public const int LinesearchRuleFieldNumber = 12;
2869 private readonly static global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.LinesearchRule LinesearchRuleDefaultValue = global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.LinesearchRule.AdaptiveLinesearchRule;
2870
2871 private global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.LinesearchRule linesearchRule_;
2875 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2876 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2877 public global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.LinesearchRule LinesearchRule {
2878 get { if ((_hasBits0 & 1024) != 0) { return linesearchRule_; } else { return LinesearchRuleDefaultValue; } }
2879 set {
2880 _hasBits0 |= 1024;
2881 linesearchRule_ = value;
2882 }
2883 }
2885 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2886 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2887 public bool HasLinesearchRule {
2888 get { return (_hasBits0 & 1024) != 0; }
2889 }
2891 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2892 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2893 public void ClearLinesearchRule() {
2894 _hasBits0 &= ~1024;
2895 }
2896
2898 public const int AdaptiveLinesearchParametersFieldNumber = 18;
2899 private global::Google.OrTools.PDLP.AdaptiveLinesearchParams adaptiveLinesearchParameters_;
2900 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2901 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2902 public global::Google.OrTools.PDLP.AdaptiveLinesearchParams AdaptiveLinesearchParameters {
2903 get { return adaptiveLinesearchParameters_; }
2904 set {
2905 adaptiveLinesearchParameters_ = value;
2906 }
2907 }
2908
2910 public const int MalitskyPockParametersFieldNumber = 19;
2911 private global::Google.OrTools.PDLP.MalitskyPockParams malitskyPockParameters_;
2912 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2913 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2914 public global::Google.OrTools.PDLP.MalitskyPockParams MalitskyPockParameters {
2915 get { return malitskyPockParameters_; }
2916 set {
2917 malitskyPockParameters_ = value;
2918 }
2919 }
2920
2922 public const int InitialStepSizeScalingFieldNumber = 25;
2923 private readonly static double InitialStepSizeScalingDefaultValue = 1D;
2924
2925 private double initialStepSizeScaling_;
2930 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2931 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2932 public double InitialStepSizeScaling {
2933 get { if ((_hasBits0 & 32768) != 0) { return initialStepSizeScaling_; } else { return InitialStepSizeScalingDefaultValue; } }
2934 set {
2935 _hasBits0 |= 32768;
2936 initialStepSizeScaling_ = value;
2937 }
2938 }
2940 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2941 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2942 public bool HasInitialStepSizeScaling {
2943 get { return (_hasBits0 & 32768) != 0; }
2944 }
2946 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2947 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2949 _hasBits0 &= ~32768;
2950 }
2951
2953 public const int RandomProjectionSeedsFieldNumber = 28;
2954 private static readonly pb::FieldCodec<int> _repeated_randomProjectionSeeds_codec
2955 = pb::FieldCodec.ForInt32(226);
2956 private readonly pbc::RepeatedField<int> randomProjectionSeeds_ = new pbc::RepeatedField<int>();
2965 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2966 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2967 public pbc::RepeatedField<int> RandomProjectionSeeds {
2968 get { return randomProjectionSeeds_; }
2969 }
2970
2972 public const int InfiniteConstraintBoundThresholdFieldNumber = 22;
2973 private readonly static double InfiniteConstraintBoundThresholdDefaultValue = double.PositiveInfinity;
2974
2975 private double infiniteConstraintBoundThreshold_;
2984 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2985 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2986 public double InfiniteConstraintBoundThreshold {
2987 get { if ((_hasBits0 & 4096) != 0) { return infiniteConstraintBoundThreshold_; } else { return InfiniteConstraintBoundThresholdDefaultValue; } }
2988 set {
2989 _hasBits0 |= 4096;
2990 infiniteConstraintBoundThreshold_ = value;
2991 }
2992 }
2994 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2995 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2996 public bool HasInfiniteConstraintBoundThreshold {
2997 get { return (_hasBits0 & 4096) != 0; }
2998 }
3000 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3001 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3003 _hasBits0 &= ~4096;
3004 }
3005
3007 public const int HandleSomePrimalGradientsOnFiniteBoundsAsResidualsFieldNumber = 29;
3008 private readonly static bool HandleSomePrimalGradientsOnFiniteBoundsAsResidualsDefaultValue = true;
3009
3010 private bool handleSomePrimalGradientsOnFiniteBoundsAsResiduals_;
3016 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3017 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3018 public bool HandleSomePrimalGradientsOnFiniteBoundsAsResiduals {
3019 get { if ((_hasBits0 & 262144) != 0) { return handleSomePrimalGradientsOnFiniteBoundsAsResiduals_; } else { return HandleSomePrimalGradientsOnFiniteBoundsAsResidualsDefaultValue; } }
3020 set {
3021 _hasBits0 |= 262144;
3022 handleSomePrimalGradientsOnFiniteBoundsAsResiduals_ = value;
3023 }
3024 }
3026 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3027 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3028 public bool HasHandleSomePrimalGradientsOnFiniteBoundsAsResiduals {
3029 get { return (_hasBits0 & 262144) != 0; }
3030 }
3032 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3033 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3035 _hasBits0 &= ~262144;
3036 }
3037
3039 public const int UseDiagonalQpTrustRegionSolverFieldNumber = 23;
3040 private readonly static bool UseDiagonalQpTrustRegionSolverDefaultValue = false;
3041
3042 private bool useDiagonalQpTrustRegionSolver_;
3051 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3052 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3053 public bool UseDiagonalQpTrustRegionSolver {
3054 get { if ((_hasBits0 & 8192) != 0) { return useDiagonalQpTrustRegionSolver_; } else { return UseDiagonalQpTrustRegionSolverDefaultValue; } }
3055 set {
3056 _hasBits0 |= 8192;
3057 useDiagonalQpTrustRegionSolver_ = value;
3058 }
3059 }
3061 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3062 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3063 public bool HasUseDiagonalQpTrustRegionSolver {
3064 get { return (_hasBits0 & 8192) != 0; }
3065 }
3067 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3068 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3070 _hasBits0 &= ~8192;
3071 }
3072
3074 public const int DiagonalQpTrustRegionSolverToleranceFieldNumber = 24;
3075 private readonly static double DiagonalQpTrustRegionSolverToleranceDefaultValue = 1e-08D;
3076
3077 private double diagonalQpTrustRegionSolverTolerance_;
3085 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3086 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3087 public double DiagonalQpTrustRegionSolverTolerance {
3088 get { if ((_hasBits0 & 16384) != 0) { return diagonalQpTrustRegionSolverTolerance_; } else { return DiagonalQpTrustRegionSolverToleranceDefaultValue; } }
3089 set {
3090 _hasBits0 |= 16384;
3091 diagonalQpTrustRegionSolverTolerance_ = value;
3092 }
3093 }
3095 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3096 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3097 public bool HasDiagonalQpTrustRegionSolverTolerance {
3098 get { return (_hasBits0 & 16384) != 0; }
3099 }
3101 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3102 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3104 _hasBits0 &= ~16384;
3105 }
3106
3108 public const int UseFeasibilityPolishingFieldNumber = 30;
3109 private readonly static bool UseFeasibilityPolishingDefaultValue = false;
3110
3111 private bool useFeasibilityPolishing_;
3140 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3141 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3142 public bool UseFeasibilityPolishing {
3143 get { if ((_hasBits0 & 524288) != 0) { return useFeasibilityPolishing_; } else { return UseFeasibilityPolishingDefaultValue; } }
3144 set {
3145 _hasBits0 |= 524288;
3146 useFeasibilityPolishing_ = value;
3147 }
3148 }
3150 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3151 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3152 public bool HasUseFeasibilityPolishing {
3153 get { return (_hasBits0 & 524288) != 0; }
3156 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3157 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3158 public void ClearUseFeasibilityPolishing() {
3159 _hasBits0 &= ~524288;
3161
3162 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3163 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3164 public override bool Equals(object other) {
3165 return Equals(other as PrimalDualHybridGradientParams);
3167
3168 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3169 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3170 public bool Equals(PrimalDualHybridGradientParams other) {
3171 if (ReferenceEquals(other, null)) {
3172 return false;
3173 }
3174 if (ReferenceEquals(other, this)) {
3175 return true;
3176 }
3177 if (!object.Equals(TerminationCriteria, other.TerminationCriteria)) return false;
3178 if (NumThreads != other.NumThreads) return false;
3179 if (NumShards != other.NumShards) return false;
3180 if (RecordIterationStats != other.RecordIterationStats) return false;
3181 if (VerbosityLevel != other.VerbosityLevel) return false;
3182 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(LogIntervalSeconds, other.LogIntervalSeconds)) return false;
3183 if (MajorIterationFrequency != other.MajorIterationFrequency) return false;
3184 if (TerminationCheckFrequency != other.TerminationCheckFrequency) return false;
3185 if (RestartStrategy != other.RestartStrategy) return false;
3186 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(PrimalWeightUpdateSmoothing, other.PrimalWeightUpdateSmoothing)) return false;
3187 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(InitialPrimalWeight, other.InitialPrimalWeight)) return false;
3188 if (!object.Equals(PresolveOptions, other.PresolveOptions)) return false;
3189 if (LInfRuizIterations != other.LInfRuizIterations) return false;
3190 if (L2NormRescaling != other.L2NormRescaling) return false;
3191 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(SufficientReductionForRestart, other.SufficientReductionForRestart)) return false;
3192 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(NecessaryReductionForRestart, other.NecessaryReductionForRestart)) return false;
3193 if (LinesearchRule != other.LinesearchRule) return false;
3194 if (!object.Equals(AdaptiveLinesearchParameters, other.AdaptiveLinesearchParameters)) return false;
3195 if (!object.Equals(MalitskyPockParameters, other.MalitskyPockParameters)) return false;
3196 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(InitialStepSizeScaling, other.InitialStepSizeScaling)) return false;
3197 if(!randomProjectionSeeds_.Equals(other.randomProjectionSeeds_)) return false;
3198 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(InfiniteConstraintBoundThreshold, other.InfiniteConstraintBoundThreshold)) return false;
3199 if (HandleSomePrimalGradientsOnFiniteBoundsAsResiduals != other.HandleSomePrimalGradientsOnFiniteBoundsAsResiduals) return false;
3200 if (UseDiagonalQpTrustRegionSolver != other.UseDiagonalQpTrustRegionSolver) return false;
3201 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(DiagonalQpTrustRegionSolverTolerance, other.DiagonalQpTrustRegionSolverTolerance)) return false;
3202 if (UseFeasibilityPolishing != other.UseFeasibilityPolishing) return false;
3203 return Equals(_unknownFields, other._unknownFields);
3204 }
3205
3206 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3207 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3208 public override int GetHashCode() {
3209 int hash = 1;
3210 if (terminationCriteria_ != null) hash ^= TerminationCriteria.GetHashCode();
3211 if (HasNumThreads) hash ^= NumThreads.GetHashCode();
3212 if (HasNumShards) hash ^= NumShards.GetHashCode();
3213 if (HasRecordIterationStats) hash ^= RecordIterationStats.GetHashCode();
3214 if (HasVerbosityLevel) hash ^= VerbosityLevel.GetHashCode();
3215 if (HasLogIntervalSeconds) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(LogIntervalSeconds);
3216 if (HasMajorIterationFrequency) hash ^= MajorIterationFrequency.GetHashCode();
3217 if (HasTerminationCheckFrequency) hash ^= TerminationCheckFrequency.GetHashCode();
3218 if (HasRestartStrategy) hash ^= RestartStrategy.GetHashCode();
3219 if (HasPrimalWeightUpdateSmoothing) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(PrimalWeightUpdateSmoothing);
3220 if (HasInitialPrimalWeight) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(InitialPrimalWeight);
3221 if (presolveOptions_ != null) hash ^= PresolveOptions.GetHashCode();
3222 if (HasLInfRuizIterations) hash ^= LInfRuizIterations.GetHashCode();
3223 if (HasL2NormRescaling) hash ^= L2NormRescaling.GetHashCode();
3224 if (HasSufficientReductionForRestart) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(SufficientReductionForRestart);
3225 if (HasNecessaryReductionForRestart) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(NecessaryReductionForRestart);
3226 if (HasLinesearchRule) hash ^= LinesearchRule.GetHashCode();
3227 if (adaptiveLinesearchParameters_ != null) hash ^= AdaptiveLinesearchParameters.GetHashCode();
3228 if (malitskyPockParameters_ != null) hash ^= MalitskyPockParameters.GetHashCode();
3229 if (HasInitialStepSizeScaling) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(InitialStepSizeScaling);
3230 hash ^= randomProjectionSeeds_.GetHashCode();
3231 if (HasInfiniteConstraintBoundThreshold) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(InfiniteConstraintBoundThreshold);
3232 if (HasHandleSomePrimalGradientsOnFiniteBoundsAsResiduals) hash ^= HandleSomePrimalGradientsOnFiniteBoundsAsResiduals.GetHashCode();
3233 if (HasUseDiagonalQpTrustRegionSolver) hash ^= UseDiagonalQpTrustRegionSolver.GetHashCode();
3234 if (HasDiagonalQpTrustRegionSolverTolerance) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(DiagonalQpTrustRegionSolverTolerance);
3235 if (HasUseFeasibilityPolishing) hash ^= UseFeasibilityPolishing.GetHashCode();
3236 if (_unknownFields != null) {
3237 hash ^= _unknownFields.GetHashCode();
3238 }
3239 return hash;
3240 }
3241
3242 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3243 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3244 public override string ToString() {
3245 return pb::JsonFormatter.ToDiagnosticString(this);
3247
3248 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3249 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3250 public void WriteTo(pb::CodedOutputStream output) {
3251 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3252 output.WriteRawMessage(this);
3253 #else
3254 if (terminationCriteria_ != null) {
3255 output.WriteRawTag(10);
3256 output.WriteMessage(TerminationCriteria);
3257 }
3258 if (HasNumThreads) {
3259 output.WriteRawTag(16);
3260 output.WriteInt32(NumThreads);
3261 }
3262 if (HasRecordIterationStats) {
3263 output.WriteRawTag(24);
3264 output.WriteBool(RecordIterationStats);
3265 }
3266 if (HasMajorIterationFrequency) {
3267 output.WriteRawTag(32);
3268 output.WriteInt32(MajorIterationFrequency);
3269 }
3270 if (HasTerminationCheckFrequency) {
3271 output.WriteRawTag(40);
3272 output.WriteInt32(TerminationCheckFrequency);
3273 }
3274 if (HasRestartStrategy) {
3275 output.WriteRawTag(48);
3276 output.WriteEnum((int) RestartStrategy);
3277 }
3278 if (HasPrimalWeightUpdateSmoothing) {
3279 output.WriteRawTag(57);
3280 output.WriteDouble(PrimalWeightUpdateSmoothing);
3281 }
3282 if (HasInitialPrimalWeight) {
3283 output.WriteRawTag(65);
3284 output.WriteDouble(InitialPrimalWeight);
3285 }
3286 if (HasLInfRuizIterations) {
3287 output.WriteRawTag(72);
3288 output.WriteInt32(LInfRuizIterations);
3289 }
3290 if (HasL2NormRescaling) {
3291 output.WriteRawTag(80);
3292 output.WriteBool(L2NormRescaling);
3293 }
3294 if (HasSufficientReductionForRestart) {
3295 output.WriteRawTag(89);
3296 output.WriteDouble(SufficientReductionForRestart);
3297 }
3298 if (HasLinesearchRule) {
3299 output.WriteRawTag(96);
3300 output.WriteEnum((int) LinesearchRule);
3301 }
3302 if (presolveOptions_ != null) {
3303 output.WriteRawTag(130, 1);
3304 output.WriteMessage(PresolveOptions);
3305 }
3306 if (HasNecessaryReductionForRestart) {
3307 output.WriteRawTag(137, 1);
3308 output.WriteDouble(NecessaryReductionForRestart);
3309 }
3310 if (adaptiveLinesearchParameters_ != null) {
3311 output.WriteRawTag(146, 1);
3312 output.WriteMessage(AdaptiveLinesearchParameters);
3313 }
3314 if (malitskyPockParameters_ != null) {
3315 output.WriteRawTag(154, 1);
3316 output.WriteMessage(MalitskyPockParameters);
3317 }
3318 if (HasInfiniteConstraintBoundThreshold) {
3319 output.WriteRawTag(177, 1);
3320 output.WriteDouble(InfiniteConstraintBoundThreshold);
3321 }
3322 if (HasUseDiagonalQpTrustRegionSolver) {
3323 output.WriteRawTag(184, 1);
3324 output.WriteBool(UseDiagonalQpTrustRegionSolver);
3325 }
3326 if (HasDiagonalQpTrustRegionSolverTolerance) {
3327 output.WriteRawTag(193, 1);
3328 output.WriteDouble(DiagonalQpTrustRegionSolverTolerance);
3329 }
3330 if (HasInitialStepSizeScaling) {
3331 output.WriteRawTag(201, 1);
3332 output.WriteDouble(InitialStepSizeScaling);
3333 }
3334 if (HasVerbosityLevel) {
3335 output.WriteRawTag(208, 1);
3336 output.WriteInt32(VerbosityLevel);
3337 }
3338 if (HasNumShards) {
3339 output.WriteRawTag(216, 1);
3340 output.WriteInt32(NumShards);
3341 }
3342 randomProjectionSeeds_.WriteTo(output, _repeated_randomProjectionSeeds_codec);
3343 if (HasHandleSomePrimalGradientsOnFiniteBoundsAsResiduals) {
3344 output.WriteRawTag(232, 1);
3345 output.WriteBool(HandleSomePrimalGradientsOnFiniteBoundsAsResiduals);
3346 }
3347 if (HasUseFeasibilityPolishing) {
3348 output.WriteRawTag(240, 1);
3349 output.WriteBool(UseFeasibilityPolishing);
3350 }
3351 if (HasLogIntervalSeconds) {
3352 output.WriteRawTag(249, 1);
3353 output.WriteDouble(LogIntervalSeconds);
3354 }
3355 if (_unknownFields != null) {
3356 _unknownFields.WriteTo(output);
3357 }
3358 #endif
3359 }
3360
3361 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3362 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3363 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3364 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
3365 if (terminationCriteria_ != null) {
3366 output.WriteRawTag(10);
3367 output.WriteMessage(TerminationCriteria);
3368 }
3369 if (HasNumThreads) {
3370 output.WriteRawTag(16);
3371 output.WriteInt32(NumThreads);
3372 }
3373 if (HasRecordIterationStats) {
3374 output.WriteRawTag(24);
3375 output.WriteBool(RecordIterationStats);
3376 }
3377 if (HasMajorIterationFrequency) {
3378 output.WriteRawTag(32);
3379 output.WriteInt32(MajorIterationFrequency);
3380 }
3381 if (HasTerminationCheckFrequency) {
3382 output.WriteRawTag(40);
3383 output.WriteInt32(TerminationCheckFrequency);
3384 }
3385 if (HasRestartStrategy) {
3386 output.WriteRawTag(48);
3387 output.WriteEnum((int) RestartStrategy);
3388 }
3389 if (HasPrimalWeightUpdateSmoothing) {
3390 output.WriteRawTag(57);
3391 output.WriteDouble(PrimalWeightUpdateSmoothing);
3392 }
3393 if (HasInitialPrimalWeight) {
3394 output.WriteRawTag(65);
3395 output.WriteDouble(InitialPrimalWeight);
3396 }
3397 if (HasLInfRuizIterations) {
3398 output.WriteRawTag(72);
3399 output.WriteInt32(LInfRuizIterations);
3400 }
3401 if (HasL2NormRescaling) {
3402 output.WriteRawTag(80);
3403 output.WriteBool(L2NormRescaling);
3404 }
3405 if (HasSufficientReductionForRestart) {
3406 output.WriteRawTag(89);
3407 output.WriteDouble(SufficientReductionForRestart);
3408 }
3409 if (HasLinesearchRule) {
3410 output.WriteRawTag(96);
3411 output.WriteEnum((int) LinesearchRule);
3412 }
3413 if (presolveOptions_ != null) {
3414 output.WriteRawTag(130, 1);
3415 output.WriteMessage(PresolveOptions);
3416 }
3417 if (HasNecessaryReductionForRestart) {
3418 output.WriteRawTag(137, 1);
3419 output.WriteDouble(NecessaryReductionForRestart);
3420 }
3421 if (adaptiveLinesearchParameters_ != null) {
3422 output.WriteRawTag(146, 1);
3423 output.WriteMessage(AdaptiveLinesearchParameters);
3424 }
3425 if (malitskyPockParameters_ != null) {
3426 output.WriteRawTag(154, 1);
3427 output.WriteMessage(MalitskyPockParameters);
3428 }
3429 if (HasInfiniteConstraintBoundThreshold) {
3430 output.WriteRawTag(177, 1);
3431 output.WriteDouble(InfiniteConstraintBoundThreshold);
3432 }
3433 if (HasUseDiagonalQpTrustRegionSolver) {
3434 output.WriteRawTag(184, 1);
3435 output.WriteBool(UseDiagonalQpTrustRegionSolver);
3436 }
3437 if (HasDiagonalQpTrustRegionSolverTolerance) {
3438 output.WriteRawTag(193, 1);
3439 output.WriteDouble(DiagonalQpTrustRegionSolverTolerance);
3440 }
3441 if (HasInitialStepSizeScaling) {
3442 output.WriteRawTag(201, 1);
3443 output.WriteDouble(InitialStepSizeScaling);
3444 }
3445 if (HasVerbosityLevel) {
3446 output.WriteRawTag(208, 1);
3447 output.WriteInt32(VerbosityLevel);
3448 }
3449 if (HasNumShards) {
3450 output.WriteRawTag(216, 1);
3451 output.WriteInt32(NumShards);
3452 }
3453 randomProjectionSeeds_.WriteTo(ref output, _repeated_randomProjectionSeeds_codec);
3454 if (HasHandleSomePrimalGradientsOnFiniteBoundsAsResiduals) {
3455 output.WriteRawTag(232, 1);
3456 output.WriteBool(HandleSomePrimalGradientsOnFiniteBoundsAsResiduals);
3457 }
3458 if (HasUseFeasibilityPolishing) {
3459 output.WriteRawTag(240, 1);
3460 output.WriteBool(UseFeasibilityPolishing);
3461 }
3462 if (HasLogIntervalSeconds) {
3463 output.WriteRawTag(249, 1);
3464 output.WriteDouble(LogIntervalSeconds);
3465 }
3466 if (_unknownFields != null) {
3467 _unknownFields.WriteTo(ref output);
3468 }
3469 }
3470 #endif
3471
3472 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3473 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3474 public int CalculateSize() {
3475 int size = 0;
3476 if (terminationCriteria_ != null) {
3477 size += 1 + pb::CodedOutputStream.ComputeMessageSize(TerminationCriteria);
3478 }
3479 if (HasNumThreads) {
3480 size += 1 + pb::CodedOutputStream.ComputeInt32Size(NumThreads);
3481 }
3482 if (HasNumShards) {
3483 size += 2 + pb::CodedOutputStream.ComputeInt32Size(NumShards);
3484 }
3485 if (HasRecordIterationStats) {
3486 size += 1 + 1;
3487 }
3488 if (HasVerbosityLevel) {
3489 size += 2 + pb::CodedOutputStream.ComputeInt32Size(VerbosityLevel);
3490 }
3491 if (HasLogIntervalSeconds) {
3492 size += 2 + 8;
3493 }
3494 if (HasMajorIterationFrequency) {
3495 size += 1 + pb::CodedOutputStream.ComputeInt32Size(MajorIterationFrequency);
3496 }
3497 if (HasTerminationCheckFrequency) {
3498 size += 1 + pb::CodedOutputStream.ComputeInt32Size(TerminationCheckFrequency);
3499 }
3500 if (HasRestartStrategy) {
3501 size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) RestartStrategy);
3502 }
3503 if (HasPrimalWeightUpdateSmoothing) {
3504 size += 1 + 8;
3505 }
3506 if (HasInitialPrimalWeight) {
3507 size += 1 + 8;
3508 }
3509 if (presolveOptions_ != null) {
3510 size += 2 + pb::CodedOutputStream.ComputeMessageSize(PresolveOptions);
3511 }
3512 if (HasLInfRuizIterations) {
3513 size += 1 + pb::CodedOutputStream.ComputeInt32Size(LInfRuizIterations);
3514 }
3515 if (HasL2NormRescaling) {
3516 size += 1 + 1;
3517 }
3518 if (HasSufficientReductionForRestart) {
3519 size += 1 + 8;
3520 }
3521 if (HasNecessaryReductionForRestart) {
3522 size += 2 + 8;
3523 }
3524 if (HasLinesearchRule) {
3525 size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LinesearchRule);
3526 }
3527 if (adaptiveLinesearchParameters_ != null) {
3528 size += 2 + pb::CodedOutputStream.ComputeMessageSize(AdaptiveLinesearchParameters);
3529 }
3530 if (malitskyPockParameters_ != null) {
3531 size += 2 + pb::CodedOutputStream.ComputeMessageSize(MalitskyPockParameters);
3532 }
3533 if (HasInitialStepSizeScaling) {
3534 size += 2 + 8;
3535 }
3536 size += randomProjectionSeeds_.CalculateSize(_repeated_randomProjectionSeeds_codec);
3537 if (HasInfiniteConstraintBoundThreshold) {
3538 size += 2 + 8;
3539 }
3540 if (HasHandleSomePrimalGradientsOnFiniteBoundsAsResiduals) {
3541 size += 2 + 1;
3542 }
3543 if (HasUseDiagonalQpTrustRegionSolver) {
3544 size += 2 + 1;
3545 }
3546 if (HasDiagonalQpTrustRegionSolverTolerance) {
3547 size += 2 + 8;
3548 }
3549 if (HasUseFeasibilityPolishing) {
3550 size += 2 + 1;
3551 }
3552 if (_unknownFields != null) {
3553 size += _unknownFields.CalculateSize();
3554 }
3555 return size;
3556 }
3557
3558 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3559 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3560 public void MergeFrom(PrimalDualHybridGradientParams other) {
3561 if (other == null) {
3562 return;
3563 }
3564 if (other.terminationCriteria_ != null) {
3565 if (terminationCriteria_ == null) {
3566 TerminationCriteria = new global::Google.OrTools.PDLP.TerminationCriteria();
3567 }
3568 TerminationCriteria.MergeFrom(other.TerminationCriteria);
3569 }
3570 if (other.HasNumThreads) {
3571 NumThreads = other.NumThreads;
3572 }
3573 if (other.HasNumShards) {
3574 NumShards = other.NumShards;
3575 }
3576 if (other.HasRecordIterationStats) {
3577 RecordIterationStats = other.RecordIterationStats;
3578 }
3579 if (other.HasVerbosityLevel) {
3580 VerbosityLevel = other.VerbosityLevel;
3581 }
3582 if (other.HasLogIntervalSeconds) {
3583 LogIntervalSeconds = other.LogIntervalSeconds;
3584 }
3585 if (other.HasMajorIterationFrequency) {
3586 MajorIterationFrequency = other.MajorIterationFrequency;
3587 }
3588 if (other.HasTerminationCheckFrequency) {
3589 TerminationCheckFrequency = other.TerminationCheckFrequency;
3590 }
3591 if (other.HasRestartStrategy) {
3592 RestartStrategy = other.RestartStrategy;
3593 }
3594 if (other.HasPrimalWeightUpdateSmoothing) {
3595 PrimalWeightUpdateSmoothing = other.PrimalWeightUpdateSmoothing;
3596 }
3597 if (other.HasInitialPrimalWeight) {
3598 InitialPrimalWeight = other.InitialPrimalWeight;
3599 }
3600 if (other.presolveOptions_ != null) {
3601 if (presolveOptions_ == null) {
3602 PresolveOptions = new global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.PresolveOptions();
3603 }
3604 PresolveOptions.MergeFrom(other.PresolveOptions);
3605 }
3606 if (other.HasLInfRuizIterations) {
3607 LInfRuizIterations = other.LInfRuizIterations;
3608 }
3609 if (other.HasL2NormRescaling) {
3610 L2NormRescaling = other.L2NormRescaling;
3611 }
3612 if (other.HasSufficientReductionForRestart) {
3613 SufficientReductionForRestart = other.SufficientReductionForRestart;
3614 }
3615 if (other.HasNecessaryReductionForRestart) {
3616 NecessaryReductionForRestart = other.NecessaryReductionForRestart;
3617 }
3618 if (other.HasLinesearchRule) {
3619 LinesearchRule = other.LinesearchRule;
3620 }
3621 if (other.adaptiveLinesearchParameters_ != null) {
3622 if (adaptiveLinesearchParameters_ == null) {
3623 AdaptiveLinesearchParameters = new global::Google.OrTools.PDLP.AdaptiveLinesearchParams();
3624 }
3625 AdaptiveLinesearchParameters.MergeFrom(other.AdaptiveLinesearchParameters);
3626 }
3627 if (other.malitskyPockParameters_ != null) {
3628 if (malitskyPockParameters_ == null) {
3629 MalitskyPockParameters = new global::Google.OrTools.PDLP.MalitskyPockParams();
3630 }
3631 MalitskyPockParameters.MergeFrom(other.MalitskyPockParameters);
3632 }
3633 if (other.HasInitialStepSizeScaling) {
3634 InitialStepSizeScaling = other.InitialStepSizeScaling;
3635 }
3636 randomProjectionSeeds_.Add(other.randomProjectionSeeds_);
3637 if (other.HasInfiniteConstraintBoundThreshold) {
3638 InfiniteConstraintBoundThreshold = other.InfiniteConstraintBoundThreshold;
3639 }
3640 if (other.HasHandleSomePrimalGradientsOnFiniteBoundsAsResiduals) {
3641 HandleSomePrimalGradientsOnFiniteBoundsAsResiduals = other.HandleSomePrimalGradientsOnFiniteBoundsAsResiduals;
3642 }
3643 if (other.HasUseDiagonalQpTrustRegionSolver) {
3644 UseDiagonalQpTrustRegionSolver = other.UseDiagonalQpTrustRegionSolver;
3645 }
3646 if (other.HasDiagonalQpTrustRegionSolverTolerance) {
3647 DiagonalQpTrustRegionSolverTolerance = other.DiagonalQpTrustRegionSolverTolerance;
3648 }
3649 if (other.HasUseFeasibilityPolishing) {
3650 UseFeasibilityPolishing = other.UseFeasibilityPolishing;
3651 }
3652 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
3653 }
3654
3655 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3656 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3657 public void MergeFrom(pb::CodedInputStream input) {
3658 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3659 input.ReadRawMessage(this);
3660 #else
3661 uint tag;
3662 while ((tag = input.ReadTag()) != 0) {
3663 switch(tag) {
3664 default:
3665 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
3666 break;
3667 case 10: {
3668 if (terminationCriteria_ == null) {
3669 TerminationCriteria = new global::Google.OrTools.PDLP.TerminationCriteria();
3670 }
3671 input.ReadMessage(TerminationCriteria);
3672 break;
3673 }
3674 case 16: {
3675 NumThreads = input.ReadInt32();
3676 break;
3677 }
3678 case 24: {
3679 RecordIterationStats = input.ReadBool();
3680 break;
3681 }
3682 case 32: {
3683 MajorIterationFrequency = input.ReadInt32();
3684 break;
3685 }
3686 case 40: {
3687 TerminationCheckFrequency = input.ReadInt32();
3688 break;
3689 }
3690 case 48: {
3691 RestartStrategy = (global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.RestartStrategy) input.ReadEnum();
3692 break;
3693 }
3694 case 57: {
3695 PrimalWeightUpdateSmoothing = input.ReadDouble();
3696 break;
3697 }
3698 case 65: {
3699 InitialPrimalWeight = input.ReadDouble();
3700 break;
3701 }
3702 case 72: {
3703 LInfRuizIterations = input.ReadInt32();
3704 break;
3705 }
3706 case 80: {
3707 L2NormRescaling = input.ReadBool();
3708 break;
3709 }
3710 case 89: {
3711 SufficientReductionForRestart = input.ReadDouble();
3712 break;
3713 }
3714 case 96: {
3715 LinesearchRule = (global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.LinesearchRule) input.ReadEnum();
3716 break;
3717 }
3718 case 130: {
3719 if (presolveOptions_ == null) {
3720 PresolveOptions = new global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.PresolveOptions();
3721 }
3722 input.ReadMessage(PresolveOptions);
3723 break;
3724 }
3725 case 137: {
3726 NecessaryReductionForRestart = input.ReadDouble();
3727 break;
3728 }
3729 case 146: {
3730 if (adaptiveLinesearchParameters_ == null) {
3731 AdaptiveLinesearchParameters = new global::Google.OrTools.PDLP.AdaptiveLinesearchParams();
3732 }
3733 input.ReadMessage(AdaptiveLinesearchParameters);
3734 break;
3735 }
3736 case 154: {
3737 if (malitskyPockParameters_ == null) {
3738 MalitskyPockParameters = new global::Google.OrTools.PDLP.MalitskyPockParams();
3739 }
3740 input.ReadMessage(MalitskyPockParameters);
3741 break;
3742 }
3743 case 177: {
3744 InfiniteConstraintBoundThreshold = input.ReadDouble();
3745 break;
3746 }
3747 case 184: {
3748 UseDiagonalQpTrustRegionSolver = input.ReadBool();
3749 break;
3750 }
3751 case 193: {
3752 DiagonalQpTrustRegionSolverTolerance = input.ReadDouble();
3753 break;
3754 }
3755 case 201: {
3756 InitialStepSizeScaling = input.ReadDouble();
3757 break;
3758 }
3759 case 208: {
3760 VerbosityLevel = input.ReadInt32();
3761 break;
3762 }
3763 case 216: {
3764 NumShards = input.ReadInt32();
3765 break;
3766 }
3767 case 226:
3768 case 224: {
3769 randomProjectionSeeds_.AddEntriesFrom(input, _repeated_randomProjectionSeeds_codec);
3770 break;
3771 }
3772 case 232: {
3773 HandleSomePrimalGradientsOnFiniteBoundsAsResiduals = input.ReadBool();
3774 break;
3775 }
3776 case 240: {
3777 UseFeasibilityPolishing = input.ReadBool();
3778 break;
3779 }
3780 case 249: {
3781 LogIntervalSeconds = input.ReadDouble();
3782 break;
3783 }
3784 }
3785 }
3786 #endif
3787 }
3788
3789 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3790 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3791 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3792 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
3793 uint tag;
3794 while ((tag = input.ReadTag()) != 0) {
3795 switch(tag) {
3796 default:
3797 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
3798 break;
3799 case 10: {
3800 if (terminationCriteria_ == null) {
3801 TerminationCriteria = new global::Google.OrTools.PDLP.TerminationCriteria();
3802 }
3803 input.ReadMessage(TerminationCriteria);
3804 break;
3805 }
3806 case 16: {
3807 NumThreads = input.ReadInt32();
3808 break;
3809 }
3810 case 24: {
3811 RecordIterationStats = input.ReadBool();
3812 break;
3813 }
3814 case 32: {
3815 MajorIterationFrequency = input.ReadInt32();
3816 break;
3817 }
3818 case 40: {
3819 TerminationCheckFrequency = input.ReadInt32();
3820 break;
3821 }
3822 case 48: {
3823 RestartStrategy = (global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.RestartStrategy) input.ReadEnum();
3824 break;
3825 }
3826 case 57: {
3827 PrimalWeightUpdateSmoothing = input.ReadDouble();
3828 break;
3829 }
3830 case 65: {
3831 InitialPrimalWeight = input.ReadDouble();
3832 break;
3833 }
3834 case 72: {
3835 LInfRuizIterations = input.ReadInt32();
3836 break;
3837 }
3838 case 80: {
3839 L2NormRescaling = input.ReadBool();
3840 break;
3841 }
3842 case 89: {
3843 SufficientReductionForRestart = input.ReadDouble();
3844 break;
3845 }
3846 case 96: {
3847 LinesearchRule = (global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.LinesearchRule) input.ReadEnum();
3848 break;
3849 }
3850 case 130: {
3851 if (presolveOptions_ == null) {
3852 PresolveOptions = new global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.PresolveOptions();
3853 }
3854 input.ReadMessage(PresolveOptions);
3855 break;
3856 }
3857 case 137: {
3858 NecessaryReductionForRestart = input.ReadDouble();
3859 break;
3860 }
3861 case 146: {
3862 if (adaptiveLinesearchParameters_ == null) {
3863 AdaptiveLinesearchParameters = new global::Google.OrTools.PDLP.AdaptiveLinesearchParams();
3864 }
3865 input.ReadMessage(AdaptiveLinesearchParameters);
3866 break;
3867 }
3868 case 154: {
3869 if (malitskyPockParameters_ == null) {
3870 MalitskyPockParameters = new global::Google.OrTools.PDLP.MalitskyPockParams();
3871 }
3872 input.ReadMessage(MalitskyPockParameters);
3873 break;
3874 }
3875 case 177: {
3876 InfiniteConstraintBoundThreshold = input.ReadDouble();
3877 break;
3878 }
3879 case 184: {
3880 UseDiagonalQpTrustRegionSolver = input.ReadBool();
3881 break;
3882 }
3883 case 193: {
3884 DiagonalQpTrustRegionSolverTolerance = input.ReadDouble();
3885 break;
3886 }
3887 case 201: {
3888 InitialStepSizeScaling = input.ReadDouble();
3889 break;
3890 }
3891 case 208: {
3892 VerbosityLevel = input.ReadInt32();
3893 break;
3894 }
3895 case 216: {
3896 NumShards = input.ReadInt32();
3897 break;
3898 }
3899 case 226:
3900 case 224: {
3901 randomProjectionSeeds_.AddEntriesFrom(ref input, _repeated_randomProjectionSeeds_codec);
3902 break;
3903 }
3904 case 232: {
3905 HandleSomePrimalGradientsOnFiniteBoundsAsResiduals = input.ReadBool();
3906 break;
3907 }
3908 case 240: {
3909 UseFeasibilityPolishing = input.ReadBool();
3910 break;
3911 }
3912 case 249: {
3913 LogIntervalSeconds = input.ReadDouble();
3914 break;
3915 }
3916 }
3917 }
3918 }
3919 #endif
3920
3921 #region Nested types
3923 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3924 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3925 public static partial class Types {
3926 public enum RestartStrategy {
3927 [pbr::OriginalName("RESTART_STRATEGY_UNSPECIFIED")] Unspecified = 0,
3932 [pbr::OriginalName("NO_RESTARTS")] NoRestarts = 1,
3937 [pbr::OriginalName("EVERY_MAJOR_ITERATION")] EveryMajorIteration = 2,
3946 [pbr::OriginalName("ADAPTIVE_HEURISTIC")] AdaptiveHeuristic = 3,
3954 [pbr::OriginalName("ADAPTIVE_DISTANCE_BASED")] AdaptiveDistanceBased = 4,
3955 }
3956
3957 public enum LinesearchRule {
3958 [pbr::OriginalName("LINESEARCH_RULE_UNSPECIFIED")] Unspecified = 0,
3965 [pbr::OriginalName("ADAPTIVE_LINESEARCH_RULE")] AdaptiveLinesearchRule = 1,
3972 [pbr::OriginalName("MALITSKY_POCK_LINESEARCH_RULE")] MalitskyPockLinesearchRule = 2,
3977 [pbr::OriginalName("CONSTANT_STEP_SIZE_RULE")] ConstantStepSizeRule = 3,
3978 }
3979
3980 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
3981 public sealed partial class PresolveOptions : pb::IMessage<PresolveOptions>
3982 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3983 , pb::IBufferMessage
3984 #endif
3985 {
3986 private static readonly pb::MessageParser<PresolveOptions> _parser = new pb::MessageParser<PresolveOptions>(() => new PresolveOptions());
3987 private pb::UnknownFieldSet _unknownFields;
3988 private int _hasBits0;
3989 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3990 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3991 public static pb::MessageParser<PresolveOptions> Parser { get { return _parser; } }
3992
3993 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3994 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3995 public static pbr::MessageDescriptor Descriptor {
3996 get { return global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Descriptor.NestedTypes[0]; }
3998
3999 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4000 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4001 pbr::MessageDescriptor pb::IMessage.Descriptor {
4002 get { return Descriptor; }
4003 }
4004
4005 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4006 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4007 public PresolveOptions() {
4008 OnConstruction();
4010
4011 partial void OnConstruction();
4012
4013 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4014 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4015 public PresolveOptions(PresolveOptions other) : this() {
4016 _hasBits0 = other._hasBits0;
4017 useGlop_ = other.useGlop_;
4018 glopParameters_ = other.glopParameters_ != null ? other.glopParameters_.Clone() : null;
4019 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
4020 }
4021
4022 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4023 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4024 public PresolveOptions Clone() {
4025 return new PresolveOptions(this);
4027
4029 public const int UseGlopFieldNumber = 1;
4030 private readonly static bool UseGlopDefaultValue = false;
4032 private bool useGlop_;
4043 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4044 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4045 public bool UseGlop {
4046 get { if ((_hasBits0 & 1) != 0) { return useGlop_; } else { return UseGlopDefaultValue; } }
4047 set {
4048 _hasBits0 |= 1;
4049 useGlop_ = value;
4050 }
4051 }
4053 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4054 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4055 public bool HasUseGlop {
4056 get { return (_hasBits0 & 1) != 0; }
4059 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4060 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4061 public void ClearUseGlop() {
4062 _hasBits0 &= ~1;
4064
4066 public const int GlopParametersFieldNumber = 2;
4067 private global::Google.OrTools.Glop.GlopParameters glopParameters_;
4072 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4073 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4074 public global::Google.OrTools.Glop.GlopParameters GlopParameters {
4075 get { return glopParameters_; }
4076 set {
4077 glopParameters_ = value;
4078 }
4079 }
4080
4081 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4082 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4083 public override bool Equals(object other) {
4084 return Equals(other as PresolveOptions);
4086
4087 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4088 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4089 public bool Equals(PresolveOptions other) {
4090 if (ReferenceEquals(other, null)) {
4091 return false;
4092 }
4093 if (ReferenceEquals(other, this)) {
4094 return true;
4095 }
4096 if (UseGlop != other.UseGlop) return false;
4097 if (!object.Equals(GlopParameters, other.GlopParameters)) return false;
4098 return Equals(_unknownFields, other._unknownFields);
4099 }
4100
4101 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4102 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4103 public override int GetHashCode() {
4104 int hash = 1;
4105 if (HasUseGlop) hash ^= UseGlop.GetHashCode();
4106 if (glopParameters_ != null) hash ^= GlopParameters.GetHashCode();
4107 if (_unknownFields != null) {
4108 hash ^= _unknownFields.GetHashCode();
4109 }
4110 return hash;
4111 }
4112
4113 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4114 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4115 public override string ToString() {
4116 return pb::JsonFormatter.ToDiagnosticString(this);
4118
4119 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4120 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4121 public void WriteTo(pb::CodedOutputStream output) {
4122 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4123 output.WriteRawMessage(this);
4124 #else
4125 if (HasUseGlop) {
4126 output.WriteRawTag(8);
4127 output.WriteBool(UseGlop);
4128 }
4129 if (glopParameters_ != null) {
4130 output.WriteRawTag(18);
4131 output.WriteMessage(GlopParameters);
4132 }
4133 if (_unknownFields != null) {
4134 _unknownFields.WriteTo(output);
4135 }
4136 #endif
4137 }
4138
4139 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4140 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4141 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4142 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
4143 if (HasUseGlop) {
4144 output.WriteRawTag(8);
4145 output.WriteBool(UseGlop);
4146 }
4147 if (glopParameters_ != null) {
4148 output.WriteRawTag(18);
4149 output.WriteMessage(GlopParameters);
4150 }
4151 if (_unknownFields != null) {
4152 _unknownFields.WriteTo(ref output);
4153 }
4154 }
4155 #endif
4156
4157 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4158 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4159 public int CalculateSize() {
4160 int size = 0;
4161 if (HasUseGlop) {
4162 size += 1 + 1;
4163 }
4164 if (glopParameters_ != null) {
4165 size += 1 + pb::CodedOutputStream.ComputeMessageSize(GlopParameters);
4166 }
4167 if (_unknownFields != null) {
4168 size += _unknownFields.CalculateSize();
4169 }
4170 return size;
4171 }
4172
4173 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4174 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4175 public void MergeFrom(PresolveOptions other) {
4176 if (other == null) {
4177 return;
4178 }
4179 if (other.HasUseGlop) {
4180 UseGlop = other.UseGlop;
4181 }
4182 if (other.glopParameters_ != null) {
4183 if (glopParameters_ == null) {
4184 GlopParameters = new global::Google.OrTools.Glop.GlopParameters();
4185 }
4186 GlopParameters.MergeFrom(other.GlopParameters);
4187 }
4188 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
4189 }
4190
4191 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4192 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4193 public void MergeFrom(pb::CodedInputStream input) {
4194 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4195 input.ReadRawMessage(this);
4196 #else
4197 uint tag;
4198 while ((tag = input.ReadTag()) != 0) {
4199 switch(tag) {
4200 default:
4201 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
4202 break;
4203 case 8: {
4204 UseGlop = input.ReadBool();
4205 break;
4206 }
4207 case 18: {
4208 if (glopParameters_ == null) {
4209 GlopParameters = new global::Google.OrTools.Glop.GlopParameters();
4210 }
4211 input.ReadMessage(GlopParameters);
4212 break;
4213 }
4214 }
4215 }
4216 #endif
4217 }
4218
4219 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4220 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4221 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4222 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
4223 uint tag;
4224 while ((tag = input.ReadTag()) != 0) {
4225 switch(tag) {
4226 default:
4227 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
4228 break;
4229 case 8: {
4230 UseGlop = input.ReadBool();
4231 break;
4232 }
4233 case 18: {
4234 if (glopParameters_ == null) {
4235 GlopParameters = new global::Google.OrTools.Glop.GlopParameters();
4236 }
4237 input.ReadMessage(GlopParameters);
4238 break;
4239 }
4240 }
4241 }
4242 }
4243 #endif
4244
4245 }
4246
4247 }
4248 #endregion
4249
4250 }
4251
4252 #endregion
4253
4254}
4255
4256#endregion Designer generated code
global::Google.Protobuf.Reflection pbr
global::System.Collections.Generic scg
global::Google.Protobuf.Collections pbc
Definition SetCover.pb.cs:9
global::Google.Protobuf pb
Definition SetCover.pb.cs:8
At the end of each iteration, regardless of whether the step was accepted or not, the adaptive rule u...
void WriteTo(pb::CodedOutputStream output)
bool Equals(AdaptiveLinesearchParams other)
double StepSizeReductionExponent
The step size reduction exponent defines a step size given by (1 - (total_steps_attempted + 1)^(-step...
bool HasStepSizeReductionExponent
Gets whether the "step_size_reduction_exponent" field is set.
double StepSizeGrowthExponent
The step size growth exponent defines a step size given by (1 + (total_steps_attempted + 1)^(-step_si...
void ClearStepSizeReductionExponent()
Clears the value of the "step_size_reduction_exponent" field.
bool HasStepSizeGrowthExponent
Gets whether the "step_size_growth_exponent" field is set.
void ClearStepSizeGrowthExponent()
Clears the value of the "step_size_growth_exponent" field.
AdaptiveLinesearchParams(AdaptiveLinesearchParams other)
void MergeFrom(AdaptiveLinesearchParams other)
void MergeFrom(pb::CodedInputStream input)
void ClearLinesearchContractionFactor()
Clears the value of the "linesearch_contraction_factor" field.
bool HasStepSizeDownscalingFactor
Gets whether the "step_size_downscaling_factor" field is set.
override bool Equals(object other)
double StepSizeInterpolation
Malitsky and Pock linesearch rule permits an arbitrary choice of the first step size guess within an ...
double StepSizeDownscalingFactor
At every inner iteration the algorithm can decide to accept the step size or to update it to step_siz...
void ClearStepSizeDownscalingFactor()
Clears the value of the "step_size_downscaling_factor" field.
double LinesearchContractionFactor
Contraction factor used in the linesearch condition of Malitsky and Pock. A step size is accepted if ...
MalitskyPockParams(MalitskyPockParams other)
void WriteTo(pb::CodedOutputStream output)
bool HasStepSizeInterpolation
Gets whether the "step_size_interpolation" field is set.
bool HasLinesearchContractionFactor
Gets whether the "linesearch_contraction_factor" field is set.
void MergeFrom(pb::CodedInputStream input)
bool Equals(MalitskyPockParams other)
void MergeFrom(MalitskyPockParams other)
void ClearStepSizeInterpolation()
Clears the value of the "step_size_interpolation" field.
global::Google.OrTools.Glop.GlopParameters GlopParameters
Parameters to control glop's presolver. Only used when use_glop is true. These are merged with and ov...
bool UseGlop
If true runs Glop's presolver on the given instance prior to solving.
Parameters for PrimalDualHybridGradient() in primal_dual_hybrid_gradient.h. While the defaults are ge...
void ClearPrimalWeightUpdateSmoothing()
Clears the value of the "primal_weight_update_smoothing" field.
double InitialStepSizeScaling
Scaling factor applied to the initial step size (all step sizes if linesearch_rule == CONSTANT_STEP_S...
void ClearLinesearchRule()
Clears the value of the "linesearch_rule" field.
void ClearTerminationCheckFrequency()
Clears the value of the "termination_check_frequency" field.
global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.LinesearchRule LinesearchRule
Linesearch rule applied at each major iteration.
bool UseDiagonalQpTrustRegionSolver
When solving QPs with diagonal objective matrices, this option can be turned on to enable an experime...
double DiagonalQpTrustRegionSolverTolerance
The solve tolerance of the experimental trust region solver for diagonal QPs, controlling the accurac...
int NumShards
For more efficient parallel computation, the matrices and vectors are divided (virtually) into num_sh...
void ClearNecessaryReductionForRestart()
Clears the value of the "necessary_reduction_for_restart" field.
bool UseFeasibilityPolishing
If true, periodically runs feasibility polishing, which attempts to move from latest average iterate ...
void ClearMajorIterationFrequency()
Clears the value of the "major_iteration_frequency" field.
void ClearDiagonalQpTrustRegionSolverTolerance()
Clears the value of the "diagonal_qp_trust_region_solver_tolerance" field.
void ClearUseDiagonalQpTrustRegionSolver()
Clears the value of the "use_diagonal_qp_trust_region_solver" field.
int TerminationCheckFrequency
The frequency (based on a counter reset every major iteration) to check for termination (involves ext...
void ClearInitialPrimalWeight()
Clears the value of the "initial_primal_weight" field.
void ClearVerbosityLevel()
Clears the value of the "verbosity_level" field.
int VerbosityLevel
The verbosity of logging. 0: No informational logging. (Errors are logged.) 1: Summary statistics onl...
int LInfRuizIterations
Number of L_infinity Ruiz rescaling iterations to apply to the constraint matrix. Zero disables this ...
void ClearRestartStrategy()
Clears the value of the "restart_strategy" field.
double InfiniteConstraintBoundThreshold
Constraint bounds with absolute value at least this threshold are replaced with infinities.
void ClearInitialStepSizeScaling()
Clears the value of the "initial_step_size_scaling" field.
global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.RestartStrategy RestartStrategy
NO_RESTARTS and EVERY_MAJOR_ITERATION occasionally outperform the default. If using a strategy other ...
global::Google.OrTools.PDLP.TerminationCriteria TerminationCriteria
void ClearInfiniteConstraintBoundThreshold()
Clears the value of the "infinite_constraint_bound_threshold" field.
void ClearNumThreads()
Clears the value of the "num_threads" field.
double LogIntervalSeconds
Time between iteration-level statistics logging (if verbosity_level > 1). Since iteration-level stati...
global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.PresolveOptions PresolveOptions
double NecessaryReductionForRestart
For ADAPTIVE_HEURISTIC only: A relative reduction in the potential function by this amount triggers a...
int NumThreads
The number of threads to use. Must be positive. Try various values of num_threads,...
bool L2NormRescaling
If true, applies L_2 norm rescaling after the Ruiz rescaling. Heuristically this has been found to he...
bool RecordIterationStats
If true, the iteration_stats field of the SolveLog output will be populated at every iteration....
void ClearLInfRuizIterations()
Clears the value of the "l_inf_ruiz_iterations" field.
void ClearRecordIterationStats()
Clears the value of the "record_iteration_stats" field.
global::Google.OrTools.PDLP.AdaptiveLinesearchParams AdaptiveLinesearchParameters
void ClearHandleSomePrimalGradientsOnFiniteBoundsAsResiduals()
Clears the value of the "handle_some_primal_gradients_on_finite_bounds_as_residuals" field.
double SufficientReductionForRestart
For ADAPTIVE_HEURISTIC and ADAPTIVE_DISTANCE_BASED only: A relative reduction in the potential functi...
double InitialPrimalWeight
The initial value of the primal weight (i.e., the ratio of primal and dual step sizes)....
void ClearNumShards()
Clears the value of the "num_shards" field.
bool HandleSomePrimalGradientsOnFiniteBoundsAsResiduals
See https://developers.google.com/optimization/lp/pdlp_math#treating_some_variable_bounds_as_infinite...
PrimalDualHybridGradientParams(PrimalDualHybridGradientParams other)
global::Google.OrTools.PDLP.MalitskyPockParams MalitskyPockParameters
int MajorIterationFrequency
The frequency at which extra work is performed to make major algorithmic decisions,...
void ClearL2NormRescaling()
Clears the value of the "l2_norm_rescaling" field.
double PrimalWeightUpdateSmoothing
This parameter controls exponential smoothing of log(primal_weight) when a primal weight update occur...
void ClearSufficientReductionForRestart()
Clears the value of the "sufficient_reduction_for_restart" field.
void ClearLogIntervalSeconds()
Clears the value of the "log_interval_seconds" field.
Holder for reflection information generated from ortools/pdlp/solvers.proto.
Definition Solvers.pb.cs:15
static pbr::FileDescriptor Descriptor
File descriptor for ortools/pdlp/solvers.proto.
Definition Solvers.pb.cs:19
void ClearEpsOptimalObjectiveGapAbsolute()
Clears the value of the "eps_optimal_objective_gap_absolute" field.
bool HasEpsOptimalDualResidualRelative
Gets whether the "eps_optimal_dual_residual_relative" field is set.
void ClearEpsOptimalDualResidualAbsolute()
Clears the value of the "eps_optimal_dual_residual_absolute" field.
double EpsOptimalObjectiveGapAbsolute
Absolute tolerance on the objective gap.
void ClearEpsOptimalPrimalResidualRelative()
Clears the value of the "eps_optimal_primal_residual_relative" field.
bool HasEpsOptimalPrimalResidualAbsolute
Gets whether the "eps_optimal_primal_residual_absolute" field is set.
void ClearEpsOptimalObjectiveGapRelative()
Clears the value of the "eps_optimal_objective_gap_relative" field.
bool HasEpsOptimalObjectiveGapAbsolute
Gets whether the "eps_optimal_objective_gap_absolute" field is set.
bool HasEpsOptimalObjectiveGapRelative
Gets whether the "eps_optimal_objective_gap_relative" field is set.
void ClearEpsOptimalDualResidualRelative()
Clears the value of the "eps_optimal_dual_residual_relative" field.
double EpsOptimalPrimalResidualRelative
Relative tolerance on the primal residual.
bool HasEpsOptimalDualResidualAbsolute
Gets whether the "eps_optimal_dual_residual_absolute" field is set.
bool HasEpsOptimalPrimalResidualRelative
Gets whether the "eps_optimal_primal_residual_relative" field is set.
double EpsOptimalObjectiveGapRelative
Relative tolerance on the objective gap.
double EpsOptimalDualResidualAbsolute
Absolute tolerance on the dual residual.
void ClearEpsOptimalPrimalResidualAbsolute()
Clears the value of the "eps_optimal_primal_residual_absolute" field.
double EpsOptimalDualResidualRelative
Relative tolerance on the dual residual.
double EpsOptimalPrimalResidualAbsolute
Absolute tolerance on the primal residual.
bool HasEpsOptimalAbsolute
Gets whether the "eps_optimal_absolute" field is set.
double EpsOptimalRelative
Relative tolerance on the primal residual, dual residual, and objective gap.
void ClearEpsOptimalAbsolute()
Clears the value of the "eps_optimal_absolute" field.
double EpsOptimalAbsolute
Absolute tolerance on the primal residual, dual residual, and objective gap.
void ClearEpsOptimalRelative()
Clears the value of the "eps_optimal_relative" field.
bool HasEpsOptimalRelative
Gets whether the "eps_optimal_relative" field is set.
Container for nested types declared in the TerminationCriteria message type.
Relevant readings on infeasibility certificates: (1) https://docs.mosek.com/modeling-cookbook/qcqo....
void ClearKktMatrixPassLimit()
Clears the value of the "kkt_matrix_pass_limit" field.
bool HasOptimalityNorm
Gets whether the "optimality_norm" field is set.
void ClearEpsPrimalInfeasible()
Clears the value of the "eps_primal_infeasible" field.
int IterationLimit
If termination_reason = TERMINATION_REASON_ITERATION_LIMIT then the solver has taken at least iterati...
double TimeSecLimit
If termination_reason = TERMINATION_REASON_TIME_LIMIT then the solver has taken at least time_sec_lim...
bool HasEpsOptimalRelative
Gets whether the "eps_optimal_relative" field is set.
double EpsPrimalInfeasible
If the following two conditions hold we say that we have obtained an approximate dual ray,...
bool Equals(TerminationCriteria other)
void ClearEpsOptimalRelative()
Clears the value of the "eps_optimal_relative" field.
OptimalityCriteriaOneofCase OptimalityCriteriaCase
OptimalityCriteriaOneofCase
Enum of possible cases for the "optimality_criteria" oneof.
bool HasEpsOptimalAbsolute
Gets whether the "eps_optimal_absolute" field is set.
bool HasEpsPrimalInfeasible
Gets whether the "eps_primal_infeasible" field is set.
double EpsDualInfeasible
If the following three conditions hold we say we have obtained an approximate primal ray,...
void ClearEpsDualInfeasible()
Clears the value of the "eps_dual_infeasible" field.
bool HasKktMatrixPassLimit
Gets whether the "kkt_matrix_pass_limit" field is set.
double KktMatrixPassLimit
If termination_reason = TERMINATION_REASON_KKT_MATRIX_PASS_LIMIT then cumulative_kkt_matrix_passes is...
bool HasEpsDualInfeasible
Gets whether the "eps_dual_infeasible" field is set.
void MergeFrom(TerminationCriteria other)
global::Google.OrTools.PDLP.TerminationCriteria.Types.SimpleOptimalityCriteria SimpleOptimalityCriteria
TerminationCriteria(TerminationCriteria other)
override bool Equals(object other)
void MergeFrom(pb::CodedInputStream input)
void ClearEpsOptimalAbsolute()
Clears the value of the "eps_optimal_absolute" field.
void ClearTimeSecLimit()
Clears the value of the "time_sec_limit" field.
double EpsOptimalAbsolute
Absolute tolerance on primal residual, dual residual, and the objective gap.
global::Google.OrTools.PDLP.TerminationCriteria.Types.DetailedOptimalityCriteria DetailedOptimalityCriteria
bool HasTimeSecLimit
Gets whether the "time_sec_limit" field is set.
global::Google.OrTools.PDLP.OptimalityNorm OptimalityNorm
The norm that we are measuring the optimality criteria in.
void ClearIterationLimit()
Clears the value of the "iteration_limit" field.
void WriteTo(pb::CodedOutputStream output)
bool HasIterationLimit
Gets whether the "iteration_limit" field is set.
void ClearOptimalityNorm()
Clears the value of the "optimality_norm" field.
double EpsOptimalRelative
Relative tolerance on primal residual, dual residual, and the objective gap.
@ LInfComponentwise
The infinity norm of component-wise relative errors offset by the ratio of the absolute and relative ...
@ None
There is no corresponding point.