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. It provides the following Functions:
- StandardForm Constructor
- Retrieve the Simplex Objective Function
- Retrieve the Simplex Standard Constraint Polytope
- Retrieve the Diagnostics Setting
- Construct the Tableau A
- Construct the Tableau B
- Retrieve the Basic Variable Count
- Retrieve the Free Variable Count
- Retrieve the Slack Variable Count
- Construct the Tableau C
- Construct the Full Tableau
- Compute the Basic Feasible Solution
- Perform the Phase 1 Simplex Run
- Perform the Phase 2 Simplex Run - Process the Simplex Tableau to locate the Optimal Solution
- Construct the Optimal Pivot Run Solution to the Simplex using a Multi-phase Optimizer
- Convert the Standard Form into a String
- 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 SolutionintbasicVariableCount()Retrieve the Basic Variable CountStandardPolytopeconstraintPolytope()Retrieve the Simplex Standard Constraint PolytopebooleandiagnosticsOn()Retrieve the Diagnostics SettingintfreeVariableCount()Retrieve the Free Variable CountPivotRunmultiPhaseOptimize()Construct the Optimal Pivot Run Solution to the Simplex using a Multi-phase OptimizerObjectiveFunctionobjectiveFunction()Retrieve the Simplex Objective FunctionPivotRunphase1(boolean diagnosticsOn)Perform the Phase 1 Simplex Runbooleanphase2(PivotRun pivotRun)Perform the Phase 2 Simplex Run - Process the Simplex Tableau to locate the Optimal SolutionintslackVariableCount()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.StringtoString()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:
multiPhaseOptimizein interfaceDantzigSolver- Returns:
- The Optimal Pivot Run Solution
-
toString
public java.lang.String toString()Convert the Standard Form into a String- Overrides:
toStringin classjava.lang.Object- Returns:
- The Standard Form into a String
-