Kontrol af resultater via programpakker er en fordel. Jeg har fundet nogle af mine gamle GLPK kontrolmodeller til eksempler fra "Operations Research: Volume One - Introduction to Mathematical Programming", som blev anvendt i OR-undervisningen på Handelshøjskolen i Århus 2006. En fil med nogle eksempler er vedhæftet.
Kontrolmodel til opgave 335-1:
var x {1..3}>=0;
maximize objekt: -2*x[1] - x[3];
subject to
c1: x[1] + x[2] - x[3] >= 5;
c2: x[1] - 2*x[2] + 4*x[3] >= 8;
Bemærk at "ikke negativitetsbegrænsningerne" angives ved variabeldeklarationen øverst i modellen.
Resultatet viser blandt andet, at den optimale objektfunktionsværdi er -9, x1 = 0, x2 = 14 og x3 = 9. Det er relativt nemt at tilpasse modellerne til andre opgaver i bogen.
Resultat
Problem: 335
Rows: 3
Columns: 3
Non-zeros: 8
Status: OPTIMAL
Objective: objekt = -9 (MAXimum)
No. Row name St Activity Lower bound Upper bound Marginal
------ ------------ -- ------------- ------------- ------------- -------------
1 objekt B -9
2 c1 NL 5 5 -1
3 c2 NL 8 8 -0.5
No. Column name St Activity Lower bound Upper bound Marginal
------ ------------ -- ------------- ------------- ------------- -------------
1 x[3] B 9 0
2 x[1] NL 0 0 -0.5
3 x[2] B 14 0
Karush-Kuhn-Tucker optimality conditions:
KKT.PE: max.abs.err. = 3.55e-015 on row 3
max.rel.err. = 3.95e-016 on row 3
High quality
KKT.PB: max.abs.err. = 0.00e+000 on row 0
max.rel.err. = 0.00e+000 on row 0
High quality
KKT.DE: max.abs.err. = 2.22e-016 on column 1
max.rel.err. = 2.22e-016 on column 3
High quality
KKT.DB: max.abs.err. = 0.00e+000 on row 0
max.rel.err. = 0.00e+000 on row 0
High quality
End of output