有四个年龄组的鱼。该鱼类在每年后4个月季节性集中产卵繁殖。按规定,捕捞作业只允许在前8个月进行,每年投入的捕捞能力固定不变。单位时间捕捞量鱼各年龄组鱼群条数的比例称为捕捞强度系。使用只能捕捞3、4龄鱼的13mm网眼的拉网,其两个捕捞强度系数比为0.42:1。各年龄组鱼的自然死亡率为0.8(1/年),其平均质量(单位:g)分别为5.07,11.55,17.86,22.99。1龄鱼和2龄鱼不产卵。产卵期间平均每条4龄鱼产卵量为1.109105(个),3龄鱼为其一半。卵孵化成活率为1.22*1011/(1.2210^11+n)(n为产卵总量)。4龄以上的鱼体重不再增长,仍为4龄鱼。如何才能实现可持续捕捞(每年开始捕捞时渔场中个年龄组鱼群不变),并在此前提下得到最高收获量?
import numpy as np
import matplotlib.pyplot as plt
a = 1 - 0.2(1/12)
m = 1.109 * 105
w3 = 17.86
w4 = 22.99
X = []
Z = []
for k in np.arange(0, 0.875, 0.001):
x1 = 1.2210**11 * (1 - 1 / (m * (1 - a - 0.42k)8 * (1 - a)24 * (0.5 + (1 - a - k)8 * (1 - a)4)))
x2 = (1 - a)12 * x1
x3 = (1 - a)12 * x2
x4 = (1 - a - 0.42k)8 * (1 - a)4 * x3
X.append([x1, x2, x3, x4])
z = (0.42kw3 * (1 - (1 - a - 0.42k)8) / (a + 0.42k) * x3 +
kw4 * (1 - (1 - a - k)8) / (a + k) * x4)
Z.append(z)
mz = max(Z)
ind = Z.index(mz)
print('最大生产量:', mz)
print('各年龄组鱼群数(在最大生产量对应的k值下):', X[ind])
print('对应的k值(用于索引计算,可能需要根据实际情况转换为实际k值):', ind * 0.001)
plt.plot(np.arange(0, 0.875, 0.001), Z)
plt.ylabel('Z')
plt.xlabel('k')
plt.title('总生产量Z随捕捞强度k的变化')
plt.grid(True)
plt.show()
print("学号后两位:04")
标签:捕鱼,plt,8.8,年龄组,捕捞,print,x3,最优,0.42 From: https://www.cnblogs.com/howoo0808/p/18555298