Difference between revisions of "ApCoCoA-1:GLPK.LPSolve"

From ApCoCoAWiki
m (added version info)
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
{{Version|1|[[Package glpk/GLPK.LPSolve]]}}
 
<command>
 
<command>
 
<title>GLPK.LPSolve</title>
 
<title>GLPK.LPSolve</title>
Line 14: Line 15:
 
<item>@param <em>GE_Poly</em>: List of linear polynomials, which are equivalent to the greater or equal-part in the list of conditions.</item>
 
<item>@param <em>GE_Poly</em>: List of linear polynomials, which are equivalent to the greater or equal-part in the list of conditions.</item>
 
<item>@param <em>Bounds</em>: List of lists with two elements. Each List contains the lower and upper bounds for each variable. You can choose between INT or RAT for the type of each bound, if you type in a (empty) string, then it means minus infinity (first place) or plus infinity (second place).</item>
 
<item>@param <em>Bounds</em>: List of lists with two elements. Each List contains the lower and upper bounds for each variable. You can choose between INT or RAT for the type of each bound, if you type in a (empty) string, then it means minus infinity (first place) or plus infinity (second place).</item>
<item>@param <em>Method</em>: You can choose between the interior-point-method (<quotes>InterP</quotes>) or the simplex-algorithm (<quotes>Simplex</quotes>). Usually you should use the simplex-algorithm.</item>
+
<item>@param <em>Method</em>: You can choose between the interior-point-method ("InterP") or the simplex-algorithm ("Simplex"). Usually you should use the simplex-algorithm.</item>
<item>@param <em>MinMax</em>:  Minimization (<quotes>Min</quotes>) or maximization (<quotes>Max</quotes>), that's the question.</item>
+
<item>@param <em>MinMax</em>:  Minimization ("Min") or maximization ("Max"), that's the question.</item>
<item>@return List of linear polynomials, the zeros of the polynomials are the points where the optimal value of the objective function is archieved</item>
+
<item>@return List of linear polynomials, the zeros of the polynomials are the points where the optimal value of the objective function is achieved</item>
 
</itemize>
 
</itemize>
  
Line 23: Line 24:
 
-- with the two conditions y ≤ 6 - 3/4x and y ≥ 1 - x and the bounds 0 ≤ x ≤ 6 and 1/3 ≤ y ≤ 4.
 
-- with the two conditions y ≤ 6 - 3/4x and y ≥ 1 - x and the bounds 0 ≤ x ≤ 6 and 1/3 ≤ y ≤ 4.
  
-- We prename the input of GLPK.LPSol-function.
+
-- We prename the input of GLPK.LPSolve-function.
 
Use S::=QQ[x,y];
 
Use S::=QQ[x,y];
 
OF := 1/2x + y;
 
OF := 1/2x + y;
Line 31: Line 32:
  
 
-- Then we compute the solution with
 
-- Then we compute the solution with
GLPK.LPSolve(OF, [], LE, GE, Bounds, <quotes>Simplex</quotes>, <quotes>Max</quotes>);
+
GLPK.LPSolve(OF, [], LE, GE, Bounds, "Simplex", "Max");
  
 
-- And we achieve:
 
-- And we achieve:
Line 37: Line 38:
 
Solution Status: OPTIMAL
 
Solution Status: OPTIMAL
 
Value of objective function: 5333333333/1000000000
 
Value of objective function: 5333333333/1000000000
[x[1] - 266667/100000, x[2] - 4]
+
[x - 266667/100000, y - 4]
 
</example>
 
</example>
  
Line 45: Line 46:
 
   <type>linear_programs</type>
 
   <type>linear_programs</type>
 
</types>
 
</types>
<see>Latte.Minimize</see>
+
<see>ApCoCoA-1:Latte.Minimize|Latte.Minimize</see>
<see>Latte.Maximize</see>
+
<see>ApCoCoA-1:Latte.Maximize|Latte.Maximize</see>
  
 
<key>lpsolve</key>
 
<key>lpsolve</key>
Line 52: Line 53:
 
<key>solve lp</key>
 
<key>solve lp</key>
 
<key>GLPK.LPSolve</key>
 
<key>GLPK.LPSolve</key>
<wiki-category>Package_glpk</wiki-category>
+
<wiki-category>ApCoCoA-1:Package_glpk</wiki-category>
 
</command>
 
</command>

Latest revision as of 15:12, 1 November 2020

This article is about a function from ApCoCoA-1. If you are looking for the ApCoCoA-2 version of it, see Package glpk/GLPK.LPSolve.

GLPK.LPSolve

Solving linear programmes.

Syntax

GLPK.LPSolve(Objective_f:POLY, EQ_Poly:LIST, LE_Poly:LIST, GE_Poly:LIST, Bounds:LIST, Method:STRING, MinMax:STRING):LIST

Description

Please note: The function(s) explained on this page is/are using the ApCoCoAServer. You will have to start the ApCoCoAServer in order to use it/them.

  • @param Objective_f: A linear polynomial which is equivalent to the linear objective function.

  • @param EQ_Poly: List of linear polynomials, which are equivalent to the equality-part in the list of conditions.

  • @param LE_Poly: List of linear polynomials, which are equivalent to the lower or equal-part in the list of conditions.

  • @param GE_Poly: List of linear polynomials, which are equivalent to the greater or equal-part in the list of conditions.

  • @param Bounds: List of lists with two elements. Each List contains the lower and upper bounds for each variable. You can choose between INT or RAT for the type of each bound, if you type in a (empty) string, then it means minus infinity (first place) or plus infinity (second place).

  • @param Method: You can choose between the interior-point-method ("InterP") or the simplex-algorithm ("Simplex"). Usually you should use the simplex-algorithm.

  • @param MinMax: Minimization ("Min") or maximization ("Max"), that's the question.

  • @return List of linear polynomials, the zeros of the polynomials are the points where the optimal value of the objective function is achieved

Example

-- We want to maximize the Function y = - 1/2x, 
-- with the two conditions y ≤ 6 - 3/4x and y ≥ 1 - x and the bounds 0 ≤ x ≤ 6 and 1/3 ≤ y ≤ 4.

-- We prename the input of GLPK.LPSolve-function.
Use S::=QQ[x,y];
OF := 1/2x + y;
LE := [3/4x + y - 6];
GE := [x + y - 1];
Bounds:=[[0,6], [1/3,4]];

-- Then we compute the solution with
GLPK.LPSolve(OF, [], LE, GE, Bounds, "Simplex", "Max");

-- And we achieve:
------------------------------------- 
Solution Status: OPTIMAL
Value of objective function: 5333333333/1000000000
[x - 266667/100000, y - 4]


Latte.Minimize

Latte.Maximize