Package com.google.ortools.linearsolver
Class MPConstraint
- java.lang.Object
-
- com.google.ortools.linearsolver.MPConstraint
-
public class MPConstraint extends java.lang.ObjectThe class for constraints of a Mathematical Programming (MP) model.
A constraint is represented as a linear equation or inequality.
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanswigCMemOwn
-
Constructor Summary
Constructors Modifier Constructor Description protectedMPConstraint(long cPtr, boolean cMemoryOwn)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description MPSolver.BasisStatusbasisStatus()Advanced usage: returns the basis status of the constraint.
It is only available for continuous problems).
Note that if a constraint "linear_expression in [lb, ub]" is transformed
into "linear_expression + slack = 0" with slack in [-ub, -lb], then this
status is the same as the status of the slack variable with AT_UPPER_BOUND
and AT_LOWER_BOUND swapped.
voiddelete()doubledualValue()Advanced usage: returns the dual value of the constraint in the current
solution (only available for continuous problems).protected voidfinalize()doublegetCoefficient(MPVariable var)Gets the coefficient of a given variable on the constraint (which is 0 if
the variable does not appear in the constraint).protected static longgetCPtr(MPConstraint obj)intindex()Returns the index of the constraint in the MPSolver::constraints_.booleanisLazy()Advanced usage: returns true if the constraint is "lazy" (see below).doublelb()Returns the lower bound.java.lang.Stringname()Returns the name of the constraint.voidsetBounds(double lb, double ub)Sets both the lower and upper bounds.voidsetCoefficient(MPVariable var, double coeff)Sets the coefficient of the variable on the constraint.
If the variable does not belong to the solver, the function just returns,
or crashes in non-opt mode.voidsetIsLazy(boolean laziness)Advanced usage: sets the constraint "laziness".
This is only supported for SCIP and has no effect on other
solvers.
When laziness is true, the constraint is only considered by the Linear
Programming solver if its current solution violates the constraint.voidsetLb(double lb)Sets the lower bound.voidsetUb(double ub)Sets the upper bound.protected static longswigRelease(MPConstraint obj)doubleub()Returns the upper bound.
-
-
-
Method Detail
-
getCPtr
protected static long getCPtr(MPConstraint obj)
-
swigRelease
protected static long swigRelease(MPConstraint obj)
-
finalize
protected void finalize()
- Overrides:
finalizein classjava.lang.Object
-
delete
public void delete()
-
name
public java.lang.String name()
Returns the name of the constraint.
-
setCoefficient
public void setCoefficient(MPVariable var, double coeff)
Sets the coefficient of the variable on the constraint.
If the variable does not belong to the solver, the function just returns,
or crashes in non-opt mode.
-
getCoefficient
public double getCoefficient(MPVariable var)
Gets the coefficient of a given variable on the constraint (which is 0 if
the variable does not appear in the constraint).
-
lb
public double lb()
Returns the lower bound.
-
ub
public double ub()
Returns the upper bound.
-
setLb
public void setLb(double lb)
Sets the lower bound.
-
setUb
public void setUb(double ub)
Sets the upper bound.
-
setBounds
public void setBounds(double lb, double ub)Sets both the lower and upper bounds.
-
isLazy
public boolean isLazy()
Advanced usage: returns true if the constraint is "lazy" (see below).
-
setIsLazy
public void setIsLazy(boolean laziness)
Advanced usage: sets the constraint "laziness".
This is only supported for SCIP and has no effect on other
solvers.
When laziness is true, the constraint is only considered by the Linear
Programming solver if its current solution violates the constraint. In this
case, the constraint is definitively added to the problem. This may be
useful in some MIP problems, and may have a dramatic impact on performance.
For more info see: http://tinyurl.com/lazy-constraints.
-
index
public int index()
Returns the index of the constraint in the MPSolver::constraints_.
-
dualValue
public double dualValue()
Advanced usage: returns the dual value of the constraint in the current
solution (only available for continuous problems).
-
basisStatus
public MPSolver.BasisStatus basisStatus()
Advanced usage: returns the basis status of the constraint.
It is only available for continuous problems).
Note that if a constraint "linear_expression in [lb, ub]" is transformed
into "linear_expression + slack = 0" with slack in [-ub, -lb], then this
status is the same as the status of the slack variable with AT_UPPER_BOUND
and AT_LOWER_BOUND swapped.
-
-