强,而且由公式推出的前一两年的数据与该公园已有的数据基本相符合,可见模型是很优的。 问题二:
由于目前该动物已经很少被移出或移入,而且偷猎枪杀的情况微乎其微,所以暂时不列入考虑范围内。因此对该动物群落若不采用人工手段控制,则其在一定时间范围内会大幅度增加,从而破坏该种群的动态平衡。为了保持该种群的平衡,而又不必每年运走一定数量动物,现在使用一种避孕注射法,可使该动物群落的数量固定在一定范围内,用这种方法注射一次可以使得一头成熟雌性动物在两年内不会受孕,但不会引起其它附加的反应。我们所要做的就是估计出每年在该群落中要注射避孕药的雌性动物的数量,并且要考虑到各种不确定性因素的影响。
为了分析的方便,我们先建立初步模型,该模型暂时不考虑注射避孕药所产生的不确定性因素的影响,即不考虑两年内被重复注射的雌性数量及双胞胎的几率。在这里我们只认为新生幼仔的数量由两部分组成,一部分为没注射过避孕药的雌性个体所生,另一部分为被注射过避孕药的雌性个体所生。另外,由于已经没有个体被运走或被偷猎的情况,为此我们把该种群的稳定性转化为求目标函数?(该种群每年的新生幼仔的数量减去该年死亡个体的数量的差值),当?趋于0时,即认为该群落的个体数量是稳定的,从而把问题的稳定性问题转化为求单目标的最优化问题。从而建立模型如下: 模型二:
minz???1y1+?2y2?x0=0?? ? y1?y2?c1????x?[(1??)c?c]10223?其中:?1=
1,表示每年没有注射避孕药的雌性动物生幼仔的几率。 3.51?2?,表示被注射过避孕药但在两年内不再被注射的雌性动物生幼仔的几率;
5.5这里设c1=2596,表示从13~60岁该动物的雌性个体的总数为2596; 设c2=10243,表示从1~59岁该动物的个数总和为10243; 设c3=17,表示60岁该动物的个体总和为17;
?:表示该种群每年的新生幼仔的数量与该年死亡个体的数量总和的差值。 把已知的数据代入上述模型,从而得到以下模型:
minz???0.2857y1+0.1818y2?x0=0?y1?y2?2569 ??0.75x0?529???利用Matlab软件进行编程(源程序见附录4),求得
y1?2293,y2?276,x0?705,??2.0286?10?16.
其中??2.0286?10?16?0,说明该模型是稳定的,即该动物群落的数量被控制在
一定的范围内。由y2?276可知,每年大约有276头雌性动物要注射避孕药,才能使该群落的数量保持在11000头左右。
模型三(模型二的改进):
由于每年被注射的雌性动物数量一定,所以被注射过后两年有可能又被注射,则将其归入到“被注射过避孕药但在两年内不再被注射的雌性动物”内。因此,注射避孕药所产生的不确定性因素之一即为“被注射过避孕药但在两年避孕期内被重复注射的雌性动物”。另外不确定因素之二即双胞胎的几率问题,所以这里我们加入一个参数?3。
当第一年采用注射避孕药的方法时,是不会发生有雌性个体被重复注射的情况的,故有以下模型:
minz????1y1+?2y2+?3(y1+y2)?x0=0?y1?y2?c1 ?????x?[(1??)c?c]10223?其中:
1,表示每年没有注射避孕药的雌性动物生幼仔的几率; 3.51?2?,表示被注射过避孕药但在两年内不再被注射的雌性动物生幼仔的几率;
5.5?1=
?3?1,表示被注射过避孕药但在两年内被重复注射的雌性动物生幼仔的几率; 6.5?1?0.75,表示新生幼仔的存活率; ?2=0.95, 表示1~60岁动物的存活率;
?3?0.0135, 表示新出生的幼仔中双胞胎的概率。
minz???0.2857y1+0.1818y2+0.0135(0.2857y1+0.1818y2)?x0=0?y1?y2?2569 ????0.75x0?[(1?0.95)10243?17]?
利用Matlab软件求解(源程序见附录5),求得
y1?2202,y2?367,x0?705,??2.4791?10?16
其中??2.4791?10?16?0,说明该模型是稳定的,即该动物群落的数量被控制在
?367可知,每年大约有367头雌性动物要注射避孕药,才能使该
一定的范围内。由y2群落的数量保持在11000头左右。由于考虑双胞胎的机率,故必须增加注射的数量。
当注射避孕药一年后再次注射时,就会有某些数量的雌性个体被重复注射的情况出现,但这部分一定比前一年注射的雌性个体的数量少,故建立以下模型
模型四:
minz????1y1+?2y2+?3y3+?3(?1y1+?2y2+?3y3)?x0=0?y3???? y1?y2?y3?c1?????1x0?[(1??2)c2?c3]?代入已知数据,得到以下目标函数模型:
minz???0.2896y1+0.1843y2+0.1698y3?x0=0?y3????
y?y?y?2569123????0.75x0?529?其中?是前一年被注射避孕药的雌性个体的数量。利用Matlab软件编写程序求解,通过对?的不同取值进行调试,(源程序见附录6)求得当?=242时,模型稳定,此时
y1?2217,y2?242,y3?110,x0?705,??1.6409?10?12
其中x0?705与模型三的解相同,说明新生幼仔的数量比较稳定,而每年注射避孕
药的雌性动物则减少到352头,其中有110头是在注射后一年又被重复注射的数量,而
??1.6409?10?12?0则说明了该动物群落的个体数量是稳定的,被控制在一定
范围内。由此可知当每年注射352头时,就能把该动物群落的数量控制在11000头范围内。 问题三:
假如每年转移50至300头此动物到别处,其大致模型与问题二相近,不同之处在于要考虑到被运走的动物的数量(b),即?应表示该种群每年的新生幼仔的数量减去该年死亡个体的数量与运走个体数量的和的差值。相应的避孕措施将改变如下: 模型五:
minz????1y1+?2y2+?3y3+?3(?1y1+?2y2+?3y3)?x0=0?y3????
y?y?y?c1231?????1x0?[(1??2)c2?c3?b]?其中b表示该年被运走的动物的数量(50~300); 代入已有数据,并把方程标准化,得到以下模型:
minz???0.2896y1+0.1843y2+0.1698y3?x0=0?y3????y1?y2?y3?c1
????0.75x0?(0.05c2?c3)?b?其中b的值在50~300之间变化,我们以50头为间距(即b的值分为50,100,150,200,250,300六种情况),利用软件MATLAB6.0计算得到每年转移从50至300头到别处时所应采取的避孕措施(源程序见附录7),当取b=50时,得到以下输出结果: :
由输出结果的提示可知,在100000次迭代后仍然无法找到最优值;由exitflag=-1可知,以上模型得到的数据是发散的,从而说明上述模型本身并不存在问题,只是计算机无法在有限的迭代次数内找到最优值。为此解决该问题,我们对以上模型进行修改,把目标函数?3定义为该动物群落在年底时的总数量与年初的数量加上被运走的数量b的差值,从而得到以下模型: 模型六: