最优捕鱼策略实验报告

更新时间:2023-03-18 00:03:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

最优捕鱼策略实验报告

学号:104080298 姓名:宁亚会 班级:10D

摘要

为了保护人类赖以生存的自然环境,可再生资源(如渔业、林业资源等)的开发必须适度。而在社会经济生活中,我们要使商业活动在一段时期内达到最大收益,因此我们要合理的开发资源,这时,我们不仅要考虑商业活动的当前经济效益,还要考虑生态效益及由此产生的对整体经济效益的影响。本文就是对渔业这类可再生资源的开发问题进行研究,利用相关的数学软件进行求解。

对于问题一,我们考虑渔场生产过程中的各年龄组鱼群数量的制约因素,将其分为两大类,第1,2龄鱼群为一类,该鱼群数量变化在一年内只受自然死亡率制约,写出鱼群数量满足的微分方程;第3,4龄鱼群为一类,其数量变化在前8个月受捕捞强度和自然死亡率影响,后4个月只受自然死亡率的制约,分阶段写出写出鱼群数量满足的微分方程;根据微分方程,求出在某时刻各鱼群的数量表达式(类似于人口增长模型)。因为捕捞是连续的,所以任意一个时刻的捕捞量为捕捞强度乘以鱼群的数量,又捕捞只在前8个月进行,则年捕捞量为前8个月各时刻鱼群数量的积分。最后建立年总捕捞量的函数与生产过程中满足的关系式,转化为非线性规划模型,利用lingo和matlab软件分别求解。

对于问题二,题中已给出各年龄组鱼群的初始值,我们利用问题一中所得到的迭代方程,可迭代地求出第i年初各年龄组鱼群的数量;再根据问题一中的捕捞量表达式,可写出5年的捕捞总量表达式,以5年捕捞总量最大为前提,利用matlab软件求解出此时的捕捞强度,然后再验证在此捕捞强度下会不会使5年后鱼群的生产能力有太大的破坏。

最后,我们得出以下结论:可持续捕获条件下,捕捞强度为17.36292时,达到最大捕捞总质量3.887076?10g; 5年后鱼群的生产能力不会有太大的破坏条件下,捕捞强度为

11k??17.5,17.8?,达到最大最大捕捞总质量1.6056?1012

一.问题重述

生态学表明,对可再生资源的开发策略应在事先可持续收获的前提下追求最大经济效益,考虑具有4个年龄组:1龄鱼,……,4龄鱼的某种鱼。该鱼类在每年后4个月季节性集中产卵繁殖。而按规定,捕捞作业只允许在前8个月进行,每年投入的捕捞能力固定不变,单位时间捕捞量与各年龄组鱼群条数的比例称为捕捞强度系数。使用只能捕捞3,4龄鱼的13mm网眼的拉网,其两个捕捞强度系数比为0.42:1。渔业上称这种方式为固定努力量捕捞。

该鱼群本身有如下数据:

各年龄组鱼的自然死亡率为0.8(1/年),其平均质量分别为5.07,11.55,17.86,22.99(单位:g);1,2龄鱼不产卵,平均每条4龄鱼产卵量为1.109?10(个),3龄鱼为其一半;卵孵化的成活率为1.22?10115(1.22?1011?n)(n为产卵总量);

二、问题分析

对于问题一,要实现可持续捕获,即每年开始捕捞时渔场中各年龄组鱼群条数不变,因此我们要算出每年初各龄鱼组的数量。

1

对自然死亡率,捕捞强度系数和卵成活率的解释,即1,2龄鱼仅受自然死亡率的影响;而3,4龄鱼不仅受自然死亡率的影响,还受捕捞强度系数的影响;因为该种鱼的最高寿命为4,所以在后四月中4龄鱼都不存活;,而对于1龄鱼的数量,是3,4龄鱼在前年的后4年产卵所存活下来的数量;对于捕捞量,题中规定只在1到8月才能捕捞,而且1,2龄鱼不被捕捞,所以主要来源于对3,4龄鱼的捕捞。根据这些关系可列出一系列的方程,其中捕捞量作为目标函数,其他的作为约束条件,建立一个非线性规划模型,再然后用lingo软件和matlab软件进行求解。

