Animal Food Production
{ Exmpl6.2-1_AnimalFood.mpl }
{ Applications of Optimization with Xpress-MP }
{ Chapter 6.2, Animal Food Production, Size: 13x8, Page 89 }
TITLE
AnimalFood;
INDEX
food := (granules,powder);
raw := (oat,maize,molasses);
comp := (protein,lipid,fiber);
step := (grinding, blending, granulating,sieving);
DATA
NutrientComp[raw,comp] := (13.6, 7.1, 7,
4.1, 2.4, 3.7,
5, 0.3, 25);
ReqNutrient[comp] := (9.5, 2, 6);
RawAvail[raw] := (11900, 23500, 750);
RawCost[raw] := (0.13, 0.17, 0.12);
ProdCost[step] := (0.25, 0.05, 0.42, 0.17);
Demand[food] := (9000,12000);
VARIABLE
VUse[raw,food];
Produce[food];
MODEL
MIN TotCost = SUM(food,raw: VUse * RawCost) + SUM(raw<>molasses,food: ProdCost[step:=grinding] * VUse) +
SUM(raw,food: ProdCost[step:=blending] * VUse) + SUM(raw: ProdCost[step:=granulating] * VUse[food:=granules]) +
SUM(raw: ProdCost[step:=sieving] * VUse[food:=powder]);
SUBJECT TO
CalcProd[food] -> CLPD:
SUM(raw: VUse) = Produce;
NutrientRequirement[food,comp=protein..lipid] -> NREQ:
SUM(raw: NutrientComp * VUse) >= ReqNutrient * Produce;
! NutrientRequirementA[food] -> NREQA:
! SUM(raw: NutrientComp[comp:=fiber] * VUse) <= ReqNutrient[comp:=fiber] * Produce;
NutrientRequirementA[food,comp=fiber] -> NREQA:
SUM(raw: NutrientComp * VUse) <= ReqNutrient * Produce;
MaterialAvailability[raw] -> RMAT:
SUM(food: VUse) <= RawAvail;
MeetDemand[food] -> MDem:
Produce >= Demand;
END
Back To Top
|
Maximal Home Page
|
List of Models |
Previous Page
|
Next Page