Google OR-Tools v9.12
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 "IAEoAToBMSKqDwoeUHJpbWFsRHVhbEh5YnJpZEdyYWRpZW50UGFyYW1zEksK",
59 "FHRlcm1pbmF0aW9uX2NyaXRlcmlhGAEgASgLMi0ub3BlcmF0aW9uc19yZXNl",
60 "YXJjaC5wZGxwLlRlcm1pbmF0aW9uQ3JpdGVyaWESFgoLbnVtX3RocmVhZHMY",
61 "AiABKAU6ATESFQoKbnVtX3NoYXJkcxgbIAEoBToBMBJhCg5zY2hlZHVsZXJf",
62 "dHlwZRggIAEoDjInLm9wZXJhdGlvbnNfcmVzZWFyY2gucGRscC5TY2hlZHVs",
63 "ZXJUeXBlOiBTQ0hFRFVMRVJfVFlQRV9HT09HTEVfVEhSRUFEUE9PTBIeChZy",
64 "ZWNvcmRfaXRlcmF0aW9uX3N0YXRzGAMgASgIEhoKD3ZlcmJvc2l0eV9sZXZl",
65 "bBgaIAEoBToBMBIfChRsb2dfaW50ZXJ2YWxfc2Vjb25kcxgfIAEoAToBMBIl",
66 "ChltYWpvcl9pdGVyYXRpb25fZnJlcXVlbmN5GAQgASgFOgI2NBInCht0ZXJt",
67 "aW5hdGlvbl9jaGVja19mcmVxdWVuY3kYBSABKAU6AjY0EnYKEHJlc3RhcnRf",
68 "c3RyYXRlZ3kYBiABKA4ySC5vcGVyYXRpb25zX3Jlc2VhcmNoLnBkbHAuUHJp",
69 "bWFsRHVhbEh5YnJpZEdyYWRpZW50UGFyYW1zLlJlc3RhcnRTdHJhdGVneToS",
70 "QURBUFRJVkVfSEVVUklTVElDEisKHnByaW1hbF93ZWlnaHRfdXBkYXRlX3Nt",
71 "b290aGluZxgHIAEoAToDMC41Eh0KFWluaXRpYWxfcHJpbWFsX3dlaWdodBgI",
72 "IAEoARJiChBwcmVzb2x2ZV9vcHRpb25zGBAgASgLMkgub3BlcmF0aW9uc19y",
73 "ZXNlYXJjaC5wZGxwLlByaW1hbER1YWxIeWJyaWRHcmFkaWVudFBhcmFtcy5Q",
74 "cmVzb2x2ZU9wdGlvbnMSIAoVbF9pbmZfcnVpel9pdGVyYXRpb25zGAkgASgF",
75 "OgE1Eh8KEWwyX25vcm1fcmVzY2FsaW5nGAogASgIOgR0cnVlEi0KIHN1ZmZp",
76 "Y2llbnRfcmVkdWN0aW9uX2Zvcl9yZXN0YXJ0GAsgASgBOgMwLjESLAofbmVj",
77 "ZXNzYXJ5X3JlZHVjdGlvbl9mb3JfcmVzdGFydBgRIAEoAToDMC45EnoKD2xp",
78 "bmVzZWFyY2hfcnVsZRgMIAEoDjJHLm9wZXJhdGlvbnNfcmVzZWFyY2gucGRs",
79 "cC5QcmltYWxEdWFsSHlicmlkR3JhZGllbnRQYXJhbXMuTGluZXNlYXJjaFJ1",
80 "bGU6GEFEQVBUSVZFX0xJTkVTRUFSQ0hfUlVMRRJaCh5hZGFwdGl2ZV9saW5l",
81 "c2VhcmNoX3BhcmFtZXRlcnMYEiABKAsyMi5vcGVyYXRpb25zX3Jlc2VhcmNo",
82 "LnBkbHAuQWRhcHRpdmVMaW5lc2VhcmNoUGFyYW1zEk4KGG1hbGl0c2t5X3Bv",
83 "Y2tfcGFyYW1ldGVycxgTIAEoCzIsLm9wZXJhdGlvbnNfcmVzZWFyY2gucGRs",
84 "cC5NYWxpdHNreVBvY2tQYXJhbXMSJAoZaW5pdGlhbF9zdGVwX3NpemVfc2Nh",
85 "bGluZxgZIAEoAToBMRIjChdyYW5kb21fcHJvamVjdGlvbl9zZWVkcxgcIAMo",
86 "BUICEAESMAojaW5maW5pdGVfY29uc3RyYWludF9ib3VuZF90aHJlc2hvbGQY",
87 "FiABKAE6A2luZhJICjpoYW5kbGVfc29tZV9wcmltYWxfZ3JhZGllbnRzX29u",
88 "X2Zpbml0ZV9ib3VuZHNfYXNfcmVzaWR1YWxzGB0gASgIOgR0cnVlEjIKI3Vz",
89 "ZV9kaWFnb25hbF9xcF90cnVzdF9yZWdpb25fc29sdmVyGBcgASgIOgVmYWxz",
90 "ZRI4CilkaWFnb25hbF9xcF90cnVzdF9yZWdpb25fc29sdmVyX3RvbGVyYW5j",
91 "ZRgYIAEoAToFMWUtMDgSKAoZdXNlX2ZlYXNpYmlsaXR5X3BvbGlzaGluZxge",
92 "IAEoCDoFZmFsc2UaZgoPUHJlc29sdmVPcHRpb25zEhAKCHVzZV9nbG9wGAEg",
93 "ASgIEkEKD2dsb3BfcGFyYW1ldGVycxgCIAEoCzIoLm9wZXJhdGlvbnNfcmVz",
94 "ZWFyY2guZ2xvcC5HbG9wUGFyYW1ldGVycyKUAQoPUmVzdGFydFN0cmF0ZWd5",
95 "EiAKHFJFU1RBUlRfU1RSQVRFR1lfVU5TUEVDSUZJRUQQABIPCgtOT19SRVNU",
96 "QVJUUxABEhkKFUVWRVJZX01BSk9SX0lURVJBVElPThACEhYKEkFEQVBUSVZF",
97 "X0hFVVJJU1RJQxADEhsKF0FEQVBUSVZFX0RJU1RBTkNFX0JBU0VEEAQijwEK",
98 "DkxpbmVzZWFyY2hSdWxlEh8KG0xJTkVTRUFSQ0hfUlVMRV9VTlNQRUNJRklF",
99 "RBAAEhwKGEFEQVBUSVZFX0xJTkVTRUFSQ0hfUlVMRRABEiEKHU1BTElUU0tZ",
100 "X1BPQ0tfTElORVNFQVJDSF9SVUxFEAISGwoXQ09OU1RBTlRfU1RFUF9TSVpF",
101 "X1JVTEUQA0oECA0QDkoECA4QD0oECA8QEEoECBQQFUoECBUQFiqNAQoOT3B0",
102 "aW1hbGl0eU5vcm0SHwobT1BUSU1BTElUWV9OT1JNX1VOU1BFQ0lGSUVEEAAS",
103 "GQoVT1BUSU1BTElUWV9OT1JNX0xfSU5GEAESFgoST1BUSU1BTElUWV9OT1JN",
104 "X0wyEAISJwojT1BUSU1BTElUWV9OT1JNX0xfSU5GX0NPTVBPTkVOVFdJU0UQ",
105 "Ayp6Cg1TY2hlZHVsZXJUeXBlEh4KGlNDSEVEVUxFUl9UWVBFX1VOU1BFQ0lG",
106 "SUVEEAASJAogU0NIRURVTEVSX1RZUEVfR09PR0xFX1RIUkVBRFBPT0wQARIj",
107 "Ch9TQ0hFRFVMRVJfVFlQRV9FSUdFTl9USFJFQURQT09MEANCMQoXY29tLmdv",
108 "b2dsZS5vcnRvb2xzLnBkbHBQAaoCE0dvb2dsZS5PclRvb2xzLlBETFA="));
109 descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
110 new pbr::FileDescriptor[] { global::Google.OrTools.Glop.ParametersReflection.Descriptor, },
111 new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Google.OrTools.PDLP.OptimalityNorm), typeof(global::Google.OrTools.PDLP.SchedulerType), }, null, new pbr::GeneratedClrTypeInfo[] {
112 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),
113 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)}),
114 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.PDLP.AdaptiveLinesearchParams), global::Google.OrTools.PDLP.AdaptiveLinesearchParams.Parser, new[]{ "StepSizeReductionExponent", "StepSizeGrowthExponent" }, null, null, null, null),
115 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.PDLP.MalitskyPockParams), global::Google.OrTools.PDLP.MalitskyPockParams.Parser, new[]{ "StepSizeDownscalingFactor", "LinesearchContractionFactor", "StepSizeInterpolation" }, null, null, null, null),
116 new pbr::GeneratedClrTypeInfo(typeof(global::Google.OrTools.PDLP.PrimalDualHybridGradientParams), global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Parser, new[]{ "TerminationCriteria", "NumThreads", "NumShards", "SchedulerType", "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)})
117 }));
118 }
119 #endregion
120
121 }
122 #region Enums
123 public enum OptimalityNorm {
124 [pbr::OriginalName("OPTIMALITY_NORM_UNSPECIFIED")] Unspecified = 0,
128 [pbr::OriginalName("OPTIMALITY_NORM_L_INF")] LInf = 1,
132 [pbr::OriginalName("OPTIMALITY_NORM_L2")] L2 = 2,
146 [pbr::OriginalName("OPTIMALITY_NORM_L_INF_COMPONENTWISE")] LInfComponentwise = 3,
147 }
148
152 public enum SchedulerType {
153 [pbr::OriginalName("SCHEDULER_TYPE_UNSPECIFIED")] Unspecified = 0,
157 [pbr::OriginalName("SCHEDULER_TYPE_GOOGLE_THREADPOOL")] GoogleThreadpool = 1,
162 [pbr::OriginalName("SCHEDULER_TYPE_EIGEN_THREADPOOL")] EigenThreadpool = 3,
163 }
164
165 #endregion
166
167 #region Messages
180 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
181 public sealed partial class TerminationCriteria : pb::IMessage<TerminationCriteria>
182 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
183 , pb::IBufferMessage
184 #endif
185 {
186 private static readonly pb::MessageParser<TerminationCriteria> _parser = new pb::MessageParser<TerminationCriteria>(() => new TerminationCriteria());
187 private pb::UnknownFieldSet _unknownFields;
188 private int _hasBits0;
189 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
190 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
191 public static pb::MessageParser<TerminationCriteria> Parser { get { return _parser; } }
192
193 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
194 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
195 public static pbr::MessageDescriptor Descriptor {
196 get { return global::Google.OrTools.PDLP.SolversReflection.Descriptor.MessageTypes[0]; }
197 }
198
199 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
200 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
201 pbr::MessageDescriptor pb::IMessage.Descriptor {
202 get { return Descriptor; }
203 }
204
205 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
206 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
208 OnConstruction();
209 }
210
211 partial void OnConstruction();
212
213 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
214 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
216 _hasBits0 = other._hasBits0;
217 optimalityNorm_ = other.optimalityNorm_;
218 epsOptimalAbsolute_ = other.epsOptimalAbsolute_;
219 epsOptimalRelative_ = other.epsOptimalRelative_;
220 epsPrimalInfeasible_ = other.epsPrimalInfeasible_;
221 epsDualInfeasible_ = other.epsDualInfeasible_;
222 timeSecLimit_ = other.timeSecLimit_;
223 iterationLimit_ = other.iterationLimit_;
224 kktMatrixPassLimit_ = other.kktMatrixPassLimit_;
225 switch (other.OptimalityCriteriaCase) {
226 case OptimalityCriteriaOneofCase.SimpleOptimalityCriteria:
227 SimpleOptimalityCriteria = other.SimpleOptimalityCriteria.Clone();
228 break;
229 case OptimalityCriteriaOneofCase.DetailedOptimalityCriteria:
230 DetailedOptimalityCriteria = other.DetailedOptimalityCriteria.Clone();
231 break;
232 }
233
234 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
235 }
236
237 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
238 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
240 return new TerminationCriteria(this);
241 }
242
244 public const int OptimalityNormFieldNumber = 1;
245 private readonly static global::Google.OrTools.PDLP.OptimalityNorm OptimalityNormDefaultValue = global::Google.OrTools.PDLP.OptimalityNorm.L2;
246
247 private global::Google.OrTools.PDLP.OptimalityNorm optimalityNorm_;
251 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
252 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
253 public global::Google.OrTools.PDLP.OptimalityNorm OptimalityNorm {
254 get { if ((_hasBits0 & 1) != 0) { return optimalityNorm_; } else { return OptimalityNormDefaultValue; } }
255 set {
256 _hasBits0 |= 1;
257 optimalityNorm_ = value;
258 }
259 }
260
261 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
262 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
263 public bool HasOptimalityNorm {
264 get { return (_hasBits0 & 1) != 0; }
265 }
266
267 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
268 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
269 public void ClearOptimalityNorm() {
270 _hasBits0 &= ~1;
271 }
272
275 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
276 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
278 get { return optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.SimpleOptimalityCriteria ? (global::Google.OrTools.PDLP.TerminationCriteria.Types.SimpleOptimalityCriteria) optimalityCriteria_ : null; }
279 set {
280 optimalityCriteria_ = value;
281 optimalityCriteriaCase_ = value == null ? OptimalityCriteriaOneofCase.None : OptimalityCriteriaOneofCase.SimpleOptimalityCriteria;
282 }
283 }
284
287 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
288 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
290 get { return optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.DetailedOptimalityCriteria ? (global::Google.OrTools.PDLP.TerminationCriteria.Types.DetailedOptimalityCriteria) optimalityCriteria_ : null; }
291 set {
292 optimalityCriteria_ = value;
293 optimalityCriteriaCase_ = value == null ? OptimalityCriteriaOneofCase.None : OptimalityCriteriaOneofCase.DetailedOptimalityCriteria;
294 }
295 }
296
298 public const int EpsOptimalAbsoluteFieldNumber = 2;
299 private readonly static double EpsOptimalAbsoluteDefaultValue = 1e-06D;
300
301 private double epsOptimalAbsolute_;
308 [global::System.ObsoleteAttribute]
309 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
310 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
311 public double EpsOptimalAbsolute {
312 get { if ((_hasBits0 & 2) != 0) { return epsOptimalAbsolute_; } else { return EpsOptimalAbsoluteDefaultValue; } }
313 set {
314 _hasBits0 |= 2;
315 epsOptimalAbsolute_ = value;
316 }
317 }
318
319 [global::System.ObsoleteAttribute]
320 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
321 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
323 get { return (_hasBits0 & 2) != 0; }
324 }
325
326 [global::System.ObsoleteAttribute]
327 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
328 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
330 _hasBits0 &= ~2;
331 }
332
334 public const int EpsOptimalRelativeFieldNumber = 3;
335 private readonly static double EpsOptimalRelativeDefaultValue = 1e-06D;
336
337 private double epsOptimalRelative_;
344 [global::System.ObsoleteAttribute]
345 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
346 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
347 public double EpsOptimalRelative {
348 get { if ((_hasBits0 & 4) != 0) { return epsOptimalRelative_; } else { return EpsOptimalRelativeDefaultValue; } }
349 set {
350 _hasBits0 |= 4;
351 epsOptimalRelative_ = value;
352 }
353 }
354
355 [global::System.ObsoleteAttribute]
356 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
357 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
359 get { return (_hasBits0 & 4) != 0; }
360 }
361
362 [global::System.ObsoleteAttribute]
363 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
364 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
366 _hasBits0 &= ~4;
367 }
368
370 public const int EpsPrimalInfeasibleFieldNumber = 4;
371 private readonly static double EpsPrimalInfeasibleDefaultValue = 1e-08D;
372
373 private double epsPrimalInfeasible_;
382 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
383 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
384 public double EpsPrimalInfeasible {
385 get { if ((_hasBits0 & 8) != 0) { return epsPrimalInfeasible_; } else { return EpsPrimalInfeasibleDefaultValue; } }
386 set {
387 _hasBits0 |= 8;
388 epsPrimalInfeasible_ = value;
389 }
390 }
391
392 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
393 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
395 get { return (_hasBits0 & 8) != 0; }
396 }
397
398 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
399 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
401 _hasBits0 &= ~8;
402 }
403
405 public const int EpsDualInfeasibleFieldNumber = 5;
406 private readonly static double EpsDualInfeasibleDefaultValue = 1e-08D;
407
408 private double epsDualInfeasible_;
419 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
420 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
421 public double EpsDualInfeasible {
422 get { if ((_hasBits0 & 16) != 0) { return epsDualInfeasible_; } else { return EpsDualInfeasibleDefaultValue; } }
423 set {
424 _hasBits0 |= 16;
425 epsDualInfeasible_ = value;
426 }
427 }
428
429 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
430 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
432 get { return (_hasBits0 & 16) != 0; }
433 }
434
435 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
436 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
438 _hasBits0 &= ~16;
439 }
440
442 public const int TimeSecLimitFieldNumber = 6;
443 private readonly static double TimeSecLimitDefaultValue = double.PositiveInfinity;
444
445 private double timeSecLimit_;
450 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
451 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
452 public double TimeSecLimit {
453 get { if ((_hasBits0 & 32) != 0) { return timeSecLimit_; } else { return TimeSecLimitDefaultValue; } }
454 set {
455 _hasBits0 |= 32;
456 timeSecLimit_ = value;
457 }
458 }
459
460 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
461 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
462 public bool HasTimeSecLimit {
463 get { return (_hasBits0 & 32) != 0; }
464 }
465
466 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
467 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
468 public void ClearTimeSecLimit() {
469 _hasBits0 &= ~32;
470 }
471
473 public const int IterationLimitFieldNumber = 7;
474 private readonly static int IterationLimitDefaultValue = 2147483647;
475
476 private int iterationLimit_;
481 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
482 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
483 public int IterationLimit {
484 get { if ((_hasBits0 & 64) != 0) { return iterationLimit_; } else { return IterationLimitDefaultValue; } }
485 set {
486 _hasBits0 |= 64;
487 iterationLimit_ = value;
488 }
489 }
490
491 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
492 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
493 public bool HasIterationLimit {
494 get { return (_hasBits0 & 64) != 0; }
495 }
496
497 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
498 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
499 public void ClearIterationLimit() {
500 _hasBits0 &= ~64;
501 }
502
504 public const int KktMatrixPassLimitFieldNumber = 8;
505 private readonly static double KktMatrixPassLimitDefaultValue = double.PositiveInfinity;
506
507 private double kktMatrixPassLimit_;
512 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
513 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
514 public double KktMatrixPassLimit {
515 get { if ((_hasBits0 & 128) != 0) { return kktMatrixPassLimit_; } else { return KktMatrixPassLimitDefaultValue; } }
516 set {
517 _hasBits0 |= 128;
518 kktMatrixPassLimit_ = value;
519 }
520 }
521
522 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
523 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
525 get { return (_hasBits0 & 128) != 0; }
526 }
527
528 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
529 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
531 _hasBits0 &= ~128;
532 }
533
534 private object optimalityCriteria_;
541 private OptimalityCriteriaOneofCase optimalityCriteriaCase_ = OptimalityCriteriaOneofCase.None;
542 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
543 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
545 get { return optimalityCriteriaCase_; }
546 }
547
548 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
549 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
551 optimalityCriteriaCase_ = OptimalityCriteriaOneofCase.None;
552 optimalityCriteria_ = null;
553 }
554
555 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
556 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
557 public override bool Equals(object other) {
558 return Equals(other as TerminationCriteria);
559 }
560
561 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
562 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
563 public bool Equals(TerminationCriteria other) {
564 if (ReferenceEquals(other, null)) {
565 return false;
566 }
567 if (ReferenceEquals(other, this)) {
568 return true;
569 }
570 if (OptimalityNorm != other.OptimalityNorm) return false;
571 if (!object.Equals(SimpleOptimalityCriteria, other.SimpleOptimalityCriteria)) return false;
572 if (!object.Equals(DetailedOptimalityCriteria, other.DetailedOptimalityCriteria)) return false;
573 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EpsOptimalAbsolute, other.EpsOptimalAbsolute)) return false;
574 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EpsOptimalRelative, other.EpsOptimalRelative)) return false;
575 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EpsPrimalInfeasible, other.EpsPrimalInfeasible)) return false;
576 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EpsDualInfeasible, other.EpsDualInfeasible)) return false;
577 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(TimeSecLimit, other.TimeSecLimit)) return false;
578 if (IterationLimit != other.IterationLimit) return false;
579 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(KktMatrixPassLimit, other.KktMatrixPassLimit)) return false;
580 if (OptimalityCriteriaCase != other.OptimalityCriteriaCase) return false;
581 return Equals(_unknownFields, other._unknownFields);
582 }
583
584 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
585 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
586 public override int GetHashCode() {
587 int hash = 1;
588 if (HasOptimalityNorm) hash ^= OptimalityNorm.GetHashCode();
589 if (optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.SimpleOptimalityCriteria) hash ^= SimpleOptimalityCriteria.GetHashCode();
590 if (optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.DetailedOptimalityCriteria) hash ^= DetailedOptimalityCriteria.GetHashCode();
591 if (HasEpsOptimalAbsolute) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EpsOptimalAbsolute);
592 if (HasEpsOptimalRelative) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EpsOptimalRelative);
593 if (HasEpsPrimalInfeasible) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EpsPrimalInfeasible);
594 if (HasEpsDualInfeasible) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EpsDualInfeasible);
595 if (HasTimeSecLimit) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(TimeSecLimit);
596 if (HasIterationLimit) hash ^= IterationLimit.GetHashCode();
597 if (HasKktMatrixPassLimit) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(KktMatrixPassLimit);
598 hash ^= (int) optimalityCriteriaCase_;
599 if (_unknownFields != null) {
600 hash ^= _unknownFields.GetHashCode();
601 }
602 return hash;
603 }
604
605 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
606 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
607 public override string ToString() {
608 return pb::JsonFormatter.ToDiagnosticString(this);
609 }
610
611 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
612 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
613 public void WriteTo(pb::CodedOutputStream output) {
614 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
615 output.WriteRawMessage(this);
616 #else
617 if (HasOptimalityNorm) {
618 output.WriteRawTag(8);
619 output.WriteEnum((int) OptimalityNorm);
620 }
622 output.WriteRawTag(17);
623 output.WriteDouble(EpsOptimalAbsolute);
624 }
626 output.WriteRawTag(25);
627 output.WriteDouble(EpsOptimalRelative);
628 }
630 output.WriteRawTag(33);
631 output.WriteDouble(EpsPrimalInfeasible);
632 }
634 output.WriteRawTag(41);
635 output.WriteDouble(EpsDualInfeasible);
636 }
637 if (HasTimeSecLimit) {
638 output.WriteRawTag(49);
639 output.WriteDouble(TimeSecLimit);
640 }
641 if (HasIterationLimit) {
642 output.WriteRawTag(56);
643 output.WriteInt32(IterationLimit);
644 }
646 output.WriteRawTag(65);
647 output.WriteDouble(KktMatrixPassLimit);
648 }
649 if (optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.SimpleOptimalityCriteria) {
650 output.WriteRawTag(74);
651 output.WriteMessage(SimpleOptimalityCriteria);
652 }
653 if (optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.DetailedOptimalityCriteria) {
654 output.WriteRawTag(82);
655 output.WriteMessage(DetailedOptimalityCriteria);
656 }
657 if (_unknownFields != null) {
658 _unknownFields.WriteTo(output);
659 }
660 #endif
661 }
662
663 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
664 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
665 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
666 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
667 if (HasOptimalityNorm) {
668 output.WriteRawTag(8);
669 output.WriteEnum((int) OptimalityNorm);
670 }
671 if (HasEpsOptimalAbsolute) {
672 output.WriteRawTag(17);
673 output.WriteDouble(EpsOptimalAbsolute);
674 }
675 if (HasEpsOptimalRelative) {
676 output.WriteRawTag(25);
677 output.WriteDouble(EpsOptimalRelative);
678 }
679 if (HasEpsPrimalInfeasible) {
680 output.WriteRawTag(33);
681 output.WriteDouble(EpsPrimalInfeasible);
682 }
683 if (HasEpsDualInfeasible) {
684 output.WriteRawTag(41);
685 output.WriteDouble(EpsDualInfeasible);
686 }
687 if (HasTimeSecLimit) {
688 output.WriteRawTag(49);
689 output.WriteDouble(TimeSecLimit);
690 }
691 if (HasIterationLimit) {
692 output.WriteRawTag(56);
693 output.WriteInt32(IterationLimit);
694 }
695 if (HasKktMatrixPassLimit) {
696 output.WriteRawTag(65);
697 output.WriteDouble(KktMatrixPassLimit);
698 }
699 if (optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.SimpleOptimalityCriteria) {
700 output.WriteRawTag(74);
701 output.WriteMessage(SimpleOptimalityCriteria);
702 }
703 if (optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.DetailedOptimalityCriteria) {
704 output.WriteRawTag(82);
705 output.WriteMessage(DetailedOptimalityCriteria);
706 }
707 if (_unknownFields != null) {
708 _unknownFields.WriteTo(ref output);
709 }
710 }
711 #endif
712
713 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
714 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
715 public int CalculateSize() {
716 int size = 0;
717 if (HasOptimalityNorm) {
718 size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) OptimalityNorm);
719 }
720 if (optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.SimpleOptimalityCriteria) {
721 size += 1 + pb::CodedOutputStream.ComputeMessageSize(SimpleOptimalityCriteria);
722 }
723 if (optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.DetailedOptimalityCriteria) {
724 size += 1 + pb::CodedOutputStream.ComputeMessageSize(DetailedOptimalityCriteria);
725 }
727 size += 1 + 8;
728 }
730 size += 1 + 8;
731 }
733 size += 1 + 8;
734 }
736 size += 1 + 8;
737 }
738 if (HasTimeSecLimit) {
739 size += 1 + 8;
740 }
741 if (HasIterationLimit) {
742 size += 1 + pb::CodedOutputStream.ComputeInt32Size(IterationLimit);
743 }
745 size += 1 + 8;
746 }
747 if (_unknownFields != null) {
748 size += _unknownFields.CalculateSize();
749 }
750 return size;
751 }
752
753 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
754 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
755 public void MergeFrom(TerminationCriteria other) {
756 if (other == null) {
757 return;
758 }
759 if (other.HasOptimalityNorm) {
761 }
762 if (other.HasEpsOptimalAbsolute) {
764 }
765 if (other.HasEpsOptimalRelative) {
767 }
768 if (other.HasEpsPrimalInfeasible) {
770 }
771 if (other.HasEpsDualInfeasible) {
773 }
774 if (other.HasTimeSecLimit) {
776 }
777 if (other.HasIterationLimit) {
779 }
780 if (other.HasKktMatrixPassLimit) {
782 }
783 switch (other.OptimalityCriteriaCase) {
784 case OptimalityCriteriaOneofCase.SimpleOptimalityCriteria:
785 if (SimpleOptimalityCriteria == null) {
786 SimpleOptimalityCriteria = new global::Google.OrTools.PDLP.TerminationCriteria.Types.SimpleOptimalityCriteria();
787 }
789 break;
790 case OptimalityCriteriaOneofCase.DetailedOptimalityCriteria:
791 if (DetailedOptimalityCriteria == null) {
792 DetailedOptimalityCriteria = new global::Google.OrTools.PDLP.TerminationCriteria.Types.DetailedOptimalityCriteria();
793 }
795 break;
796 }
797
798 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
799 }
800
801 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
802 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
803 public void MergeFrom(pb::CodedInputStream input) {
804 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
805 input.ReadRawMessage(this);
806 #else
807 uint tag;
808 while ((tag = input.ReadTag()) != 0) {
809 if ((tag & 7) == 4) {
810 // Abort on any end group tag.
811 return;
812 }
813 switch(tag) {
814 default:
815 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
816 break;
817 case 8: {
818 OptimalityNorm = (global::Google.OrTools.PDLP.OptimalityNorm) input.ReadEnum();
819 break;
820 }
821 case 17: {
822 EpsOptimalAbsolute = input.ReadDouble();
823 break;
824 }
825 case 25: {
826 EpsOptimalRelative = input.ReadDouble();
827 break;
828 }
829 case 33: {
830 EpsPrimalInfeasible = input.ReadDouble();
831 break;
832 }
833 case 41: {
834 EpsDualInfeasible = input.ReadDouble();
835 break;
836 }
837 case 49: {
838 TimeSecLimit = input.ReadDouble();
839 break;
840 }
841 case 56: {
842 IterationLimit = input.ReadInt32();
843 break;
844 }
845 case 65: {
846 KktMatrixPassLimit = input.ReadDouble();
847 break;
848 }
849 case 74: {
850 global::Google.OrTools.PDLP.TerminationCriteria.Types.SimpleOptimalityCriteria subBuilder = new global::Google.OrTools.PDLP.TerminationCriteria.Types.SimpleOptimalityCriteria();
851 if (optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.SimpleOptimalityCriteria) {
852 subBuilder.MergeFrom(SimpleOptimalityCriteria);
853 }
854 input.ReadMessage(subBuilder);
855 SimpleOptimalityCriteria = subBuilder;
856 break;
857 }
858 case 82: {
859 global::Google.OrTools.PDLP.TerminationCriteria.Types.DetailedOptimalityCriteria subBuilder = new global::Google.OrTools.PDLP.TerminationCriteria.Types.DetailedOptimalityCriteria();
860 if (optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.DetailedOptimalityCriteria) {
861 subBuilder.MergeFrom(DetailedOptimalityCriteria);
862 }
863 input.ReadMessage(subBuilder);
864 DetailedOptimalityCriteria = subBuilder;
865 break;
866 }
867 }
868 }
869 #endif
870 }
871
872 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
873 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
874 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
875 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
876 uint tag;
877 while ((tag = input.ReadTag()) != 0) {
878 if ((tag & 7) == 4) {
879 // Abort on any end group tag.
880 return;
881 }
882 switch(tag) {
883 default:
884 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
885 break;
886 case 8: {
887 OptimalityNorm = (global::Google.OrTools.PDLP.OptimalityNorm) input.ReadEnum();
888 break;
889 }
890 case 17: {
891 EpsOptimalAbsolute = input.ReadDouble();
892 break;
893 }
894 case 25: {
895 EpsOptimalRelative = input.ReadDouble();
896 break;
897 }
898 case 33: {
899 EpsPrimalInfeasible = input.ReadDouble();
900 break;
901 }
902 case 41: {
903 EpsDualInfeasible = input.ReadDouble();
904 break;
905 }
906 case 49: {
907 TimeSecLimit = input.ReadDouble();
908 break;
909 }
910 case 56: {
911 IterationLimit = input.ReadInt32();
912 break;
913 }
914 case 65: {
915 KktMatrixPassLimit = input.ReadDouble();
916 break;
917 }
918 case 74: {
919 global::Google.OrTools.PDLP.TerminationCriteria.Types.SimpleOptimalityCriteria subBuilder = new global::Google.OrTools.PDLP.TerminationCriteria.Types.SimpleOptimalityCriteria();
920 if (optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.SimpleOptimalityCriteria) {
921 subBuilder.MergeFrom(SimpleOptimalityCriteria);
922 }
923 input.ReadMessage(subBuilder);
924 SimpleOptimalityCriteria = subBuilder;
925 break;
926 }
927 case 82: {
928 global::Google.OrTools.PDLP.TerminationCriteria.Types.DetailedOptimalityCriteria subBuilder = new global::Google.OrTools.PDLP.TerminationCriteria.Types.DetailedOptimalityCriteria();
929 if (optimalityCriteriaCase_ == OptimalityCriteriaOneofCase.DetailedOptimalityCriteria) {
930 subBuilder.MergeFrom(DetailedOptimalityCriteria);
931 }
932 input.ReadMessage(subBuilder);
933 DetailedOptimalityCriteria = subBuilder;
934 break;
935 }
936 }
937 }
938 }
939 #endif
940
941 #region Nested types
943 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
944 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
945 public static partial class Types {
946 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
947 public sealed partial class SimpleOptimalityCriteria : pb::IMessage<SimpleOptimalityCriteria>
948 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
949 , pb::IBufferMessage
950 #endif
951 {
952 private static readonly pb::MessageParser<SimpleOptimalityCriteria> _parser = new pb::MessageParser<SimpleOptimalityCriteria>(() => new SimpleOptimalityCriteria());
953 private pb::UnknownFieldSet _unknownFields;
954 private int _hasBits0;
955 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
956 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
957 public static pb::MessageParser<SimpleOptimalityCriteria> Parser { get { return _parser; } }
958
959 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
960 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
961 public static pbr::MessageDescriptor Descriptor {
962 get { return global::Google.OrTools.PDLP.TerminationCriteria.Descriptor.NestedTypes[0]; }
963 }
964
965 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
966 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
967 pbr::MessageDescriptor pb::IMessage.Descriptor {
968 get { return Descriptor; }
969 }
970
971 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
972 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
974 OnConstruction();
975 }
976
977 partial void OnConstruction();
978
979 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
980 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
982 _hasBits0 = other._hasBits0;
983 epsOptimalAbsolute_ = other.epsOptimalAbsolute_;
984 epsOptimalRelative_ = other.epsOptimalRelative_;
985 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
986 }
987
988 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
989 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
991 return new SimpleOptimalityCriteria(this);
992 }
993
995 public const int EpsOptimalAbsoluteFieldNumber = 1;
996 private readonly static double EpsOptimalAbsoluteDefaultValue = 1e-06D;
997
998 private double epsOptimalAbsolute_;
1003 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1004 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1005 public double EpsOptimalAbsolute {
1006 get { if ((_hasBits0 & 1) != 0) { return epsOptimalAbsolute_; } else { return EpsOptimalAbsoluteDefaultValue; } }
1007 set {
1008 _hasBits0 |= 1;
1009 epsOptimalAbsolute_ = value;
1010 }
1011 }
1012
1013 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1014 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1016 get { return (_hasBits0 & 1) != 0; }
1017 }
1018
1019 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1020 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1022 _hasBits0 &= ~1;
1023 }
1024
1026 public const int EpsOptimalRelativeFieldNumber = 2;
1027 private readonly static double EpsOptimalRelativeDefaultValue = 1e-06D;
1028
1029 private double epsOptimalRelative_;
1034 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1035 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1036 public double EpsOptimalRelative {
1037 get { if ((_hasBits0 & 2) != 0) { return epsOptimalRelative_; } else { return EpsOptimalRelativeDefaultValue; } }
1038 set {
1039 _hasBits0 |= 2;
1040 epsOptimalRelative_ = value;
1041 }
1042 }
1043
1044 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1045 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1047 get { return (_hasBits0 & 2) != 0; }
1048 }
1049
1050 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1051 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1053 _hasBits0 &= ~2;
1054 }
1055
1056 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1057 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1058 public override bool Equals(object other) {
1059 return Equals(other as SimpleOptimalityCriteria);
1060 }
1061
1062 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1063 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1065 if (ReferenceEquals(other, null)) {
1066 return false;
1067 }
1068 if (ReferenceEquals(other, this)) {
1069 return true;
1070 }
1071 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EpsOptimalAbsolute, other.EpsOptimalAbsolute)) return false;
1072 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EpsOptimalRelative, other.EpsOptimalRelative)) return false;
1073 return Equals(_unknownFields, other._unknownFields);
1074 }
1075
1076 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1077 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1078 public override int GetHashCode() {
1079 int hash = 1;
1080 if (HasEpsOptimalAbsolute) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EpsOptimalAbsolute);
1081 if (HasEpsOptimalRelative) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EpsOptimalRelative);
1082 if (_unknownFields != null) {
1083 hash ^= _unknownFields.GetHashCode();
1084 }
1085 return hash;
1086 }
1087
1088 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1089 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1090 public override string ToString() {
1091 return pb::JsonFormatter.ToDiagnosticString(this);
1092 }
1093
1094 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1095 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1096 public void WriteTo(pb::CodedOutputStream output) {
1097 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1098 output.WriteRawMessage(this);
1099 #else
1101 output.WriteRawTag(9);
1102 output.WriteDouble(EpsOptimalAbsolute);
1103 }
1105 output.WriteRawTag(17);
1106 output.WriteDouble(EpsOptimalRelative);
1107 }
1108 if (_unknownFields != null) {
1109 _unknownFields.WriteTo(output);
1110 }
1111 #endif
1112 }
1113
1114 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1115 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1116 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1117 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1119 output.WriteRawTag(9);
1120 output.WriteDouble(EpsOptimalAbsolute);
1121 }
1123 output.WriteRawTag(17);
1124 output.WriteDouble(EpsOptimalRelative);
1125 }
1126 if (_unknownFields != null) {
1127 _unknownFields.WriteTo(ref output);
1128 }
1129 }
1130 #endif
1131
1132 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1133 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1134 public int CalculateSize() {
1135 int size = 0;
1137 size += 1 + 8;
1138 }
1140 size += 1 + 8;
1141 }
1142 if (_unknownFields != null) {
1143 size += _unknownFields.CalculateSize();
1144 }
1145 return size;
1146 }
1147
1148 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1149 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1151 if (other == null) {
1152 return;
1153 }
1154 if (other.HasEpsOptimalAbsolute) {
1156 }
1157 if (other.HasEpsOptimalRelative) {
1159 }
1160 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1161 }
1162
1163 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1164 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1165 public void MergeFrom(pb::CodedInputStream input) {
1166 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1167 input.ReadRawMessage(this);
1168 #else
1169 uint tag;
1170 while ((tag = input.ReadTag()) != 0) {
1171 if ((tag & 7) == 4) {
1172 // Abort on any end group tag.
1173 return;
1174 }
1175 switch(tag) {
1176 default:
1177 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1178 break;
1179 case 9: {
1180 EpsOptimalAbsolute = input.ReadDouble();
1181 break;
1182 }
1183 case 17: {
1184 EpsOptimalRelative = input.ReadDouble();
1185 break;
1186 }
1187 }
1188 }
1189 #endif
1190 }
1191
1192 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1193 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1194 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1195 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1196 uint tag;
1197 while ((tag = input.ReadTag()) != 0) {
1198 if ((tag & 7) == 4) {
1199 // Abort on any end group tag.
1200 return;
1201 }
1202 switch(tag) {
1203 default:
1204 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1205 break;
1206 case 9: {
1207 EpsOptimalAbsolute = input.ReadDouble();
1208 break;
1209 }
1210 case 17: {
1211 EpsOptimalRelative = input.ReadDouble();
1212 break;
1213 }
1214 }
1215 }
1216 }
1217 #endif
1218
1219 }
1220
1221 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
1222 public sealed partial class DetailedOptimalityCriteria : pb::IMessage<DetailedOptimalityCriteria>
1223 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1224 , pb::IBufferMessage
1225 #endif
1226 {
1227 private static readonly pb::MessageParser<DetailedOptimalityCriteria> _parser = new pb::MessageParser<DetailedOptimalityCriteria>(() => new DetailedOptimalityCriteria());
1228 private pb::UnknownFieldSet _unknownFields;
1229 private int _hasBits0;
1230 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1231 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1232 public static pb::MessageParser<DetailedOptimalityCriteria> Parser { get { return _parser; } }
1233
1234 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1235 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1236 public static pbr::MessageDescriptor Descriptor {
1237 get { return global::Google.OrTools.PDLP.TerminationCriteria.Descriptor.NestedTypes[1]; }
1238 }
1239
1240 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1241 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1242 pbr::MessageDescriptor pb::IMessage.Descriptor {
1243 get { return Descriptor; }
1244 }
1245
1246 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1247 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1249 OnConstruction();
1250 }
1251
1252 partial void OnConstruction();
1253
1254 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1255 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1257 _hasBits0 = other._hasBits0;
1258 epsOptimalPrimalResidualAbsolute_ = other.epsOptimalPrimalResidualAbsolute_;
1259 epsOptimalPrimalResidualRelative_ = other.epsOptimalPrimalResidualRelative_;
1260 epsOptimalDualResidualAbsolute_ = other.epsOptimalDualResidualAbsolute_;
1261 epsOptimalDualResidualRelative_ = other.epsOptimalDualResidualRelative_;
1262 epsOptimalObjectiveGapAbsolute_ = other.epsOptimalObjectiveGapAbsolute_;
1263 epsOptimalObjectiveGapRelative_ = other.epsOptimalObjectiveGapRelative_;
1264 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1265 }
1266
1267 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1268 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1270 return new DetailedOptimalityCriteria(this);
1271 }
1272
1275 private readonly static double EpsOptimalPrimalResidualAbsoluteDefaultValue = 1e-06D;
1276
1277 private double epsOptimalPrimalResidualAbsolute_;
1281 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1282 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1284 get { if ((_hasBits0 & 1) != 0) { return epsOptimalPrimalResidualAbsolute_; } else { return EpsOptimalPrimalResidualAbsoluteDefaultValue; } }
1285 set {
1286 _hasBits0 |= 1;
1287 epsOptimalPrimalResidualAbsolute_ = value;
1288 }
1289 }
1290
1291 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1292 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1294 get { return (_hasBits0 & 1) != 0; }
1295 }
1296
1297 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1298 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1300 _hasBits0 &= ~1;
1301 }
1302
1305 private readonly static double EpsOptimalPrimalResidualRelativeDefaultValue = 1e-06D;
1306
1307 private double epsOptimalPrimalResidualRelative_;
1311 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1312 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1314 get { if ((_hasBits0 & 2) != 0) { return epsOptimalPrimalResidualRelative_; } else { return EpsOptimalPrimalResidualRelativeDefaultValue; } }
1315 set {
1316 _hasBits0 |= 2;
1317 epsOptimalPrimalResidualRelative_ = value;
1318 }
1319 }
1320
1321 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1322 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1324 get { return (_hasBits0 & 2) != 0; }
1325 }
1326
1327 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1328 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1330 _hasBits0 &= ~2;
1331 }
1332
1335 private readonly static double EpsOptimalDualResidualAbsoluteDefaultValue = 1e-06D;
1336
1337 private double epsOptimalDualResidualAbsolute_;
1341 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1342 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1344 get { if ((_hasBits0 & 4) != 0) { return epsOptimalDualResidualAbsolute_; } else { return EpsOptimalDualResidualAbsoluteDefaultValue; } }
1345 set {
1346 _hasBits0 |= 4;
1347 epsOptimalDualResidualAbsolute_ = value;
1348 }
1349 }
1350
1351 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1352 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1354 get { return (_hasBits0 & 4) != 0; }
1355 }
1356
1357 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1358 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1360 _hasBits0 &= ~4;
1361 }
1362
1365 private readonly static double EpsOptimalDualResidualRelativeDefaultValue = 1e-06D;
1366
1367 private double epsOptimalDualResidualRelative_;
1371 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1372 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1374 get { if ((_hasBits0 & 8) != 0) { return epsOptimalDualResidualRelative_; } else { return EpsOptimalDualResidualRelativeDefaultValue; } }
1375 set {
1376 _hasBits0 |= 8;
1377 epsOptimalDualResidualRelative_ = value;
1378 }
1379 }
1380
1381 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1382 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1384 get { return (_hasBits0 & 8) != 0; }
1385 }
1386
1387 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1388 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1390 _hasBits0 &= ~8;
1391 }
1392
1395 private readonly static double EpsOptimalObjectiveGapAbsoluteDefaultValue = 1e-06D;
1396
1397 private double epsOptimalObjectiveGapAbsolute_;
1401 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1402 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1404 get { if ((_hasBits0 & 16) != 0) { return epsOptimalObjectiveGapAbsolute_; } else { return EpsOptimalObjectiveGapAbsoluteDefaultValue; } }
1405 set {
1406 _hasBits0 |= 16;
1407 epsOptimalObjectiveGapAbsolute_ = value;
1408 }
1409 }
1410
1411 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1412 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1414 get { return (_hasBits0 & 16) != 0; }
1415 }
1416
1417 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1418 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1420 _hasBits0 &= ~16;
1421 }
1422
1425 private readonly static double EpsOptimalObjectiveGapRelativeDefaultValue = 1e-06D;
1426
1427 private double epsOptimalObjectiveGapRelative_;
1431 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1432 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1434 get { if ((_hasBits0 & 32) != 0) { return epsOptimalObjectiveGapRelative_; } else { return EpsOptimalObjectiveGapRelativeDefaultValue; } }
1435 set {
1436 _hasBits0 |= 32;
1437 epsOptimalObjectiveGapRelative_ = value;
1438 }
1439 }
1440
1441 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1442 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1444 get { return (_hasBits0 & 32) != 0; }
1445 }
1446
1447 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1448 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1450 _hasBits0 &= ~32;
1451 }
1452
1453 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1454 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1455 public override bool Equals(object other) {
1456 return Equals(other as DetailedOptimalityCriteria);
1457 }
1458
1459 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1460 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1462 if (ReferenceEquals(other, null)) {
1463 return false;
1464 }
1465 if (ReferenceEquals(other, this)) {
1466 return true;
1467 }
1468 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EpsOptimalPrimalResidualAbsolute, other.EpsOptimalPrimalResidualAbsolute)) return false;
1469 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EpsOptimalPrimalResidualRelative, other.EpsOptimalPrimalResidualRelative)) return false;
1470 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EpsOptimalDualResidualAbsolute, other.EpsOptimalDualResidualAbsolute)) return false;
1471 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EpsOptimalDualResidualRelative, other.EpsOptimalDualResidualRelative)) return false;
1472 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EpsOptimalObjectiveGapAbsolute, other.EpsOptimalObjectiveGapAbsolute)) return false;
1473 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EpsOptimalObjectiveGapRelative, other.EpsOptimalObjectiveGapRelative)) return false;
1474 return Equals(_unknownFields, other._unknownFields);
1475 }
1476
1477 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1478 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1479 public override int GetHashCode() {
1480 int hash = 1;
1481 if (HasEpsOptimalPrimalResidualAbsolute) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EpsOptimalPrimalResidualAbsolute);
1482 if (HasEpsOptimalPrimalResidualRelative) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EpsOptimalPrimalResidualRelative);
1483 if (HasEpsOptimalDualResidualAbsolute) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EpsOptimalDualResidualAbsolute);
1484 if (HasEpsOptimalDualResidualRelative) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EpsOptimalDualResidualRelative);
1485 if (HasEpsOptimalObjectiveGapAbsolute) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EpsOptimalObjectiveGapAbsolute);
1486 if (HasEpsOptimalObjectiveGapRelative) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EpsOptimalObjectiveGapRelative);
1487 if (_unknownFields != null) {
1488 hash ^= _unknownFields.GetHashCode();
1489 }
1490 return hash;
1491 }
1492
1493 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1494 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1495 public override string ToString() {
1496 return pb::JsonFormatter.ToDiagnosticString(this);
1497 }
1498
1499 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1500 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1501 public void WriteTo(pb::CodedOutputStream output) {
1502 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1503 output.WriteRawMessage(this);
1504 #else
1506 output.WriteRawTag(9);
1507 output.WriteDouble(EpsOptimalPrimalResidualAbsolute);
1508 }
1510 output.WriteRawTag(17);
1511 output.WriteDouble(EpsOptimalPrimalResidualRelative);
1512 }
1514 output.WriteRawTag(25);
1515 output.WriteDouble(EpsOptimalDualResidualAbsolute);
1516 }
1518 output.WriteRawTag(33);
1519 output.WriteDouble(EpsOptimalDualResidualRelative);
1520 }
1522 output.WriteRawTag(41);
1523 output.WriteDouble(EpsOptimalObjectiveGapAbsolute);
1524 }
1526 output.WriteRawTag(49);
1527 output.WriteDouble(EpsOptimalObjectiveGapRelative);
1528 }
1529 if (_unknownFields != null) {
1530 _unknownFields.WriteTo(output);
1531 }
1532 #endif
1533 }
1534
1535 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1536 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1537 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1538 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1539 if (HasEpsOptimalPrimalResidualAbsolute) {
1540 output.WriteRawTag(9);
1541 output.WriteDouble(EpsOptimalPrimalResidualAbsolute);
1542 }
1543 if (HasEpsOptimalPrimalResidualRelative) {
1544 output.WriteRawTag(17);
1545 output.WriteDouble(EpsOptimalPrimalResidualRelative);
1546 }
1547 if (HasEpsOptimalDualResidualAbsolute) {
1548 output.WriteRawTag(25);
1549 output.WriteDouble(EpsOptimalDualResidualAbsolute);
1550 }
1551 if (HasEpsOptimalDualResidualRelative) {
1552 output.WriteRawTag(33);
1553 output.WriteDouble(EpsOptimalDualResidualRelative);
1554 }
1555 if (HasEpsOptimalObjectiveGapAbsolute) {
1556 output.WriteRawTag(41);
1557 output.WriteDouble(EpsOptimalObjectiveGapAbsolute);
1558 }
1559 if (HasEpsOptimalObjectiveGapRelative) {
1560 output.WriteRawTag(49);
1561 output.WriteDouble(EpsOptimalObjectiveGapRelative);
1562 }
1563 if (_unknownFields != null) {
1564 _unknownFields.WriteTo(ref output);
1565 }
1566 }
1567 #endif
1568
1569 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1570 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1571 public int CalculateSize() {
1572 int size = 0;
1574 size += 1 + 8;
1575 }
1577 size += 1 + 8;
1578 }
1580 size += 1 + 8;
1581 }
1583 size += 1 + 8;
1584 }
1586 size += 1 + 8;
1587 }
1589 size += 1 + 8;
1590 }
1591 if (_unknownFields != null) {
1592 size += _unknownFields.CalculateSize();
1593 }
1594 return size;
1595 }
1596
1597 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1598 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1600 if (other == null) {
1601 return;
1602 }
1605 }
1608 }
1611 }
1614 }
1617 }
1620 }
1621 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1622 }
1623
1624 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1625 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1626 public void MergeFrom(pb::CodedInputStream input) {
1627 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1628 input.ReadRawMessage(this);
1629 #else
1630 uint tag;
1631 while ((tag = input.ReadTag()) != 0) {
1632 if ((tag & 7) == 4) {
1633 // Abort on any end group tag.
1634 return;
1635 }
1636 switch(tag) {
1637 default:
1638 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1639 break;
1640 case 9: {
1641 EpsOptimalPrimalResidualAbsolute = input.ReadDouble();
1642 break;
1643 }
1644 case 17: {
1645 EpsOptimalPrimalResidualRelative = input.ReadDouble();
1646 break;
1647 }
1648 case 25: {
1649 EpsOptimalDualResidualAbsolute = input.ReadDouble();
1650 break;
1651 }
1652 case 33: {
1653 EpsOptimalDualResidualRelative = input.ReadDouble();
1654 break;
1655 }
1656 case 41: {
1657 EpsOptimalObjectiveGapAbsolute = input.ReadDouble();
1658 break;
1659 }
1660 case 49: {
1661 EpsOptimalObjectiveGapRelative = input.ReadDouble();
1662 break;
1663 }
1664 }
1665 }
1666 #endif
1667 }
1668
1669 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1670 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1671 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1672 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1673 uint tag;
1674 while ((tag = input.ReadTag()) != 0) {
1675 if ((tag & 7) == 4) {
1676 // Abort on any end group tag.
1677 return;
1678 }
1679 switch(tag) {
1680 default:
1681 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1682 break;
1683 case 9: {
1684 EpsOptimalPrimalResidualAbsolute = input.ReadDouble();
1685 break;
1686 }
1687 case 17: {
1688 EpsOptimalPrimalResidualRelative = input.ReadDouble();
1689 break;
1690 }
1691 case 25: {
1692 EpsOptimalDualResidualAbsolute = input.ReadDouble();
1693 break;
1694 }
1695 case 33: {
1696 EpsOptimalDualResidualRelative = input.ReadDouble();
1697 break;
1698 }
1699 case 41: {
1700 EpsOptimalObjectiveGapAbsolute = input.ReadDouble();
1701 break;
1702 }
1703 case 49: {
1704 EpsOptimalObjectiveGapRelative = input.ReadDouble();
1705 break;
1706 }
1707 }
1708 }
1709 }
1710 #endif
1711
1712 }
1713
1714 }
1715 #endregion
1716
1717 }
1718
1724 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
1725 public sealed partial class AdaptiveLinesearchParams : pb::IMessage<AdaptiveLinesearchParams>
1726 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1727 , pb::IBufferMessage
1728 #endif
1729 {
1730 private static readonly pb::MessageParser<AdaptiveLinesearchParams> _parser = new pb::MessageParser<AdaptiveLinesearchParams>(() => new AdaptiveLinesearchParams());
1731 private pb::UnknownFieldSet _unknownFields;
1732 private int _hasBits0;
1733 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1734 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1735 public static pb::MessageParser<AdaptiveLinesearchParams> Parser { get { return _parser; } }
1736
1737 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1738 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1739 public static pbr::MessageDescriptor Descriptor {
1740 get { return global::Google.OrTools.PDLP.SolversReflection.Descriptor.MessageTypes[1]; }
1741 }
1742
1743 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1744 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1745 pbr::MessageDescriptor pb::IMessage.Descriptor {
1746 get { return Descriptor; }
1747 }
1748
1749 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1750 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1752 OnConstruction();
1753 }
1754
1755 partial void OnConstruction();
1756
1757 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1758 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1760 _hasBits0 = other._hasBits0;
1761 stepSizeReductionExponent_ = other.stepSizeReductionExponent_;
1762 stepSizeGrowthExponent_ = other.stepSizeGrowthExponent_;
1763 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
1764 }
1765
1766 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1767 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1769 return new AdaptiveLinesearchParams(this);
1770 }
1771
1774 private readonly static double StepSizeReductionExponentDefaultValue = 0.3D;
1775
1776 private double stepSizeReductionExponent_;
1783 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1784 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1786 get { if ((_hasBits0 & 1) != 0) { return stepSizeReductionExponent_; } else { return StepSizeReductionExponentDefaultValue; } }
1787 set {
1788 _hasBits0 |= 1;
1789 stepSizeReductionExponent_ = value;
1790 }
1791 }
1792
1793 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1794 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1796 get { return (_hasBits0 & 1) != 0; }
1797 }
1798
1799 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1800 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1802 _hasBits0 &= ~1;
1803 }
1804
1807 private readonly static double StepSizeGrowthExponentDefaultValue = 0.6D;
1808
1809 private double stepSizeGrowthExponent_;
1815 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1816 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1818 get { if ((_hasBits0 & 2) != 0) { return stepSizeGrowthExponent_; } else { return StepSizeGrowthExponentDefaultValue; } }
1819 set {
1820 _hasBits0 |= 2;
1821 stepSizeGrowthExponent_ = value;
1822 }
1823 }
1824
1825 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1826 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1828 get { return (_hasBits0 & 2) != 0; }
1829 }
1830
1831 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1832 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1834 _hasBits0 &= ~2;
1835 }
1836
1837 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1838 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1839 public override bool Equals(object other) {
1840 return Equals(other as AdaptiveLinesearchParams);
1841 }
1842
1843 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1844 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1846 if (ReferenceEquals(other, null)) {
1847 return false;
1848 }
1849 if (ReferenceEquals(other, this)) {
1850 return true;
1851 }
1852 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(StepSizeReductionExponent, other.StepSizeReductionExponent)) return false;
1853 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(StepSizeGrowthExponent, other.StepSizeGrowthExponent)) return false;
1854 return Equals(_unknownFields, other._unknownFields);
1855 }
1856
1857 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1858 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1859 public override int GetHashCode() {
1860 int hash = 1;
1861 if (HasStepSizeReductionExponent) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(StepSizeReductionExponent);
1862 if (HasStepSizeGrowthExponent) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(StepSizeGrowthExponent);
1863 if (_unknownFields != null) {
1864 hash ^= _unknownFields.GetHashCode();
1865 }
1866 return hash;
1867 }
1868
1869 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1870 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1871 public override string ToString() {
1872 return pb::JsonFormatter.ToDiagnosticString(this);
1873 }
1874
1875 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1876 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1877 public void WriteTo(pb::CodedOutputStream output) {
1878 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1879 output.WriteRawMessage(this);
1880 #else
1882 output.WriteRawTag(9);
1883 output.WriteDouble(StepSizeReductionExponent);
1884 }
1886 output.WriteRawTag(17);
1887 output.WriteDouble(StepSizeGrowthExponent);
1888 }
1889 if (_unknownFields != null) {
1890 _unknownFields.WriteTo(output);
1891 }
1892 #endif
1893 }
1894
1895 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1896 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1897 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1898 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
1899 if (HasStepSizeReductionExponent) {
1900 output.WriteRawTag(9);
1901 output.WriteDouble(StepSizeReductionExponent);
1902 }
1903 if (HasStepSizeGrowthExponent) {
1904 output.WriteRawTag(17);
1905 output.WriteDouble(StepSizeGrowthExponent);
1906 }
1907 if (_unknownFields != null) {
1908 _unknownFields.WriteTo(ref output);
1909 }
1910 }
1911 #endif
1912
1913 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1914 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1915 public int CalculateSize() {
1916 int size = 0;
1918 size += 1 + 8;
1919 }
1921 size += 1 + 8;
1922 }
1923 if (_unknownFields != null) {
1924 size += _unknownFields.CalculateSize();
1925 }
1926 return size;
1927 }
1928
1929 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1930 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1932 if (other == null) {
1933 return;
1934 }
1935 if (other.HasStepSizeReductionExponent) {
1937 }
1938 if (other.HasStepSizeGrowthExponent) {
1940 }
1941 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
1942 }
1943
1944 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1945 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1946 public void MergeFrom(pb::CodedInputStream input) {
1947 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1948 input.ReadRawMessage(this);
1949 #else
1950 uint tag;
1951 while ((tag = input.ReadTag()) != 0) {
1952 if ((tag & 7) == 4) {
1953 // Abort on any end group tag.
1954 return;
1955 }
1956 switch(tag) {
1957 default:
1958 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
1959 break;
1960 case 9: {
1961 StepSizeReductionExponent = input.ReadDouble();
1962 break;
1963 }
1964 case 17: {
1965 StepSizeGrowthExponent = input.ReadDouble();
1966 break;
1967 }
1968 }
1969 }
1970 #endif
1971 }
1972
1973 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
1974 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1975 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
1976 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
1977 uint tag;
1978 while ((tag = input.ReadTag()) != 0) {
1979 if ((tag & 7) == 4) {
1980 // Abort on any end group tag.
1981 return;
1982 }
1983 switch(tag) {
1984 default:
1985 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
1986 break;
1987 case 9: {
1988 StepSizeReductionExponent = input.ReadDouble();
1989 break;
1990 }
1991 case 17: {
1992 StepSizeGrowthExponent = input.ReadDouble();
1993 break;
1994 }
1995 }
1996 }
1997 }
1998 #endif
1999
2000 }
2001
2002 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
2003 public sealed partial class MalitskyPockParams : pb::IMessage<MalitskyPockParams>
2004 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2005 , pb::IBufferMessage
2006 #endif
2007 {
2008 private static readonly pb::MessageParser<MalitskyPockParams> _parser = new pb::MessageParser<MalitskyPockParams>(() => new MalitskyPockParams());
2009 private pb::UnknownFieldSet _unknownFields;
2010 private int _hasBits0;
2011 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2012 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2013 public static pb::MessageParser<MalitskyPockParams> Parser { get { return _parser; } }
2014
2015 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2016 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2017 public static pbr::MessageDescriptor Descriptor {
2018 get { return global::Google.OrTools.PDLP.SolversReflection.Descriptor.MessageTypes[2]; }
2019 }
2020
2021 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2022 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2023 pbr::MessageDescriptor pb::IMessage.Descriptor {
2024 get { return Descriptor; }
2025 }
2026
2027 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2028 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2030 OnConstruction();
2031 }
2032
2033 partial void OnConstruction();
2034
2035 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2036 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2038 _hasBits0 = other._hasBits0;
2039 stepSizeDownscalingFactor_ = other.stepSizeDownscalingFactor_;
2040 linesearchContractionFactor_ = other.linesearchContractionFactor_;
2041 stepSizeInterpolation_ = other.stepSizeInterpolation_;
2042 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
2043 }
2044
2045 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2046 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2048 return new MalitskyPockParams(this);
2049 }
2050
2053 private readonly static double StepSizeDownscalingFactorDefaultValue = 0.7D;
2054
2055 private double stepSizeDownscalingFactor_;
2062 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2063 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2065 get { if ((_hasBits0 & 1) != 0) { return stepSizeDownscalingFactor_; } else { return StepSizeDownscalingFactorDefaultValue; } }
2066 set {
2067 _hasBits0 |= 1;
2068 stepSizeDownscalingFactor_ = value;
2069 }
2070 }
2071
2072 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2073 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2075 get { return (_hasBits0 & 1) != 0; }
2076 }
2077
2078 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2079 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2081 _hasBits0 &= ~1;
2082 }
2083
2086 private readonly static double LinesearchContractionFactorDefaultValue = 0.99D;
2087
2088 private double linesearchContractionFactor_;
2096 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2097 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2099 get { if ((_hasBits0 & 2) != 0) { return linesearchContractionFactor_; } else { return LinesearchContractionFactorDefaultValue; } }
2100 set {
2101 _hasBits0 |= 2;
2102 linesearchContractionFactor_ = value;
2103 }
2104 }
2105
2106 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2107 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2109 get { return (_hasBits0 & 2) != 0; }
2110 }
2111
2112 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2113 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2115 _hasBits0 &= ~2;
2116 }
2117
2120 private readonly static double StepSizeInterpolationDefaultValue = 1D;
2121
2122 private double stepSizeInterpolation_;
2130 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2131 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2133 get { if ((_hasBits0 & 4) != 0) { return stepSizeInterpolation_; } else { return StepSizeInterpolationDefaultValue; } }
2134 set {
2135 _hasBits0 |= 4;
2136 stepSizeInterpolation_ = value;
2137 }
2138 }
2139
2140 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2141 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2143 get { return (_hasBits0 & 4) != 0; }
2144 }
2145
2146 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2147 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2149 _hasBits0 &= ~4;
2150 }
2151
2152 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2153 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2154 public override bool Equals(object other) {
2155 return Equals(other as MalitskyPockParams);
2156 }
2157
2158 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2159 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2160 public bool Equals(MalitskyPockParams other) {
2161 if (ReferenceEquals(other, null)) {
2162 return false;
2163 }
2164 if (ReferenceEquals(other, this)) {
2165 return true;
2166 }
2167 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(StepSizeDownscalingFactor, other.StepSizeDownscalingFactor)) return false;
2168 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(LinesearchContractionFactor, other.LinesearchContractionFactor)) return false;
2169 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(StepSizeInterpolation, other.StepSizeInterpolation)) return false;
2170 return Equals(_unknownFields, other._unknownFields);
2171 }
2172
2173 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2174 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2175 public override int GetHashCode() {
2176 int hash = 1;
2177 if (HasStepSizeDownscalingFactor) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(StepSizeDownscalingFactor);
2178 if (HasLinesearchContractionFactor) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(LinesearchContractionFactor);
2179 if (HasStepSizeInterpolation) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(StepSizeInterpolation);
2180 if (_unknownFields != null) {
2181 hash ^= _unknownFields.GetHashCode();
2182 }
2183 return hash;
2184 }
2185
2186 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2187 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2188 public override string ToString() {
2189 return pb::JsonFormatter.ToDiagnosticString(this);
2190 }
2191
2192 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2193 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2194 public void WriteTo(pb::CodedOutputStream output) {
2195 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2196 output.WriteRawMessage(this);
2197 #else
2199 output.WriteRawTag(9);
2200 output.WriteDouble(StepSizeDownscalingFactor);
2201 }
2203 output.WriteRawTag(17);
2204 output.WriteDouble(LinesearchContractionFactor);
2205 }
2207 output.WriteRawTag(25);
2208 output.WriteDouble(StepSizeInterpolation);
2209 }
2210 if (_unknownFields != null) {
2211 _unknownFields.WriteTo(output);
2212 }
2213 #endif
2214 }
2215
2216 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2217 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2218 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2219 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2220 if (HasStepSizeDownscalingFactor) {
2221 output.WriteRawTag(9);
2222 output.WriteDouble(StepSizeDownscalingFactor);
2223 }
2224 if (HasLinesearchContractionFactor) {
2225 output.WriteRawTag(17);
2226 output.WriteDouble(LinesearchContractionFactor);
2227 }
2228 if (HasStepSizeInterpolation) {
2229 output.WriteRawTag(25);
2230 output.WriteDouble(StepSizeInterpolation);
2231 }
2232 if (_unknownFields != null) {
2233 _unknownFields.WriteTo(ref output);
2234 }
2235 }
2236 #endif
2237
2238 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2239 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2240 public int CalculateSize() {
2241 int size = 0;
2243 size += 1 + 8;
2244 }
2246 size += 1 + 8;
2247 }
2249 size += 1 + 8;
2250 }
2251 if (_unknownFields != null) {
2252 size += _unknownFields.CalculateSize();
2253 }
2254 return size;
2255 }
2256
2257 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2258 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2259 public void MergeFrom(MalitskyPockParams other) {
2260 if (other == null) {
2261 return;
2262 }
2263 if (other.HasStepSizeDownscalingFactor) {
2265 }
2268 }
2269 if (other.HasStepSizeInterpolation) {
2271 }
2272 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
2273 }
2274
2275 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2276 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2277 public void MergeFrom(pb::CodedInputStream input) {
2278 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2279 input.ReadRawMessage(this);
2280 #else
2281 uint tag;
2282 while ((tag = input.ReadTag()) != 0) {
2283 if ((tag & 7) == 4) {
2284 // Abort on any end group tag.
2285 return;
2286 }
2287 switch(tag) {
2288 default:
2289 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
2290 break;
2291 case 9: {
2292 StepSizeDownscalingFactor = input.ReadDouble();
2293 break;
2294 }
2295 case 17: {
2296 LinesearchContractionFactor = input.ReadDouble();
2297 break;
2298 }
2299 case 25: {
2300 StepSizeInterpolation = input.ReadDouble();
2301 break;
2302 }
2303 }
2304 }
2305 #endif
2306 }
2307
2308 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2309 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2310 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2311 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
2312 uint tag;
2313 while ((tag = input.ReadTag()) != 0) {
2314 if ((tag & 7) == 4) {
2315 // Abort on any end group tag.
2316 return;
2317 }
2318 switch(tag) {
2319 default:
2320 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
2321 break;
2322 case 9: {
2323 StepSizeDownscalingFactor = input.ReadDouble();
2324 break;
2325 }
2326 case 17: {
2327 LinesearchContractionFactor = input.ReadDouble();
2328 break;
2329 }
2330 case 25: {
2331 StepSizeInterpolation = input.ReadDouble();
2332 break;
2333 }
2334 }
2335 }
2336 }
2337 #endif
2338
2339 }
2340
2353 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
2354 public sealed partial class PrimalDualHybridGradientParams : pb::IMessage<PrimalDualHybridGradientParams>
2355 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2356 , pb::IBufferMessage
2357 #endif
2358 {
2359 private static readonly pb::MessageParser<PrimalDualHybridGradientParams> _parser = new pb::MessageParser<PrimalDualHybridGradientParams>(() => new PrimalDualHybridGradientParams());
2360 private pb::UnknownFieldSet _unknownFields;
2361 private int _hasBits0;
2362 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2363 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2364 public static pb::MessageParser<PrimalDualHybridGradientParams> Parser { get { return _parser; } }
2365
2366 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2367 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2368 public static pbr::MessageDescriptor Descriptor {
2369 get { return global::Google.OrTools.PDLP.SolversReflection.Descriptor.MessageTypes[3]; }
2370 }
2371
2372 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2373 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2374 pbr::MessageDescriptor pb::IMessage.Descriptor {
2375 get { return Descriptor; }
2376 }
2377
2378 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2379 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2381 OnConstruction();
2382 }
2383
2384 partial void OnConstruction();
2385
2386 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2387 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2389 _hasBits0 = other._hasBits0;
2390 terminationCriteria_ = other.terminationCriteria_ != null ? other.terminationCriteria_.Clone() : null;
2391 numThreads_ = other.numThreads_;
2392 numShards_ = other.numShards_;
2393 schedulerType_ = other.schedulerType_;
2394 recordIterationStats_ = other.recordIterationStats_;
2395 verbosityLevel_ = other.verbosityLevel_;
2396 logIntervalSeconds_ = other.logIntervalSeconds_;
2397 majorIterationFrequency_ = other.majorIterationFrequency_;
2398 terminationCheckFrequency_ = other.terminationCheckFrequency_;
2399 restartStrategy_ = other.restartStrategy_;
2400 primalWeightUpdateSmoothing_ = other.primalWeightUpdateSmoothing_;
2401 initialPrimalWeight_ = other.initialPrimalWeight_;
2402 presolveOptions_ = other.presolveOptions_ != null ? other.presolveOptions_.Clone() : null;
2403 lInfRuizIterations_ = other.lInfRuizIterations_;
2404 l2NormRescaling_ = other.l2NormRescaling_;
2405 sufficientReductionForRestart_ = other.sufficientReductionForRestart_;
2406 necessaryReductionForRestart_ = other.necessaryReductionForRestart_;
2407 linesearchRule_ = other.linesearchRule_;
2408 adaptiveLinesearchParameters_ = other.adaptiveLinesearchParameters_ != null ? other.adaptiveLinesearchParameters_.Clone() : null;
2409 malitskyPockParameters_ = other.malitskyPockParameters_ != null ? other.malitskyPockParameters_.Clone() : null;
2410 initialStepSizeScaling_ = other.initialStepSizeScaling_;
2411 randomProjectionSeeds_ = other.randomProjectionSeeds_.Clone();
2412 infiniteConstraintBoundThreshold_ = other.infiniteConstraintBoundThreshold_;
2413 handleSomePrimalGradientsOnFiniteBoundsAsResiduals_ = other.handleSomePrimalGradientsOnFiniteBoundsAsResiduals_;
2414 useDiagonalQpTrustRegionSolver_ = other.useDiagonalQpTrustRegionSolver_;
2415 diagonalQpTrustRegionSolverTolerance_ = other.diagonalQpTrustRegionSolverTolerance_;
2416 useFeasibilityPolishing_ = other.useFeasibilityPolishing_;
2417 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
2418 }
2419
2420 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2421 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2425
2428 private global::Google.OrTools.PDLP.TerminationCriteria terminationCriteria_;
2429 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2430 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2432 get { return terminationCriteria_; }
2433 set {
2434 terminationCriteria_ = value;
2435 }
2436 }
2437
2439 public const int NumThreadsFieldNumber = 2;
2440 private readonly static int NumThreadsDefaultValue = 1;
2441
2442 private int numThreads_;
2449 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2450 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2451 public int NumThreads {
2452 get { if ((_hasBits0 & 1) != 0) { return numThreads_; } else { return NumThreadsDefaultValue; } }
2453 set {
2454 _hasBits0 |= 1;
2455 numThreads_ = value;
2456 }
2457 }
2458
2459 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2460 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2461 public bool HasNumThreads {
2462 get { return (_hasBits0 & 1) != 0; }
2463 }
2464
2465 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2466 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2467 public void ClearNumThreads() {
2468 _hasBits0 &= ~1;
2469 }
2470
2472 public const int NumShardsFieldNumber = 27;
2473 private readonly static int NumShardsDefaultValue = 0;
2474
2475 private int numShards_;
2487 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2488 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2489 public int NumShards {
2490 get { if ((_hasBits0 & 131072) != 0) { return numShards_; } else { return NumShardsDefaultValue; } }
2491 set {
2492 _hasBits0 |= 131072;
2493 numShards_ = value;
2494 }
2495 }
2496
2497 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2498 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2499 public bool HasNumShards {
2500 get { return (_hasBits0 & 131072) != 0; }
2501 }
2502
2503 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2504 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2505 public void ClearNumShards() {
2506 _hasBits0 &= ~131072;
2507 }
2508
2510 public const int SchedulerTypeFieldNumber = 32;
2511 private readonly static global::Google.OrTools.PDLP.SchedulerType SchedulerTypeDefaultValue = global::Google.OrTools.PDLP.SchedulerType.GoogleThreadpool;
2512
2513 private global::Google.OrTools.PDLP.SchedulerType schedulerType_;
2518 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2519 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2520 public global::Google.OrTools.PDLP.SchedulerType SchedulerType {
2521 get { if ((_hasBits0 & 2097152) != 0) { return schedulerType_; } else { return SchedulerTypeDefaultValue; } }
2522 set {
2523 _hasBits0 |= 2097152;
2524 schedulerType_ = value;
2525 }
2526 }
2527
2528 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2529 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2530 public bool HasSchedulerType {
2531 get { return (_hasBits0 & 2097152) != 0; }
2532 }
2533
2534 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2535 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2536 public void ClearSchedulerType() {
2537 _hasBits0 &= ~2097152;
2538 }
2539
2542 private readonly static bool RecordIterationStatsDefaultValue = false;
2543
2544 private bool recordIterationStats_;
2551 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2552 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2554 get { if ((_hasBits0 & 2) != 0) { return recordIterationStats_; } else { return RecordIterationStatsDefaultValue; } }
2555 set {
2556 _hasBits0 |= 2;
2557 recordIterationStats_ = value;
2558 }
2559 }
2560
2561 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2562 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2564 get { return (_hasBits0 & 2) != 0; }
2565 }
2566
2567 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2568 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2570 _hasBits0 &= ~2;
2571 }
2572
2574 public const int VerbosityLevelFieldNumber = 26;
2575 private readonly static int VerbosityLevelDefaultValue = 0;
2576
2577 private int verbosityLevel_;
2591 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2592 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2593 public int VerbosityLevel {
2594 get { if ((_hasBits0 & 65536) != 0) { return verbosityLevel_; } else { return VerbosityLevelDefaultValue; } }
2595 set {
2596 _hasBits0 |= 65536;
2597 verbosityLevel_ = value;
2598 }
2599 }
2600
2601 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2602 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2603 public bool HasVerbosityLevel {
2604 get { return (_hasBits0 & 65536) != 0; }
2605 }
2606
2607 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2608 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2609 public void ClearVerbosityLevel() {
2610 _hasBits0 &= ~65536;
2611 }
2612
2614 public const int LogIntervalSecondsFieldNumber = 31;
2615 private readonly static double LogIntervalSecondsDefaultValue = 0D;
2616
2617 private double logIntervalSeconds_;
2625 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2626 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2627 public double LogIntervalSeconds {
2628 get { if ((_hasBits0 & 1048576) != 0) { return logIntervalSeconds_; } else { return LogIntervalSecondsDefaultValue; } }
2629 set {
2630 _hasBits0 |= 1048576;
2631 logIntervalSeconds_ = value;
2632 }
2633 }
2634
2635 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2636 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2638 get { return (_hasBits0 & 1048576) != 0; }
2639 }
2640
2641 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2642 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2644 _hasBits0 &= ~1048576;
2645 }
2646
2649 private readonly static int MajorIterationFrequencyDefaultValue = 64;
2650
2651 private int majorIterationFrequency_;
2660 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2661 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2663 get { if ((_hasBits0 & 4) != 0) { return majorIterationFrequency_; } else { return MajorIterationFrequencyDefaultValue; } }
2664 set {
2665 _hasBits0 |= 4;
2666 majorIterationFrequency_ = value;
2667 }
2668 }
2669
2670 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2671 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2673 get { return (_hasBits0 & 4) != 0; }
2674 }
2675
2676 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2677 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2679 _hasBits0 &= ~4;
2680 }
2681
2684 private readonly static int TerminationCheckFrequencyDefaultValue = 64;
2685
2686 private int terminationCheckFrequency_;
2692 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2693 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2695 get { if ((_hasBits0 & 8) != 0) { return terminationCheckFrequency_; } else { return TerminationCheckFrequencyDefaultValue; } }
2696 set {
2697 _hasBits0 |= 8;
2698 terminationCheckFrequency_ = value;
2699 }
2700 }
2701
2702 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2703 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2705 get { return (_hasBits0 & 8) != 0; }
2706 }
2707
2708 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2709 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2711 _hasBits0 &= ~8;
2712 }
2713
2715 public const int RestartStrategyFieldNumber = 6;
2716 private readonly static global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.RestartStrategy RestartStrategyDefaultValue = global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.RestartStrategy.AdaptiveHeuristic;
2717
2718 private global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.RestartStrategy restartStrategy_;
2724 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2725 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2727 get { if ((_hasBits0 & 16) != 0) { return restartStrategy_; } else { return RestartStrategyDefaultValue; } }
2728 set {
2729 _hasBits0 |= 16;
2730 restartStrategy_ = value;
2731 }
2732 }
2733
2734 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2735 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2737 get { return (_hasBits0 & 16) != 0; }
2738 }
2739
2740 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2741 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2742 public void ClearRestartStrategy() {
2743 _hasBits0 &= ~16;
2744 }
2745
2748 private readonly static double PrimalWeightUpdateSmoothingDefaultValue = 0.5D;
2749
2750 private double primalWeightUpdateSmoothing_;
2761 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2762 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2764 get { if ((_hasBits0 & 32) != 0) { return primalWeightUpdateSmoothing_; } else { return PrimalWeightUpdateSmoothingDefaultValue; } }
2765 set {
2766 _hasBits0 |= 32;
2767 primalWeightUpdateSmoothing_ = value;
2768 }
2769 }
2770
2771 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2772 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2774 get { return (_hasBits0 & 32) != 0; }
2775 }
2776
2777 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2778 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2780 _hasBits0 &= ~32;
2781 }
2782
2785 private readonly static double InitialPrimalWeightDefaultValue = 0D;
2786
2787 private double initialPrimalWeight_;
2797 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2798 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2799 public double InitialPrimalWeight {
2800 get { if ((_hasBits0 & 64) != 0) { return initialPrimalWeight_; } else { return InitialPrimalWeightDefaultValue; } }
2801 set {
2802 _hasBits0 |= 64;
2803 initialPrimalWeight_ = value;
2804 }
2805 }
2806
2807 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2808 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2810 get { return (_hasBits0 & 64) != 0; }
2811 }
2812
2813 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2814 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2816 _hasBits0 &= ~64;
2817 }
2818
2820 public const int PresolveOptionsFieldNumber = 16;
2821 private global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.PresolveOptions presolveOptions_;
2822 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2823 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2825 get { return presolveOptions_; }
2826 set {
2827 presolveOptions_ = value;
2828 }
2829 }
2830
2832 public const int LInfRuizIterationsFieldNumber = 9;
2833 private readonly static int LInfRuizIterationsDefaultValue = 5;
2834
2835 private int lInfRuizIterations_;
2841 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2842 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2844 get { if ((_hasBits0 & 128) != 0) { return lInfRuizIterations_; } else { return LInfRuizIterationsDefaultValue; } }
2845 set {
2846 _hasBits0 |= 128;
2847 lInfRuizIterations_ = value;
2848 }
2849 }
2850
2851 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2852 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2854 get { return (_hasBits0 & 128) != 0; }
2855 }
2856
2857 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2858 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2860 _hasBits0 &= ~128;
2861 }
2862
2864 public const int L2NormRescalingFieldNumber = 10;
2865 private readonly static bool L2NormRescalingDefaultValue = true;
2866
2867 private bool l2NormRescaling_;
2872 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2873 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2874 public bool L2NormRescaling {
2875 get { if ((_hasBits0 & 256) != 0) { return l2NormRescaling_; } else { return L2NormRescalingDefaultValue; } }
2876 set {
2877 _hasBits0 |= 256;
2878 l2NormRescaling_ = value;
2879 }
2880 }
2881
2882 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2883 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2885 get { return (_hasBits0 & 256) != 0; }
2886 }
2887
2888 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2889 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2890 public void ClearL2NormRescaling() {
2891 _hasBits0 &= ~256;
2892 }
2893
2896 private readonly static double SufficientReductionForRestartDefaultValue = 0.1D;
2897
2898 private double sufficientReductionForRestart_;
2904 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2905 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2907 get { if ((_hasBits0 & 512) != 0) { return sufficientReductionForRestart_; } else { return SufficientReductionForRestartDefaultValue; } }
2908 set {
2909 _hasBits0 |= 512;
2910 sufficientReductionForRestart_ = value;
2911 }
2912 }
2913
2914 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2915 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2917 get { return (_hasBits0 & 512) != 0; }
2918 }
2919
2920 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2921 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2923 _hasBits0 &= ~512;
2924 }
2925
2928 private readonly static double NecessaryReductionForRestartDefaultValue = 0.9D;
2929
2930 private double necessaryReductionForRestart_;
2938 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2939 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2941 get { if ((_hasBits0 & 2048) != 0) { return necessaryReductionForRestart_; } else { return NecessaryReductionForRestartDefaultValue; } }
2942 set {
2943 _hasBits0 |= 2048;
2944 necessaryReductionForRestart_ = value;
2945 }
2946 }
2947
2948 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2949 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2951 get { return (_hasBits0 & 2048) != 0; }
2952 }
2953
2954 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2955 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2957 _hasBits0 &= ~2048;
2958 }
2959
2961 public const int LinesearchRuleFieldNumber = 12;
2962 private readonly static global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.LinesearchRule LinesearchRuleDefaultValue = global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.LinesearchRule.AdaptiveLinesearchRule;
2963
2964 private global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.LinesearchRule linesearchRule_;
2968 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2969 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2971 get { if ((_hasBits0 & 1024) != 0) { return linesearchRule_; } else { return LinesearchRuleDefaultValue; } }
2972 set {
2973 _hasBits0 |= 1024;
2974 linesearchRule_ = value;
2975 }
2976 }
2977
2978 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2979 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2980 public bool HasLinesearchRule {
2981 get { return (_hasBits0 & 1024) != 0; }
2982 }
2983
2984 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2985 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2986 public void ClearLinesearchRule() {
2987 _hasBits0 &= ~1024;
2988 }
2989
2992 private global::Google.OrTools.PDLP.AdaptiveLinesearchParams adaptiveLinesearchParameters_;
2993 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2994 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
2996 get { return adaptiveLinesearchParameters_; }
2997 set {
2998 adaptiveLinesearchParameters_ = value;
2999 }
3000 }
3001
3004 private global::Google.OrTools.PDLP.MalitskyPockParams malitskyPockParameters_;
3005 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3006 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3008 get { return malitskyPockParameters_; }
3009 set {
3010 malitskyPockParameters_ = value;
3011 }
3012 }
3013
3016 private readonly static double InitialStepSizeScalingDefaultValue = 1D;
3017
3018 private double initialStepSizeScaling_;
3023 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3024 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3026 get { if ((_hasBits0 & 32768) != 0) { return initialStepSizeScaling_; } else { return InitialStepSizeScalingDefaultValue; } }
3027 set {
3028 _hasBits0 |= 32768;
3029 initialStepSizeScaling_ = value;
3030 }
3031 }
3032
3033 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3034 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3036 get { return (_hasBits0 & 32768) != 0; }
3037 }
3038
3039 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3040 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3042 _hasBits0 &= ~32768;
3043 }
3044
3047 private static readonly pb::FieldCodec<int> _repeated_randomProjectionSeeds_codec
3048 = pb::FieldCodec.ForInt32(226);
3049 private readonly pbc::RepeatedField<int> randomProjectionSeeds_ = new pbc::RepeatedField<int>();
3058 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3059 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3060 public pbc::RepeatedField<int> RandomProjectionSeeds {
3061 get { return randomProjectionSeeds_; }
3062 }
3063
3066 private readonly static double InfiniteConstraintBoundThresholdDefaultValue = double.PositiveInfinity;
3067
3068 private double infiniteConstraintBoundThreshold_;
3077 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3078 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3080 get { if ((_hasBits0 & 4096) != 0) { return infiniteConstraintBoundThreshold_; } else { return InfiniteConstraintBoundThresholdDefaultValue; } }
3081 set {
3082 _hasBits0 |= 4096;
3083 infiniteConstraintBoundThreshold_ = value;
3084 }
3085 }
3086
3087 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3088 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3090 get { return (_hasBits0 & 4096) != 0; }
3091 }
3092
3093 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3094 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3096 _hasBits0 &= ~4096;
3097 }
3098
3101 private readonly static bool HandleSomePrimalGradientsOnFiniteBoundsAsResidualsDefaultValue = true;
3102
3103 private bool handleSomePrimalGradientsOnFiniteBoundsAsResiduals_;
3109 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3110 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3112 get { if ((_hasBits0 & 262144) != 0) { return handleSomePrimalGradientsOnFiniteBoundsAsResiduals_; } else { return HandleSomePrimalGradientsOnFiniteBoundsAsResidualsDefaultValue; } }
3113 set {
3114 _hasBits0 |= 262144;
3115 handleSomePrimalGradientsOnFiniteBoundsAsResiduals_ = value;
3116 }
3117 }
3118
3119 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3120 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3122 get { return (_hasBits0 & 262144) != 0; }
3123 }
3124
3125 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3126 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3128 _hasBits0 &= ~262144;
3129 }
3130
3133 private readonly static bool UseDiagonalQpTrustRegionSolverDefaultValue = false;
3134
3135 private bool useDiagonalQpTrustRegionSolver_;
3144 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3145 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3147 get { if ((_hasBits0 & 8192) != 0) { return useDiagonalQpTrustRegionSolver_; } else { return UseDiagonalQpTrustRegionSolverDefaultValue; } }
3148 set {
3149 _hasBits0 |= 8192;
3150 useDiagonalQpTrustRegionSolver_ = value;
3151 }
3152 }
3153
3154 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3155 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3157 get { return (_hasBits0 & 8192) != 0; }
3158 }
3159
3160 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3161 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3163 _hasBits0 &= ~8192;
3164 }
3165
3168 private readonly static double DiagonalQpTrustRegionSolverToleranceDefaultValue = 1e-08D;
3169
3170 private double diagonalQpTrustRegionSolverTolerance_;
3178 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3179 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3181 get { if ((_hasBits0 & 16384) != 0) { return diagonalQpTrustRegionSolverTolerance_; } else { return DiagonalQpTrustRegionSolverToleranceDefaultValue; } }
3182 set {
3183 _hasBits0 |= 16384;
3184 diagonalQpTrustRegionSolverTolerance_ = value;
3185 }
3186 }
3187
3188 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3189 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3191 get { return (_hasBits0 & 16384) != 0; }
3192 }
3193
3194 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3195 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3197 _hasBits0 &= ~16384;
3198 }
3199
3202 private readonly static bool UseFeasibilityPolishingDefaultValue = false;
3203
3204 private bool useFeasibilityPolishing_;
3233 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3234 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3235 public bool UseFeasibilityPolishing {
3236 get { if ((_hasBits0 & 524288) != 0) { return useFeasibilityPolishing_; } else { return UseFeasibilityPolishingDefaultValue; } }
3237 set {
3238 _hasBits0 |= 524288;
3239 useFeasibilityPolishing_ = value;
3240 }
3241 }
3243 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3244 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3245 public bool HasUseFeasibilityPolishing {
3246 get { return (_hasBits0 & 524288) != 0; }
3249 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3250 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3251 public void ClearUseFeasibilityPolishing() {
3252 _hasBits0 &= ~524288;
3254
3255 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3256 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3257 public override bool Equals(object other) {
3258 return Equals(other as PrimalDualHybridGradientParams);
3260
3261 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3262 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3263 public bool Equals(PrimalDualHybridGradientParams other) {
3264 if (ReferenceEquals(other, null)) {
3265 return false;
3266 }
3267 if (ReferenceEquals(other, this)) {
3268 return true;
3269 }
3270 if (!object.Equals(TerminationCriteria, other.TerminationCriteria)) return false;
3271 if (NumThreads != other.NumThreads) return false;
3272 if (NumShards != other.NumShards) return false;
3273 if (SchedulerType != other.SchedulerType) return false;
3274 if (RecordIterationStats != other.RecordIterationStats) return false;
3275 if (VerbosityLevel != other.VerbosityLevel) return false;
3276 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(LogIntervalSeconds, other.LogIntervalSeconds)) return false;
3277 if (MajorIterationFrequency != other.MajorIterationFrequency) return false;
3278 if (TerminationCheckFrequency != other.TerminationCheckFrequency) return false;
3279 if (RestartStrategy != other.RestartStrategy) return false;
3280 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(PrimalWeightUpdateSmoothing, other.PrimalWeightUpdateSmoothing)) return false;
3281 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(InitialPrimalWeight, other.InitialPrimalWeight)) return false;
3282 if (!object.Equals(PresolveOptions, other.PresolveOptions)) return false;
3283 if (LInfRuizIterations != other.LInfRuizIterations) return false;
3284 if (L2NormRescaling != other.L2NormRescaling) return false;
3285 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(SufficientReductionForRestart, other.SufficientReductionForRestart)) return false;
3286 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(NecessaryReductionForRestart, other.NecessaryReductionForRestart)) return false;
3287 if (LinesearchRule != other.LinesearchRule) return false;
3288 if (!object.Equals(AdaptiveLinesearchParameters, other.AdaptiveLinesearchParameters)) return false;
3289 if (!object.Equals(MalitskyPockParameters, other.MalitskyPockParameters)) return false;
3290 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(InitialStepSizeScaling, other.InitialStepSizeScaling)) return false;
3291 if(!randomProjectionSeeds_.Equals(other.randomProjectionSeeds_)) return false;
3292 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(InfiniteConstraintBoundThreshold, other.InfiniteConstraintBoundThreshold)) return false;
3293 if (HandleSomePrimalGradientsOnFiniteBoundsAsResiduals != other.HandleSomePrimalGradientsOnFiniteBoundsAsResiduals) return false;
3294 if (UseDiagonalQpTrustRegionSolver != other.UseDiagonalQpTrustRegionSolver) return false;
3295 if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(DiagonalQpTrustRegionSolverTolerance, other.DiagonalQpTrustRegionSolverTolerance)) return false;
3296 if (UseFeasibilityPolishing != other.UseFeasibilityPolishing) return false;
3297 return Equals(_unknownFields, other._unknownFields);
3298 }
3299
3300 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3301 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3302 public override int GetHashCode() {
3303 int hash = 1;
3304 if (terminationCriteria_ != null) hash ^= TerminationCriteria.GetHashCode();
3305 if (HasNumThreads) hash ^= NumThreads.GetHashCode();
3306 if (HasNumShards) hash ^= NumShards.GetHashCode();
3307 if (HasSchedulerType) hash ^= SchedulerType.GetHashCode();
3308 if (HasRecordIterationStats) hash ^= RecordIterationStats.GetHashCode();
3309 if (HasVerbosityLevel) hash ^= VerbosityLevel.GetHashCode();
3310 if (HasLogIntervalSeconds) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(LogIntervalSeconds);
3311 if (HasMajorIterationFrequency) hash ^= MajorIterationFrequency.GetHashCode();
3313 if (HasRestartStrategy) hash ^= RestartStrategy.GetHashCode();
3314 if (HasPrimalWeightUpdateSmoothing) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(PrimalWeightUpdateSmoothing);
3315 if (HasInitialPrimalWeight) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(InitialPrimalWeight);
3316 if (presolveOptions_ != null) hash ^= PresolveOptions.GetHashCode();
3317 if (HasLInfRuizIterations) hash ^= LInfRuizIterations.GetHashCode();
3318 if (HasL2NormRescaling) hash ^= L2NormRescaling.GetHashCode();
3319 if (HasSufficientReductionForRestart) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(SufficientReductionForRestart);
3320 if (HasNecessaryReductionForRestart) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(NecessaryReductionForRestart);
3321 if (HasLinesearchRule) hash ^= LinesearchRule.GetHashCode();
3322 if (adaptiveLinesearchParameters_ != null) hash ^= AdaptiveLinesearchParameters.GetHashCode();
3323 if (malitskyPockParameters_ != null) hash ^= MalitskyPockParameters.GetHashCode();
3324 if (HasInitialStepSizeScaling) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(InitialStepSizeScaling);
3325 hash ^= randomProjectionSeeds_.GetHashCode();
3326 if (HasInfiniteConstraintBoundThreshold) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(InfiniteConstraintBoundThreshold);
3329 if (HasDiagonalQpTrustRegionSolverTolerance) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(DiagonalQpTrustRegionSolverTolerance);
3330 if (HasUseFeasibilityPolishing) hash ^= UseFeasibilityPolishing.GetHashCode();
3331 if (_unknownFields != null) {
3332 hash ^= _unknownFields.GetHashCode();
3333 }
3334 return hash;
3335 }
3336
3337 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3338 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3339 public override string ToString() {
3340 return pb::JsonFormatter.ToDiagnosticString(this);
3342
3343 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3344 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3345 public void WriteTo(pb::CodedOutputStream output) {
3346 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3347 output.WriteRawMessage(this);
3348 #else
3349 if (terminationCriteria_ != null) {
3350 output.WriteRawTag(10);
3351 output.WriteMessage(TerminationCriteria);
3352 }
3353 if (HasNumThreads) {
3354 output.WriteRawTag(16);
3355 output.WriteInt32(NumThreads);
3356 }
3357 if (HasRecordIterationStats) {
3358 output.WriteRawTag(24);
3359 output.WriteBool(RecordIterationStats);
3360 }
3361 if (HasMajorIterationFrequency) {
3362 output.WriteRawTag(32);
3363 output.WriteInt32(MajorIterationFrequency);
3364 }
3365 if (HasTerminationCheckFrequency) {
3366 output.WriteRawTag(40);
3367 output.WriteInt32(TerminationCheckFrequency);
3368 }
3369 if (HasRestartStrategy) {
3370 output.WriteRawTag(48);
3371 output.WriteEnum((int) RestartStrategy);
3372 }
3373 if (HasPrimalWeightUpdateSmoothing) {
3374 output.WriteRawTag(57);
3375 output.WriteDouble(PrimalWeightUpdateSmoothing);
3376 }
3377 if (HasInitialPrimalWeight) {
3378 output.WriteRawTag(65);
3379 output.WriteDouble(InitialPrimalWeight);
3380 }
3381 if (HasLInfRuizIterations) {
3382 output.WriteRawTag(72);
3383 output.WriteInt32(LInfRuizIterations);
3384 }
3385 if (HasL2NormRescaling) {
3386 output.WriteRawTag(80);
3387 output.WriteBool(L2NormRescaling);
3388 }
3389 if (HasSufficientReductionForRestart) {
3390 output.WriteRawTag(89);
3391 output.WriteDouble(SufficientReductionForRestart);
3392 }
3393 if (HasLinesearchRule) {
3394 output.WriteRawTag(96);
3395 output.WriteEnum((int) LinesearchRule);
3396 }
3397 if (presolveOptions_ != null) {
3398 output.WriteRawTag(130, 1);
3399 output.WriteMessage(PresolveOptions);
3400 }
3401 if (HasNecessaryReductionForRestart) {
3402 output.WriteRawTag(137, 1);
3403 output.WriteDouble(NecessaryReductionForRestart);
3404 }
3405 if (adaptiveLinesearchParameters_ != null) {
3406 output.WriteRawTag(146, 1);
3407 output.WriteMessage(AdaptiveLinesearchParameters);
3408 }
3409 if (malitskyPockParameters_ != null) {
3410 output.WriteRawTag(154, 1);
3411 output.WriteMessage(MalitskyPockParameters);
3412 }
3413 if (HasInfiniteConstraintBoundThreshold) {
3414 output.WriteRawTag(177, 1);
3415 output.WriteDouble(InfiniteConstraintBoundThreshold);
3416 }
3417 if (HasUseDiagonalQpTrustRegionSolver) {
3418 output.WriteRawTag(184, 1);
3419 output.WriteBool(UseDiagonalQpTrustRegionSolver);
3420 }
3421 if (HasDiagonalQpTrustRegionSolverTolerance) {
3422 output.WriteRawTag(193, 1);
3423 output.WriteDouble(DiagonalQpTrustRegionSolverTolerance);
3424 }
3425 if (HasInitialStepSizeScaling) {
3426 output.WriteRawTag(201, 1);
3427 output.WriteDouble(InitialStepSizeScaling);
3428 }
3429 if (HasVerbosityLevel) {
3430 output.WriteRawTag(208, 1);
3431 output.WriteInt32(VerbosityLevel);
3432 }
3433 if (HasNumShards) {
3434 output.WriteRawTag(216, 1);
3435 output.WriteInt32(NumShards);
3436 }
3437 randomProjectionSeeds_.WriteTo(output, _repeated_randomProjectionSeeds_codec);
3438 if (HasHandleSomePrimalGradientsOnFiniteBoundsAsResiduals) {
3439 output.WriteRawTag(232, 1);
3440 output.WriteBool(HandleSomePrimalGradientsOnFiniteBoundsAsResiduals);
3441 }
3442 if (HasUseFeasibilityPolishing) {
3443 output.WriteRawTag(240, 1);
3444 output.WriteBool(UseFeasibilityPolishing);
3445 }
3446 if (HasLogIntervalSeconds) {
3447 output.WriteRawTag(249, 1);
3448 output.WriteDouble(LogIntervalSeconds);
3449 }
3450 if (HasSchedulerType) {
3451 output.WriteRawTag(128, 2);
3452 output.WriteEnum((int) SchedulerType);
3453 }
3454 if (_unknownFields != null) {
3455 _unknownFields.WriteTo(output);
3456 }
3457 #endif
3458 }
3459
3460 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3461 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3462 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3463 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
3464 if (terminationCriteria_ != null) {
3465 output.WriteRawTag(10);
3466 output.WriteMessage(TerminationCriteria);
3467 }
3468 if (HasNumThreads) {
3469 output.WriteRawTag(16);
3470 output.WriteInt32(NumThreads);
3471 }
3472 if (HasRecordIterationStats) {
3473 output.WriteRawTag(24);
3474 output.WriteBool(RecordIterationStats);
3475 }
3476 if (HasMajorIterationFrequency) {
3477 output.WriteRawTag(32);
3478 output.WriteInt32(MajorIterationFrequency);
3479 }
3480 if (HasTerminationCheckFrequency) {
3481 output.WriteRawTag(40);
3482 output.WriteInt32(TerminationCheckFrequency);
3483 }
3484 if (HasRestartStrategy) {
3485 output.WriteRawTag(48);
3486 output.WriteEnum((int) RestartStrategy);
3487 }
3488 if (HasPrimalWeightUpdateSmoothing) {
3489 output.WriteRawTag(57);
3490 output.WriteDouble(PrimalWeightUpdateSmoothing);
3491 }
3492 if (HasInitialPrimalWeight) {
3493 output.WriteRawTag(65);
3494 output.WriteDouble(InitialPrimalWeight);
3495 }
3496 if (HasLInfRuizIterations) {
3497 output.WriteRawTag(72);
3498 output.WriteInt32(LInfRuizIterations);
3499 }
3500 if (HasL2NormRescaling) {
3501 output.WriteRawTag(80);
3502 output.WriteBool(L2NormRescaling);
3503 }
3504 if (HasSufficientReductionForRestart) {
3505 output.WriteRawTag(89);
3506 output.WriteDouble(SufficientReductionForRestart);
3507 }
3508 if (HasLinesearchRule) {
3509 output.WriteRawTag(96);
3510 output.WriteEnum((int) LinesearchRule);
3511 }
3512 if (presolveOptions_ != null) {
3513 output.WriteRawTag(130, 1);
3514 output.WriteMessage(PresolveOptions);
3515 }
3516 if (HasNecessaryReductionForRestart) {
3517 output.WriteRawTag(137, 1);
3518 output.WriteDouble(NecessaryReductionForRestart);
3519 }
3520 if (adaptiveLinesearchParameters_ != null) {
3521 output.WriteRawTag(146, 1);
3522 output.WriteMessage(AdaptiveLinesearchParameters);
3523 }
3524 if (malitskyPockParameters_ != null) {
3525 output.WriteRawTag(154, 1);
3526 output.WriteMessage(MalitskyPockParameters);
3527 }
3528 if (HasInfiniteConstraintBoundThreshold) {
3529 output.WriteRawTag(177, 1);
3530 output.WriteDouble(InfiniteConstraintBoundThreshold);
3531 }
3532 if (HasUseDiagonalQpTrustRegionSolver) {
3533 output.WriteRawTag(184, 1);
3534 output.WriteBool(UseDiagonalQpTrustRegionSolver);
3535 }
3536 if (HasDiagonalQpTrustRegionSolverTolerance) {
3537 output.WriteRawTag(193, 1);
3538 output.WriteDouble(DiagonalQpTrustRegionSolverTolerance);
3539 }
3540 if (HasInitialStepSizeScaling) {
3541 output.WriteRawTag(201, 1);
3542 output.WriteDouble(InitialStepSizeScaling);
3543 }
3544 if (HasVerbosityLevel) {
3545 output.WriteRawTag(208, 1);
3546 output.WriteInt32(VerbosityLevel);
3547 }
3548 if (HasNumShards) {
3549 output.WriteRawTag(216, 1);
3550 output.WriteInt32(NumShards);
3551 }
3552 randomProjectionSeeds_.WriteTo(ref output, _repeated_randomProjectionSeeds_codec);
3553 if (HasHandleSomePrimalGradientsOnFiniteBoundsAsResiduals) {
3554 output.WriteRawTag(232, 1);
3555 output.WriteBool(HandleSomePrimalGradientsOnFiniteBoundsAsResiduals);
3556 }
3557 if (HasUseFeasibilityPolishing) {
3558 output.WriteRawTag(240, 1);
3559 output.WriteBool(UseFeasibilityPolishing);
3560 }
3561 if (HasLogIntervalSeconds) {
3562 output.WriteRawTag(249, 1);
3563 output.WriteDouble(LogIntervalSeconds);
3564 }
3565 if (HasSchedulerType) {
3566 output.WriteRawTag(128, 2);
3567 output.WriteEnum((int) SchedulerType);
3568 }
3569 if (_unknownFields != null) {
3570 _unknownFields.WriteTo(ref output);
3571 }
3572 }
3573 #endif
3574
3575 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3576 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3577 public int CalculateSize() {
3578 int size = 0;
3579 if (terminationCriteria_ != null) {
3580 size += 1 + pb::CodedOutputStream.ComputeMessageSize(TerminationCriteria);
3581 }
3582 if (HasNumThreads) {
3583 size += 1 + pb::CodedOutputStream.ComputeInt32Size(NumThreads);
3584 }
3585 if (HasNumShards) {
3586 size += 2 + pb::CodedOutputStream.ComputeInt32Size(NumShards);
3587 }
3588 if (HasSchedulerType) {
3589 size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) SchedulerType);
3590 }
3591 if (HasRecordIterationStats) {
3592 size += 1 + 1;
3593 }
3594 if (HasVerbosityLevel) {
3595 size += 2 + pb::CodedOutputStream.ComputeInt32Size(VerbosityLevel);
3596 }
3597 if (HasLogIntervalSeconds) {
3598 size += 2 + 8;
3599 }
3600 if (HasMajorIterationFrequency) {
3601 size += 1 + pb::CodedOutputStream.ComputeInt32Size(MajorIterationFrequency);
3602 }
3603 if (HasTerminationCheckFrequency) {
3604 size += 1 + pb::CodedOutputStream.ComputeInt32Size(TerminationCheckFrequency);
3605 }
3606 if (HasRestartStrategy) {
3607 size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) RestartStrategy);
3608 }
3609 if (HasPrimalWeightUpdateSmoothing) {
3610 size += 1 + 8;
3611 }
3612 if (HasInitialPrimalWeight) {
3613 size += 1 + 8;
3614 }
3615 if (presolveOptions_ != null) {
3616 size += 2 + pb::CodedOutputStream.ComputeMessageSize(PresolveOptions);
3617 }
3618 if (HasLInfRuizIterations) {
3619 size += 1 + pb::CodedOutputStream.ComputeInt32Size(LInfRuizIterations);
3620 }
3621 if (HasL2NormRescaling) {
3622 size += 1 + 1;
3623 }
3624 if (HasSufficientReductionForRestart) {
3625 size += 1 + 8;
3626 }
3627 if (HasNecessaryReductionForRestart) {
3628 size += 2 + 8;
3629 }
3630 if (HasLinesearchRule) {
3631 size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LinesearchRule);
3632 }
3633 if (adaptiveLinesearchParameters_ != null) {
3634 size += 2 + pb::CodedOutputStream.ComputeMessageSize(AdaptiveLinesearchParameters);
3635 }
3636 if (malitskyPockParameters_ != null) {
3637 size += 2 + pb::CodedOutputStream.ComputeMessageSize(MalitskyPockParameters);
3638 }
3639 if (HasInitialStepSizeScaling) {
3640 size += 2 + 8;
3641 }
3642 size += randomProjectionSeeds_.CalculateSize(_repeated_randomProjectionSeeds_codec);
3643 if (HasInfiniteConstraintBoundThreshold) {
3644 size += 2 + 8;
3645 }
3646 if (HasHandleSomePrimalGradientsOnFiniteBoundsAsResiduals) {
3647 size += 2 + 1;
3648 }
3649 if (HasUseDiagonalQpTrustRegionSolver) {
3650 size += 2 + 1;
3651 }
3652 if (HasDiagonalQpTrustRegionSolverTolerance) {
3653 size += 2 + 8;
3654 }
3655 if (HasUseFeasibilityPolishing) {
3656 size += 2 + 1;
3657 }
3658 if (_unknownFields != null) {
3659 size += _unknownFields.CalculateSize();
3660 }
3661 return size;
3662 }
3663
3664 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3665 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3666 public void MergeFrom(PrimalDualHybridGradientParams other) {
3667 if (other == null) {
3668 return;
3669 }
3670 if (other.terminationCriteria_ != null) {
3671 if (terminationCriteria_ == null) {
3672 TerminationCriteria = new global::Google.OrTools.PDLP.TerminationCriteria();
3673 }
3674 TerminationCriteria.MergeFrom(other.TerminationCriteria);
3675 }
3676 if (other.HasNumThreads) {
3677 NumThreads = other.NumThreads;
3678 }
3679 if (other.HasNumShards) {
3680 NumShards = other.NumShards;
3681 }
3682 if (other.HasSchedulerType) {
3683 SchedulerType = other.SchedulerType;
3684 }
3685 if (other.HasRecordIterationStats) {
3686 RecordIterationStats = other.RecordIterationStats;
3687 }
3688 if (other.HasVerbosityLevel) {
3689 VerbosityLevel = other.VerbosityLevel;
3690 }
3691 if (other.HasLogIntervalSeconds) {
3692 LogIntervalSeconds = other.LogIntervalSeconds;
3693 }
3694 if (other.HasMajorIterationFrequency) {
3695 MajorIterationFrequency = other.MajorIterationFrequency;
3696 }
3697 if (other.HasTerminationCheckFrequency) {
3698 TerminationCheckFrequency = other.TerminationCheckFrequency;
3699 }
3700 if (other.HasRestartStrategy) {
3701 RestartStrategy = other.RestartStrategy;
3702 }
3703 if (other.HasPrimalWeightUpdateSmoothing) {
3704 PrimalWeightUpdateSmoothing = other.PrimalWeightUpdateSmoothing;
3705 }
3706 if (other.HasInitialPrimalWeight) {
3707 InitialPrimalWeight = other.InitialPrimalWeight;
3708 }
3709 if (other.presolveOptions_ != null) {
3710 if (presolveOptions_ == null) {
3711 PresolveOptions = new global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.PresolveOptions();
3712 }
3713 PresolveOptions.MergeFrom(other.PresolveOptions);
3714 }
3715 if (other.HasLInfRuizIterations) {
3716 LInfRuizIterations = other.LInfRuizIterations;
3717 }
3718 if (other.HasL2NormRescaling) {
3719 L2NormRescaling = other.L2NormRescaling;
3720 }
3721 if (other.HasSufficientReductionForRestart) {
3722 SufficientReductionForRestart = other.SufficientReductionForRestart;
3723 }
3724 if (other.HasNecessaryReductionForRestart) {
3725 NecessaryReductionForRestart = other.NecessaryReductionForRestart;
3726 }
3727 if (other.HasLinesearchRule) {
3728 LinesearchRule = other.LinesearchRule;
3729 }
3730 if (other.adaptiveLinesearchParameters_ != null) {
3731 if (adaptiveLinesearchParameters_ == null) {
3732 AdaptiveLinesearchParameters = new global::Google.OrTools.PDLP.AdaptiveLinesearchParams();
3733 }
3734 AdaptiveLinesearchParameters.MergeFrom(other.AdaptiveLinesearchParameters);
3735 }
3736 if (other.malitskyPockParameters_ != null) {
3737 if (malitskyPockParameters_ == null) {
3738 MalitskyPockParameters = new global::Google.OrTools.PDLP.MalitskyPockParams();
3739 }
3740 MalitskyPockParameters.MergeFrom(other.MalitskyPockParameters);
3741 }
3742 if (other.HasInitialStepSizeScaling) {
3743 InitialStepSizeScaling = other.InitialStepSizeScaling;
3744 }
3745 randomProjectionSeeds_.Add(other.randomProjectionSeeds_);
3746 if (other.HasInfiniteConstraintBoundThreshold) {
3747 InfiniteConstraintBoundThreshold = other.InfiniteConstraintBoundThreshold;
3748 }
3749 if (other.HasHandleSomePrimalGradientsOnFiniteBoundsAsResiduals) {
3750 HandleSomePrimalGradientsOnFiniteBoundsAsResiduals = other.HandleSomePrimalGradientsOnFiniteBoundsAsResiduals;
3751 }
3752 if (other.HasUseDiagonalQpTrustRegionSolver) {
3753 UseDiagonalQpTrustRegionSolver = other.UseDiagonalQpTrustRegionSolver;
3754 }
3755 if (other.HasDiagonalQpTrustRegionSolverTolerance) {
3756 DiagonalQpTrustRegionSolverTolerance = other.DiagonalQpTrustRegionSolverTolerance;
3757 }
3758 if (other.HasUseFeasibilityPolishing) {
3759 UseFeasibilityPolishing = other.UseFeasibilityPolishing;
3760 }
3761 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
3762 }
3763
3764 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3765 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3766 public void MergeFrom(pb::CodedInputStream input) {
3767 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3768 input.ReadRawMessage(this);
3769 #else
3770 uint tag;
3771 while ((tag = input.ReadTag()) != 0) {
3772 if ((tag & 7) == 4) {
3773 // Abort on any end group tag.
3774 return;
3775 }
3776 switch(tag) {
3777 default:
3778 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
3779 break;
3780 case 10: {
3781 if (terminationCriteria_ == null) {
3782 TerminationCriteria = new global::Google.OrTools.PDLP.TerminationCriteria();
3783 }
3784 input.ReadMessage(TerminationCriteria);
3785 break;
3786 }
3787 case 16: {
3788 NumThreads = input.ReadInt32();
3789 break;
3790 }
3791 case 24: {
3792 RecordIterationStats = input.ReadBool();
3793 break;
3794 }
3795 case 32: {
3796 MajorIterationFrequency = input.ReadInt32();
3797 break;
3798 }
3799 case 40: {
3800 TerminationCheckFrequency = input.ReadInt32();
3801 break;
3802 }
3803 case 48: {
3804 RestartStrategy = (global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.RestartStrategy) input.ReadEnum();
3805 break;
3806 }
3807 case 57: {
3808 PrimalWeightUpdateSmoothing = input.ReadDouble();
3809 break;
3810 }
3811 case 65: {
3812 InitialPrimalWeight = input.ReadDouble();
3813 break;
3814 }
3815 case 72: {
3816 LInfRuizIterations = input.ReadInt32();
3817 break;
3818 }
3819 case 80: {
3820 L2NormRescaling = input.ReadBool();
3821 break;
3822 }
3823 case 89: {
3824 SufficientReductionForRestart = input.ReadDouble();
3825 break;
3826 }
3827 case 96: {
3828 LinesearchRule = (global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.LinesearchRule) input.ReadEnum();
3829 break;
3830 }
3831 case 130: {
3832 if (presolveOptions_ == null) {
3833 PresolveOptions = new global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.PresolveOptions();
3834 }
3835 input.ReadMessage(PresolveOptions);
3836 break;
3837 }
3838 case 137: {
3839 NecessaryReductionForRestart = input.ReadDouble();
3840 break;
3841 }
3842 case 146: {
3843 if (adaptiveLinesearchParameters_ == null) {
3844 AdaptiveLinesearchParameters = new global::Google.OrTools.PDLP.AdaptiveLinesearchParams();
3845 }
3846 input.ReadMessage(AdaptiveLinesearchParameters);
3847 break;
3848 }
3849 case 154: {
3850 if (malitskyPockParameters_ == null) {
3851 MalitskyPockParameters = new global::Google.OrTools.PDLP.MalitskyPockParams();
3852 }
3853 input.ReadMessage(MalitskyPockParameters);
3854 break;
3855 }
3856 case 177: {
3857 InfiniteConstraintBoundThreshold = input.ReadDouble();
3858 break;
3859 }
3860 case 184: {
3861 UseDiagonalQpTrustRegionSolver = input.ReadBool();
3862 break;
3863 }
3864 case 193: {
3865 DiagonalQpTrustRegionSolverTolerance = input.ReadDouble();
3866 break;
3867 }
3868 case 201: {
3869 InitialStepSizeScaling = input.ReadDouble();
3870 break;
3871 }
3872 case 208: {
3873 VerbosityLevel = input.ReadInt32();
3874 break;
3875 }
3876 case 216: {
3877 NumShards = input.ReadInt32();
3878 break;
3879 }
3880 case 226:
3881 case 224: {
3882 randomProjectionSeeds_.AddEntriesFrom(input, _repeated_randomProjectionSeeds_codec);
3883 break;
3884 }
3885 case 232: {
3887 break;
3888 }
3889 case 240: {
3890 UseFeasibilityPolishing = input.ReadBool();
3891 break;
3892 }
3893 case 249: {
3894 LogIntervalSeconds = input.ReadDouble();
3895 break;
3896 }
3897 case 256: {
3898 SchedulerType = (global::Google.OrTools.PDLP.SchedulerType) input.ReadEnum();
3899 break;
3900 }
3901 }
3902 }
3903 #endif
3904 }
3905
3906 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3907 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3908 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
3909 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
3910 uint tag;
3911 while ((tag = input.ReadTag()) != 0) {
3912 if ((tag & 7) == 4) {
3913 // Abort on any end group tag.
3914 return;
3915 }
3916 switch(tag) {
3917 default:
3918 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
3919 break;
3920 case 10: {
3921 if (terminationCriteria_ == null) {
3922 TerminationCriteria = new global::Google.OrTools.PDLP.TerminationCriteria();
3923 }
3924 input.ReadMessage(TerminationCriteria);
3925 break;
3926 }
3927 case 16: {
3928 NumThreads = input.ReadInt32();
3929 break;
3930 }
3931 case 24: {
3932 RecordIterationStats = input.ReadBool();
3933 break;
3934 }
3935 case 32: {
3936 MajorIterationFrequency = input.ReadInt32();
3937 break;
3938 }
3939 case 40: {
3940 TerminationCheckFrequency = input.ReadInt32();
3941 break;
3942 }
3943 case 48: {
3944 RestartStrategy = (global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.RestartStrategy) input.ReadEnum();
3945 break;
3946 }
3947 case 57: {
3948 PrimalWeightUpdateSmoothing = input.ReadDouble();
3949 break;
3950 }
3951 case 65: {
3952 InitialPrimalWeight = input.ReadDouble();
3953 break;
3954 }
3955 case 72: {
3956 LInfRuizIterations = input.ReadInt32();
3957 break;
3958 }
3959 case 80: {
3960 L2NormRescaling = input.ReadBool();
3961 break;
3962 }
3963 case 89: {
3964 SufficientReductionForRestart = input.ReadDouble();
3965 break;
3966 }
3967 case 96: {
3968 LinesearchRule = (global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.LinesearchRule) input.ReadEnum();
3969 break;
3970 }
3971 case 130: {
3972 if (presolveOptions_ == null) {
3973 PresolveOptions = new global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.PresolveOptions();
3974 }
3975 input.ReadMessage(PresolveOptions);
3976 break;
3977 }
3978 case 137: {
3979 NecessaryReductionForRestart = input.ReadDouble();
3980 break;
3981 }
3982 case 146: {
3983 if (adaptiveLinesearchParameters_ == null) {
3984 AdaptiveLinesearchParameters = new global::Google.OrTools.PDLP.AdaptiveLinesearchParams();
3985 }
3986 input.ReadMessage(AdaptiveLinesearchParameters);
3987 break;
3988 }
3989 case 154: {
3990 if (malitskyPockParameters_ == null) {
3991 MalitskyPockParameters = new global::Google.OrTools.PDLP.MalitskyPockParams();
3992 }
3993 input.ReadMessage(MalitskyPockParameters);
3994 break;
3995 }
3996 case 177: {
3997 InfiniteConstraintBoundThreshold = input.ReadDouble();
3998 break;
3999 }
4000 case 184: {
4001 UseDiagonalQpTrustRegionSolver = input.ReadBool();
4002 break;
4003 }
4004 case 193: {
4005 DiagonalQpTrustRegionSolverTolerance = input.ReadDouble();
4006 break;
4007 }
4008 case 201: {
4009 InitialStepSizeScaling = input.ReadDouble();
4010 break;
4011 }
4012 case 208: {
4013 VerbosityLevel = input.ReadInt32();
4014 break;
4015 }
4016 case 216: {
4017 NumShards = input.ReadInt32();
4018 break;
4019 }
4020 case 226:
4021 case 224: {
4022 randomProjectionSeeds_.AddEntriesFrom(ref input, _repeated_randomProjectionSeeds_codec);
4023 break;
4024 }
4025 case 232: {
4026 HandleSomePrimalGradientsOnFiniteBoundsAsResiduals = input.ReadBool();
4027 break;
4028 }
4029 case 240: {
4030 UseFeasibilityPolishing = input.ReadBool();
4031 break;
4032 }
4033 case 249: {
4034 LogIntervalSeconds = input.ReadDouble();
4035 break;
4036 }
4037 case 256: {
4038 SchedulerType = (global::Google.OrTools.PDLP.SchedulerType) input.ReadEnum();
4039 break;
4040 }
4041 }
4042 }
4043 }
4044 #endif
4045
4046 #region Nested types
4048 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4049 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4050 public static partial class Types {
4051 public enum RestartStrategy {
4052 [pbr::OriginalName("RESTART_STRATEGY_UNSPECIFIED")] Unspecified = 0,
4053 /// <summary>
4054 /// No restarts are performed. The average solution is cleared every major
4055 /// iteration, but the current solution is not changed.
4056 /// </summary>
4057 [pbr::OriginalName("NO_RESTARTS")] NoRestarts = 1,
4062 [pbr::OriginalName("EVERY_MAJOR_ITERATION")] EveryMajorIteration = 2,
4071 [pbr::OriginalName("ADAPTIVE_HEURISTIC")] AdaptiveHeuristic = 3,
4079 [pbr::OriginalName("ADAPTIVE_DISTANCE_BASED")] AdaptiveDistanceBased = 4,
4080 }
4082 public enum LinesearchRule {
4083 [pbr::OriginalName("LINESEARCH_RULE_UNSPECIFIED")] Unspecified = 0,
4084 /// <summary>
4085 /// Applies the heuristic rule presented in Section 3.1 of
4086 /// https://arxiv.org/pdf/2106.04756.pdf (further generalized to QP). There
4087 /// is not a proof of convergence for it. It is usually the fastest in
4088 /// practice but sometimes behaves poorly.
4089 /// </summary>
4090 [pbr::OriginalName("ADAPTIVE_LINESEARCH_RULE")] AdaptiveLinesearchRule = 1,
4097 [pbr::OriginalName("MALITSKY_POCK_LINESEARCH_RULE")] MalitskyPockLinesearchRule = 2,
4102 [pbr::OriginalName("CONSTANT_STEP_SIZE_RULE")] ConstantStepSizeRule = 3,
4103 }
4105 [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
4106 public sealed partial class PresolveOptions : pb::IMessage<PresolveOptions>
4107 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4108 , pb::IBufferMessage
4109 #endif
4110 {
4111 private static readonly pb::MessageParser<PresolveOptions> _parser = new pb::MessageParser<PresolveOptions>(() => new PresolveOptions());
4112 private pb::UnknownFieldSet _unknownFields;
4113 private int _hasBits0;
4114 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4115 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4116 public static pb::MessageParser<PresolveOptions> Parser { get { return _parser; } }
4117
4118 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4119 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4120 public static pbr::MessageDescriptor Descriptor {
4121 get { return global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Descriptor.NestedTypes[0]; }
4123
4124 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4125 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4126 pbr::MessageDescriptor pb::IMessage.Descriptor {
4127 get { return Descriptor; }
4128 }
4129
4130 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4131 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4132 public PresolveOptions() {
4133 OnConstruction();
4135
4136 partial void OnConstruction();
4137
4138 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4139 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4140 public PresolveOptions(PresolveOptions other) : this() {
4141 _hasBits0 = other._hasBits0;
4142 useGlop_ = other.useGlop_;
4143 glopParameters_ = other.glopParameters_ != null ? other.glopParameters_.Clone() : null;
4144 _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
4145 }
4146
4147 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4148 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4149 public PresolveOptions Clone() {
4150 return new PresolveOptions(this);
4152
4154 public const int UseGlopFieldNumber = 1;
4155 private readonly static bool UseGlopDefaultValue = false;
4157 private bool useGlop_;
4168 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4169 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4170 public bool UseGlop {
4171 get { if ((_hasBits0 & 1) != 0) { return useGlop_; } else { return UseGlopDefaultValue; } }
4172 set {
4173 _hasBits0 |= 1;
4174 useGlop_ = value;
4175 }
4176 }
4178 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4179 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4180 public bool HasUseGlop {
4181 get { return (_hasBits0 & 1) != 0; }
4184 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4185 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4186 public void ClearUseGlop() {
4187 _hasBits0 &= ~1;
4189
4191 public const int GlopParametersFieldNumber = 2;
4192 private global::Google.OrTools.Glop.GlopParameters glopParameters_;
4197 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4198 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4199 public global::Google.OrTools.Glop.GlopParameters GlopParameters {
4200 get { return glopParameters_; }
4201 set {
4202 glopParameters_ = value;
4203 }
4204 }
4205
4206 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4207 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4208 public override bool Equals(object other) {
4209 return Equals(other as PresolveOptions);
4211
4212 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4213 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4214 public bool Equals(PresolveOptions other) {
4215 if (ReferenceEquals(other, null)) {
4216 return false;
4217 }
4218 if (ReferenceEquals(other, this)) {
4219 return true;
4220 }
4221 if (UseGlop != other.UseGlop) return false;
4222 if (!object.Equals(GlopParameters, other.GlopParameters)) return false;
4223 return Equals(_unknownFields, other._unknownFields);
4224 }
4225
4226 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4227 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4228 public override int GetHashCode() {
4229 int hash = 1;
4230 if (HasUseGlop) hash ^= UseGlop.GetHashCode();
4231 if (glopParameters_ != null) hash ^= GlopParameters.GetHashCode();
4232 if (_unknownFields != null) {
4233 hash ^= _unknownFields.GetHashCode();
4234 }
4235 return hash;
4236 }
4237
4238 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4239 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4240 public override string ToString() {
4241 return pb::JsonFormatter.ToDiagnosticString(this);
4243
4244 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4245 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4246 public void WriteTo(pb::CodedOutputStream output) {
4247 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4248 output.WriteRawMessage(this);
4249 #else
4250 if (HasUseGlop) {
4251 output.WriteRawTag(8);
4252 output.WriteBool(UseGlop);
4253 }
4254 if (glopParameters_ != null) {
4255 output.WriteRawTag(18);
4256 output.WriteMessage(GlopParameters);
4257 }
4258 if (_unknownFields != null) {
4259 _unknownFields.WriteTo(output);
4260 }
4261 #endif
4262 }
4263
4264 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4265 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4266 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4267 void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
4268 if (HasUseGlop) {
4269 output.WriteRawTag(8);
4270 output.WriteBool(UseGlop);
4271 }
4272 if (glopParameters_ != null) {
4273 output.WriteRawTag(18);
4274 output.WriteMessage(GlopParameters);
4275 }
4276 if (_unknownFields != null) {
4277 _unknownFields.WriteTo(ref output);
4278 }
4279 }
4280 #endif
4281
4282 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4283 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4284 public int CalculateSize() {
4285 int size = 0;
4287 size += 1 + 1;
4288 }
4289 if (glopParameters_ != null) {
4290 size += 1 + pb::CodedOutputStream.ComputeMessageSize(GlopParameters);
4291 }
4292 if (_unknownFields != null) {
4293 size += _unknownFields.CalculateSize();
4294 }
4295 return size;
4296 }
4297
4298 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4299 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4300 public void MergeFrom(PresolveOptions other) {
4301 if (other == null) {
4302 return;
4303 }
4304 if (other.HasUseGlop) {
4305 UseGlop = other.UseGlop;
4306 }
4307 if (other.glopParameters_ != null) {
4308 if (glopParameters_ == null) {
4309 GlopParameters = new global::Google.OrTools.Glop.GlopParameters();
4310 }
4311 GlopParameters.MergeFrom(other.GlopParameters);
4312 }
4313 _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
4314 }
4315
4316 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4317 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4318 public void MergeFrom(pb::CodedInputStream input) {
4319 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4320 input.ReadRawMessage(this);
4321 #else
4322 uint tag;
4323 while ((tag = input.ReadTag()) != 0) {
4324 if ((tag & 7) == 4) {
4325 // Abort on any end group tag.
4326 return;
4327 }
4328 switch(tag) {
4329 default:
4330 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
4331 break;
4332 case 8: {
4333 UseGlop = input.ReadBool();
4334 break;
4335 }
4336 case 18: {
4337 if (glopParameters_ == null) {
4338 GlopParameters = new global::Google.OrTools.Glop.GlopParameters();
4339 }
4340 input.ReadMessage(GlopParameters);
4341 break;
4342 }
4343 }
4344 }
4345 #endif
4346 }
4347
4348 #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4349 [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4350 [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
4351 void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
4352 uint tag;
4353 while ((tag = input.ReadTag()) != 0) {
4354 if ((tag & 7) == 4) {
4355 // Abort on any end group tag.
4356 return;
4357 }
4358 switch(tag) {
4359 default:
4360 _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
4361 break;
4362 case 8: {
4363 UseGlop = input.ReadBool();
4364 break;
4365 }
4366 case 18: {
4367 if (glopParameters_ == null) {
4368 GlopParameters = new global::Google.OrTools.Glop.GlopParameters();
4369 }
4370 input.ReadMessage(GlopParameters);
4371 break;
4372 }
4373 }
4374 }
4375 }
4376 #endif
4377
4378 }
4379
4380 }
4381 #endregion
4382
4383 }
4384
4385 #endregion
4386
4387}
4388
4389#endregion Designer generated code
global::Google.Protobuf pb
Definition SetCover.pb.cs:8
global::Google.Protobuf.Reflection pbr
global::System.Collections.Generic scg
global::Google.Protobuf.Collections pbc
Definition SetCover.pb.cs:9
At the end of each iteration, regardless of whether the step was accepted or not, the adaptive rule u...
static pb::MessageParser< AdaptiveLinesearchParams > Parser
void WriteTo(pb::CodedOutputStream output)
static pbr::MessageDescriptor Descriptor
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...
const int StepSizeGrowthExponentFieldNumber
Field number for the "step_size_growth_exponent" field.
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)
const int StepSizeReductionExponentFieldNumber
Field number for the "step_size_reduction_exponent" field.
void MergeFrom(AdaptiveLinesearchParams other)
void MergeFrom(pb::CodedInputStream input)
const int StepSizeDownscalingFactorFieldNumber
Field number for the "step_size_downscaling_factor" field.
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.
const int LinesearchContractionFactorFieldNumber
Field number for the "linesearch_contraction_factor" field.
static pb::MessageParser< MalitskyPockParams > Parser
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.
const int StepSizeInterpolationFieldNumber
Field number for the "step_size_interpolation" field.
void MergeFrom(pb::CodedInputStream input)
bool Equals(MalitskyPockParams other)
static pbr::MessageDescriptor Descriptor
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.
Container for nested types declared in the PrimalDualHybridGradientParams message type.
@ AdaptiveHeuristic
A heuristic that adaptively decides on every major iteration whether to restart (this is forced appro...
@ AdaptiveDistanceBased
A distance-based restarting scheme that restarts the algorithm whenever an appropriate potential func...
@ EveryMajorIteration
On every major iteration, the current solution is reset to the average since the last major iteration...
@ NoRestarts
No restarts are performed. The average solution is cleared every major iteration, but the current sol...
@ MalitskyPockLinesearchRule
Applies Malitsky & Pock linesearch rule. This guarantees an ergodic O(1/N) convergence rate https://a...
@ ConstantStepSizeRule
Uses a constant step size corresponding to an estimate of the maximum singular value of the constrain...
@ AdaptiveLinesearchRule
Applies the heuristic rule presented in Section 3.1 of https://arxiv.org/pdf/2106....
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.
const int MalitskyPockParametersFieldNumber
Field number for the "malitsky_pock_parameters" field.
const int L2NormRescalingFieldNumber
Field number for the "l2_norm_rescaling" field.
const int TerminationCriteriaFieldNumber
Field number for the "termination_criteria" field.
global::Google.OrTools.PDLP.SchedulerType SchedulerType
The type of scheduler used for CPU multi-threading. See the documentation of the corresponding enum f...
bool HasRecordIterationStats
Gets whether the "record_iteration_stats" field is set.
global::Google.OrTools.PDLP.PrimalDualHybridGradientParams.Types.LinesearchRule LinesearchRule
Linesearch rule applied at each major iteration.
const int TerminationCheckFrequencyFieldNumber
Field number for the "termination_check_frequency" field.
bool HasInitialPrimalWeight
Gets whether the "initial_primal_weight" field is set.
bool HasRestartStrategy
Gets whether the "restart_strategy" field is set.
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...
bool HasHandleSomePrimalGradientsOnFiniteBoundsAsResiduals
Gets whether the "handle_some_primal_gradients_on_finite_bounds_as_residuals" field is set.
bool HasTerminationCheckFrequency
Gets whether the "termination_check_frequency" field is set.
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 HasDiagonalQpTrustRegionSolverTolerance
Gets whether the "diagonal_qp_trust_region_solver_tolerance" field is set.
bool UseFeasibilityPolishing
If true, periodically runs feasibility polishing, which attempts to move from latest average iterate ...
const int RecordIterationStatsFieldNumber
Field number for the "record_iteration_stats" field.
void ClearMajorIterationFrequency()
Clears the value of the "major_iteration_frequency" field.
const int MajorIterationFrequencyFieldNumber
Field number for the "major_iteration_frequency" field.
const int SufficientReductionForRestartFieldNumber
Field number for the "sufficient_reduction_for_restart" field.
void ClearDiagonalQpTrustRegionSolverTolerance()
Clears the value of the "diagonal_qp_trust_region_solver_tolerance" field.
const int PrimalWeightUpdateSmoothingFieldNumber
Field number for the "primal_weight_update_smoothing" field.
void ClearSchedulerType()
Clears the value of the "scheduler_type" field.
void ClearUseDiagonalQpTrustRegionSolver()
Clears the value of the "use_diagonal_qp_trust_region_solver" field.
bool HasLogIntervalSeconds
Gets whether the "log_interval_seconds" field is set.
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.
bool HasVerbosityLevel
Gets whether the "verbosity_level" field is set.
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 ...
const int NecessaryReductionForRestartFieldNumber
Field number for the "necessary_reduction_for_restart" field.
void ClearRestartStrategy()
Clears the value of the "restart_strategy" field.
bool HasInfiniteConstraintBoundThreshold
Gets whether the "infinite_constraint_bound_threshold" field is set.
bool HasNumThreads
Gets whether the "num_threads" field is set.
bool HasLInfRuizIterations
Gets whether the "l_inf_ruiz_iterations" field is set.
const int PresolveOptionsFieldNumber
Field number for the "presolve_options" field.
const int UseDiagonalQpTrustRegionSolverFieldNumber
Field number for the "use_diagonal_qp_trust_region_solver" field.
bool HasSufficientReductionForRestart
Gets whether the "sufficient_reduction_for_restart" field is set.
const int InfiniteConstraintBoundThresholdFieldNumber
Field number for the "infinite_constraint_bound_threshold" field.
double InfiniteConstraintBoundThreshold
Constraint bounds with absolute value at least this threshold are replaced with infinities.
bool HasL2NormRescaling
Gets whether the "l2_norm_rescaling" field is set.
const int LInfRuizIterationsFieldNumber
Field number for the "l_inf_ruiz_iterations" field.
void ClearInitialStepSizeScaling()
Clears the value of the "initial_step_size_scaling" field.
bool HasPrimalWeightUpdateSmoothing
Gets whether the "primal_weight_update_smoothing" field is set.
bool HasUseFeasibilityPolishing
Gets whether the "use_feasibility_polishing" field is set.
void WriteTo(pb::CodedOutputStream output)
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.
bool HasNecessaryReductionForRestart
Gets whether the "necessary_reduction_for_restart" field is set.
void ClearNumThreads()
Clears the value of the "num_threads" field.
bool HasUseDiagonalQpTrustRegionSolver
Gets whether the "use_diagonal_qp_trust_region_solver" field is set.
const int LinesearchRuleFieldNumber
Field number for the "linesearch_rule" 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,...
const int HandleSomePrimalGradientsOnFiniteBoundsAsResidualsFieldNumber
Field number for the "handle_some_primal_gradients_on_finite_bounds_as_residuals" field.
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....
const int InitialStepSizeScalingFieldNumber
Field number for the "initial_step_size_scaling" field.
void ClearLInfRuizIterations()
Clears the value of the "l_inf_ruiz_iterations" field.
static pb::MessageParser< PrimalDualHybridGradientParams > Parser
void ClearRecordIterationStats()
Clears the value of the "record_iteration_stats" field.
bool HasMajorIterationFrequency
Gets whether the "major_iteration_frequency" field is set.
global::Google.OrTools.PDLP.AdaptiveLinesearchParams AdaptiveLinesearchParameters
const int SchedulerTypeFieldNumber
Field number for the "scheduler_type" field.
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)....
pbc::RepeatedField< int > RandomProjectionSeeds
Seeds for generating (pseudo-)random projections of iterates during termination checks....
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...
const int NumShardsFieldNumber
Field number for the "num_shards" field.
bool HasNumShards
Gets whether the "num_shards" field is set.
PrimalDualHybridGradientParams(PrimalDualHybridGradientParams other)
global::Google.OrTools.PDLP.MalitskyPockParams MalitskyPockParameters
bool HasSchedulerType
Gets whether the "scheduler_type" field is set.
const int NumThreadsFieldNumber
Field number for the "num_threads" field.
int MajorIterationFrequency
The frequency at which extra work is performed to make major algorithmic decisions,...
const int LogIntervalSecondsFieldNumber
Field number for the "log_interval_seconds" field.
const int DiagonalQpTrustRegionSolverToleranceFieldNumber
Field number for the "diagonal_qp_trust_region_solver_tolerance" field.
const int AdaptiveLinesearchParametersFieldNumber
Field number for the "adaptive_linesearch_parameters" field.
bool HasInitialStepSizeScaling
Gets whether the "initial_step_size_scaling" field is set.
const int UseFeasibilityPolishingFieldNumber
Field number for the "use_feasibility_polishing" field.
const int RandomProjectionSeedsFieldNumber
Field number for the "random_projection_seeds" field.
void ClearL2NormRescaling()
Clears the value of the "l2_norm_rescaling" field.
bool HasLinesearchRule
Gets whether the "linesearch_rule" field is set.
const int InitialPrimalWeightFieldNumber
Field number for the "initial_primal_weight" field.
double PrimalWeightUpdateSmoothing
This parameter controls exponential smoothing of log(primal_weight) when a primal weight update occur...
const int VerbosityLevelFieldNumber
Field number for the "verbosity_level" field.
void ClearSufficientReductionForRestart()
Clears the value of the "sufficient_reduction_for_restart" field.
void ClearLogIntervalSeconds()
Clears the value of the "log_interval_seconds" field.
const int RestartStrategyFieldNumber
Field number for the "restart_strategy" 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
const int EpsOptimalPrimalResidualRelativeFieldNumber
Field number for the "eps_optimal_primal_residual_relative" field.
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.
const int EpsOptimalDualResidualAbsoluteFieldNumber
Field number for the "eps_optimal_dual_residual_absolute" field.
void ClearEpsOptimalPrimalResidualRelative()
Clears the value of the "eps_optimal_primal_residual_relative" field.
static pb::MessageParser< DetailedOptimalityCriteria > Parser
bool HasEpsOptimalPrimalResidualAbsolute
Gets whether the "eps_optimal_primal_residual_absolute" field is set.
const int EpsOptimalObjectiveGapAbsoluteFieldNumber
Field number for the "eps_optimal_objective_gap_absolute" field.
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.
const int EpsOptimalObjectiveGapRelativeFieldNumber
Field number for the "eps_optimal_objective_gap_relative" field.
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.
const int EpsOptimalPrimalResidualAbsoluteFieldNumber
Field number for the "eps_optimal_primal_residual_absolute" field.
bool HasEpsOptimalDualResidualAbsolute
Gets whether the "eps_optimal_dual_residual_absolute" field is set.
const int EpsOptimalDualResidualRelativeFieldNumber
Field number for the "eps_optimal_dual_residual_relative" field.
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.
static pb::MessageParser< SimpleOptimalityCriteria > Parser
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.
const int EpsOptimalRelativeFieldNumber
Field number for the "eps_optimal_relative" field.
double EpsOptimalAbsolute
Absolute tolerance on the primal residual, dual residual, and objective gap.
const int EpsOptimalAbsoluteFieldNumber
Field number for the "eps_optimal_absolute" field.
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.
const int IterationLimitFieldNumber
Field number for the "iteration_limit" field.
bool HasOptimalityNorm
Gets whether the "optimality_norm" field is set.
const int SimpleOptimalityCriteriaFieldNumber
Field number for the "simple_optimality_criteria" field.
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...
const int EpsDualInfeasibleFieldNumber
Field number for the "eps_dual_infeasible" field.
bool HasEpsOptimalRelative
Gets whether the "eps_optimal_relative" field is set.
const int EpsOptimalAbsoluteFieldNumber
Field number for the "eps_optimal_absolute" field.
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.
static pbr::MessageDescriptor Descriptor
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,...
const int EpsOptimalRelativeFieldNumber
Field number for the "eps_optimal_relative" field.
const int DetailedOptimalityCriteriaFieldNumber
Field number for the "detailed_optimality_criteria" field.
void ClearEpsDualInfeasible()
Clears the value of the "eps_dual_infeasible" field.
static pb::MessageParser< TerminationCriteria > Parser
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...
const int TimeSecLimitFieldNumber
Field number for the "time_sec_limit" field.
const int KktMatrixPassLimitFieldNumber
Field number for the "kkt_matrix_pass_limit" field.
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.
const int OptimalityNormFieldNumber
Field number for the "optimality_norm" field.
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.
const int EpsPrimalInfeasibleFieldNumber
Field number for the "eps_primal_infeasible" field.
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 ...
SchedulerType
The type of system used to schedule CPU threads to do work in parallel.
@ GoogleThreadpool
Google ThreadPool with barrier synchronization.
@ EigenThreadpool
Eigen non-blocking ThreadPool with barrier synchronization (see <Eigen/ThreadPool>).