Java Reference

Java Reference

MPSolver.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 
9 package com.google.ortools.linearsolver;
10 
11 import java.lang.reflect.*;
12 
13 public class MPSolver {
14  private transient long swigCPtr;
15  protected transient boolean swigCMemOwn;
16 
17  protected MPSolver(long cPtr, boolean cMemoryOwn) {
18  swigCMemOwn = cMemoryOwn;
19  swigCPtr = cPtr;
20  }
21 
22  protected static long getCPtr(MPSolver obj) {
23  return (obj == null) ? 0 : obj.swigCPtr;
24  }
25 
26  @SuppressWarnings("deprecation")
27  protected void finalize() {
28  delete();
29  }
30 
31  public synchronized void delete() {
32  if (swigCPtr != 0) {
33  if (swigCMemOwn) {
34  swigCMemOwn = false;
35  main_research_linear_solverJNI.delete_MPSolver(swigCPtr);
36  }
37  swigCPtr = 0;
38  }
39  }
40 
44  public MPVariable[] makeVarArray(int count, double lb, double ub, boolean integer) {
45  MPVariable[] array = new MPVariable[count];
46  for (int i = 0; i < count; ++i) {
47  array[i] = makeVar(lb, ub, integer, "");
48  }
49  return array;
50  }
51 
55  public MPVariable[] makeVarArray(int count, double lb, double ub, boolean integer,
56  String var_name) {
57  MPVariable[] array = new MPVariable[count];
58  for (int i = 0; i < count; ++i) {
59  array[i] = makeVar(lb, ub, integer, var_name + i);
60  }
61  return array;
62  }
63 
64  public MPVariable[] makeNumVarArray(int count, double lb, double ub) {
65  return makeVarArray(count, lb, ub, false);
66  }
67 
68  public MPVariable[] makeNumVarArray(int count, double lb, double ub, String var_name) {
69  return makeVarArray(count, lb, ub, false, var_name);
70  }
71 
72  public MPVariable[] makeIntVarArray(int count, double lb, double ub) {
73  return makeVarArray(count, lb, ub, true);
74  }
75 
76  public MPVariable[] makeIntVarArray(int count, double lb, double ub, String var_name) {
77  return makeVarArray(count, lb, ub, true, var_name);
78  }
79 
80  public MPVariable[] makeBoolVarArray(int count) {
81  return makeVarArray(count, 0.0, 1.0, true);
82  }
83 
84  public MPVariable[] makeBoolVarArray(int count, String var_name) {
85  return makeVarArray(count, 0.0, 1.0, true, var_name);
86  }
87 
88  public MPSolver(String name, MPSolver.OptimizationProblemType problem_type) {
89  this(main_research_linear_solverJNI.new_MPSolver(name, problem_type.swigValue()), true);
90  }
91 
92  public static MPSolver createSolver(String name, String solver_id) {
93  long cPtr = main_research_linear_solverJNI.MPSolver_createSolver(name, solver_id);
94  return (cPtr == 0) ? null : new MPSolver(cPtr, true);
95  }
96 
97  public static boolean supportsProblemType(MPSolver.OptimizationProblemType problem_type) {
98  return main_research_linear_solverJNI.MPSolver_supportsProblemType(problem_type.swigValue());
99  }
100 
101  public static boolean parseAndCheckSupportForProblemType(String solver_id) {
102  return main_research_linear_solverJNI.MPSolver_parseAndCheckSupportForProblemType(solver_id);
103  }
104 
105  public boolean isMip() {
106  return main_research_linear_solverJNI.MPSolver_isMip(swigCPtr, this);
107  }
108 
109  public void clear() {
110  main_research_linear_solverJNI.MPSolver_clear(swigCPtr, this);
111  }
112 
113  public int numVariables() {
114  return main_research_linear_solverJNI.MPSolver_numVariables(swigCPtr, this);
115  }
116 
117  public MPVariable[] variables() {
118  return main_research_linear_solverJNI.MPSolver_variables(swigCPtr, this);
119 }
120 
121  public MPVariable lookupVariableOrNull(String var_name) {
122  long cPtr = main_research_linear_solverJNI.MPSolver_lookupVariableOrNull(swigCPtr, this, var_name);
123  return (cPtr == 0) ? null : new MPVariable(cPtr, false);
124  }
125 
126  public MPVariable makeVar(double lb, double ub, boolean integer, String name) {
127  long cPtr = main_research_linear_solverJNI.MPSolver_makeVar(swigCPtr, this, lb, ub, integer, name);
128  return (cPtr == 0) ? null : new MPVariable(cPtr, false);
129  }
130 
131  public MPVariable makeNumVar(double lb, double ub, String name) {
132  long cPtr = main_research_linear_solverJNI.MPSolver_makeNumVar(swigCPtr, this, lb, ub, name);
133  return (cPtr == 0) ? null : new MPVariable(cPtr, false);
134  }
135 
136  public MPVariable makeIntVar(double lb, double ub, String name) {
137  long cPtr = main_research_linear_solverJNI.MPSolver_makeIntVar(swigCPtr, this, lb, ub, name);
138  return (cPtr == 0) ? null : new MPVariable(cPtr, false);
139  }
140 
141  public MPVariable makeBoolVar(String name) {
142  long cPtr = main_research_linear_solverJNI.MPSolver_makeBoolVar(swigCPtr, this, name);
143  return (cPtr == 0) ? null : new MPVariable(cPtr, false);
144  }
145 
146  public int numConstraints() {
147  return main_research_linear_solverJNI.MPSolver_numConstraints(swigCPtr, this);
148  }
149 
151  return main_research_linear_solverJNI.MPSolver_constraints(swigCPtr, this);
152 }
153 
154  public MPConstraint lookupConstraintOrNull(String constraint_name) {
155  long cPtr = main_research_linear_solverJNI.MPSolver_lookupConstraintOrNull(swigCPtr, this, constraint_name);
156  return (cPtr == 0) ? null : new MPConstraint(cPtr, false);
157  }
158 
159  public MPConstraint makeConstraint(double lb, double ub) {
160  long cPtr = main_research_linear_solverJNI.MPSolver_makeConstraint__SWIG_0(swigCPtr, this, lb, ub);
161  return (cPtr == 0) ? null : new MPConstraint(cPtr, false);
162  }
163 
165  long cPtr = main_research_linear_solverJNI.MPSolver_makeConstraint__SWIG_1(swigCPtr, this);
166  return (cPtr == 0) ? null : new MPConstraint(cPtr, false);
167  }
168 
169  public MPConstraint makeConstraint(double lb, double ub, String name) {
170  long cPtr = main_research_linear_solverJNI.MPSolver_makeConstraint__SWIG_2(swigCPtr, this, lb, ub, name);
171  return (cPtr == 0) ? null : new MPConstraint(cPtr, false);
172  }
173 
174  public MPConstraint makeConstraint(String name) {
175  long cPtr = main_research_linear_solverJNI.MPSolver_makeConstraint__SWIG_3(swigCPtr, this, name);
176  return (cPtr == 0) ? null : new MPConstraint(cPtr, false);
177  }
178 
180  long cPtr = main_research_linear_solverJNI.MPSolver_objective(swigCPtr, this);
181  return (cPtr == 0) ? null : new MPObjective(cPtr, false);
182  }
183 
185  return MPSolver.ResultStatus.swigToEnum(main_research_linear_solverJNI.MPSolver_solve__SWIG_0(swigCPtr, this));
186  }
187 
189  return MPSolver.ResultStatus.swigToEnum(main_research_linear_solverJNI.MPSolver_solve__SWIG_1(swigCPtr, this, MPSolverParameters.getCPtr(param), param));
190  }
191 
192  public double[] computeConstraintActivities() {
193  return main_research_linear_solverJNI.MPSolver_computeConstraintActivities(swigCPtr, this);
194 }
195 
196  public boolean verifySolution(double tolerance, boolean log_errors) {
197  return main_research_linear_solverJNI.MPSolver_verifySolution(swigCPtr, this, tolerance, log_errors);
198  }
199 
200  public void reset() {
201  main_research_linear_solverJNI.MPSolver_reset(swigCPtr, this);
202  }
203 
204  public boolean interruptSolve() {
205  return main_research_linear_solverJNI.MPSolver_interruptSolve(swigCPtr, this);
206  }
207 
208  public boolean setSolverSpecificParametersAsString(String parameters) {
209  return main_research_linear_solverJNI.MPSolver_setSolverSpecificParametersAsString(swigCPtr, this, parameters);
210  }
211 
212  public static double infinity() {
213  return main_research_linear_solverJNI.MPSolver_infinity();
214  }
215 
216  public void enableOutput() {
217  main_research_linear_solverJNI.MPSolver_enableOutput(swigCPtr, this);
218  }
219 
220  public void suppressOutput() {
221  main_research_linear_solverJNI.MPSolver_suppressOutput(swigCPtr, this);
222  }
223 
224  public long iterations() {
225  return main_research_linear_solverJNI.MPSolver_iterations(swigCPtr, this);
226  }
227 
228  public long nodes() {
229  return main_research_linear_solverJNI.MPSolver_nodes(swigCPtr, this);
230  }
231 
232  public double computeExactConditionNumber() {
233  return main_research_linear_solverJNI.MPSolver_computeExactConditionNumber(swigCPtr, this);
234  }
235 
236  public void setTimeLimit(long time_limit_milliseconds) {
237  main_research_linear_solverJNI.MPSolver_setTimeLimit(swigCPtr, this, time_limit_milliseconds);
238  }
239 
240  public long wallTime() {
241  return main_research_linear_solverJNI.MPSolver_wallTime(swigCPtr, this);
242  }
243 
244  public static void setGurobiLibraryPath(String full_library_path) {
245  main_research_linear_solverJNI.MPSolver_setGurobiLibraryPath(full_library_path);
246  }
247 
249  return main_research_linear_solverJNI.MPSolver_loadModelFromProto(swigCPtr, this, input_model.toByteArray());
250  }
251 
253  return main_research_linear_solverJNI.MPSolver_loadModelFromProtoWithUniqueNamesOrDie(swigCPtr, this, input_model.toByteArray());
254  }
255 
257  byte[] buf = main_research_linear_solverJNI.MPSolver_exportModelToProto(swigCPtr, this);
258  if (buf == null || buf.length == 0) {
259  return null;
260  }
261  try {
263  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
264  throw new RuntimeException(
265  "Unable to parse com.google.ortools.linearsolver.MPModelProto protocol message.");
266  }
267 }
268 
270  byte[] buf = main_research_linear_solverJNI.MPSolver_createSolutionResponseProto(swigCPtr, this);
271  if (buf == null || buf.length == 0) {
272  return null;
273  }
274  try {
276  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
277  throw new RuntimeException(
278  "Unable to parse com.google.ortools.linearsolver.MPSolutionResponse protocol message.");
279  }
280 }
281 
283  return main_research_linear_solverJNI.MPSolver_loadSolutionFromProto(swigCPtr, this, response.toByteArray());
284  }
285 
287  byte[] buf = main_research_linear_solverJNI.MPSolver_solveWithProto(model_request.toByteArray());
288  if (buf == null || buf.length == 0) {
289  return null;
290  }
291  try {
293  } catch (com.google.protobuf.InvalidProtocolBufferException e) {
294  throw new RuntimeException(
295  "Unable to parse com.google.ortools.linearsolver.MPSolutionResponse protocol message.");
296  }
297 }
298 
300  return main_research_linear_solverJNI.MPSolver_exportModelAsLpFormat__SWIG_0(swigCPtr, this, MPModelExportOptions.getCPtr(options), options);
301  }
302 
303  public String exportModelAsLpFormat() {
304  return main_research_linear_solverJNI.MPSolver_exportModelAsLpFormat__SWIG_1(swigCPtr, this);
305  }
306 
308  return main_research_linear_solverJNI.MPSolver_exportModelAsMpsFormat__SWIG_0(swigCPtr, this, MPModelExportOptions.getCPtr(options), options);
309  }
310 
311  public String exportModelAsMpsFormat() {
312  return main_research_linear_solverJNI.MPSolver_exportModelAsMpsFormat__SWIG_1(swigCPtr, this);
313  }
314 
315  public void setHint(MPVariable[] variables, double[] values) {
316  main_research_linear_solverJNI.MPSolver_setHint(swigCPtr, this, variables, values);
317  }
318 
319  public boolean setNumThreads(int num_theads) {
320  return main_research_linear_solverJNI.MPSolver_setNumThreads(swigCPtr, this, num_theads);
321  }
322 
324  CLP_LINEAR_PROGRAMMING(main_research_linear_solverJNI.MPSolver_CLP_LINEAR_PROGRAMMING_get()),
325  GLPK_LINEAR_PROGRAMMING(main_research_linear_solverJNI.MPSolver_GLPK_LINEAR_PROGRAMMING_get()),
326  GLOP_LINEAR_PROGRAMMING(main_research_linear_solverJNI.MPSolver_GLOP_LINEAR_PROGRAMMING_get()),
327  SCIP_MIXED_INTEGER_PROGRAMMING(main_research_linear_solverJNI.MPSolver_SCIP_MIXED_INTEGER_PROGRAMMING_get()),
328  GLPK_MIXED_INTEGER_PROGRAMMING(main_research_linear_solverJNI.MPSolver_GLPK_MIXED_INTEGER_PROGRAMMING_get()),
329  CBC_MIXED_INTEGER_PROGRAMMING(main_research_linear_solverJNI.MPSolver_CBC_MIXED_INTEGER_PROGRAMMING_get()),
330  GUROBI_LINEAR_PROGRAMMING(main_research_linear_solverJNI.MPSolver_GUROBI_LINEAR_PROGRAMMING_get()),
331  GUROBI_MIXED_INTEGER_PROGRAMMING(main_research_linear_solverJNI.MPSolver_GUROBI_MIXED_INTEGER_PROGRAMMING_get()),
332  CPLEX_LINEAR_PROGRAMMING(main_research_linear_solverJNI.MPSolver_CPLEX_LINEAR_PROGRAMMING_get()),
333  CPLEX_MIXED_INTEGER_PROGRAMMING(main_research_linear_solverJNI.MPSolver_CPLEX_MIXED_INTEGER_PROGRAMMING_get()),
334  XPRESS_LINEAR_PROGRAMMING(main_research_linear_solverJNI.MPSolver_XPRESS_LINEAR_PROGRAMMING_get()),
335  XPRESS_MIXED_INTEGER_PROGRAMMING(main_research_linear_solverJNI.MPSolver_XPRESS_MIXED_INTEGER_PROGRAMMING_get()),
336  BOP_INTEGER_PROGRAMMING(main_research_linear_solverJNI.MPSolver_BOP_INTEGER_PROGRAMMING_get()),
337  SAT_INTEGER_PROGRAMMING(main_research_linear_solverJNI.MPSolver_SAT_INTEGER_PROGRAMMING_get());
338 
339  public final int swigValue() {
340  return swigValue;
341  }
342 
343  public static OptimizationProblemType swigToEnum(int swigValue) {
344  OptimizationProblemType[] swigValues = OptimizationProblemType.class.getEnumConstants();
345  if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue)
346  return swigValues[swigValue];
347  for (OptimizationProblemType swigEnum : swigValues)
348  if (swigEnum.swigValue == swigValue)
349  return swigEnum;
350  throw new IllegalArgumentException("No enum " + OptimizationProblemType.class + " with value " + swigValue);
351  }
352 
353  @SuppressWarnings("unused")
354  private OptimizationProblemType() {
355  this.swigValue = SwigNext.next++;
356  }
357 
358  @SuppressWarnings("unused")
359  private OptimizationProblemType(int swigValue) {
360  this.swigValue = swigValue;
361  SwigNext.next = swigValue+1;
362  }
363 
364  @SuppressWarnings("unused")
365  private OptimizationProblemType(OptimizationProblemType swigEnum) {
366  this.swigValue = swigEnum.swigValue;
367  SwigNext.next = this.swigValue+1;
368  }
369 
370  private final int swigValue;
371 
372  private static class SwigNext {
373  private static int next = 0;
374  }
375  }
376 
377  public enum ResultStatus {
383  NOT_SOLVED(main_research_linear_solverJNI.MPSolver_NOT_SOLVED_get());
384 
385  public final int swigValue() {
386  return swigValue;
387  }
388 
389  public static ResultStatus swigToEnum(int swigValue) {
390  ResultStatus[] swigValues = ResultStatus.class.getEnumConstants();
391  if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue)
392  return swigValues[swigValue];
393  for (ResultStatus swigEnum : swigValues)
394  if (swigEnum.swigValue == swigValue)
395  return swigEnum;
396  throw new IllegalArgumentException("No enum " + ResultStatus.class + " with value " + swigValue);
397  }
398 
399  @SuppressWarnings("unused")
400  private ResultStatus() {
401  this.swigValue = SwigNext.next++;
402  }
403 
404  @SuppressWarnings("unused")
405  private ResultStatus(int swigValue) {
406  this.swigValue = swigValue;
407  SwigNext.next = swigValue+1;
408  }
409 
410  @SuppressWarnings("unused")
411  private ResultStatus(ResultStatus swigEnum) {
412  this.swigValue = swigEnum.swigValue;
413  SwigNext.next = this.swigValue+1;
414  }
415 
416  private final int swigValue;
417 
418  private static class SwigNext {
419  private static int next = 0;
420  }
421  }
422 
423  public enum BasisStatus {
424  FREE(main_research_linear_solverJNI.MPSolver_FREE_get()),
429 
430  public final int swigValue() {
431  return swigValue;
432  }
433 
434  public static BasisStatus swigToEnum(int swigValue) {
435  BasisStatus[] swigValues = BasisStatus.class.getEnumConstants();
436  if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue)
437  return swigValues[swigValue];
438  for (BasisStatus swigEnum : swigValues)
439  if (swigEnum.swigValue == swigValue)
440  return swigEnum;
441  throw new IllegalArgumentException("No enum " + BasisStatus.class + " with value " + swigValue);
442  }
443 
444  @SuppressWarnings("unused")
445  private BasisStatus() {
446  this.swigValue = SwigNext.next++;
447  }
448 
449  @SuppressWarnings("unused")
450  private BasisStatus(int swigValue) {
451  this.swigValue = swigValue;
452  SwigNext.next = swigValue+1;
453  }
454 
455  @SuppressWarnings("unused")
456  private BasisStatus(BasisStatus swigEnum) {
457  this.swigValue = swigEnum.swigValue;
458  SwigNext.next = this.swigValue+1;
459  }
460 
461  private final int swigValue;
462 
463  private static class SwigNext {
464  private static int next = 0;
465  }
466  }
467 
468 }
boolean interruptSolve()
Definition: MPSolver.java:204
final int swigValue()
Definition: MPSolver.java:430
MPObjective objective()
Definition: MPSolver.java:179
MPVariable makeVar(double lb, double ub, boolean integer, String name)
Definition: MPSolver.java:126
static MPSolver createSolver(String name, String solver_id)
Definition: MPSolver.java:92
void enableOutput()
Definition: MPSolver.java:216
UNBOUNDED
Definition: MPSolver.java:381
FIXED_VALUE
Definition: MPSolver.java:427
MPVariable lookupVariableOrNull(String var_name)
Definition: MPSolver.java:121
String exportModelAsLpFormat()
Definition: MPSolver.java:303
com.google.ortools.linearsolver.MPSolutionResponse createSolutionResponseProto()
Definition: MPSolver.java:269
MPVariable[] makeVarArray(int count, double lb, double ub, boolean integer)
Creates and returns an array of variables.
Definition: MPSolver.java:44
GLOP_LINEAR_PROGRAMMING
Definition: MPSolver.java:326
Protobuf type.
CLP_LINEAR_PROGRAMMING
Definition: MPSolver.java:324
String loadModelFromProto(com.google.ortools.linearsolver.MPModelProto input_model)
Definition: MPSolver.java:248
static boolean parseAndCheckSupportForProblemType(String solver_id)
Definition: MPSolver.java:101
void setHint(MPVariable[] variables, double[] values)
Definition: MPSolver.java:315
boolean setSolverSpecificParametersAsString(String parameters)
Definition: MPSolver.java:208
static com.google.ortools.linearsolver.MPSolutionResponse solveWithProto(com.google.ortools.linearsolver.MPModelRequest model_request)
Definition: MPSolver.java:286
AT_UPPER_BOUND
Definition: MPSolver.java:426
MPVariable makeNumVar(double lb, double ub, String name)
Definition: MPSolver.java:131
MPConstraint makeConstraint(double lb, double ub, String name)
Definition: MPSolver.java:169
INFEASIBLE
Definition: MPSolver.java:380
XPRESS_MIXED_INTEGER_PROGRAMMING
Definition: MPSolver.java:335
MPConstraint[] constraints()
Definition: MPSolver.java:150
boolean isMip()
Definition: MPSolver.java:105
Definition: MPSolver.java:423
static com.google.ortools.linearsolver.MPSolutionResponse parseFrom(java.nio.ByteBuffer data)
GUROBI_MIXED_INTEGER_PROGRAMMING
Definition: MPSolver.java:331
static BasisStatus swigToEnum(int swigValue)
Definition: MPSolver.java:434
GUROBI_LINEAR_PROGRAMMING
Definition: MPSolver.java:330
FEASIBLE
Definition: MPSolver.java:379
MPVariable[] makeIntVarArray(int count, double lb, double ub)
Definition: MPSolver.java:72
static void setGurobiLibraryPath(String full_library_path)
Definition: MPSolver.java:244
boolean verifySolution(double tolerance, boolean log_errors)
Definition: MPSolver.java:196
BOP_INTEGER_PROGRAMMING
Definition: MPSolver.java:336
MPSolver(long cPtr, boolean cMemoryOwn)
Definition: MPSolver.java:17
MPVariable[] makeNumVarArray(int count, double lb, double ub)
Definition: MPSolver.java:64
double[] computeConstraintActivities()
Definition: MPSolver.java:192
void reset()
Definition: MPSolver.java:200
FREE
Definition: MPSolver.java:424
NOT_SOLVED
Definition: MPSolver.java:383
Definition: MPSolver.java:377
static double infinity()
Definition: MPSolver.java:212
String exportModelAsMpsFormat()
Definition: MPSolver.java:311
MPVariable makeBoolVar(String name)
Definition: MPSolver.java:141
BASIC
Definition: MPSolver.java:428
boolean setNumThreads(int num_theads)
Definition: MPSolver.java:319
GLPK_LINEAR_PROGRAMMING
Definition: MPSolver.java:325
MPConstraint makeConstraint(double lb, double ub)
Definition: MPSolver.java:159
void setTimeLimit(long time_limit_milliseconds)
Definition: MPSolver.java:236
long wallTime()
Definition: MPSolver.java:240
long iterations()
Definition: MPSolver.java:224
CPLEX_LINEAR_PROGRAMMING
Definition: MPSolver.java:332
static OptimizationProblemType swigToEnum(int swigValue)
Definition: MPSolver.java:343
MPConstraint makeConstraint()
Definition: MPSolver.java:164
GLPK_MIXED_INTEGER_PROGRAMMING
Definition: MPSolver.java:328
AT_LOWER_BOUND
Definition: MPSolver.java:425
MPVariable[] makeNumVarArray(int count, double lb, double ub, String var_name)
Definition: MPSolver.java:68
String loadModelFromProtoWithUniqueNamesOrDie(com.google.ortools.linearsolver.MPModelProto input_model)
Definition: MPSolver.java:252
static ResultStatus swigToEnum(int swigValue)
Definition: MPSolver.java:389
final int swigValue()
Definition: MPSolver.java:339
MPVariable makeIntVar(double lb, double ub, String name)
Definition: MPSolver.java:136
Definition: MPSolver.java:323
SCIP_MIXED_INTEGER_PROGRAMMING
Definition: MPSolver.java:327
CBC_MIXED_INTEGER_PROGRAMMING
Definition: MPSolver.java:329
OPTIMAL
Definition: MPSolver.java:378
long nodes()
Definition: MPSolver.java:228
void clear()
Definition: MPSolver.java:109
String exportModelAsLpFormat(MPModelExportOptions options)
Definition: MPSolver.java:299
static boolean supportsProblemType(MPSolver.OptimizationProblemType problem_type)
Definition: MPSolver.java:97
MPVariable[] makeBoolVarArray(int count)
Definition: MPSolver.java:80
void suppressOutput()
Definition: MPSolver.java:220
MPVariable[] variables()
Definition: MPSolver.java:117
MPVariable[] makeBoolVarArray(int count, String var_name)
Definition: MPSolver.java:84
com.google.ortools.linearsolver.MPModelProto exportModelToProto()
Definition: MPSolver.java:256
MPSolver(String name, MPSolver.OptimizationProblemType problem_type)
Definition: MPSolver.java:88
String exportModelAsMpsFormat(MPModelExportOptions options)
Definition: MPSolver.java:307
MPConstraint makeConstraint(String name)
Definition: MPSolver.java:174
int numVariables()
Definition: MPSolver.java:113
Definition: MPVariable.java:13
static com.google.ortools.linearsolver.MPModelProto parseFrom(java.nio.ByteBuffer data)
MPVariable[] makeVarArray(int count, double lb, double ub, boolean integer, String var_name)
Creates and returns an array of named variables.
Definition: MPSolver.java:55
MPVariable[] makeIntVarArray(int count, double lb, double ub, String var_name)
Definition: MPSolver.java:76
final int swigValue()
Definition: MPSolver.java:385
boolean loadSolutionFromProto(com.google.ortools.linearsolver.MPSolutionResponse response)
Definition: MPSolver.java:282
MPSolver.ResultStatus solve(MPSolverParameters param)
Definition: MPSolver.java:188
MPConstraint lookupConstraintOrNull(String constraint_name)
Definition: MPSolver.java:154
XPRESS_LINEAR_PROGRAMMING
Definition: MPSolver.java:334
double computeExactConditionNumber()
Definition: MPSolver.java:232
int numConstraints()
Definition: MPSolver.java:146
MPSolver.ResultStatus solve()
Definition: MPSolver.java:184
ABNORMAL
Definition: MPSolver.java:382
CPLEX_MIXED_INTEGER_PROGRAMMING
Definition: MPSolver.java:333
Definition: MPSolver.java:13
SAT_INTEGER_PROGRAMMING
Definition: MPSolver.java:337