public class OptimizationProblem extends ConstraintSatisfactionProblem
| Modifier and Type | Field and Description |
|---|---|
static double |
EPSILON
Some value to represent a very small number
|
static int |
MAXIMIZE
Static constant for the type "maximization"
|
static int |
MINIMIZE
Static constant for the type "minimization"
|
| Constructor and Description |
|---|
OptimizationProblem()
Creates an empty optimization problem.
|
OptimizationProblem(int type)
Creates an empty optimization problem of the given type.
|
| Modifier and Type | Method and Description |
|---|---|
OptimizationProblem |
clone() |
void |
collapseAssociativeOperations()
This method collapses all associative operations appearing
in the target function and the constraints, e.g.
|
String |
convertToCplexLpFormat()
Converts the this optimization problem into a string in the commonly
used CPLEX LP-format for mixed integer linear programming.
|
String |
convertToLpFormat()
Converts the this optimization problem into a string in the commonly
used LP-format for mixed integer linear programming.
|
Set<Minimum> |
getMinimums()
Returns all minimums appearing in this problem.
|
Term |
getTargetFunction()
Returns the target function of this problem.
|
int |
getType()
Returns the type of this problem.
|
Set<Variable> |
getVariables()
Returns all variables of this problem.
|
boolean |
isLinear()
Checks whether every constraint of this problem is linear.
|
boolean |
isMinimumFree()
Checks whether this problem uses no minimum function.
|
boolean |
isTargetLinear()
Checks whether the target function is linear.
|
void |
resolveAbsoluteValues()
Resolves all occurrences of absolute values "abs(X)" by
replacing "abs(X)" by a new variable "TMPABS"
adding constraints "TMPABS - X>= 0" and "TMPABS + X >= 0" (yielding "TMPABS <= abs(X)")
introducing a new variable "TMPABSB"
adding constraints "X+PENALTY*TMPABSB - TMPABS >= 0" and "-X-TMPABSB*PENALTY - TMPABS >= -PENALTY" (yielding "TMPABS >= abs(X)")
adding constraints "TMPABSB<=1"
|
void |
resolveMaximums()
Resolves all occurrences of maximums by substituting
a maximum "max{a,b}" by "0.5 a + 0.5 b + abs(a-b)".
|
void |
resolveMinimums()
Resolves all occurrences of minimums by substituting
a minimum "min{a,b}" by "0.5 a + 0.5 b - abs(a-b)".
|
void |
setPenalty(int penalty)
Sets the penalty for violated minimum.
|
void |
setTargetFunction(Term targetFunction)
Sets the target function of this problem.
|
void |
setType(int type)
Sets the type of this problem, either OptimizationProblem.MINIMIZE or
OptimizationProblem.MAXIMIZE.
|
String |
toString() |
isInteger, toNormalizedFormadd, clear, contains, isEmpty, iterator, remove, size, spliteratorequals, hashCode, removeAlladdAll, containsAll, retainAll, toArray, toArrayfinalize, getClass, notify, notifyAll, wait, wait, waitaddAll, containsAll, equals, hashCode, removeAll, retainAll, toArray, toArrayparallelStream, removeIf, streampublic static final double EPSILON
public static final int MINIMIZE
public static final int MAXIMIZE
public OptimizationProblem()
public OptimizationProblem(int type)
type - the type of the problem; either OptimizationProblem.MINIMIZE or
OptimizationProblem.MAXIMIZE.public void setTargetFunction(Term targetFunction)
targetFunction - a term.public boolean isTargetLinear()
public boolean isLinear()
ConstraintSatisfactionProblemisLinear in class ConstraintSatisfactionProblempublic boolean isMinimumFree()
ConstraintSatisfactionProblemisMinimumFree in class ConstraintSatisfactionProblempublic void resolveMinimums()
ConstraintSatisfactionProblemresolveMinimums in class ConstraintSatisfactionProblempublic void resolveMaximums()
ConstraintSatisfactionProblemresolveMaximums in class ConstraintSatisfactionProblempublic void resolveAbsoluteValues()
public String convertToLpFormat()
public String convertToCplexLpFormat()
public Set<Variable> getVariables()
ConstraintSatisfactionProblemgetVariables in class ConstraintSatisfactionProblempublic Set<Minimum> getMinimums()
ConstraintSatisfactionProblemgetMinimums in class ConstraintSatisfactionProblempublic void collapseAssociativeOperations()
ConstraintSatisfactionProblemcollapseAssociativeOperations in class ConstraintSatisfactionProblempublic void setType(int type)
type - the type of this problem.public void setPenalty(int penalty)
penalty - public int getType()
public Term getTargetFunction()
public String toString()
toString in class ConstraintSatisfactionProblempublic OptimizationProblem clone()
clone in class ConstraintSatisfactionProblemCopyright © 2018. All rights reserved.