Package org.ojalgo.optimisation.linear
Class RevisedStore
- java.lang.Object
-
- org.ojalgo.optimisation.linear.SimplexStore
-
- org.ojalgo.optimisation.linear.RevisedStore
-
final class RevisedStore extends SimplexStore
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.ojalgo.optimisation.linear.SimplexStore
SimplexStore.ColumnState
-
-
Field Summary
Fields Modifier and Type Field Description private PhysicalStore<java.lang.Double>
a
a(N) in Gurobi presentation - delta – reduced costsprivate PhysicalStore<java.lang.Double>
d
Reduced costs / dual slackprivate PhysicalStore<java.lang.Double>
l
private R064Store
myAlternativeObjective
private MatrixStore<java.lang.Double>
myBasis
private ColumnsSupplier<java.lang.Double>
myConstraintsBody
private ColumnsSupplier.SingleView<java.lang.Double>
myConstraintsColumn
private R064Store
myConstraintsRHS
private ProductFormInverse
myInvBasis
private R064Store
myObjective
private PhysicalStore<java.lang.Double>
r
cost reducerprivate PhysicalStore<java.lang.Double>
x
primal basic solutionprivate PhysicalStore<java.lang.Double>
y
delta – primal basic solutionprivate PhysicalStore<java.lang.Double>
z
-
Constructor Summary
Constructors Constructor Description RevisedStore(int mm, int nn)
RevisedStore(LinearStructure linearStructure)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
calculateDualDirection(SimplexSolver.ExitInfo exit)
(package private) void
calculateIteration()
(package private) void
calculatePrimalDirection(SimplexSolver.EnterInfo enter)
(package private) Mutate2D
constraintsBody()
The simplex' constraints body (including the parts corresponding to slack and artificial variables).(package private) Mutate1D
constraintsRHS()
The simplex' constraints RHS.(package private) void
copyBasicSolution(double[] solution)
(package private) void
copyObjective()
private void
doBodyRow(int i, PhysicalStore<java.lang.Double> destination)
private void
doExclTranspMult(MatrixStore<java.lang.Double> lambda, PhysicalStore<java.lang.Double> results)
(package private) double
extractValue()
(package private) double
getCost(int j)
(package private) double
getCurrentElement(int i, SimplexSolver.EnterInfo enter)
The current (tableau) constraint body element.(package private) double
getCurrentElement(SimplexSolver.ExitInfo exit, int je)
The current (tableau) constraint body element.(package private) double
getCurrentRHS(int i)
The current (tableau) constraint RHS.(package private) double
getInfeasibility(int i)
(package private) double
getReducedCost(int je)
private static R064Store
newColumn(int nbRows)
private static ColumnsSupplier<java.lang.Double>
newMatrix(int nbRows, int nbCols)
private static R064Store
newRow(int nbCols)
(package private) Mutate1D
objective()
The simplex' objective function.protected void
pivot(SimplexSolver.IterDescr iteration)
(package private) void
resetBasis(int[] basis)
Everything that is not in the basis is set to be in at lower bound.(package private) void
restoreObjective()
(package private) void
setupClassicPhase1Objective()
protected void
shiftColumn(int col, double shift)
(package private) Primitive1D
sliceBodyRow(int i)
(package private) Primitive1D
sliceDualVariables()
(package private) void
switchObjective()
-
Methods inherited from class org.ojalgo.optimisation.linear.SimplexStore
countRemainingArtificials, extractSolution, generateCutCandidates, getColumnState, getExcludedLower, getExcludedUnbounded, getExcludedUpper, getLowerBound, getLowerBounds, getLowerGap, getRange, getUpperBound, getUpperBounds, getUpperGap, isArtificial, isExcluded, isIncluded, isNegated, isPrintable, isRemainingArtificials, lower, newDualSimplexSolver, newPhasedSimplexSolver, newPrimalSimplexSolver, newStoreFactory, toString, unbounded, update, updateBasis, updateRange, upper
-
-
-
-
Field Detail
-
a
private final PhysicalStore<java.lang.Double> a
a(N) in Gurobi presentation - delta – reduced costs
-
d
private final PhysicalStore<java.lang.Double> d
Reduced costs / dual slack
-
l
private final PhysicalStore<java.lang.Double> l
-
myAlternativeObjective
private R064Store myAlternativeObjective
-
myBasis
private final MatrixStore<java.lang.Double> myBasis
-
myConstraintsBody
private final ColumnsSupplier<java.lang.Double> myConstraintsBody
-
myConstraintsColumn
private final ColumnsSupplier.SingleView<java.lang.Double> myConstraintsColumn
-
myConstraintsRHS
private final R064Store myConstraintsRHS
-
myInvBasis
private final ProductFormInverse myInvBasis
-
myObjective
private final R064Store myObjective
-
r
private final PhysicalStore<java.lang.Double> r
cost reducer
-
x
private final PhysicalStore<java.lang.Double> x
primal basic solution
-
y
private final PhysicalStore<java.lang.Double> y
delta – primal basic solution
-
z
private final PhysicalStore<java.lang.Double> z
-
-
Constructor Detail
-
RevisedStore
RevisedStore(int mm, int nn)
-
RevisedStore
RevisedStore(LinearStructure linearStructure)
-
-
Method Detail
-
newColumn
private static R064Store newColumn(int nbRows)
-
newMatrix
private static ColumnsSupplier<java.lang.Double> newMatrix(int nbRows, int nbCols)
-
newRow
private static R064Store newRow(int nbCols)
-
doBodyRow
private void doBodyRow(int i, PhysicalStore<java.lang.Double> destination)
-
doExclTranspMult
private void doExclTranspMult(MatrixStore<java.lang.Double> lambda, PhysicalStore<java.lang.Double> results)
-
pivot
protected void pivot(SimplexSolver.IterDescr iteration)
- Overrides:
pivot
in classSimplexStore
-
shiftColumn
protected void shiftColumn(int col, double shift)
- Overrides:
shiftColumn
in classSimplexStore
-
calculateDualDirection
void calculateDualDirection(SimplexSolver.ExitInfo exit)
- Specified by:
calculateDualDirection
in classSimplexStore
-
calculateIteration
void calculateIteration()
- Specified by:
calculateIteration
in classSimplexStore
-
calculatePrimalDirection
void calculatePrimalDirection(SimplexSolver.EnterInfo enter)
- Specified by:
calculatePrimalDirection
in classSimplexStore
-
constraintsBody
Mutate2D constraintsBody()
Description copied from class:SimplexStore
The simplex' constraints body (including the parts corresponding to slack and artificial variables).- Specified by:
constraintsBody
in classSimplexStore
-
constraintsRHS
Mutate1D constraintsRHS()
Description copied from class:SimplexStore
The simplex' constraints RHS.- Specified by:
constraintsRHS
in classSimplexStore
-
copyBasicSolution
void copyBasicSolution(double[] solution)
- Specified by:
copyBasicSolution
in classSimplexStore
-
copyObjective
void copyObjective()
- Specified by:
copyObjective
in classSimplexStore
-
extractValue
double extractValue()
- Specified by:
extractValue
in classSimplexStore
-
getCost
double getCost(int j)
- Specified by:
getCost
in classSimplexStore
-
getCurrentElement
double getCurrentElement(SimplexSolver.ExitInfo exit, int je)
Description copied from class:SimplexStore
The current (tableau) constraint body element.- Specified by:
getCurrentElement
in classSimplexStore
-
getCurrentElement
double getCurrentElement(int i, SimplexSolver.EnterInfo enter)
Description copied from class:SimplexStore
The current (tableau) constraint body element.- Specified by:
getCurrentElement
in classSimplexStore
-
getCurrentRHS
double getCurrentRHS(int i)
Description copied from class:SimplexStore
The current (tableau) constraint RHS.- Specified by:
getCurrentRHS
in classSimplexStore
-
getInfeasibility
double getInfeasibility(int i)
- Specified by:
getInfeasibility
in classSimplexStore
-
getReducedCost
double getReducedCost(int je)
- Specified by:
getReducedCost
in classSimplexStore
-
objective
Mutate1D objective()
Description copied from class:SimplexStore
The simplex' objective function.- Specified by:
objective
in classSimplexStore
-
resetBasis
void resetBasis(int[] basis)
Description copied from class:SimplexStore
Everything that is not in the basis is set to be in at lower bound.- Overrides:
resetBasis
in classSimplexStore
-
restoreObjective
void restoreObjective()
- Specified by:
restoreObjective
in classSimplexStore
-
setupClassicPhase1Objective
void setupClassicPhase1Objective()
- Specified by:
setupClassicPhase1Objective
in classSimplexStore
-
sliceBodyRow
Primitive1D sliceBodyRow(int i)
- Specified by:
sliceBodyRow
in classSimplexStore
-
sliceDualVariables
Primitive1D sliceDualVariables()
- Specified by:
sliceDualVariables
in classSimplexStore
-
switchObjective
void switchObjective()
- Specified by:
switchObjective
in classSimplexStore
-
-