当前位置:首页 > 数学建模课程设计论文
七、模型的评价与改进
模型一粗略地估算了一下,可能获得的最高利润值。但是在实际情况下,模型一的精确度比较差,考虑的因素过于理想化,如日供应量的变化,日供应量在1000-1500kg的情况下,售价的波动情况等等均未考虑进去。但是由于其简易性和快速性,有利于水库经营者在简陋的情况下做出相应的比较好的对策。
模型二、三较模型一更为贴近现实。考虑了日供应量在1500kg以下的情况,售价波动的情况。模型三采用的多目标规划方法,让总利润最大,鱼的损失最少的这两个目标进行求解。三个模型中,损失率与水位关系还有可能是其他的情况,但在本文中并未展开讨论,另外,该模型还可以在销售量与供应量之间的关系上进行改进。 参考文献:
【1】 张朝阳,郭兴忠,《草鱼养殖技术》,宁夏农林科技:2001年第6期,第57
— 58页
【2】 谢金星 薛毅,《优化建模与LINDO/LINGO软件》,清华大学出版社,2005
年7月第1版
【3】 万保成 王田娥,《LINGO8.0 for Windows 软件及应用》,吉林农业大学
数学教研室,2004 年8 月 附录:
模型二的程序: model: sets:
Profit/1..20/:x,y,t,a,b,c,w,k,m; endsets data:
t=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20; enddata init:
x=500,,,,,,,,,,,,,,,,,,,; endinit
max=@sum(Profit(i):(y(i)-(-0.15*t(i)+6))*x(i));
@for(Profit(i):y(i)=30*a(i)+25*b(i)+(-0.028*x(i)+48)*c(i)); @for(Profit(i):@bin(a(i))); @for(Profit(i):@bin(b(i))); @for(Profit(i):@bin(c(i)));
@for(Profit(i):a(i)+b(i)+c(i)=1); w(1)=25000;
@for(Profit(i)|i#ne#1:w(i)=w(i-1)*(1-0.005*t(i))); @for(Profit(i)|i#eq#1:x(1)<=w(1));
@for(Profit(i)|i#ne#1:x(i)<=(w(i-1)-x(i-1))*(1-0.005*t(i))); @for(Profit(i)|i#eq#1:k(1)=(25000-x(1))*(1-0.005*t(1))); @for(Profit(i)|i#ne#1:k(i)=(k(i-1)-x(i))*(1-0.005*t(i))); @for(Profit(i)|i#eq#1:m(1)=(25000-x(1))*0.005*t(1)); @for(Profit(i)|i#ne#1:m(i)=(k(i-1)-x(i))*0.005*t(i));
@sum(Profit(i):x(i))=25000-(@sum(Profit(i)|i#ne#1:m(i))+m(1));
8
e=25000-(@sum(Profit(i)|i#ne#1:m(i))+m(1)); f=(@sum(Profit(i)|i#ne#1:m(i))+m(1)); @for(Profit(i):x(i)*a(i)<=500*a(i)); @for(Profit(i):x(i)*b(i)<=1000*b(i)); @for(Profit(i):500*b(i) 模型三的程序: model: sets: Profit/1..20/:x,y,t,a,b,c,d,w,k,m; endsets data: t=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20; enddata init: x=500,,,,,,,,,,,,,,,,,,,; endinit max=0.9*@sum(Profit(i):(y(i)-(-0.15*t(i)+6))*x(i))-0.1*f; e=@sum(Profit(i):(y(i)-(-0.15*t(i)+6))*x(i)); f=(@sum(Profit(i)|i#ne#1:m(i))+m(1)); @for(Profit(i):y(i)=30*a(i)+25*b(i)+(-0.028*x(i)+48)*c(i)+6*d(i)); @for(Profit(i):@bin(a(i))); @for(Profit(i):@bin(b(i))); @for(Profit(i):@bin(c(i))); @for(Profit(i):@bin(d(i))); @for(Profit(i):a(i)+b(i)+c(i)+d(i)=1); w(1)=25000; @for(Profit(i)|i#ne#1:w(i)=w(i-1)*(1-0.005*t(i))); @for(Profit(i)|i#eq#1:x(1)<=w(1)); @for(Profit(i)|i#ne#1:x(i)<=(w(i-1)-x(i-1))*(1-0.005*t(i))); @for(Profit(i)|i#eq#1:k(1)=(25000-x(1))*(1-0.005*t(1))); @for(Profit(i)|i#ne#1:k(i)=(k(i-1)-x(i))*(1-0.005*t(i))); @for(Profit(i)|i#eq#1:m(1)=(25000-x(1))*0.005*t(1)); @for(Profit(i)|i#ne#1:m(i)=(k(i-1)-x(i))*0.005*t(i)); @for(Profit(i):x(i)*a(i)<=500*a(i)); @for(Profit(i):x(i)*b(i)<=1000*b(i)); @for(Profit(i):500*b(i) 9 10
共分享92篇相关文档