怎样用lingo解决这道题?
怎样用lingo解决这道题?
饲料配比问题
为了发展家禽饲养业,某养猪场所用饲料由6种饲料混合而成,各种饲料每单位所含营养成分如表2所示.
表2 各种饲料每单位所含养分及价格
养分
饲料 所含养分 价格
元/单位
蛋白质 纤维 脂肪 铁 钙
苜蓿 0.19 0.17 0.023 0.016 0.0007 0.24
玉米 0.082 0.022 0.036 0.0006 0.0022 0.19
大麦 0.11 0.076 0.017 0.0057 0.0012 0.25
鱼粉 0.048 0.09 0.072 0.048 0.027 0.41
燕麦 0.115 0.119 0.038 0.0009 0.0011 0.21
黄豆 0.48 0.028 0.005 0.0019 0.0019 0.35
现在要求所配饲料每单位的营养标准为:蛋白质含量不少于21%但不得大于40%,纤维不少于5%但不得大于25%,脂肪不少于3.4%但不得大于10%,铁不少于1%但不得大于1.05%,钙不少于0.45%但不得大于0.6%,怎样配比饲料成本最低?
model:
sets:
material/1..6/:amount,price;
nutrition/1..5/:lower,upper;
link(material,nutrition):percentage;
endsets
data:
percentage=
0.19 0.17 0.023 0.016 0.0007
0.082 0.022 0.036 0.0006 0.0022
0.11 0.076 0.017 0.0057 0.0012
0.048 0.09 0.072 0.048 0.027
0.115 0.119 0.038 0.0009 0.0011
0.48 0.028 0.005 0.0019 0.0019;
price=0.24 0.19 0.25 0.41 0.21 0.35;
lower=0.21 0.05 0.034 0.01 0.0045;
upper=0.4 0.25 0.1 0.0105 0.006;
enddata
min=@sum(material:amount*price);
@for(nutrition(j):@sum(material(i):amount(i)*percentage(i,j))>=lower(j));
@for(nutrition(j):@sum(material(i):amount(i)*percentage(i,j))