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.0
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 
9 package com.google.ortools.linearsolver;
10 
11 import java.lang.reflect.*;
12 
39 public 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 
90  public MPSolverParameters() {
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 {
243  PRESOLVE_OFF(main_research_linear_solverJNI.MPSolverParameters_PRESOLVE_OFF_get()),
244  PRESOLVE_ON(main_research_linear_solverJNI.MPSolverParameters_PRESOLVE_ON_get());
245 
246  public final int swigValue() {
247  return swigValue;
248  }
249 
250  public static PresolveValues swigToEnum(int swigValue) {
251  PresolveValues[] swigValues = PresolveValues.class.getEnumConstants();
252  if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue)
253  return swigValues[swigValue];
254  for (PresolveValues swigEnum : swigValues)
255  if (swigEnum.swigValue == swigValue)
256  return swigEnum;
257  throw new IllegalArgumentException("No enum " + PresolveValues.class + " with value " + swigValue);
258  }
259 
260  @SuppressWarnings("unused")
261  private PresolveValues() {
262  this.swigValue = SwigNext.next++;
263  }
264 
265  @SuppressWarnings("unused")
266  private PresolveValues(int swigValue) {
267  this.swigValue = swigValue;
268  SwigNext.next = swigValue+1;
269  }
270 
271  @SuppressWarnings("unused")
272  private PresolveValues(PresolveValues swigEnum) {
273  this.swigValue = swigEnum.swigValue;
274  SwigNext.next = this.swigValue+1;
275  }
276 
277  private final int swigValue;
278 
279  private static class SwigNext {
280  private static int next = 0;
281  }
282  }
283 
287  public enum LpAlgorithmValues {
288  DUAL(main_research_linear_solverJNI.MPSolverParameters_DUAL_get()),
289  PRIMAL(main_research_linear_solverJNI.MPSolverParameters_PRIMAL_get()),
290  BARRIER(main_research_linear_solverJNI.MPSolverParameters_BARRIER_get());
291 
292  public final int swigValue() {
293  return swigValue;
294  }
295 
296  public static LpAlgorithmValues swigToEnum(int swigValue) {
297  LpAlgorithmValues[] swigValues = LpAlgorithmValues.class.getEnumConstants();
298  if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue)
299  return swigValues[swigValue];
300  for (LpAlgorithmValues swigEnum : swigValues)
301  if (swigEnum.swigValue == swigValue)
302  return swigEnum;
303  throw new IllegalArgumentException("No enum " + LpAlgorithmValues.class + " with value " + swigValue);
304  }
305 
306  @SuppressWarnings("unused")
307  private LpAlgorithmValues() {
308  this.swigValue = SwigNext.next++;
309  }
310 
311  @SuppressWarnings("unused")
312  private LpAlgorithmValues(int swigValue) {
313  this.swigValue = swigValue;
314  SwigNext.next = swigValue+1;
315  }
316 
317  @SuppressWarnings("unused")
318  private LpAlgorithmValues(LpAlgorithmValues swigEnum) {
319  this.swigValue = swigEnum.swigValue;
320  SwigNext.next = this.swigValue+1;
321  }
322 
323  private final int swigValue;
324 
325  private static class SwigNext {
326  private static int next = 0;
327  }
328  }
329 
333  public enum IncrementalityValues {
337  INCREMENTALITY_OFF(main_research_linear_solverJNI.MPSolverParameters_INCREMENTALITY_OFF_get()),
342  INCREMENTALITY_ON(main_research_linear_solverJNI.MPSolverParameters_INCREMENTALITY_ON_get());
343 
344  public final int swigValue() {
345  return swigValue;
346  }
347 
348  public static IncrementalityValues swigToEnum(int swigValue) {
349  IncrementalityValues[] swigValues = IncrementalityValues.class.getEnumConstants();
350  if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue)
351  return swigValues[swigValue];
352  for (IncrementalityValues swigEnum : swigValues)
353  if (swigEnum.swigValue == swigValue)
354  return swigEnum;
355  throw new IllegalArgumentException("No enum " + IncrementalityValues.class + " with value " + swigValue);
356  }
357 
358  @SuppressWarnings("unused")
359  private IncrementalityValues() {
360  this.swigValue = SwigNext.next++;
361  }
362 
363  @SuppressWarnings("unused")
364  private IncrementalityValues(int swigValue) {
365  this.swigValue = swigValue;
366  SwigNext.next = swigValue+1;
367  }
368 
369  @SuppressWarnings("unused")
370  private IncrementalityValues(IncrementalityValues swigEnum) {
371  this.swigValue = swigEnum.swigValue;
372  SwigNext.next = this.swigValue+1;
373  }
374 
375  private final int swigValue;
376 
377  private static class SwigNext {
378  private static int next = 0;
379  }
380  }
381 
385  public enum ScalingValues {
389  SCALING_OFF(main_research_linear_solverJNI.MPSolverParameters_SCALING_OFF_get()),
393  SCALING_ON(main_research_linear_solverJNI.MPSolverParameters_SCALING_ON_get());
394 
395  public final int swigValue() {
396  return swigValue;
397  }
398 
399  public static ScalingValues swigToEnum(int swigValue) {
400  ScalingValues[] swigValues = ScalingValues.class.getEnumConstants();
401  if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue)
402  return swigValues[swigValue];
403  for (ScalingValues swigEnum : swigValues)
404  if (swigEnum.swigValue == swigValue)
405  return swigEnum;
406  throw new IllegalArgumentException("No enum " + ScalingValues.class + " with value " + swigValue);
407  }
408 
409  @SuppressWarnings("unused")
410  private ScalingValues() {
411  this.swigValue = SwigNext.next++;
412  }
413 
414  @SuppressWarnings("unused")
415  private ScalingValues(int swigValue) {
416  this.swigValue = swigValue;
417  SwigNext.next = swigValue+1;
418  }
419 
420  @SuppressWarnings("unused")
421  private ScalingValues(ScalingValues swigEnum) {
422  this.swigValue = swigEnum.swigValue;
423  SwigNext.next = this.swigValue+1;
424  }
425 
426  private final int swigValue;
427 
428  private static class SwigNext {
429  private static int next = 0;
430  }
431  }
432 
433 }
void setIntegerParam(MPSolverParameters.IntegerParam param, int value)
Sets a integer parameter to a specific value.
SCALING
Advanced usage: enable or disable matrix scaling.
MPSolverParameters()
The constructor sets all parameters to their default value.
DUAL_TOLERANCE
Advanced usage: tolerance for dual feasibility of basic solutions.
INCREMENTALITY
Advanced usage: incrementality from one solve to the next.
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.
Enumeration of parameters that take integer or categorical values.
int getIntegerParam(MPSolverParameters.IntegerParam param)
Returns the value of an integer parameter.
This class stores parameter settings for LP and MIP solvers.
static MPSolverParameters.IncrementalityValues getKDefaultIncrementality()
For each categorical parameter, enumeration of possible values.
Enumeration of parameters that take continuous values.
static MPSolverParameters.PresolveValues getKDefaultPresolve()
PRIMAL_TOLERANCE
Advanced usage: tolerance for primal feasibility of basic solutions.
INCREMENTALITY_ON
Reuse results from previous solve as much as the underlying solver allows.