对于问题二,合同要求5年后鱼群的生产能力不能受到太大破坏,又要使总收益最高,这就有可能发生满足了前者满足不了后者之类的情况。我们处理方法是先确定一个策略使其收益最高,再检验此捕鱼策略是否能保证5年后鱼群的生产能力不受到太大的破坏,若它让鱼群的生产能力受到了严重破坏,我们再求另外一种策略。但从理论分析可知,5年后将在鱼群尽可能接近可持续鱼群的情况下来使捕捞量达到最大。对于破坏大小,我们采用1龄鱼群数量变化率来衡量,即以第六年初1龄鱼群数量的变化量与承包时鱼群数量初值之比表示,因为2,3,4龄鱼群的数量在很大程度上受承包初1龄鱼影响,根据关系,可以知道5年后2,3,4龄鱼群的数量肯定会有较大变化。只要该比值小于5%,我们就认为鱼群的生产能力没有受到太大破坏。

题中已经给了我们各年龄组的初始值,而问题一中也已得出一组迭代方程,我们利用这些迭代方程,求出各年的鱼量分布;同样可以根据问题一中捕捞量的表达式求出5年的总捕捞量,以此来确定我们的最优捕捞策略。再然后我们通过验证来确定其5年后鱼群的生产能力有没有受到太大破坏。

综上所述,原问题实质上是给出了各年龄组鱼群之间数量的变化规律,并给出了它们的自然死亡率及捕捞和产卵的时间分布,并固定3、4龄鱼捕捞能力的比值,要求选择一定的捕捞能力系数,使得各年龄组鱼的数量在各年开始的第一天条数不变(第一问),5年后鱼群的生产能力不会有太大的破坏(第二问),并在此条件下,求到最大捕获量。

三.模型假设

由于问题本身存在很多不确定因素,为了使问题简化,作如下假设:

1.这种鱼在一年内的任何时间都会发生自然死亡,即死亡是一个连续的过程。 2.捕捞也是一个连续的过程,不是在某一时刻突然发生。 3.1、2龄鱼体形太小,不能被捕。

4.3、4龄鱼在一年中的后4个月的第一天集中一次产卵

5.i龄鱼到来年分别长一岁成为i+1龄鱼,i=1,2,3,其中上一年存活下来的4龄鱼仍是4龄鱼

四.问题一的模型建立与求解

4.1模型建立

1,2龄鱼的生长只受自然死亡率的影响,由此可知1,2龄鱼的生长的微分方程满足方程

dxi??rxi,i?1,2,3,4 dt可得:xi(t)?x0e?rt,x0为每年年初i龄鱼的数量 (1)

T年的i龄鱼在T+1年变为i+1龄鱼,

则有:xi?1(T?1)?e?rxi(T) (2)

2

而对于3,4龄鱼的生长,在前八个月,他们的生长不仅受自然生长率的影响,还受捕捞强度系数的影响,而后四个月仅受自然生长率的影响。

我们以一年为一个时间单位,则这一时间单位可以分为两个阶段,见图(1): 0 2/3 1

I:捕捞期 II:产卵期 图(1)

因此,

1. 前八个月3、4龄鱼生长的微分方程满足: ○

dxi??(r?ki)xidti?3,4 (3)

可得:xi(t)?x0e?(r?ki)t,x0为每年年初i龄鱼的数量 (4)

由于每年的捕捞只在1到8月进行,并且只能捕到3,4龄鱼,所以任意一个时刻的捕捞量为kixi(t),则年捕捞量为:

?

230?(ki?r)kikixi(t)dt?x0(1?e3) (5)

