数学建模案例――最佳捕鱼方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最佳捕鱼方案
摘要:
本文解决的是一个最佳捕鱼方案设计的单目标线性规划问题,目的是制定每天的捕鱼策略,使得总收益最大。
根据题设条件,结合实际情况,我们设计了成本与损失率随天数的增加成反比变化的函数曲线(见图三所示),并导出总收益的表达式: 212121
111i i i i i i i i W w p s q m =====⨯-⨯∑∑∑。
由于价格是关于供应量的分段函数(见图一所示),我们引入“0-1”变量法编写程序(程序见附录一),并用数学软件LINGO 求解,得到最大收益(W)为441291.4元,分21天捕捞完毕。
其中第1~16天,日捕捞量在1030~1070公斤之间,第17~21天的日捕捞量为1610~1670公斤之间(具体数值见正文)。
由结果分析,我们对模型提出了优化方向,例如人工放水来降低成本。
关键词:“0-1”整数规划,单目标线性规划,离散型分布。
一. 问题重述
一个水库,由个人承包,为了提高经济效益,保证优质鱼类有良好的生活环境,必须对水库里的杂鱼做一次彻底清理,因此放水清库。
水库现有水位平均为15米,自然放水每天水位降低0.5米,经与当地协商水库水位最低降至5米,这样预计需要二十天时间,水位可达到目标。
据估计水库内尚有草鱼二万五千余公斤,鲜活草鱼在当地市场上,若日供应量在500公斤以下,其价格为30元/公斤;日供应量在500—1000公斤,其价格降至25元/公斤,日供应量超过1000公斤时,价格降至20元/公斤以下,日供应量到1500公斤处于饱和。
捕捞草鱼的成本水位于15米时,每公斤6元;当水位降至5米时,为3元/公斤。
同时随着水位的下降草鱼死亡和捕捞造成损失增加,至最低水位5米时损失率为10%。
承包人提出了这样一个问题:如何捕捞鲜活草鱼投放市场,效益最佳?
二. 模型假设
1.池塘中草鱼的生长处于稳定状态,不考虑种群繁殖以及其体重增减,即在捕
捞过程中草鱼总量保持在25,000公斤不变。
2.第一天捕捞时水位为15m ,每天都在当天的初始水位捕捞草鱼,水库水位每
天按自然放水0.5m 逐渐降低,20天后刚好达到最低要求水位5m 。
3.在水库自然放水的21内将草鱼捕完。
4.在草鱼日供应量未达饱和的之前,市场供应量等于销售量。
5.每天草鱼的捕捞成本随着每天水位的降低呈等差数列递增分布。
6.随着水库水位的下降,草鱼的种群密度逐渐变大,存在着对空间、食物、氧
气的竞争,种群死亡率逐渐升高。
题设中给定草鱼死亡及捕捞损失率随着水位的降低而升高,在这里我们假设草鱼损失率是一个统计学概念,即已经综合了因自然死亡和捕捞等其他原因共同造成的损失。
7.草鱼损失率与水库水位成反比关系,每天捕捞量的损失率与当天池塘总鱼量
的损失率是一致的,以每次捕捞时池塘总鱼数为当次基数。
8.捕捞上的草鱼中的死鱼将另行处理,不会放回水库也不会与活鱼一起出售。
9.日供应量在1000---1500公斤时,我们假定草鱼价格为20元每公斤这一常数。
总体价格随供应量变化关系,如图五所示:
图一
三. 问题的分析
1. 在符合题意并且与实际情况较吻合的情况下,我们应寻求对最优解的精确求
解以及依据草鱼捕捞的可行性方案来捕捞使得承包人获益(W)最大。
=p ⨯-⨯收益(W)销售额(s )成本(q m)
2. 我们在追求收益最大的同时,需要求出草鱼捕捞的天数以及每天的捕鱼量,
这是一个单目标线性规划问题,原题中给定的草鱼日供应量不同的情况下草鱼的单价也不一样,这样每天的草鱼出售价格均取决于当日的草鱼供应量,于是在模型求解过程中我们采用“0-1整数规划”来解决这个问题,并运用数学软件LINGO 来求解,最后对所得的解进行讨论和分析。
四. 模型的建立及求解
1. 符号的说明:
i l ——第i 天水库水位(米); i s ——第i 天供应量(公斤);
i r ——第i 天草鱼的损失率; i m ——第i 天草鱼捕捞成本(元/公斤); i w ——第i 天草鱼销售收益(元); W ——捕捞期内草鱼销售总收益(元); i q ——第i 天的捕捞量(公斤); i p ——第i 天的售价(元);
2. 模型的建立
根据假设5,随着水位自然地下降,草鱼的捕捞成本呈等差数列递减分布,第一天捕捞时水位仍然维持在15m ,共需21天。
故每公斤草鱼捕捞成本为:
60.15(1);(121,)i m i i i N =-⨯-≤≤∈
根据假设7,损失率与水位成反比:
212110%50.5i i r l c c r l ⨯==⨯=⨯=
第i 天草鱼的损失率为(如图三散点图所示): []0.5/15(1)0.5i r i =--⨯
图二
图三
第i 天的捕捞量与供应量之间的关系式是: (1)i i i s q r =⨯-
收益=销售额-成本
即我们的目标函数: 212121
111i i i i i i i i W w p s q m =====⨯-⨯∑∑∑
又根据已知条件可得以下5个约束条件:
A) 总的捕鱼量不大于总鱼量 21
125000i i q =≤∑
B) 由日供应量到1500公斤达到饱和则 1500i s ≤
C) 再根据题意的三个在不同的供应量之间的价格的不同可得到如下关系
式:
50030
100025150020
i i i i i i s p s p s p ≤≤=≤≤=≤≤=当0时,当500时,当1000时, 3. 模型的求解
根据上述解题思路,我们用数学软件LINGO 对模型进行求解,根据模型的约束条件和软件的特点,我们采用引入0-1变量的方法编写解题程序:
1050025001000310001500i i i q j q q ≤≤⎧⎪=<≤⎨⎪<≤⎩
——————
ij y ——0,1变量引入,使得 3
1
1,01ij ij j y y ===∑或.
上述式子需改动为: 2121321311111(1)
ij ij i i ij ij ij ij ij i
i i j i j s q r W w y p s y q m ======⨯-==⨯⨯-⨯⨯∑∑∑∑∑
约束条件:
213
11
3
1
1233
1
12325000
1500
05005001000
100015001,0130,25,20ij ij i j ij ij j i i i ij ij j i i i q y s y s s s y y p p p ====⎧⨯≤⎪⎪⎪⨯≤⎪⎪⎪≤<⎪⎪≤≤⎨⎪<≤⎪⎪==⎪⎪⎪===⎪⎪⎩
∑∑∑∑或 由程序运行结果得到,21天内草鱼捕捞总收益W =441291.4元.
每天草鱼的具体捕捞策略见表一:
表一
五. 结果分析和检验 1. max min 1666.6671034.483632.184q q -=-=(公斤),且大部分捕捞量集中在1000-1100 之间,说明每天的捕捞量基本相对稳定。
图四 2. 由附录一得,除了23j j y y 及外,其他变量的Reduced Cost 全部为零,即变量的微小变化对结果没有影响,而23j j y y 及只能取0,1整数,本身没有微小变化,说明我们的模型稳健性比较好。
3. 根据捕捞量和损失率我们可以得到销售量在前16天为1000公斤,而后5天为
1500公斤(见表二),而这两个点刚好是价格曲线中的两个间断点的右端点,也就是在同样价格下的选取最大允许销售量,从定性角度分析,这样的结果使剩余草鱼种群总量降低,相应地后续天数的草鱼损失量会减少,这样也符
销售量(公斤)
1
s
2
s
3
s
4
s
5
s
6
s
7
s
1 1 1000 8
s
9
s
10
s
11
s
12
s
13
s
14
s
1 1 1000 15
s
16
s
17
s
18
s
19
s
20
s
21
s
1 1500
4.在最大利润的方案下,每天的捕捞量持续缓慢上升,但第17天出现一个跳跃
点。
因为前15天水位高度还能够基本满足鱼群正常生长的需求,适当控制捕捞量以获得较优的售价,而后几天水位较低,鱼群因空间、食物、生长竞争激烈,损失率会急剧升高,因此要加大捕鱼量,适当降低鱼群密度,来减少鱼群基数便于降低鱼群损失。
这也可以看出前16天我们捕鱼的决定因素是成本,而后5天的主要影响因素是损失率,且从总体来看,前16的总收益大于后5天的总收益。
因此我们认为成本较损失率对收益的影响较大。
六.优化方向
1.上述模型中价格相对于供应量是分段常函数,这是一种较为简化和粗糙的假
设。
商品价格应围绕价值上下波动,价格对供应量应比原假设更敏感,如设为连续函数可能更接近市场实际情况,再由于市场本身的特点控制着价格的上限我们由计算机模拟出价格的定性曲线(如图五所示)。
图五
2.随着水位下降,损失率增加,模型假设中我们设它们为反比例函数,由于水
位的下降,草鱼的密度增加,损失的速率不断加快,在损失率的曲线上表示
为斜率的加快,但实际中可能更为复杂,每个生态系统具体情况也不同,最好根据本池塘或相似生态系统中一定的实验结果统计出池塘中草鱼损失率与水位的关系曲线并模拟成式子后计算得到。
3.有结果分析可得,前15天我们捕鱼的决定因素是成本,而后5天的主要影
响因素是损失率。
因此我们考虑在钱其降低捕鱼成本,可以选择人工加快放水来代替自然放水方式以达到降低成本的途径。
例如,可以在某一天使水位急剧降低到某一个定值l,然后再让水位再自然放水状态下捕捞,抑或者在每天放水量不一的情况下捕捞,通过人工调节水位,都有可能时的最后的收益变得更大。
4.在第9条假设中,在草鱼供应量在1000~1500公斤时,我们将草鱼售价取
定位20元/公斤。
现在做一下修正,由于草鱼价格不会有大幅度降低,大体应该在15~20元/公斤之间分布,于是我们另外分别在15,16,17,18,19元/公斤的售价下进行最优化求解,得到结果列成表格,如表三所示:
表三
由表三可以看出,除了单价在16元/公斤时,捕鱼策略稍有变动,第二天捕捞量S2=500公斤,第15天S15=1500公斤之外,其他天数的捕捞量都与单价在20元/公斤时的捕鱼量相同。
这从另一个侧面说明我们的第9条假设是合理的。
参考文献:
[1]谢金星薛毅编著《优化建模与LINDO/LINGO软件》清华大学出版社2005年7月第一版第八章目标规划模型
[2]卢向南,李俊杰寿涌毅编著《应用运筹学》浙江大学出版社2005年2月第一版第四章整数规划第三节整数规划的应用
附录一:程序及结果
源程序:
model:
Title最优捕捞模型;
sets:
Day/1..21/:r,m,l,q1,q2,q3,y1,y2,y3;
Price/1,2,3/:p;
endsets
data:
p=30,25,20;
l=15,14.5,14,13.5,13,12.5,12,11.5,11,10.5,10,9.5,9,8.5,8,7.5,7,6.5,6, 5.5,5;
m=6,5.85,5.7,5.55,5.4,5.25,5.1,4.95,4.8,4.65,4.5,4.35,4.2,4.05,3.9,3. 75,3.6 3.45,3.3,3.15,3;
enddata
[OBJ]max=@sum(Day(i):y1(i)*q1(i)*((1-r(i))*p(1)-m(i))+y2(i)*q2(i)*((1 -r(i))*p(2)-m(i))+y3(i)*q3(i)*((1-r(i))*p(3)-m(i)););
@for(Day(i):l(i)*r(i)=0.5;);
y1(1)*q1(1)+y2(1)*q2(1)+y3(1)*q3(1)+
y1(2)*q1(2)+y2(2)*q2(2)+y3(2)*q3(2)+
y1(3)*q1(3)+y2(3)*q2(3)+y3(3)*q3(3)+
y1(4)*q1(4)+y2(4)*q2(4)+y3(4)*q3(4)+
y1(5)*q1(5)+y2(5)*q2(5)+y3(5)*q3(5)+
y1(6)*q1(6)+y2(6)*q2(6)+y3(6)*q3(6)+
y1(7)*q1(7)+y2(7)*q2(7)+y3(7)*q3(7)+
y1(8)*q1(8)+y2(8)*q2(8)+y3(8)*q3(8)+
y1(9)*q1(9)+y2(9)*q2(9)+y3(9)*q3(9)+
y1(10)*q1(10)+y2(10)*q2(10)+y3(10)*q3(10)+
y1(11)*q1(11)+y2(11)*q2(11)+y3(11)*q3(11)+
y1(12)*q1(12)+y2(12)*q2(12)+y3(12)*q3(12)+
y1(13)*q1(13)+y2(13)*q2(13)+y3(13)*q3(13)+
y1(14)*q1(14)+y2(14)*q2(14)+y3(14)*q3(14)+
y1(15)*q1(15)+y2(15)*q2(15)+y3(15)*q3(15)+
y1(16)*q1(16)+y2(16)*q2(16)+y3(16)*q3(16)+
y1(17)*q1(17)+y2(17)*q2(17)+y3(17)*q3(17)+
y1(18)*q1(18)+y2(18)*q2(18)+y3(18)*q3(18)+
y1(19)*q1(19)+y2(19)*q2(19)+y3(19)*q3(19)+
y1(20)*q1(20)+y2(20)*q2(20)+y3(20)*q3(20)+
y1(21)*q1(21)+y2(21)*q2(21)+y3(21)*q3(21)<=25000;
@for(Day(i):q1(i)*(1-r(i))<=501);
@for(Day(i):q2(i)*(1-r(i))>=500);
@for(Day(i):q2(i)*(1-r(i))<=1000);
@for(Day(i):q3(i)*(1-r(i))>=1001);
@for(Day(i):q3(i)*(1-r(i))<=1500);
@for(Day(i):y1(i)+y2(i)+y3(i)=1;);
@for(Day(i):y1(i)+y2(i)+y3(i)=1;);
@for(Day(i):@bin(y1(i)););
@for(Day(i):@bin(y2(i)););
@for(Day(i):@bin(y3(i)););
END
程序运行结果:
Local optimal solution found at iteration: 2746 Objective value: 441291.4
Model Title: 最优捕捞模型
Variable Value Reduced Cost Q1( 1) 0.000000 0.000000
Q1( 2) 0.000000 0.000000
Q1( 3) 0.000000 0.000000
Q1( 4) 0.000000 0.000000
Q1( 5) 0.000000 0.000000
Q1( 6) 0.000000 0.000000
Q1( 7) 0.000000 0.000000
Q1( 8) 0.000000 0.000000
Q1( 9) 0.000000 0.000000
Q1( 10) 0.000000 0.000000
Q1( 11) 0.000000 0.000000
Q1( 12) 0.000000 0.000000
Q1( 13) 0.000000 0.000000
Q1( 14) 0.000000 0.000000
Q1( 15) 0.000000 0.000000
Q1( 16) 0.000000 0.000000
Q1( 17) 0.000000 0.000000
Q1( 18) 0.000000 0.000000
Q1( 19) 0.000000 0.000000
Q1( 20) 0.000000 0.000000
Q1( 21) 0.000000 0.000000
Q2( 1) 1034.483 0.000000
Q2( 2) 1035.714 0.000000
Q2( 3) 1037.037 0.000000
Q2( 4) 1038.462 0.000000
Q2( 5) 1040.000 0.000000
Q2( 6) 1041.667 0.000000
Q2( 7) 1043.478 0.000000
Q2( 8) 1045.455 0.000000 Q2( 9) 1047.619 0.000000 Q2( 10) 1050.000 0.000000 Q2( 11) 1052.632 0.000000 Q2( 12) 1055.556 0.000000 Q2( 13) 1058.824 0.000000 Q2( 14) 1062.500 0.000000 Q2( 15) 1066.667 0.000000 Q2( 16) 1071.429 0.000000 Q2( 17) 538.4615 0.000000 Q2( 18) 541.6667 0.000000 Q2( 19) 545.4545 0.000000 Q2( 20) 550.0000 0.000000 Q2( 21) 555.5556 0.000000 Q3( 1) 1035.517 0.000000 Q3( 2) 1036.750 0.000000 Q3( 3) 1038.074 0.000000 Q3( 4) 1039.500 0.000000 Q3( 5) 1041.040 0.000000 Q3( 6) 1042.708 0.000000 Q3( 7) 1044.522 0.000000 Q3( 8) 1046.500 0.000000 Q3( 9) 1048.667 0.000000 Q3( 10) 1051.050 0.000000 Q3( 11) 1578.947 0.000000 Q3( 12) 1583.333 0.000000 Q3( 13) 1588.235 0.000000 Q3( 14) 1593.750 0.000000 Q3( 15) 1600.000 0.000000 Q3( 16) 1607.143 0.000000 Q3( 17) 1615.385 0.000000 Q3( 18) 1625.000 0.000000 Q3( 19) 1636.364 0.000000 Q3( 20) 1650.000 0.000000 Q3( 21) 1666.667 0.000000 Y1( 1) 0.000000 0.000000 Y1( 2) 0.000000 0.000000 Y1( 3) 0.000000 0.000000 Y1( 4) 0.000000 0.000000 Y1( 5) 0.000000 0.000000 Y1( 6) 0.000000 0.000000 Y1( 7) 0.000000 0.000000 Y1( 8) 0.000000 0.000000 Y1( 9) 0.000000 0.000000
Y1( 11) 0.000000 0.000000 Y1( 12) 0.000000 0.000000 Y1( 13) 0.000000 0.000000 Y1( 14) 0.000000 0.000000 Y1( 15) 0.000000 0.000000 Y1( 16) 0.000000 0.000000 Y1( 17) 0.000000 0.000000 Y1( 18) 0.000000 0.000000 Y1( 19) 0.000000 0.000000 Y1( 20) 0.000000 0.000000 Y1( 21) 0.000000 0.000000 Y2( 1) 1.000000 -18793.10 Y2( 2) 1.000000 -18941.07 Y2( 3) 1.000000 -19088.89 Y2( 4) 1.000000 -19236.54 Y2( 5) 1.000000 -19384.00 Y2( 6) 1.000000 -19531.25 Y2( 7) 1.000000 -19678.26 Y2( 8) 1.000000 -19825.00 Y2( 9) 1.000000 -19971.43 Y2( 10) 1.000000 -20117.50 Y2( 11) 1.000000 -20263.16 Y2( 12) 1.000000 -20408.33 Y2( 13) 1.000000 -20552.94 Y2( 14) 1.000000 -20696.88 Y2( 15) 1.000000 -20840.00 Y2( 16) 1.000000 -20982.14 Y2( 17) 0.000000 -21123.08 Y2( 18) 0.000000 -21262.50 Y2( 19) 0.000000 -21400.00 Y2( 20) 0.000000 -21535.00 Y2( 21) 0.000000 -21666.67 Y3( 1) 0.000000 -20689.66 Y3( 2) 0.000000 -20911.61 Y3( 3) 0.000000 -21133.33 Y3( 4) 0.000000 -21354.81 Y3( 5) 0.000000 -21576.00 Y3( 6) 0.000000 -21796.88 Y3( 7) 0.000000 -22017.39 Y3( 8) 0.000000 -22237.50 Y3( 9) 0.000000 -22457.14 Y3( 10) 0.000000 -22676.25 Y3( 11) 0.000000 -22894.74
Y3( 13) 0.000000 -23329.41 Y3( 14) 0.000000 -23545.31 Y3( 15) 0.000000 -23760.00 Y3( 16) 0.000000 -23973.22 Y3( 17) 1.000000 -24184.62 Y3( 18) 1.000000 -24393.75 Y3( 19) 1.000000 -24600.00 Y3( 20) 1.000000 -24802.50 Y3( 21) 1.000000 -25000.00 P( 1) 30.00000 0.000000 P( 2) 25.00000 0.000000 P( 3) 20.00000 0.000000
Row Slack or Surplus Dual Price OBJ 441291.4 1.000000
2 0.000000 -424.2961
3 0.000000 -428.8632
4 0.000000 -433.7574
5 0.000000 -439.0415
6 0.000000 -444.7641
7 0.000000 -450.9818
8 0.000000 -457.7619
9 0.000000 -465.1840
10 0.000000 -473.3726
11 0.000000 -482.3566
12 0.000000 -498.6126
13 0.000000 -510.1826
14 0.000000 -523.1807
15 0.000000 -537.8877
16 0.000000 -554.6635
17 0.000000 -573.9762
18 0.000000 -882.3433
19 0.000000 -921.0218
20 0.000000 -967.2727
21 0.000000 -1023.459
22 0.000000 -1093.370
23 25.06504 0.000000
24 501.0000 0.000000
25 501.0000 0.000000
26 501.0000 0.000000
27 501.0000 0.000000
28 501.0000 0.000000
29 501.0000 0.000000
31 501.0000 0.000000
32 501.0000 0.000000
33 501.0000 0.000000
34 501.0000 0.000000
35 501.0000 0.000000
36 501.0000 0.000000
37 501.0000 0.000000
38 501.0000 0.000000
39 501.0000 0.000000
40 501.0000 0.000000
41 501.0000 0.000000
42 501.0000 0.000000
43 501.0000 0.000000
44 501.0000 0.000000
45 500.0000 0.000000
46 500.0000 0.000000
47 500.0000 0.000000
48 500.0000 0.000000
49 500.0000 0.000000
50 500.0000 0.000000
51 500.0000 0.000000
52 500.0000 0.000000
53 500.0000 0.000000
54 500.0000 0.000000
55 500.0000 0.000000
56 500.0000 0.000000
57 500.0000 0.000000
58 500.0000 0.000000
59 500.0000 0.000000
60 500.0000 0.000000
61 0.000000 0.000000
63 0.000000 0.000000
64 0.000000 0.000000
65 0.000000 0.000000
66 0.000000 18.79310
67 0.000000 18.94107
68 0.000000 19.08889
69 0.000000 19.23654
70 0.000000 19.38400
71 0.000000 19.53125
72 0.000000 19.67826
73 0.000000 19.82500
74 0.000000 19.97143
76 0.000000 20.26316
77 0.000000 20.40833
78 0.000000 20.55294
79 0.000000 20.69687
80 0.000000 20.84000
81 0.000000 20.98214
82 500.0000 0.2107117E-04
83 500.0000 0.2118759E-04
84 500.0000 0.2130400E-04
85 500.0000 0.2153683E-04
86 500.0000 0.2165325E-04
87 499.0000 0.000000
88 499.0000 0.000000
89 499.0000 0.000000
90 499.0000 0.000000
91 499.0000 0.000000
92 499.0000 0.000000
93 499.0000 0.000000
94 499.0000 0.000000
95 499.0000 0.000000
96 499.0000 0.000000
97 499.0000 0.000000
98 499.0000 0.1381462E-04
99 499.0000 0.1389223E-04 100 499.0000 0.1404745E-04 101 499.0000 0.1420267E-04 102 499.0000 0.1435789E-04 103 499.0000 0.1451311E-04 104 499.0000 0.1466833E-04 105 499.0000 0.1482355E-04 106 499.0000 0.1490116E-04 107 499.0000 0.1513399E-04 108 0.000000 0.1521160E-04 109 0.000000 0.1536682E-04 110 0.000000 0.1552204E-04 111 0.000000 0.1567726E-04 112 0.000000 0.1583248E-04 113 0.000000 0.1591009E-04 114 0.000000 16.12308
115 0.000000 16.26250
116 0.000000 16.40000
117 0.000000 16.53500
128 0.000000 16.66667。