public final class ModelBuilder
extends java.lang.Object
Proposes a factory to create all modeling objects understood by the SAT solver.
Modifier and Type | Class and Description |
---|---|
static class |
ModelBuilder.MismatchedArrayLengths
Exception thrown when parallel arrays have mismatched lengths.
|
static class |
ModelBuilder.WrongLength
Exception thrown when an array has a wrong length.
|
Constructor and Description |
---|
ModelBuilder()
Main constructor
|
Modifier and Type | Method and Description |
---|---|
EnforcedLinearConstraint |
addEnforcedEquality(LinearArgument expr,
double value,
Variable iVar,
boolean iValue)
Adds
ivar == iValue => expr == value . |
EnforcedLinearConstraint |
addEnforcedEquality(LinearArgument left,
LinearArgument right,
Variable iVar,
boolean iValue)
Adds
ivar == iValue => left == right . |
EnforcedLinearConstraint |
addEnforcedGreaterOrEqual(LinearArgument expr,
double value,
Variable iVar,
boolean iValue)
Adds
ivar == iValue => expr >= value . |
EnforcedLinearConstraint |
addEnforcedGreaterOrEqual(LinearArgument left,
LinearArgument right,
Variable iVar,
boolean iValue)
Adds
ivar == iValue => left >= right . |
EnforcedLinearConstraint |
addEnforcedLessOrEqual(LinearArgument expr,
double value,
Variable iVar,
boolean iValue)
Adds
ivar == iValue => expr <= value . |
EnforcedLinearConstraint |
addEnforcedLessOrEqual(LinearArgument left,
LinearArgument right,
Variable iVar,
boolean iValue)
Adds
ivar == iValue => left <= right . |
EnforcedLinearConstraint |
addEnforcedLinearConstraint(LinearArgument expr,
double lb,
double ub,
Variable iVar,
boolean iValue)
Adds
ivar == iValue => lb <= expr <= ub . |
LinearConstraint |
addEquality(LinearArgument expr,
double value)
Adds
expr == value . |
LinearConstraint |
addEquality(LinearArgument left,
LinearArgument right)
Adds
left == right . |
LinearConstraint |
addGreaterOrEqual(LinearArgument expr,
double value)
Adds
expr >= value . |
LinearConstraint |
addGreaterOrEqual(LinearArgument left,
LinearArgument right)
Adds
left >= right . |
LinearConstraint |
addLessOrEqual(LinearArgument expr,
double value)
Adds
expr <= value . |
LinearConstraint |
addLessOrEqual(LinearArgument left,
LinearArgument right)
Adds
left <= right . |
LinearConstraint |
addLinearConstraint(LinearArgument expr,
double lb,
double ub)
Adds
lb <= expr <= ub . |
LinearConstraint |
constraintFromIndex(int index)
Rebuilds a linear constraint from its index.
|
EnforcedLinearConstraint |
enforcedConstraintFromIndex(int index)
Rebuilds a linear constraint from its index.
|
boolean |
exportToFile(java.lang.String file)
Write the model as a protocol buffer to 'file'.
|
java.lang.String |
exportToLpString(boolean obfuscate) |
java.lang.String |
exportToMpsString(boolean obfuscate) |
ModelBuilder |
getClone()
Returns a cloned model
|
ModelBuilderHelper |
getHelper()
Returns the model builder helper.
|
java.lang.String |
getName()
Returns the name of the model.
|
boolean |
importFromFile(java.lang.String file)
import the model from protocol buffer 'file'.
|
boolean |
importFromLpFile(java.lang.String lpFile) |
boolean |
importFromLpString(java.lang.String lpString) |
boolean |
importFromMpsFile(java.lang.String mpsFile) |
boolean |
importFromMpsString(java.lang.String mpsString) |
void |
maximize(LinearArgument obj)
Minimize expression
|
void |
minimize(LinearArgument obj)
Minimize expression
|
Variable |
newBoolVar(java.lang.String name)
Creates a Boolean variable with the given name.
|
Variable |
newConstant(double value)
Creates a constant variable.
|
Variable |
newIntVar(double lb,
double ub,
java.lang.String name)
Creates an integer variable with domain [lb, ub].
|
Variable |
newNumVar(double lb,
double ub,
java.lang.String name)
Creates a continuous variable with domain [lb, ub].
|
Variable |
newVar(double lb,
double ub,
boolean isIntegral,
java.lang.String name)
Creates a variable with domain [lb, ub].
|
int |
numConstraints()
Returns the number of constraints in the model.
|
int |
numVariables()
Returns the number of variables in the model.
|
void |
optimize(LinearArgument obj,
boolean maximize)
Sets the objective expression.
|
void |
setName(java.lang.String name)
Sets the name of the model.
|
Variable |
varFromIndex(int index)
Rebuilds a variable from its index.
|
boolean |
writeToMpsFile(java.lang.String filename,
boolean obfuscate) |
public ModelBuilder getClone()
public Variable newVar(double lb, double ub, boolean isIntegral, java.lang.String name)
public Variable newNumVar(double lb, double ub, java.lang.String name)
public Variable newIntVar(double lb, double ub, java.lang.String name)
public Variable newBoolVar(java.lang.String name)
public Variable newConstant(double value)
public Variable varFromIndex(int index)
public LinearConstraint addLinearConstraint(LinearArgument expr, double lb, double ub)
lb <= expr <= ub
.public LinearConstraint addEquality(LinearArgument expr, double value)
expr == value
.public LinearConstraint addEquality(LinearArgument left, LinearArgument right)
left == right
.public LinearConstraint addLessOrEqual(LinearArgument expr, double value)
expr <= value
.public LinearConstraint addLessOrEqual(LinearArgument left, LinearArgument right)
left <= right
.public LinearConstraint addGreaterOrEqual(LinearArgument expr, double value)
expr >= value
.public LinearConstraint addGreaterOrEqual(LinearArgument left, LinearArgument right)
left >= right
.public LinearConstraint constraintFromIndex(int index)
public EnforcedLinearConstraint addEnforcedLinearConstraint(LinearArgument expr, double lb, double ub, Variable iVar, boolean iValue)
ivar == iValue => lb <= expr <= ub
.public EnforcedLinearConstraint addEnforcedEquality(LinearArgument expr, double value, Variable iVar, boolean iValue)
ivar == iValue => expr == value
.public EnforcedLinearConstraint addEnforcedEquality(LinearArgument left, LinearArgument right, Variable iVar, boolean iValue)
ivar == iValue => left == right
.public EnforcedLinearConstraint addEnforcedLessOrEqual(LinearArgument expr, double value, Variable iVar, boolean iValue)
ivar == iValue => expr <= value
.public EnforcedLinearConstraint addEnforcedLessOrEqual(LinearArgument left, LinearArgument right, Variable iVar, boolean iValue)
ivar == iValue => left <= right
.public EnforcedLinearConstraint addEnforcedGreaterOrEqual(LinearArgument expr, double value, Variable iVar, boolean iValue)
ivar == iValue => expr >= value
.public EnforcedLinearConstraint addEnforcedGreaterOrEqual(LinearArgument left, LinearArgument right, Variable iVar, boolean iValue)
ivar == iValue => left >= right
.public EnforcedLinearConstraint enforcedConstraintFromIndex(int index)
public void minimize(LinearArgument obj)
public void maximize(LinearArgument obj)
public void optimize(LinearArgument obj, boolean maximize)
public int numVariables()
public int numConstraints()
public java.lang.String getName()
public void setName(java.lang.String name)
public boolean exportToFile(java.lang.String file)
file
- file to write the model to. If the filename ends with 'txt', the model will be
written as a text file, otherwise, the binary format will be used.public boolean importFromFile(java.lang.String file)
file
- file to read the model from.public java.lang.String exportToMpsString(boolean obfuscate)
public java.lang.String exportToLpString(boolean obfuscate)
public boolean writeToMpsFile(java.lang.String filename, boolean obfuscate)
public boolean importFromMpsString(java.lang.String mpsString)
public boolean importFromMpsFile(java.lang.String mpsFile)
public boolean importFromLpString(java.lang.String lpString)
public boolean importFromLpFile(java.lang.String lpFile)
public ModelBuilderHelper getHelper()
Copyright © 2025. All rights reserved.