MPL Model Library MPL Model Library Kibbutzim, Example 3.4-2, Hillier and Lieberman { Exmpl_3.4-2_Kibbutzim.mpl } { Hillier and Lieberman, Introduction to Operations Research, 7th ed. } { Chapter 3.4, Example 2, Product-mix/Allocation, Size: 12x9, Page 46 } TITLE KibbutzimCropAllocation; INDEX kibbutz := 1..3; crop := (SugarBeets, Cotton, Sorghum); DATA UsableLand[kibbutz] := (400, 600, 300); [Acres] WaterAlloc[kibbutz] := (600, 800, 375); [AcreFeet] WaterUsed[crop] := (3, 2, 1); [AcreFeet/Acre] NetReturn[crop] := (1000.00, 750.00, 250.00); [$/Acre] MaxQuota[crop] := (600, 500, 325); [Acres] VARIABLES AllocAcre[crop,kibbutz]; MODEL MAX TotalProfit = SUM(crop,kibbutz: NetReturn * AllocAcre); SUBJECT TO MaxLandUse[kibbutz]: SUM(crop: AllocAcre) <= UsableLand; MaxWaterAlloc[kibbutz]: SUM(crop: WaterUsed * AllocAcre) <= WaterAlloc; TotalAcreage[crop]: SUM(kibbutz: AllocAcre) <= MaxQuota; EqProp12: SUM(crop,kibbutz=1: AllocAcre / UsableLand) = SUM(crop,kibbutz=2: AllocAcre / UsableLand); EqProp23: SUM(crop,kibbutz=2: AllocAcre / UsableLand) = SUM(crop,kibbutz=3: AllocAcre / UsableLand); EqProp31: SUM(crop,kibbutz=3: AllocAcre / UsableLand) = SUM(crop,kibbutz=1: AllocAcre / UsableLand); END