Save-It Company
{ Exmpl3.4-4b_SaveItComp.mpl }
{ Hillier and Lieberman, Introduction to Operations Research, 9th ed. }
{ Chapter 3.4, Example 4, Blending Material, Size: 26x19, 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
ProduceGrade[grade];
MaterialUsed[material];
MixMaterial[grade, material];
MACROS
TotalRevenues = SUM(grade: SellingPrice * ProduceGrade);
TotalAmalCost = SUM(grade: AmalgamationCost * ProduceGrade);
MODEL
MAX TotalProfit = TotalRevenues - TotalAmalCost;
SUBJECT TO
GradeProd[grade] :
ProduceGrade = SUM(material: MixMaterial);
MatUse[material] :
MaterialUsed[material] = SUM(grade: MixMaterial);
MinMixtureSpecs[grade, material] WHERE (MinMixSpecs) -> MinMix:
MixMaterial >= MinMixSpecs * ProduceGrade;
MaxMixtureSpecs[grade, material] WHERE (MaxMixSpecs) -> MaxMix:
MixMaterial <= MaxMixSpecs * ProduceGrade;
MaterialLimit[material] -> MatLim:
MaterialUsed <= MaterialAvail;
ReqAmountTreated[material] -> ReqTr:
MaterialUsed >= MinimumTreated * MaterialAvail;
TreatCostRestrict -> TreatCst:
SUM(material: TreatmentCost * MaterialUsed) = TreatmentCashAvail;
END
Back To Top
|
Maximal Home Page
|
List of Models |
Previous Page
|
Next Page