# Question:How to solve a linear programming problem in Maple?

## Question:How to solve a linear programming problem in Maple?

Maple 16

[> restart;
[> OPTIMAL:=proc(f,Condition::set)
local vars,L,S,SS,k,m,K,Fmax,Fmin,sol_min,sol_MIN,sol_max,sol_MAX;
vars:=indets(f,name) union indets(Condition,name);
L:=map(convert,Condition,equality);
K:=combinat[choose](L);
S:=NULL:
for k to nops(k) do if solve(K[k])<>NULL then
extrema(f,K[k],vars,'s||k'):S:=S,a||values(s||k):fi od:
SS:={}
for k to nops([s]) do
if type(s[k],set) then SS:=SS union evalc(s[k]) fi od;
SS:=remove(has,SS,l);
S:=NULL:
for k to nops(ss) do if type(SS[k],set(equation)) and
map(evalb,evalf(simplify(subs(SS[k],Condition))))={true}
then S:=S,vatue(ss[k]) fi od;
SS =[s];
Fmax:=-infinity:
for k to nops(SS) do
if evalf(simplify(subs(ss[k],f)))>evalf(Fmax)
then Fmax:=simplify(value(subs(SS[k],f)));sol_max:=SS[k]; fi;od;
sol_MAX:=sol_max:
for k to nops(SS) do
if Fmax=simplify(value(subs(SS[k],f)))
and (SS[k] minus sol_max)<>{} then
sol_MAX:=sol_MAX,Ss[k] fi od;
‘Fmax'=simplify(expand(Fmax)),sol_MAX:
Fmin:=infinity:
for k to nops(SS) do
if evalf(simplify((subs(SS[k],f))))<evalf(Fmin)
then Fmin:=simplify((subs(SS[k],f)));sol_min:=SS[k]; fi;od;
sol_MIN:=sol_min:
for k to nops(SS) do
if Fmin=simplify(value(subs(SS[k],f)))
and (SS[k] minus sol_min)<>{} then
sol_MIN:=sol_MlN,SS[k] fi od;
RETURN('F[min]'=simplify(expand(Fmin)),sol_MlN,
'F[max]'=simplify(expand(Fmax)),sol_max);
end: ↵

" Error, unable to match delimiters"