MPL Model Library
Goal Programming, Example 7.5-1, Hillier and Lieberman
{ Exmpl_7.5-1_GoalProgramming.mpl }
{ Hillier and Lieberman, Introduction to Operations Research, 7th ed. }
{ Chapter 7.5, Example 1, Goal Programming, Size: 9x3, Page 333 }
TITLE
GoalProgramming;
OPTIONS
ExcelWorkbook="Exmpl_7.5-1_GoalProgramming.xls"
ExcelSheetName="Dewright"
INDEX
product := EXCELRANGE("Product");
factor := EXCELRANGE("Factor");
deviation := EXCELRANGE("Deviation");
DATA
Goal[factor] := EXCELRANGE("Goal");
PenaltyWeight[factor, deviation] := EXCELRANGE("Penalty")
UnitContrib[factor, product] := EXCELRANGE("UnitContrib")
DECISION VARIABLES
ProdRate[product]
EXPORT TO EXCELRANGE("Contribution");
Amount[factor, deviation] !WHERE (PenaltyWeight > 0)
EXPORT TO EXCELRANGE("Deviations");
MODEL
MIN WeightedSum
EXPORT TO EXCELRANGE("WeightedDev")
= SUM(factor, deviation : PenaltyWeight * Amount);
SUBJECT TO
Calc[factor] :
SUM(product: ProdRate * UnitContrib)
=
Goal + Amount[deviation:="Over"] - Amount[deviation:="Under"];
END
Return to MPL Model Library