Package org.drip.optimization.simplex
Class StandardForm
java.lang.Object
org.drip.optimization.simplex.StandardForm
- All Implemented Interfaces:
DantzigSolver
public class StandardForm extends java.lang.Object implements DantzigSolver
StandardForm exposes the Standard Form of the Simplex Scheme. The References are:
- Dadush, D., and S. Huiberts (2020): A Friendly Smoothed Analysis of the Simplex Method SIAM Journal on Computing 49 (5) 449-499
- Dantzig, G. B., and M. N. Thapa (1997): Linear Programming 1: Introduction Springer-Verlag New York NY
- Murty, K. G. (1983): Linear Programming John Wiley and Sons New York NY
- Nering, E. D., and A. W. Tucker (1993): Linear Programs and Related Problems Academic Press Cambridge MA
- Padberg, M. (1999): Linear Optimization and Extensions 2nd Edition Springer-Verlag New York NY
- Author:
- Lakshmi Krishnamurthy
-
Constructor Summary
Constructors Constructor Description StandardForm(ObjectiveFunction objectiveFunction, StandardPolytope constraintPolytope, boolean diagnosticsOn)
StandardForm Constructor -
Method Summary
Modifier and Type Method Description double[]
basicFeasibleSolution()
Compute the Basic Feasible Solutionint
basicVariableCount()
Retrieve the Basic Variable CountStandardPolytope
constraintPolytope()
Retrieve the Simplex Standard Constraint Polytopeboolean
diagnosticsOn()
Retrieve the Diagnostics Settingint
freeVariableCount()
Retrieve the Free Variable CountPivotRun
multiPhaseOptimize()
Construct the Optimal Pivot Run Solution to the Simplex using a Multi-phase OptimizerObjectiveFunction
objectiveFunction()
Retrieve the Simplex Objective FunctionPivotRun
phase1(boolean diagnosticsOn)
Perform the Phase 1 Simplex Runboolean
phase2(PivotRun pivotRun)
Perform the Phase 2 Simplex Run - Process the Simplex Tableau to locate the Optimal Solutionint
slackVariableCount()
Retrieve the Slack Variable Countdouble[][]
tableau()
Construct the Full Tableaudouble[][]
tableauA()
Construct the Tableau Adouble[]
tableauB()
Construct the Tableau Bdouble[]
tableauC()
Construct the Tableau Cjava.lang.String
toString()
Convert the Standard Form into a StringMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Constructor Details
-
StandardForm
public StandardForm(ObjectiveFunction objectiveFunction, StandardPolytope constraintPolytope, boolean diagnosticsOn) throws java.lang.ExceptionStandardForm Constructor- Parameters:
objectiveFunction
- Objective FunctionconstraintPolytope
- Constraint PolytopediagnosticsOn
- Diagnostics On Flag- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
-
Method Details
-
objectiveFunction
Retrieve the Simplex Objective Function- Returns:
- The Simplex Objective Function
-
constraintPolytope
Retrieve the Simplex Standard Constraint Polytope- Returns:
- The Simplex Standard Constraint Polytope
-
diagnosticsOn
public boolean diagnosticsOn()Retrieve the Diagnostics Setting- Returns:
- The Diagnostics Setting
-
tableauA
public double[][] tableauA()Construct the Tableau A- Returns:
- Tableau A
-
tableauB
public double[] tableauB()Construct the Tableau B- Returns:
- Tableau B
-
basicVariableCount
public int basicVariableCount()Retrieve the Basic Variable Count- Returns:
- Basic Variable Count
-
freeVariableCount
public int freeVariableCount()Retrieve the Free Variable Count- Returns:
- Free Variable Count
-
slackVariableCount
public int slackVariableCount()Retrieve the Slack Variable Count- Returns:
- Slack Variable Count
-
tableauC
public double[] tableauC()Construct the Tableau C- Returns:
- Tableau C
-
tableau
public double[][] tableau()Construct the Full Tableau- Returns:
- Full Tableau
-
basicFeasibleSolution
public double[] basicFeasibleSolution()Compute the Basic Feasible Solution- Returns:
- Basic Feasible Solution
-
phase1
Perform the Phase 1 Simplex Run- Parameters:
diagnosticsOn
- TRUE - Pivot Run Diagnostics Turned On- Returns:
- The Phase 1 Pivot Run
-
phase2
Perform the Phase 2 Simplex Run - Process the Simplex Tableau to locate the Optimal Solution- Parameters:
pivotRun
- The Pivot Run Instance- Returns:
- TRUE - Phase 2 succeeded
-
multiPhaseOptimize
Construct the Optimal Pivot Run Solution to the Simplex using a Multi-phase Optimizer- Specified by:
multiPhaseOptimize
in interfaceDantzigSolver
- Returns:
- The Optimal Pivot Run Solution
-
toString
public java.lang.String toString()Convert the Standard Form into a String- Overrides:
toString
in classjava.lang.Object
- Returns:
- The Standard Form into a String
-