Save-It Company
{ Exmpl3.4-4_SaveItComp.mpl }
{ Hillier and Lieberman, Introduction to Operations Research, 9th ed. }
{ Chapter 3.4, Example 4, Blending Material, Size: 19x12, Page 51 }
TITLE
SaveItCompany;
INDEX
grade := (A, B, C);
material := 1..4;
GradeMat[grade,material] := (A,1, A,2, A,3, A,4, B,1, B,2, B,4, C,1);
DATA
MinMixSpecs[grade,material] := [A, 1, 0%,
A, 2, 40%,
A, 3, 0%,
A, 4, 20%,
B, 1, 0%,
B, 2, 10%,
B, 4, 10%,
C, 1, 0%];
MaxMixSpecs[grade,material] := [A, 1, 30%,
A, 2, 0%,
A, 3, 50%,
A, 4, 20%,
B, 1, 50%,
B, 2, 0%,
B, 4, 10%,
C, 1, 70%];
AmalgamationCost[grade] := (3.00, 2.50, 2.00);
SellingPrice[grade] := (8.50, 7.00, 5.50);
MaterialAvail[material] := (3000, 2000, 4000, 1000);
TreatmentCost[material] := (3.00, 6.00, 4.00, 5.00);
MinimumTreated := 0.5;
TreatmentCashAvail := 30000;
VARIABLES
MixMaterial[grade, material] -> "";
MACROS
TotalRevenues = SUM(grade, material: SellingPrice * MixMaterial);
TotalAmalCost = SUM(grade, material: AmalgamationCost * MixMaterial);
MODEL
MAX TotalProfit = TotalRevenues - TotalAmalCost;
SUBJECT TO
MinMixtureSpecs[grade, material] WHERE (MinMixSpecs > 0) -> MinMix:
MixMaterial >= MinMixSpecs * SUM(material: MixMaterial);
MaxMixtureSpecs[grade, material] WHERE (MaxMixSpecs > 0) -> MaxMix:
MixMaterial <= MaxMixSpecs * SUM(material: MixMaterial);
MaterialLimit[material] -> MatLim:
SUM(grade: MixMaterial) <= MaterialAvail;
ReqAmountTreated[material] -> ReqTr:
SUM(grade: MixMaterial) >= MinimumTreated * MaterialAvail;
TreatCostRestrict -> TreatCst:
SUM(grade, material: TreatmentCost * MixMaterial) = TreatmentCashAvail;
END
Back To Top
|
Maximal Home Page
|
List of Models |
Previous Page
|
Next Page