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 Optimisation
Optimisation.Constraint, Optimisation.ConstraintType, Optimisation.Integration<M,S>, 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 R064Storeprivate intprivate R064StoreFields inherited from interface 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) voidaddConstraint(String key, MultiaryFunction.TwiceDifferentiable<Double> value) (package private) voidaddEqualities(MatrixStore<?> mtrxAE, MatrixStore<?> mtrxBE) (package private) voidaddInequalities(MatrixStore<?> mtrxAI, MatrixStore<?> mtrxBI) protected voidappend(StringBuilder builder) protected static final voidappend(StringBuilder builder, String label, MatrixStore<Double> matrix) final Sbuild()final Sbuild(Optimisation.Options options) intNot included inOptimisation.ProblemStructure.countConstraints()(because they are not simple linear equality or inequality constraints),intintintprotected abstract SdoBuild(Optimisation.Options options) protected intprotected Bequalities(Access2D<?> mtrxAE, Access1D<?> mtrxBE) protected Bequality(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 doublegetBE(int row) protected MatrixStore<Double> getBI()Inequality constraints RHS: [AI][X] invalid input: '<'= [BI]protected doublegetBI(int row) protected MatrixStore<Double> getC()protected PhysicalStore.Factory<Double, R064Store> protected R064StoregetLowerBounds(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 R064StoregetUpperBounds(double defaultValue) protected Binequalities(Access2D<?> mtrxAI, Access1D<?> mtrxBI) protected Binequality(double rhs, double... factors) (package private) voidnewEqualities(int nbEqualities, int nbVariables) (package private) voidnewInequalities(int nbInequalities, int nbVariables) voidreset()(package private) void(package private) voidsetEqualities(Access2D<?> mtrxAE, Access1D<?> mtrxBE) (package private) voidsetInequalities(Access2D<?> mtrxAI, Access1D<?> mtrxBI) protected voidsetNumberOfVariables(int numberOfVariables) protected voidsetObjective(MultiaryFunction.TwiceDifferentiable<Double> objective) final Optimisation.Resultsolve()final StringtoString()(package private) voidvalidate()Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface 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.ProblemStructureNot included inOptimisation.ProblemStructure.countConstraints()(because they are not simple linear equality or inequality constraints),- Specified by:
countAdditionalConstraintsin interfaceOptimisation.ProblemStructure
-
countEqualityConstraints
public int countEqualityConstraints()- Specified by:
countEqualityConstraintsin interfaceOptimisation.ProblemStructure
-
countInequalityConstraints
public int countInequalityConstraints()- Specified by:
countInequalityConstraintsin interfaceOptimisation.ProblemStructure
-
countVariables
public int countVariables()- Specified by:
countVariablesin 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()
-