ki?r22. 后四个月3、4龄鱼生长的微分方程满足方程 ○

dxi??rxi,i?1,2,3,4 dt

可得:xi(t)?x0e?rt,x0为每年年初i龄鱼的数量 (6)

其中产卵量n?0.5mx3e

2?(r?0.42k)3?mx4e2?(r?k)3 (7)

1.22*1011又孵化存活率?? (8)

1.22*1011?n

所以年初1龄鱼的总量x1(T?1)??n(T) (9)

230230 根据以上分析,我们可以建立非线性规划模型: 目标函数:max?17.86约束条件:

22?(0.42k?r)?(k?r)?3?mx4e3?n?0.5mx3e?x??n1???r ?x2??ne??2rx??ne3?22??(*0.42k?3r)?(k?r)3?(1?e3)?x4??ne?k3x3(t)dt?22.99?k4x4(t)dt (10)

3

4.2模型求解

可将目标函数和约束条件转化为: 目标函数为:

?(0.8?0.42k)(?k?0.8)?(0.8?k)0.42kk?1.6(?0.28k?2.4)33max?17.86?ne(1?e)?22.99?ne(1?e)(1?e3)0.42k?0.80.8?k222

约束条件:

1.22*10^11????1.22*10^11?n?28.8?(k?0.28k?) 6.4?33?(0.28k?)e3?n?1.22*10^11*(m*(0.5*e?)?1)2?(k?0.8)?1?e3?

下面利用LINGO软件求解,输入以下命令:

max=17.86*0.42*k/(0.8+0.42*k)*1.22*10^11/(1.22*10^11+n)*n*@exp(-1.6)*(1-@exp(-2/3*(0.8+0.42*k)))+22.99*k/(0.8+k)*1.22*10^11/(1.22*10^11+n)*n*@exp(-0.28*k-2.4)/(1-@exp(-2/3*k-0.8))*(1-@exp(-2/3*(0.8+k))); n=1.22*10^11*(1.109*10^5*(0.5*@exp(-0.28*k-6.4/3)+@exp(-(0.28+2/3)*k-8.8/3)/(1-@exp(-2/3*k-0.8)))-1);

直接运行,输出结果为:

Local optimal solution found at iteration: 92 Objective value: 0.3887076E+12

Variable Value Reduced Cost K 17.36292 -1.034723 N 0.6078067E+13 0.000000

Row Slack or Surplus Dual Price 1 0.3887076E+12 1.000000 2 0.000000 0.1258406E-02

k?17.36292,f?0.3887076E+12

下面再利用matlab软件求解:

首先,建立fun1.m、max1.m、picture.m文件 picture1.m

k=linspace(1,20,20);

n=1.22*10^11*(1.109*10^5*(0.5*exp(-0.28*k-6.4/3)+exp(-(0.28+2/3)*k-8.8/3)/(1-exp(-2/3*k-0.8)))-1);

4

plot(k,n)

fun1.m文件:

function n=fun1(k)

n=1.22*10^11*(1.109*10^5*(0.5*exp(-0.28*k-6.4/3)+exp(-(0.28+2/3)*k-8.8/3)/(1-exp(-2/3*k-0.8)))-1)

max1.m文件:

function y=max1(n,k)

y=17.86*0.42*k/(0.8+0.42*k)*1.22*10^11/(1.22*10^11+n)*n*exp(-1.6)*(1-exp(-2/3*(0.8+0.42*k)))+22.99*k/(0.8+k)*1.22*10^11/(1.22*10^11+n)*n*exp(-0.28*k-2.4)/(1-exp(-2/3*k-0.8))*(1-exp(-2/3*(0.8+k)))

我们对k??1,20?,

运行picture.m文件,画出n关于k的图像:

由图像,,我们看出 k?,n?,这与事实是相符的。 然后,在命令窗口中输入以下命令: 程序1.m

for k=1:1:20

5

本文来源:https://www.bwwdw.com/article/978f.html

Top