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 Details

    • StandardForm

      public StandardForm​(ObjectiveFunction objectiveFunction, StandardPolytope constraintPolytope, boolean diagnosticsOn) throws java.lang.Exception
      StandardForm Constructor
      Parameters:
      objectiveFunction - Objective Function
      constraintPolytope - Constraint Polytope
      diagnosticsOn - Diagnostics On Flag
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • objectiveFunction

      public ObjectiveFunction objectiveFunction()
      Retrieve the Simplex Objective Function
      Returns:
      The Simplex Objective Function
    • constraintPolytope

      public StandardPolytope 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

      public PivotRun phase1​(boolean diagnosticsOn)
      Perform the Phase 1 Simplex Run
      Parameters:
      diagnosticsOn - TRUE - Pivot Run Diagnostics Turned On
      Returns:
      The Phase 1 Pivot Run
    • phase2

      public boolean phase2​(PivotRun pivotRun)
      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

      public PivotRun multiPhaseOptimize()
      Construct the Optimal Pivot Run Solution to the Simplex using a Multi-phase Optimizer
      Specified by:
      multiPhaseOptimize in interface DantzigSolver
      Returns:
      The Optimal Pivot Run Solution
    • toString

      public java.lang.String toString()
      Convert the Standard Form into a String
      Overrides:
      toString in class java.lang.Object
      Returns:
      The Standard Form into a String