作业帮 > 综合 > 作业

求大神帮写matlab优化程序,题目见下图:

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/05/14 18:00:43
求大神帮写matlab优化程序,题目见下图:

帮写个m文件,
求大神帮写matlab优化程序,题目见下图:
使用约束优化函数fmincon求解.
 
记 x(1)=b,x(2)=h,x(3)=S
则目标函数为
   f(x) = ( 10*x(1)*x(2) + x(3) ) / ( 10*x(1)*x(2) ) + 7.076E-3 / ( x(1)^3*x(2) )
线性不等式约束有
   -x(3) <= -1.26E-4
   1/4*x(1) - x(2) <=0
   -x(2) <= -0.2;

   A = [0 0 -1; 1/4 -1 0; 0 -1 0];
   b = [-1.26E-4; 0; 0];
非线性等式约束有
   x(1)^3*x(2)/x(3) - 2.612 = 0;
非线性不等式约束有
   4.66E-4 - x(1)^2*x(2) <= 0;

 
参考代码如下:
function zd
A = [0 0 -1; 1/4 -1 0; 0 -1 0];
b = [-1.26E-4; 0; 0];
x0 = [0.1 0.1 0.1];
opt = optimset('Display', 'iter', 'MaxFunEvals', 1E5);
x = fmincon(@obj,x0,A,b,[],[],[],[],@nonlcon,opt)

function f = obj(x)
f = ( 10*x(1)*x(2) + x(3) ) / ( 10*x(1)*x(2) ) + 7.076E-3 / ( x(1)^3*x(2) );

function [c, ceq] = nonlcon(x)
c =  4.66E-4 - x(1)^2*x(2);
ceq = x(1)^3*x(2)/x(3) - 2.612;
 
求得结果:
Optimization terminated successfully:
 Magnitude of directional derivative in search direction 
  less than 2*options.TolFun and maximum constraint violation 
  is less than options.TolCon
Active Constraints:
     1

x =
  0.5945    3.3500   0.2695
也就是,b=0.5945,h=3.3500,S=0.2695.