Package org.ojalgo.optimisation.linear
Class SparseTableau
java.lang.Object
org.ojalgo.optimisation.linear.SimplexStore
org.ojalgo.optimisation.linear.SimplexTableau
org.ojalgo.optimisation.linear.SparseTableau
- All Implemented Interfaces:
Access1D<Double>
,Access2D<Double>
,Mutate1D
,Mutate2D
,Structure1D
,Structure2D
-
Nested Class Summary
Nested classes/interfaces inherited from class org.ojalgo.optimisation.linear.SimplexStore
SimplexStore.ColumnState
Nested classes/interfaces inherited from interface org.ojalgo.structure.Access2D
Access2D.Aggregatable<N extends Comparable<N>>, Access2D.Collectable<N extends Comparable<N>,
R extends Mutate2D>, Access2D.ColumnView<N extends Comparable<N>>, Access2D.ElementView<N extends Comparable<N>>, Access2D.RowView<N extends Comparable<N>>, Access2D.SelectionView<N extends Comparable<N>>, Access2D.Sliceable<N extends Comparable<N>>, Access2D.Visitable<N extends Comparable<N>> Nested classes/interfaces inherited from interface org.ojalgo.structure.Mutate1D
Mutate1D.Sortable
Nested classes/interfaces inherited from interface org.ojalgo.structure.Mutate2D
Mutate2D.Exchangeable, Mutate2D.Fillable<N extends Comparable<N>>, Mutate2D.Mixable<N extends Comparable<N>>, Mutate2D.Modifiable<N extends Comparable<N>>, Mutate2D.ModifiableReceiver<N extends Comparable<N>>, Mutate2D.Receiver<N extends Comparable<N>>
Nested classes/interfaces inherited from interface org.ojalgo.structure.Structure1D
Structure1D.BasicMapper<T>, Structure1D.IndexMapper<T>, Structure1D.IntIndex, Structure1D.Logical<S extends Structure1D,
B extends Structure1D.Logical<S, B>>, Structure1D.LongIndex, Structure1D.LoopCallback Nested classes/interfaces inherited from interface org.ojalgo.structure.Structure2D
Structure2D.IntRowColumn, Structure2D.Logical<S extends Structure2D,
B extends Structure2D.Logical<S, B>>, Structure2D.LongRowColumn, Structure2D.ReducibleTo1D<R extends Structure1D>, Structure2D.Reshapable, Structure2D.RowColumnKey<R, C>, Structure2D.RowColumnMapper<R, C> -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Array1D.Factory
<Double> private static final DenseArray.Factory
<Double> private DenseArray
<Double> private double
private final SparseArray<Double>[]
private final SparseArray.SparseFactory
<Double> private double
-
Constructor Summary
ConstructorsConstructorDescriptionSparseTableau
(int mm, int nn) SparseTableau
(LinearStructure linearStructure) -
Method Summary
Modifier and TypeMethodDescription(package private) void
copyBasicSolution
(double[] solution) (package private) void
protected void
doPivot
(int row, int col) Perform the pivot operation on the tableau – only.private void
doPivot
(int row, int col, SparseArray<Double> body, double rhs) double
doubleValue
(int row, int col) Extracts one element of this matrix as a double.(package private) double
(package private) boolean
fixVariable
(int index, double value) int
(package private) double
int
(package private) double
getValue()
(package private) Primitive2D
(package private) Primitive1D
(package private) Primitive1D
(package private) void
private static double
scale
(SparseArray<Double> body, double rhs, int col) void
set
(int row, int col, double value) protected void
shiftColumn
(int col, double shift) (package private) void
Methods inherited from class org.ojalgo.optimisation.linear.SimplexTableau
calculateDualDirection, calculateIteration, calculatePrimalDirection, constraintsBody, constraintsRHS, findNextPivotColumn, generateCutCandidates, get, getCost, getCurrentElement, getCurrentElement, getCurrentRHS, getInfeasibility, getReducedCost, newSimplexTableauSolver, newTableauFactory, objective, pivot, pivot, resetBasis, set, setupClassicPhase1Objective, sliceBodyColumn, sliceBodyRow, sliceConstraintsRHS, sliceDualVariables, sliceTableauColumn, sliceTableauRow, toString, value
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, unbounded, update, updateBasis, updateRange, upper
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.ojalgo.structure.Access1D
asCollectable1D, asKeyed1D, axpy, dot, select, supplyTo, toRawCopy1D
Methods inherited from interface org.ojalgo.structure.Access2D
asCollectable2D, asKeyed2D, byteValue, byteValue, byteValue, byteValue, columns, columns, columns, doubleValue, doubleValue, doubleValue, elements, floatValue, floatValue, floatValue, floatValue, get, intValue, intValue, intValue, intValue, longValue, longValue, longValue, longValue, nonzeros, rows, rows, rows, select, select, shortValue, shortValue, shortValue, shortValue, toRawCopy2D
Methods inherited from interface org.ojalgo.structure.Mutate2D
set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set
Methods inherited from interface org.ojalgo.structure.Structure2D
count, countColumns, countRows, firstInColumn, firstInRow, getMaxDim, getMinDim, isEmpty, isFat, isScalar, isSquare, isTall, isVector, limitOfColumn, limitOfRow, size
-
Field Details
-
ARRAY1D_FACTORY
-
DENSE_FACTORY
-
myAuxiliaryObjective
-
myAuxiliaryValue
private double myAuxiliaryValue -
myBody
-
myObjective
-
myRHS
-
mySparseFactory
-
myValue
private double myValue
-
-
Constructor Details
-
SparseTableau
SparseTableau(int mm, int nn) -
SparseTableau
SparseTableau(LinearStructure linearStructure)
-
-
Method Details
-
scale
-
doubleValue
public double doubleValue(int row, int col) Description copied from interface:Access2D
Extracts one element of this matrix as a double.- Parameters:
row
- A row index.col
- A column index.- Returns:
- One matrix element
-
getColDim
public int getColDim()- Returns:
- The number of columns
-
getRowDim
public int getRowDim()- Returns:
- The number of rows
-
set
public void set(int row, int col, double value) -
doPivot
-
doPivot
protected void doPivot(int row, int col) Description copied from class:SimplexTableau
Perform the pivot operation on the tableau – only. Various auxiliary bookkeeping should NOT be done here.- Specified by:
doPivot
in classSimplexTableau
-
shiftColumn
protected void shiftColumn(int col, double shift) - Overrides:
shiftColumn
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
-
fixVariable
boolean fixVariable(int index, double value) - Specified by:
fixVariable
in classSimplexTableau
-
getInfeasibility
double getInfeasibility()- Specified by:
getInfeasibility
in classSimplexTableau
- Returns:
- The phase 1 objective function value
-
getValue
double getValue()- Specified by:
getValue
in classSimplexTableau
- Returns:
- The (phase 2) objective function value
-
newConstraintsBody
Primitive2D newConstraintsBody()- Specified by:
newConstraintsBody
in classSimplexTableau
-
newConstraintsRHS
Primitive1D newConstraintsRHS()- Specified by:
newConstraintsRHS
in classSimplexTableau
-
newObjective
Primitive1D newObjective()- Specified by:
newObjective
in classSimplexTableau
-
restoreObjective
void restoreObjective()- Specified by:
restoreObjective
in classSimplexStore
-
switchObjective
void switchObjective()- Specified by:
switchObjective
in classSimplexStore
-