Package org.ojalgo.optimisation
Class GenericSolver.Builder<B extends GenericSolver.Builder<B,S>,S extends GenericSolver>
java.lang.Object
org.ojalgo.optimisation.GenericSolver.Builder<B,S>
- All Implemented Interfaces:
Optimisation
,Optimisation.ProblemStructure
- Direct Known Subclasses:
ConvexSolver.Builder
,LinearSolver.Builder
- Enclosing class:
GenericSolver
public abstract static class GenericSolver.Builder<B extends GenericSolver.Builder<B,S>,S extends GenericSolver>
extends Object
implements Optimisation.ProblemStructure
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.ojalgo.optimisation.Optimisation
Optimisation.Constraint, Optimisation.ConstraintType, Optimisation.Integration<M extends Optimisation.Model,
S extends Optimisation.Solver>, Optimisation.Model, Optimisation.Objective, Optimisation.Options, Optimisation.ProblemStructure, Optimisation.Result, Optimisation.Sense, Optimisation.Solver, Optimisation.State -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final PhysicalStore.Factory
<Double, R064Store> private Map
<String, MultiaryFunction.TwiceDifferentiable<Double>> Assumed constrained to be invalid input: '<'= 0.0private RowsSupplier
<Double> private RowsSupplier
<Double> private MatrixStore
<Double> private MatrixStore
<Double> private R064Store
private int
private R064Store
Fields inherited from interface org.ojalgo.optimisation.Optimisation.ProblemStructure
DEBUG
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static MatrixStore
<Double> add
(RowsSupplier<Double> baseA, MatrixStore<Double> baseB, Access2D<?> addA, Access1D<?> addB) (package private) void
addConstraint
(String key, MultiaryFunction.TwiceDifferentiable<Double> value) (package private) void
addEqualities
(MatrixStore<?> mtrxAE, MatrixStore<?> mtrxBE) (package private) void
addInequalities
(MatrixStore<?> mtrxAI, MatrixStore<?> mtrxBI) protected void
append
(StringBuilder builder) protected static final void
append
(StringBuilder builder, String label, MatrixStore<Double> matrix) final S
build()
final S
build
(Optimisation.Options options) int
Not included inOptimisation.ProblemStructure.countConstraints()
(because they are not simple linear equality or inequality constraints),int
int
int
protected abstract S
doBuild
(Optimisation.Options options) protected int
protected B
equalities
(Access2D<?> mtrxAE, Access1D<?> mtrxBE) protected B
equality
(double rhs, double... factors) protected MatrixStore
<Double> getAE()
Equality constraints body: [AE][X] == [BE]protected SparseArray
<Double> getAE
(int row) protected RowsSupplier
<Double> getAE
(int... rows) protected MatrixStore
<Double> getAI()
Inequality constraints body: [AI][X] invalid input: '<'= [BI]protected SparseArray
<Double> getAI
(int row) protected RowsSupplier
<Double> getAI
(int... rows) protected MatrixStore
<Double> getBE()
Equality constraints RHS: [AE][X] == [BE]protected double
getBE
(int row) protected MatrixStore
<Double> getBI()
Inequality constraints RHS: [AI][X] invalid input: '<'= [BI]protected double
getBI
(int row) protected MatrixStore
<Double> getC()
protected PhysicalStore.Factory
<Double, R064Store> protected R064Store
getLowerBounds
(double defaultValue) protected MultiaryFunction.TwiceDifferentiable
<Double> protected <T extends MultiaryFunction.TwiceDifferentiable<Double>>
TgetObjective
(Class<T> type) protected Access2D.RowView
<Double> protected Access2D.RowView
<Double> protected R064Store
getUpperBounds
(double defaultValue) protected B
inequalities
(Access2D<?> mtrxAI, Access1D<?> mtrxBI) protected B
inequality
(double rhs, double... factors) (package private) void
newEqualities
(int nbEqualities, int nbVariables) (package private) void
newInequalities
(int nbInequalities, int nbVariables) void
reset()
(package private) void
(package private) void
setEqualities
(Access2D<?> mtrxAE, Access1D<?> mtrxBE) (package private) void
setInequalities
(Access2D<?> mtrxAI, Access1D<?> mtrxBI) protected void
setNumberOfVariables
(int numberOfVariables) protected void
setObjective
(MultiaryFunction.TwiceDifferentiable<Double> objective) final Optimisation.Result
solve()
final String
toString()
(package private) void
validate()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.ojalgo.optimisation.Optimisation.ProblemStructure
countConstraints
-
Field Details
-
FACTORY
-
myAdditionalConstraints
Assumed constrained to be invalid input: '<'= 0.0 -
myAE
-
myAI
-
myBE
-
myBI
-
myLowerBounds
-
myNumberOfVariables
private transient int myNumberOfVariables -
myObjective
-
myUpperBounds
-
-
Constructor Details
-
Builder
protected Builder()
-
-
Method Details
-
add
private static MatrixStore<Double> add(RowsSupplier<Double> baseA, MatrixStore<Double> baseB, Access2D<?> addA, Access1D<?> addB) -
append
-
build
-
build
-
countAdditionalConstraints
public int countAdditionalConstraints()Description copied from interface:Optimisation.ProblemStructure
Not included inOptimisation.ProblemStructure.countConstraints()
(because they are not simple linear equality or inequality constraints),- Specified by:
countAdditionalConstraints
in interfaceOptimisation.ProblemStructure
-
countEqualityConstraints
public int countEqualityConstraints()- Specified by:
countEqualityConstraints
in interfaceOptimisation.ProblemStructure
-
countInequalityConstraints
public int countInequalityConstraints()- Specified by:
countInequalityConstraints
in interfaceOptimisation.ProblemStructure
-
countVariables
public int countVariables()- Specified by:
countVariables
in interfaceOptimisation.ProblemStructure
-
reset
public void reset() -
solve
-
toString
-
append
-
doBuild
-
doCountVariables
protected int doCountVariables() -
equalities
-
equality
-
getAE
Equality constraints body: [AE][X] == [BE] -
getAE
-
getAE
-
getAI
Inequality constraints body: [AI][X] invalid input: '<'= [BI] -
getAI
-
getAI
-
getBE
Equality constraints RHS: [AE][X] == [BE] -
getBE
protected double getBE(int row) -
getBI
Inequality constraints RHS: [AI][X] invalid input: '<'= [BI] -
getBI
protected double getBI(int row) -
getC
-
getFactory
-
getLowerBounds
-
getObjective
-
getObjective
-
getRowsAE
-
getRowsAI
-
getUpperBounds
-
inequalities
-
inequality
-
setNumberOfVariables
protected void setNumberOfVariables(int numberOfVariables) -
setObjective
-
addConstraint
-
addEqualities
-
addInequalities
-
newEqualities
void newEqualities(int nbEqualities, int nbVariables) -
newInequalities
void newInequalities(int nbInequalities, int nbVariables) -
setBounds
-
setEqualities
-
setInequalities
-
validate
void validate()
-