Package com.google.ortools.modelbuilder
Class ModelBuilder
- java.lang.Object
-
- com.google.ortools.modelbuilder.ModelBuilder
-
public final class ModelBuilder extends java.lang.ObjectMain modeling class.Proposes a factory to create all modeling objects understood by the SAT solver.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classModelBuilder.MismatchedArrayLengthsException thrown when parallel arrays have mismatched lengths.static classModelBuilder.WrongLengthException thrown when an array has a wrong length.
-
Constructor Summary
Constructors Constructor Description ModelBuilder()Main constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description EnforcedLinearConstraintaddEnforcedEquality(LinearArgument expr, double value, Variable iVar, boolean iValue)Addsivar == iValue => expr == value.EnforcedLinearConstraintaddEnforcedEquality(LinearArgument left, LinearArgument right, Variable iVar, boolean iValue)Addsivar == iValue => left == right.EnforcedLinearConstraintaddEnforcedGreaterOrEqual(LinearArgument expr, double value, Variable iVar, boolean iValue)Addsivar == iValue => expr >= value.EnforcedLinearConstraintaddEnforcedGreaterOrEqual(LinearArgument left, LinearArgument right, Variable iVar, boolean iValue)Addsivar == iValue => left >= right.EnforcedLinearConstraintaddEnforcedLessOrEqual(LinearArgument expr, double value, Variable iVar, boolean iValue)Addsivar == iValue => expr <= value.EnforcedLinearConstraintaddEnforcedLessOrEqual(LinearArgument left, LinearArgument right, Variable iVar, boolean iValue)Addsivar == iValue => left <= right.EnforcedLinearConstraintaddEnforcedLinearConstraint(LinearArgument expr, double lb, double ub, Variable iVar, boolean iValue)Addsivar == iValue => lb <= expr <= ub.LinearConstraintaddEquality(LinearArgument expr, double value)Addsexpr == value.LinearConstraintaddEquality(LinearArgument left, LinearArgument right)Addsleft == right.LinearConstraintaddGreaterOrEqual(LinearArgument expr, double value)Addsexpr >= value.LinearConstraintaddGreaterOrEqual(LinearArgument left, LinearArgument right)Addsleft >= right.LinearConstraintaddLessOrEqual(LinearArgument expr, double value)Addsexpr <= value.LinearConstraintaddLessOrEqual(LinearArgument left, LinearArgument right)Addsleft <= right.LinearConstraintaddLinearConstraint(LinearArgument expr, double lb, double ub)Addslb <= expr <= ub.LinearConstraintconstraintFromIndex(int index)Rebuilds a linear constraint from its index.EnforcedLinearConstraintenforcedConstraintFromIndex(int index)Rebuilds a linear constraint from its index.booleanexportToFile(java.lang.String file)Write the model as a protocol buffer to 'file'.java.lang.StringexportToLpString(boolean obfuscate)java.lang.StringexportToMpsString(boolean obfuscate)ModelBuildergetClone()Returns a cloned modelModelBuilderHelpergetHelper()Returns the model builder helper.java.lang.StringgetName()Returns the name of the model.booleanimportFromLpFile(java.lang.String lpFile)booleanimportFromLpString(java.lang.String lpString)booleanimportFromMpsFile(java.lang.String mpsFile)booleanimportFromMpsString(java.lang.String mpsString)voidmaximize(LinearArgument obj)Minimize expressionvoidminimize(LinearArgument obj)Minimize expressionVariablenewBoolVar(java.lang.String name)Creates a Boolean variable with the given name.VariablenewConstant(double value)Creates a constant variable.VariablenewIntVar(double lb, double ub, java.lang.String name)Creates an integer variable with domain [lb, ub].VariablenewNumVar(double lb, double ub, java.lang.String name)Creates a continuous variable with domain [lb, ub].VariablenewVar(double lb, double ub, boolean isIntegral, java.lang.String name)Creates a variable with domain [lb, ub].intnumConstraints()Returns the number of constraints in the model.intnumVariables()Returns the number of variables in the model.voidoptimize(LinearArgument obj, boolean maximize)Sets the objective expression.voidsetName(java.lang.String name)Sets the name of the model.VariablevarFromIndex(int index)Rebuilds a variable from its index.
-
-
-
Method Detail
-
getClone
public ModelBuilder getClone()
Returns a cloned model
-
newVar
public Variable newVar(double lb, double ub, boolean isIntegral, java.lang.String name)
Creates a variable with domain [lb, ub].
-
newNumVar
public Variable newNumVar(double lb, double ub, java.lang.String name)
Creates a continuous variable with domain [lb, ub].
-
newIntVar
public Variable newIntVar(double lb, double ub, java.lang.String name)
Creates an integer variable with domain [lb, ub].
-
newBoolVar
public Variable newBoolVar(java.lang.String name)
Creates a Boolean variable with the given name.
-
newConstant
public Variable newConstant(double value)
Creates a constant variable.
-
varFromIndex
public Variable varFromIndex(int index)
Rebuilds a variable from its index.
-
addLinearConstraint
public LinearConstraint addLinearConstraint(LinearArgument expr, double lb, double ub)
Addslb <= expr <= ub.
-
addEquality
public LinearConstraint addEquality(LinearArgument expr, double value)
Addsexpr == value.
-
addEquality
public LinearConstraint addEquality(LinearArgument left, LinearArgument right)
Addsleft == right.
-
addLessOrEqual
public LinearConstraint addLessOrEqual(LinearArgument expr, double value)
Addsexpr <= value.
-
addLessOrEqual
public LinearConstraint addLessOrEqual(LinearArgument left, LinearArgument right)
Addsleft <= right.
-
addGreaterOrEqual
public LinearConstraint addGreaterOrEqual(LinearArgument expr, double value)
Addsexpr >= value.
-
addGreaterOrEqual
public LinearConstraint addGreaterOrEqual(LinearArgument left, LinearArgument right)
Addsleft >= right.
-
constraintFromIndex
public LinearConstraint constraintFromIndex(int index)
Rebuilds a linear constraint from its index.
-
addEnforcedLinearConstraint
public EnforcedLinearConstraint addEnforcedLinearConstraint(LinearArgument expr, double lb, double ub, Variable iVar, boolean iValue)
Addsivar == iValue => lb <= expr <= ub.
-
addEnforcedEquality
public EnforcedLinearConstraint addEnforcedEquality(LinearArgument expr, double value, Variable iVar, boolean iValue)
Addsivar == iValue => expr == value.
-
addEnforcedEquality
public EnforcedLinearConstraint addEnforcedEquality(LinearArgument left, LinearArgument right, Variable iVar, boolean iValue)
Addsivar == iValue => left == right.
-
addEnforcedLessOrEqual
public EnforcedLinearConstraint addEnforcedLessOrEqual(LinearArgument expr, double value, Variable iVar, boolean iValue)
Addsivar == iValue => expr <= value.
-
addEnforcedLessOrEqual
public EnforcedLinearConstraint addEnforcedLessOrEqual(LinearArgument left, LinearArgument right, Variable iVar, boolean iValue)
Addsivar == iValue => left <= right.
-
addEnforcedGreaterOrEqual
public EnforcedLinearConstraint addEnforcedGreaterOrEqual(LinearArgument expr, double value, Variable iVar, boolean iValue)
Addsivar == iValue => expr >= value.
-
addEnforcedGreaterOrEqual
public EnforcedLinearConstraint addEnforcedGreaterOrEqual(LinearArgument left, LinearArgument right, Variable iVar, boolean iValue)
Addsivar == iValue => left >= right.
-
enforcedConstraintFromIndex
public EnforcedLinearConstraint enforcedConstraintFromIndex(int index)
Rebuilds a linear constraint from its index.
-
minimize
public void minimize(LinearArgument obj)
Minimize expression
-
maximize
public void maximize(LinearArgument obj)
Minimize expression
-
optimize
public void optimize(LinearArgument obj, boolean maximize)
Sets the objective expression.
-
numVariables
public int numVariables()
Returns the number of variables in the model.
-
numConstraints
public int numConstraints()
Returns the number of constraints in the model.
-
getName
public java.lang.String getName()
Returns the name of the model.
-
setName
public void setName(java.lang.String name)
Sets the name of the model.
-
exportToFile
public boolean exportToFile(java.lang.String file)
Write the model as a protocol buffer to 'file'.- Parameters:
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.- Returns:
- true if the model was correctly written.
-
exportToMpsString
public java.lang.String exportToMpsString(boolean obfuscate)
-
exportToLpString
public java.lang.String exportToLpString(boolean obfuscate)
-
importFromMpsString
public boolean importFromMpsString(java.lang.String mpsString)
-
importFromMpsFile
public boolean importFromMpsFile(java.lang.String mpsFile)
-
importFromLpString
public boolean importFromLpString(java.lang.String lpString)
-
importFromLpFile
public boolean importFromLpFile(java.lang.String lpFile)
-
getHelper
public ModelBuilderHelper getHelper()
Returns the model builder helper.
-
-