首页 > 代码库 > 最优捕鱼策略问题

最优捕鱼策略问题

为了保护人类赖以生存的自然环境,可再生资源(如渔业、林业资源)的开发必须适度。一种合理、简化的策略是,在实现可持续收获的前提下,追求最大产量或最佳效益。

考虑对鳀鱼的最优捕捞策略:假设这种鱼分4个年龄组,称为1龄鱼,2龄鱼,3龄鱼,4龄鱼。各年龄组每条鱼的平均质量分别为5.07、11.55、17.86、22.99(g),各年龄组的自然死亡率为0.8(1/年),这种鱼为季节性集中产卵繁殖,平均每条4龄鱼的产卵量为1.109×1011(个),3龄鱼的产卵量为这个数的一半,2龄鱼和1龄鱼不产卵,产卵和孵化期为每年的最后4个月,卵孵化并成活为1龄鱼,成活率(1龄鱼条数与产卵量n之比)为1.22×1011/(1.22×1011+n)。

渔业管理部门规定,每年只允许在产卵孵化期前的8个月进行捕捞作业。如果每年投入的捕捞能力(如渔船数、下网次数等)固定不变,这时单位时间捕捞量将与各年龄组鱼群条数成正比,比例系数不妨设为捕捞强度系数。通常使用13mm网眼的拉网,这种网只能捕捞3龄鱼和4龄鱼,其两个捕捞系数之比为0.42:1.渔业上称这种方式为固定努力量捕捞。

①建立数学模型分析如何实现可持续捕捞(即每年开始捕捞时渔场中各年龄组鱼群条数不变),并且在此前提下得到最高的年收获量(捕捞总质量)。

②某渔业公司承包这种鱼的捕捞业务5年,合同要求5年后鱼群的生产能力不能受到太大破坏。已知承包时各年龄组鱼群的数量分别为:122,29.7,10.1,3.29(×109条),如果仍用固定努力量的捕捞方式,该公司应采取怎样的策略才能使总收获量最高。

(1)问题的分析与模型的建立

问题假设

①鱼群总量的增加虽然是离散的,但对于大规模的鱼群而言,可设鱼群总量的变化随时间是连续的。

②据题目给出的条件,可设鱼群每年在8月底瞬间产卵完毕,卵在12月底全部孵化完毕。

③i龄鱼到第二年分别长一岁成为i+1龄鱼,i=1,2,3。

④4龄鱼在年末留存的数量占全部数量的比例很小,可假设全部死亡。

⑤持续捕获使各年龄组的鱼群数量呈周期变化,周期为1年,可以只考虑鱼群数量在1年内的情况。

问题分析

①符号说明。

xi(t)——在t时刻i龄鱼条数,i=1,2,3,4;

k——4龄鱼捕捞强度系数;

n——每年产卵量;

ai——每年初i龄鱼的数量,i=1,2,3,4。

②对死亡率的理解。题中给出鱼的自然死亡率为0.8(1/年),我们理解为平均死亡率,这是单位时间鱼群死亡数量与现有鱼群数量的比例系数,由假设可知,它是一个与环境等其他因素无关的常数。鱼群的数量是连续变化的,且1龄鱼、2龄鱼在全年及3龄鱼、4龄鱼在后4个月的数量只与死亡率有关,各龄鱼的数量满足

,t∈[0,1](i=1,2)

,t∈[2/3,1](i=3,4)

③捕捞强度系数的理解。单位时间4龄鱼捕捞量与4龄鱼群总数成正比,比例系数即为捕捞强度k,它是一定的,且只在捕捞期内(即每年的前8个月)捕捞3龄鱼,4龄鱼。所以,一方面捕捞强度系数决定了3龄鱼、4龄鱼在捕捞期内的数量,其变化规律为

,t∈[0,2/3]

,t∈[0,2/3]

另一方面也决定了t时刻捕捞3龄鱼、4龄鱼,其数量分别为0.42kx3(t)和kx4(t)。

④成活率的理解。由于只有3龄鱼、4龄鱼在每年8月底一次产卵,因此可将每年的产卵量n表示为

 

题目中已经说明成活率为,所以每年年初的1龄鱼的数量为

 

(2)Matlab模拟程序与结果

模型如下:

 

s.t

,t∈[0,1]

,t∈[0,1]

,t∈[0,2/3]

,t∈[2/3,1]

,t∈[0,2/3]

,t∈[2/3,1]

计算机程序模拟实验程序:先建立两个M-file。

%[buyu.m]最优捕鱼策略问题

function y=buyu(x)

global a10 a20 a30 a40 total k;

syms k a10;

x1=dsolve(‘Dx1=-0.8*x1‘,‘x1(0)=a10‘);

t=1;a20=subs(x1);

x2=dsolve(‘Dx2=-0.8*x2‘,‘x2(0)=a20‘);

t=1;a30=subs(x2);

x31=dsolve(‘Dx31=-(0.8+0.42*k)*x31‘,‘x31(0)=a30‘);

t=2/3;a31=subs(x31);

x32=dsolve(‘Dx32=-0.8*x32‘,‘x32(2/3)=a31‘);

t=1;a40=subs(x32);

x41=dsolve(‘Dx41=-(0.8+k)*x41‘,‘x41(0)=a40‘);

t=2/3;a41=subs(x41);

x42=dsolve(‘Dx42=-0.8*x42‘,‘x42(2/3)=a41‘);

nn=1.109*10^5*(0.5*a31+a41);

eq1=a10-nn*1.22*10^11/(1.22*10^11+nn);

S=solve(eq1,a10);a10=S(2);

syms t;

t3=subs(subs(int(0.42*k*x31,t,0,2/3)));

t4=subs(subs(int(k*a41,t,0,2/3)));

total=17.86*t3+22.99*t4;

k=x;

y=subs(-total);

 

%[buyu1.m]最优捕鱼策略问题

global a10 a20 a30 a40 total;

[k,mtotal]=fminbnd(‘buyu‘,16,18);

ezplot(total,0,25)

xlabel(‘捕捞强度系数‘)

ylabel(‘总收获量(g)‘)

title(‘捕捞强度——总收获量曲线图‘)

format long;

k

total=-mtotal

a10=eval(a10)

a20=eval(a20)

a30=eval(a30)

a40=eval(a40)

format short

clear

 

在Matlab中输入命令:buyu1,回车即得:

k = 17.86984648968516, total = 3.869962667986214e+011,

a10 = 1.192332637390619e+011, a20 = 5.357495888418817e+010

a30 = 2.407278077805501e+010, a40 = 7.262288087797806e+007

同时,还得到图形——图1。

当k=17.86984648968516时,最高年收获量为totalT=3.869962667986214e+011(g),此时每年年初四种龄鱼的数量分别为:

1.192332637390619e+011

5.357495888418817e+010

2.407278077805501e+010

7.262288087797806e+007

关于第二个问题的求解,在此略去。

 

参考文献

[1] 李志林,欧宜贵,数学建模及其典型案例分析,北京:化学工业出版社,2006.12

 

参考页码及索取号

[1] Page22; O141.4/L.Z.L

 

重点注意:用Matlab编程解决数学问题。

最优捕鱼策略问题