Java Reference

Java Reference

MPSolverParameters.java
Go to the documentation of this file.
1/* ----------------------------------------------------------------------------
2 * This file was automatically generated by SWIG (http://www.swig.org).
3 * Version 4.0.2
4 *
5 * Do not make changes to this file unless you know what you are doing--modify
6 * the SWIG interface file instead.
7 * ----------------------------------------------------------------------------- */
8
9package com.google.ortools.linearsolver;
10
11import java.lang.reflect.*;
12
39public class MPSolverParameters {
40 private transient long swigCPtr;
41 protected transient boolean swigCMemOwn;
42
43 protected MPSolverParameters(long cPtr, boolean cMemoryOwn) {
44 swigCMemOwn = cMemoryOwn;
45 swigCPtr = cPtr;
46 }
47
48 protected static long getCPtr(MPSolverParameters obj) {
49 return (obj == null) ? 0 : obj.swigCPtr;
50 }
51
52 @SuppressWarnings("deprecation")
53 protected void finalize() {
54 delete();
55 }
56
57 public synchronized void delete() {
58 if (swigCPtr != 0) {
59 if (swigCMemOwn) {
60 swigCMemOwn = false;
61 main_research_linear_solverJNI.delete_MPSolverParameters(swigCPtr);
62 }
63 swigCPtr = 0;
64 }
65 }
66
67 public static double getKDefaultRelativeMipGap() {
68 return main_research_linear_solverJNI.MPSolverParameters_kDefaultRelativeMipGap_get();
69 }
70
71 public static double getKDefaultPrimalTolerance() {
72 return main_research_linear_solverJNI.MPSolverParameters_kDefaultPrimalTolerance_get();
73 }
74
75 public static double getKDefaultDualTolerance() {
76 return main_research_linear_solverJNI.MPSolverParameters_kDefaultDualTolerance_get();
77 }
78
80 return MPSolverParameters.PresolveValues.swigToEnum(main_research_linear_solverJNI.MPSolverParameters_kDefaultPresolve_get());
81 }
82
84 return MPSolverParameters.IncrementalityValues.swigToEnum(main_research_linear_solverJNI.MPSolverParameters_kDefaultIncrementality_get());
85 }
86
91 this(main_research_linear_solverJNI.new_MPSolverParameters(), true);
92 }
93
97 public void setDoubleParam(MPSolverParameters.DoubleParam param, double value) {
98 main_research_linear_solverJNI.MPSolverParameters_setDoubleParam(swigCPtr, this, param.swigValue(), value);
99 }
100
104 public void setIntegerParam(MPSolverParameters.IntegerParam param, int value) {
105 main_research_linear_solverJNI.MPSolverParameters_setIntegerParam(swigCPtr, this, param.swigValue(), value);
106 }
107
112 return main_research_linear_solverJNI.MPSolverParameters_getDoubleParam(swigCPtr, this, param.swigValue());
113 }
114
119 return main_research_linear_solverJNI.MPSolverParameters_getIntegerParam(swigCPtr, this, param.swigValue());
120 }
121
125 public enum DoubleParam {
129 RELATIVE_MIP_GAP(main_research_linear_solverJNI.MPSolverParameters_RELATIVE_MIP_GAP_get()),
136 PRIMAL_TOLERANCE(main_research_linear_solverJNI.MPSolverParameters_PRIMAL_TOLERANCE_get()),
140 DUAL_TOLERANCE(main_research_linear_solverJNI.MPSolverParameters_DUAL_TOLERANCE_get());
141
142 public final int swigValue() {
143 return swigValue;
144 }
145
146 public static DoubleParam swigToEnum(int swigValue) {
147 DoubleParam[] swigValues = DoubleParam.class.getEnumConstants();
148 if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue)
149 return swigValues[swigValue];
150 for (DoubleParam swigEnum : swigValues)
151 if (swigEnum.swigValue == swigValue)
152 return swigEnum;
153 throw new IllegalArgumentException("No enum " + DoubleParam.class + " with value " + swigValue);
154 }
155
156 @SuppressWarnings("unused")
157 private DoubleParam() {
158 this.swigValue = SwigNext.next++;
159 }
160
161 @SuppressWarnings("unused")
162 private DoubleParam(int swigValue) {
163 this.swigValue = swigValue;
164 SwigNext.next = swigValue+1;
165 }
166
167 @SuppressWarnings("unused")
168 private DoubleParam(DoubleParam swigEnum) {
169 this.swigValue = swigEnum.swigValue;
170 SwigNext.next = this.swigValue+1;
171 }
172
173 private final int swigValue;
174
175 private static class SwigNext {
176 private static int next = 0;
177 }
178 }
179
183 public enum IntegerParam {
187 PRESOLVE(main_research_linear_solverJNI.MPSolverParameters_PRESOLVE_get()),
191 LP_ALGORITHM(main_research_linear_solverJNI.MPSolverParameters_LP_ALGORITHM_get()),
195 INCREMENTALITY(main_research_linear_solverJNI.MPSolverParameters_INCREMENTALITY_get()),
199 SCALING(main_research_linear_solverJNI.MPSolverParameters_SCALING_get());
200
201 public final int swigValue() {
202 return swigValue;
203 }
204
205 public static IntegerParam swigToEnum(int swigValue) {
206 IntegerParam[] swigValues = IntegerParam.class.getEnumConstants();
207 if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue)
208 return swigValues[swigValue];
209 for (IntegerParam swigEnum : swigValues)
210 if (swigEnum.swigValue == swigValue)
211 return swigEnum;
212 throw new IllegalArgumentException("No enum " + IntegerParam.class + " with value " + swigValue);
213 }
214
215 @SuppressWarnings("unused")
216 private IntegerParam() {
217 this.swigValue = SwigNext.next++;
218 }
219
220 @SuppressWarnings("unused")
221 private IntegerParam(int swigValue) {
222 this.swigValue = swigValue;
223 SwigNext.next = swigValue+1;
224 }
225
226 @SuppressWarnings("unused")
227 private IntegerParam(IntegerParam swigEnum) {
228 this.swigValue = swigEnum.swigValue;
229 SwigNext.next = this.swigValue+1;
230 }
231
232 private final int swigValue;
233
234 private static class SwigNext {
235 private static int next = 0;
236 }
237 }
238
242 public enum PresolveValues {
246 PRESOLVE_OFF(main_research_linear_solverJNI.MPSolverParameters_PRESOLVE_OFF_get()),
250 PRESOLVE_ON(main_research_linear_solverJNI.MPSolverParameters_PRESOLVE_ON_get());
251
252 public final int swigValue() {
253 return swigValue;
254 }
255
256 public static PresolveValues swigToEnum(int swigValue) {
257 PresolveValues[] swigValues = PresolveValues.class.getEnumConstants();
258 if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue)
259 return swigValues[swigValue];
260 for (PresolveValues swigEnum : swigValues)
261 if (swigEnum.swigValue == swigValue)
262 return swigEnum;
263 throw new IllegalArgumentException("No enum " + PresolveValues.class + " with value " + swigValue);
264 }
265
266 @SuppressWarnings("unused")
267 private PresolveValues() {
268 this.swigValue = SwigNext.next++;
269 }
270
271 @SuppressWarnings("unused")
272 private PresolveValues(int swigValue) {
273 this.swigValue = swigValue;
274 SwigNext.next = swigValue+1;
275 }
276
277 @SuppressWarnings("unused")
278 private PresolveValues(PresolveValues swigEnum) {
279 this.swigValue = swigEnum.swigValue;
280 SwigNext.next = this.swigValue+1;
281 }
282
283 private final int swigValue;
284
285 private static class SwigNext {
286 private static int next = 0;
287 }
288 }
289
293 public enum LpAlgorithmValues {
297 DUAL(main_research_linear_solverJNI.MPSolverParameters_DUAL_get()),
301 PRIMAL(main_research_linear_solverJNI.MPSolverParameters_PRIMAL_get()),
305 BARRIER(main_research_linear_solverJNI.MPSolverParameters_BARRIER_get());
306
307 public final int swigValue() {
308 return swigValue;
309 }
310
311 public static LpAlgorithmValues swigToEnum(int swigValue) {
312 LpAlgorithmValues[] swigValues = LpAlgorithmValues.class.getEnumConstants();
313 if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue)
314 return swigValues[swigValue];
315 for (LpAlgorithmValues swigEnum : swigValues)
316 if (swigEnum.swigValue == swigValue)
317 return swigEnum;
318 throw new IllegalArgumentException("No enum " + LpAlgorithmValues.class + " with value " + swigValue);
319 }
320
321 @SuppressWarnings("unused")
322 private LpAlgorithmValues() {
323 this.swigValue = SwigNext.next++;
324 }
325
326 @SuppressWarnings("unused")
327 private LpAlgorithmValues(int swigValue) {
328 this.swigValue = swigValue;
329 SwigNext.next = swigValue+1;
330 }
331
332 @SuppressWarnings("unused")
333 private LpAlgorithmValues(LpAlgorithmValues swigEnum) {
334 this.swigValue = swigEnum.swigValue;
335 SwigNext.next = this.swigValue+1;
336 }
337
338 private final int swigValue;
339
340 private static class SwigNext {
341 private static int next = 0;
342 }
343 }
344
352 INCREMENTALITY_OFF(main_research_linear_solverJNI.MPSolverParameters_INCREMENTALITY_OFF_get()),
357 INCREMENTALITY_ON(main_research_linear_solverJNI.MPSolverParameters_INCREMENTALITY_ON_get());
358
359 public final int swigValue() {
360 return swigValue;
361 }
362
363 public static IncrementalityValues swigToEnum(int swigValue) {
364 IncrementalityValues[] swigValues = IncrementalityValues.class.getEnumConstants();
365 if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue)
366 return swigValues[swigValue];
367 for (IncrementalityValues swigEnum : swigValues)
368 if (swigEnum.swigValue == swigValue)
369 return swigEnum;
370 throw new IllegalArgumentException("No enum " + IncrementalityValues.class + " with value " + swigValue);
371 }
372
373 @SuppressWarnings("unused")
374 private IncrementalityValues() {
375 this.swigValue = SwigNext.next++;
376 }
377
378 @SuppressWarnings("unused")
379 private IncrementalityValues(int swigValue) {
380 this.swigValue = swigValue;
381 SwigNext.next = swigValue+1;
382 }
383
384 @SuppressWarnings("unused")
385 private IncrementalityValues(IncrementalityValues swigEnum) {
386 this.swigValue = swigEnum.swigValue;
387 SwigNext.next = this.swigValue+1;
388 }
389
390 private final int swigValue;
391
392 private static class SwigNext {
393 private static int next = 0;
394 }
395 }
396
400 public enum ScalingValues {
404 SCALING_OFF(main_research_linear_solverJNI.MPSolverParameters_SCALING_OFF_get()),
408 SCALING_ON(main_research_linear_solverJNI.MPSolverParameters_SCALING_ON_get());
409
410 public final int swigValue() {
411 return swigValue;
412 }
413
414 public static ScalingValues swigToEnum(int swigValue) {
415 ScalingValues[] swigValues = ScalingValues.class.getEnumConstants();
416 if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue)
417 return swigValues[swigValue];
418 for (ScalingValues swigEnum : swigValues)
419 if (swigEnum.swigValue == swigValue)
420 return swigEnum;
421 throw new IllegalArgumentException("No enum " + ScalingValues.class + " with value " + swigValue);
422 }
423
424 @SuppressWarnings("unused")
425 private ScalingValues() {
426 this.swigValue = SwigNext.next++;
427 }
428
429 @SuppressWarnings("unused")
430 private ScalingValues(int swigValue) {
431 this.swigValue = swigValue;
432 SwigNext.next = swigValue+1;
433 }
434
435 @SuppressWarnings("unused")
436 private ScalingValues(ScalingValues swigEnum) {
437 this.swigValue = swigEnum.swigValue;
438 SwigNext.next = this.swigValue+1;
439 }
440
441 private final int swigValue;
442
443 private static class SwigNext {
444 private static int next = 0;
445 }
446 }
447
448}
This class stores parameter settings for LP and MIP solvers.
void setIntegerParam(MPSolverParameters.IntegerParam param, int value)
Sets a integer parameter to a specific value.
double getDoubleParam(MPSolverParameters.DoubleParam param)
Returns the value of a double parameter.
void setDoubleParam(MPSolverParameters.DoubleParam param, double value)
Sets a double parameter to a specific value.
int getIntegerParam(MPSolverParameters.IntegerParam param)
Returns the value of an integer parameter.
static MPSolverParameters.PresolveValues getKDefaultPresolve()
static MPSolverParameters.IncrementalityValues getKDefaultIncrementality()
MPSolverParameters()
The constructor sets all parameters to their default value.
Enumeration of parameters that take continuous values.
PRIMAL_TOLERANCE
Advanced usage: tolerance for primal feasibility of basic solutions.
DUAL_TOLERANCE
Advanced usage: tolerance for dual feasibility of basic solutions.
INCREMENTALITY_ON
Reuse results from previous solve as much as the underlying solver allows.
Enumeration of parameters that take integer or categorical values.
INCREMENTALITY
Advanced usage: incrementality from one solve to the next.
SCALING
Advanced usage: enable or disable matrix scaling.
For each categorical parameter, enumeration of possible values.