Îõ³h&¼væ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde Custom types(c) Junaid Rasheed, 2020-2023BSD-3jrasheed178@gmail.com experimental Safe-Inferred"%&'18;ÂÔãèéïûM simplex-method A simplex ö One quation represents the objective function. Each pair in the list is one equation in the system we're working with. data Dict = Dict { objective :: DictObjective , entries :: DictEntries } deriving (Show, Read, Eq, Generic)simplex-method Values for a . simplex-method A simplex Tableu1 of equations. Each entry in the map is a row. simplex-method Value for   . lhs = rhs.simplex-method>TODO: Maybe we want this type TODO: A better/alternative namesimplex-method/Create an objective function. We can either  imize or imize a  VarTermSum.simplex-method8For specifying constraints in a system. The LHS is a Vars, and the RHS, is a 5ý number. LEQ [(1, 2), (2, 1)] 3.5 is equivalent to 2x1 + x2 <= 3.5. Users must only provide positive integer variables.ÜExample: LEQ [Var "x" 3, Var "y" -1, Var "x" 1] 12.3 is equivalent to 3x + (-y) + x <= 12.3.simplex-methodList of variables with their 5Î coefficients. There is an implicit addition between elements in this list.ËExample: [Var "x" 3, Var "y" -1, Var "z" 1] is equivalent to 3x + (-y) + z.1simplex-method:This is Nothing iff the row does not have a slack variable7   #"! $'&%(-,+*)./210345676543/210.(-,+*)$'&%#"!    Prettifier for Linear.Simplex.Types types(c) Junaid Rasheed, 2020-2023BSD-3jrasheed178@gmail.com experimental Safe-Inferred"%&'18;ÂÔ×Üãèéïöû FSsimplex-method Convert a  VarConstMap into a human-readable fTsimplex-method Convert a  into a human-readable fUsimplex-method Convert an  into a human-readable fSTUSTUHelper functions(c) Junaid Rasheed, 2020-2023BSD-3jrasheed178@gmail.com experimental Safe-Inferred"%&'18;ÂÔãèéïûVsimplex-method Is the given  to be imized?Wsimplex-methodSimplifies a system of s by first calling simplifyPolyConstraint, then reducing  and ; with same LHS and RHS (and other similar situations) into 2, and finally removing duplicate elements using g.Xsimplex-method Converts a  to a   using dictEntryToTableauEntryÛ. FIXME: maybe remove this line. The basic variables will have a coefficient of 1 in the  .Ysimplex-method Converts a   to a è. We do this by isolating the basic variable on the LHS, ending up with all non basic variables and a 5 constant on the RHS.Zsimplex-methodIf this function is given h , return h. Otherwise, we i the j‹ given in the first item of the pair in the map given in the second item of the pair. This is typically used to extract the value of the  after calling .[simplex-methodÉCombines two 'VarLitMapSums together by summing values with matching keys VWXYZ[\]^_`ab VWXYZ[\]^_`ab%Implements the twoPhaseSimplex method(c) Junaid Rasheed, 2020-2023BSD-3jrasheed178@gmail.com experimental Safe-Inferred"%&'18;ÂÔãèéïû%csimplex-method1Find a feasible solution for the given system of ×s by performing the first phase of the two-phase simplex method All variables in the 9 must be positive. If the system is infeasible, return h, Otherwise, return the feasible system in ß as well as a list of slack variables, a list artificial variables, and the objective variable.dsimplex-methodîOptimize a feasible system by performing the second phase of the two-phase simplex method. We first pass an !. Then, the feasible system in DictionaryForm as well as a list of slack variables, a list artificial variables, and the objective variable. Returns a pair with the first item being the j variable equal to the 8 and the second item being a map of the values of all j2 variables appearing in the system, including the .esimplex-method2Perform the two phase simplex method with a given  a system of s. Assumes the  and > is not empty. Returns a pair with the first item being the j variable equal to the 8 and the second item being a map of the values of all j2 variables appearing in the system, including the .ksimplex-methodâPerform the simplex pivot algorithm on a system with basic vars, assume that the first row is the .cdecde Safe-Inferred"%&'18;ÂÔãèéïûilmnopqrsô       !""#$%&&'())*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgehiejkelmnopqrstuvwxyú-simplex-method-0.2.0.0-DL5Tbu7QSIMBYoeQDIkkgNLinear.Simplex.TypesLinear.Simplex.PrettifyLinear.Simplex.UtilLinear.Simplex.Solver.TwoPhasetwoPhaseSimplexPaths_simplex_methodPivotObjective$sel:variable:PivotObjective$sel:function:PivotObjective$sel:constant:PivotObjectiveDict DictValue$sel:varMapSum:DictValue$sel:constant:DictValueTableau TableauRow$sel:lhs:TableauRow$sel:rhs:TableauRowEquation$sel:lhs:Equation$sel:rhs:EquationObjectiveFunctionMaxMin$sel:objective:MaxPolyConstraintLEQGEQEQ $sel:lhs:LEQ $sel:rhs:LEQ VarLitMapSum VarLitMap SimplexMeta$sel:objective:SimplexMeta$sel:feasibleSystem:SimplexMeta $sel:optimisedResult:SimplexMetaResult$sel:objectiveVar:Result$sel:varValMap:ResultFeasibleSystem$sel:dict:FeasibleSystem$sel:slackVars:FeasibleSystem"$sel:artificialVars:FeasibleSystem $sel:objectiveVar:FeasibleSystemSystemWithSlackVarsSystemWithSlackVarRowSystemInStandardFormRow&$sel:mSlackVar:SystemInStandardFormRow $sel:row:SystemInStandardFormRowSystem SystemRow SimplexNumVar$fShowPivotObjective$fReadPivotObjective$fEqPivotObjective$fGenericPivotObjective$fShowFeasibleSystem$fReadFeasibleSystem$fEqFeasibleSystem$fGenericFeasibleSystem$fShowDictValue$fReadDictValue $fEqDictValue$fGenericDictValue$fShowTableauRow$fReadTableauRow$fEqTableauRow$fGenericTableauRow$fShowObjectiveFunction$fReadObjectiveFunction$fEqObjectiveFunction$fGenericObjectiveFunction$fShowPolyConstraint$fReadPolyConstraint$fEqPolyConstraint$fGenericPolyConstraint $fShowResult $fReadResult $fEqResult$fGenericResultprettyShowVarConstMapprettyShowPolyConstraintprettyShowObjectiveFunctionisMaxsimplifySystemdictionaryFormToTableautableauInDictionaryFormextractObjectiveValuecombineVarLitMapSums foldDictValue foldVarLitMapinsertPivotObjectiveToDictshowTlogMsgextractTableauValuesextractDictValuesfindFeasibleSolutionoptimizeFeasibleSystembaseGHC.BaseString Data.OldListnub GHC.MaybeNothingGHC.Listlookup ghc-bignumGHC.Num.IntegerInteger simplexPivotversiongetDataFileName getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDir