Module ojalgo
Package org.ojalgo.optimisation.convex
Class ConvexData<N extends java.lang.Comparable<N>>
- java.lang.Object
-
- org.ojalgo.optimisation.convex.ConvexData<N>
-
- All Implemented Interfaces:
ExpressionsBasedModel.EntityMap,Optimisation,Optimisation.ProblemStructure
public final class ConvexData<N extends java.lang.Comparable<N>> extends java.lang.Object implements ExpressionsBasedModel.EntityMap
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static interfaceConvexData.ConvexDataFactory<N extends java.lang.Comparable<N>>-
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
Fields Modifier and Type Field Description private RowsSupplier<N>myAEprivate RowsSupplier<N>myAIprivate PhysicalStore<N>myBEprivate PhysicalStore<N>myBIprivate ConstraintsMetaDatamyConstraintsMetaDataprivate ConvexObjectiveFunction<N>myObjectiveprivate int[]myVariableIndices-
Fields inherited from interface org.ojalgo.optimisation.Optimisation.ProblemStructure
DEBUG
-
-
Constructor Summary
Constructors Constructor Description ConvexData(boolean inclMap, PhysicalStore.Factory<N,?> factory, int nbVars, int nbEqus, int nbIneq)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidaddObjective(int row, double value)(package private) voidaddObjective(int row, int col, double value)(package private) voidaddObjective(int row, int col, java.lang.Comparable<?> value)(package private) voidaddObjective(int row, java.lang.Comparable<?> value)intcountAdditionalConstraints()Not included inOptimisation.ProblemStructure.countConstraints()(because they are not simple linear equality or inequality constraints),intcountConstraints()intcountEqualityConstraints()intcountInequalityConstraints()intcountModelVariables()The number of variables, in the solver, that directly correspond to a model variable.intcountSlackVariables()The number of slack variables.intcountVariables()PhysicalStore<N>getAE()Equality constraints body: [AE][X] == [BE](package private) SparseArray<N>getAE(int row)(package private) RowsSupplier<N>getAE(int... rows)(package private) PhysicalStore<N>getAI()Inequality constraints body: [AI][X] <= [BI](package private) SparseArray<N>getAI(int row)(package private) RowsSupplier<N>getAI(int... rows)MatrixStore<N>getBE()Equality constraints RHS: [AE][X] == [BE]doublegetBE(int row)MatrixStore<N>getBI()Inequality constraints RHS: [AI][X] <= [BI]doublegetBI(int row)EntryPair<ModelEntity<?>,Optimisation.ConstraintType>getConstraint(int idc)(package private) ConstraintsMetaDatagetConstraintsMetaData()ConvexObjectiveFunction<N>getObjective()Access2D.RowView<N>getRowsAE()Access2D.RowView<N>getRowsAI()EntryPair<ModelEntity<?>,Optimisation.ConstraintType>getSlack(int ids)Returns which model entity, and constraint type, that corresponds to the slack variable at the supplied index.intindexOf(int idm)Converts from a solver specific variable index to the corresponding index of the variable in the model.booleanisNegated(int idm)Is this solver variable negated relative to the corresponding model variable?(package private) voidreset()(package private) voidsetAE(int row, int col, double value)(package private) voidsetAE(int row, int col, java.lang.Comparable<?> value)(package private) voidsetAI(int row, int col, double value)(package private) voidsetAI(int row, int col, java.lang.Comparable<?> value)(package private) voidsetBE(int row, double value)(package private) voidsetBE(int row, ModelEntity<?> entity, Optimisation.ConstraintType type, java.lang.Comparable<?> value, boolean negated)(package private) voidsetBI(int row, double value)(package private) voidsetBI(int row, ModelEntity<?> entity, Optimisation.ConstraintType type, java.lang.Comparable<?> value, boolean negated)(package private) voidsetEntry(int row, ModelEntity<?> entity, Optimisation.ConstraintType type, boolean neg)(package private) voidsetObjective(int row, double value)(package private) voidsetObjective(int row, int col, double value)(package private) voidsetObjective(int row, int col, java.lang.Comparable<?> value)(package private) voidsetObjective(int row, java.lang.Comparable<?> value)(package private) voidsetVariableIndices(int indexInSolver, int indexInModel)(package private) voidupdate(Access1D<?> mtrxC, Access1D<?> mtrxBE, Access1D<?> mtrxBI)
-
-
-
Field Detail
-
myAE
private final RowsSupplier<N extends java.lang.Comparable<N>> myAE
-
myAI
private final RowsSupplier<N extends java.lang.Comparable<N>> myAI
-
myBE
private final PhysicalStore<N extends java.lang.Comparable<N>> myBE
-
myBI
private final PhysicalStore<N extends java.lang.Comparable<N>> myBI
-
myConstraintsMetaData
private final ConstraintsMetaData myConstraintsMetaData
-
myObjective
private final ConvexObjectiveFunction<N extends java.lang.Comparable<N>> myObjective
-
myVariableIndices
private final int[] myVariableIndices
-
-
Constructor Detail
-
ConvexData
ConvexData(boolean inclMap, PhysicalStore.Factory<N,?> factory, int nbVars, int nbEqus, int nbIneq)
-
-
Method Detail
-
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
-
countConstraints
public int countConstraints()
- Specified by:
countConstraintsin interfaceOptimisation.ProblemStructure
-
countEqualityConstraints
public int countEqualityConstraints()
- Specified by:
countEqualityConstraintsin interfaceOptimisation.ProblemStructure
-
countInequalityConstraints
public int countInequalityConstraints()
- Specified by:
countInequalityConstraintsin interfaceOptimisation.ProblemStructure
-
countModelVariables
public int countModelVariables()
Description copied from interface:ExpressionsBasedModel.EntityMapThe number of variables, in the solver, that directly correspond to a model variable. (Not slack or artificial variables.)This defines the range of the indices that can be used with the
ExpressionsBasedModel.EntityMap.indexOf(int)andExpressionsBasedModel.EntityMap.isNegated(int)methods.- Specified by:
countModelVariablesin interfaceExpressionsBasedModel.EntityMap
-
countSlackVariables
public int countSlackVariables()
Description copied from interface:ExpressionsBasedModel.EntityMapThe number of slack variables.This defines the range of the indices that can be used with the
ExpressionsBasedModel.EntityMap.getSlack(int)method.- Specified by:
countSlackVariablesin interfaceExpressionsBasedModel.EntityMap
-
countVariables
public int countVariables()
- Specified by:
countVariablesin interfaceOptimisation.ProblemStructure
-
getAE
public PhysicalStore<N> getAE()
Equality constraints body: [AE][X] == [BE]
-
getBE
public MatrixStore<N> getBE()
Equality constraints RHS: [AE][X] == [BE]
-
getBE
public double getBE(int row)
-
getBI
public MatrixStore<N> getBI()
Inequality constraints RHS: [AI][X] <= [BI]
-
getBI
public double getBI(int row)
-
getConstraint
public EntryPair<ModelEntity<?>,Optimisation.ConstraintType> getConstraint(int idc)
- Specified by:
getConstraintin interfaceExpressionsBasedModel.EntityMap
-
getObjective
public ConvexObjectiveFunction<N> getObjective()
-
getRowsAE
public Access2D.RowView<N> getRowsAE()
-
getRowsAI
public Access2D.RowView<N> getRowsAI()
-
getSlack
public EntryPair<ModelEntity<?>,Optimisation.ConstraintType> getSlack(int ids)
Description copied from interface:ExpressionsBasedModel.EntityMapReturns which model entity, and constraint type, that corresponds to the slack variable at the supplied index.- Specified by:
getSlackin interfaceExpressionsBasedModel.EntityMap- Parameters:
ids- Index of solver slack variable (If there are 3 slack variables this input argument should be in the range [0.2].)
-
indexOf
public int indexOf(int idm)
Description copied from interface:ExpressionsBasedModel.EntityMapConverts from a solver specific variable index to the corresponding index of the variable in the model. Note that not all model variables are necessarily represented in the solver, and a model variable may result in multiple solver variables. Further, slack variables, artificial variables and such are typically not represented in the model.- Specified by:
indexOfin interfaceExpressionsBasedModel.EntityMap- Parameters:
idm- Index of solver variable- Returns:
- Index of model variable (negative if no map)
-
isNegated
public boolean isNegated(int idm)
Description copied from interface:ExpressionsBasedModel.EntityMapIs this solver variable negated relative to the corresponding model variable?- Specified by:
isNegatedin interfaceExpressionsBasedModel.EntityMap- Parameters:
idm- Index of solver variable- Returns:
- true if this solver variable represents a negated model variable
-
addObjective
void addObjective(int row, java.lang.Comparable<?> value)
-
addObjective
void addObjective(int row, double value)
-
addObjective
void addObjective(int row, int col, java.lang.Comparable<?> value)
-
addObjective
void addObjective(int row, int col, double value)
-
getAE
SparseArray<N> getAE(int row)
-
getAE
RowsSupplier<N> getAE(int... rows)
-
getAI
PhysicalStore<N> getAI()
Inequality constraints body: [AI][X] <= [BI]
-
getAI
SparseArray<N> getAI(int row)
-
getAI
RowsSupplier<N> getAI(int... rows)
-
getConstraintsMetaData
ConstraintsMetaData getConstraintsMetaData()
-
reset
void reset()
-
setAE
void setAE(int row, int col, java.lang.Comparable<?> value)
-
setAE
void setAE(int row, int col, double value)
-
setAI
void setAI(int row, int col, java.lang.Comparable<?> value)
-
setAI
void setAI(int row, int col, double value)
-
setBE
void setBE(int row, double value)
-
setBE
void setBE(int row, ModelEntity<?> entity, Optimisation.ConstraintType type, java.lang.Comparable<?> value, boolean negated)
-
setBI
void setBI(int row, double value)
-
setBI
void setBI(int row, ModelEntity<?> entity, Optimisation.ConstraintType type, java.lang.Comparable<?> value, boolean negated)
-
setEntry
void setEntry(int row, ModelEntity<?> entity, Optimisation.ConstraintType type, boolean neg)
-
setObjective
void setObjective(int row, java.lang.Comparable<?> value)
-
setObjective
void setObjective(int row, double value)
-
setObjective
void setObjective(int row, int col, java.lang.Comparable<?> value)
-
setObjective
void setObjective(int row, int col, double value)
-
setVariableIndices
void setVariableIndices(int indexInSolver, int indexInModel)
-
-