我在寻找生物过程的最佳参数值。最大限度地提高葡萄糖和木糖产量,同时限制糠醛的产量,并确保葡萄糖和木糖产量保持在可行的数量内(功能g_glu/g_xyl占含水率的百分比,因此不能大于1(100%))。
模型是这样的。
f(x1,x2,x3) = 2*f_glu(x1,x2,x3) + f_xyl(x1,x2,x3)(所有非线性函数)
约束:
10 < x1 < 50
130 < x2 < 170
11 < x3 < 89
1 . g_glu(x1,x2,x3) = 1
1 . g_xyl(x1,x2,x3) < 1
g_fur (x1, x2, x3) < 3
到目前为止,我已经尝试了实时优化编辑器和拉格朗日,但我不擅长编写代码,每次都卡住。我将把我写的一些代码写在下面
函数f = objectiveFcn (optimInput)
f = 2 * ((0.442 * z2 - 0.207 * z3 - 0.367 * exp (z3) * exp (z1) + 1.33 * z3 * exp (z3) + 0.348) - (0.192 * z1 - 0.624 * exp (3 * z3) + 0.507 * z2 ^ (1/2) - 0.11 * abs (z3) ^ 2 * abs (z2) * abs (2 * z3 + z1) + 0.66) * (0.916886995261484 - 0.26709662073194) + 0.26709662073194) * 1.76 - ((0.192 * z1 - 0.624 * exp (3 * z3) + 0.507 * z2 ^ (1/2) - 0.11 * abs (z3) ^ 2 * abs (z2) * abs (2 * z3 + z1) + 0.66) * (1.00459544182241- 0.200345860452685) + 0.200345860452685)*2.958;
函数测查[c] = constraintFcn (optimInput)
Fur_min = 0.0020923694565838;
Fur_max = 0.17896582936453;
Glu_min = 0.26709662073194;
Glu_max = 0.916886995261484;
Xyl_min = 0.200345860452685;
Xyl_max = 1.00459544182241;
glu_n = 0.442 * z2 - 0.207 * z3 - 0.367 * exp (z3) * exp (z1) + 1.33 * z3 * exp (z3) + 0.348;
xyl_n = 0.192 * z1 - 0.624 * exp (3 * z3) + 0.507 * z2 ^ (1/2) - 0.11 * abs (z3) ^ 2 * abs (z2) * abs (2 * z3 + z1) + 0.66;
Fur_n = 0.332*z3*z2^2 - 0.0289*z3 + 0.332*z2*z1^2 + 0.332*z1*z2*z3 + 0.00825;
Glu_p = glu_n * (glu_max - glu_min) + glu_min;
Xyl_p = xyl_n * (xyl_max - xyl_min) + xyl_min;
Fur_p = fur_n * (fur_max - fur_min) + fur_min;
毛皮= (fur_p * 1.76/0.9 * 10) < = 3;
dL_dz1 = diff(L,z1) == 0;
dL_dz2 = diff(L,z2) == 0;
dL_dz3 = diff(L,z3) == 0;
dL_dlambda = diff(L,lambda) == 0;
系统= [dL_dz1;dL_dz2;dL_dz3;dL_dlambda];
[z1_val_n, z2_val_n, z3_val_n,lambda_val] = solve(system, [z1 z2 z3 lambda],“真实”的,真正的)