ZKX's LAB

matlab求解约束优化问题 MATLAB多目标约束优化求解

2021-04-10知识11

如何用matlab求解非线性约束优化问题先建立M文件fun.m定义目标函数:function f=fun(x)f=((x(1)+1)^2+4*(x(2)-1.5)^2)*((x(1)-1.2)^2+0.4*(x(2)-0.5)^2);再建立M文件mycon.m定义非线性约束:function[g,ceq]=mycon(x)g=[2*x(1)-x(1)*x(2)+5*x(2)-6;x(1)-x(2)+0.5;x(1)^2-4*x(2)^2+x(2)];ceq=0;

MATLAB多目标约束优化求解 该极值问题可以考虑用fmincon()求解,也可以用ga()求解(遗传算法)。由于给出的目标函数 F 缺具体的y1(x1,x2,x3)、y2(x1,x2,x3)、y3(x1,x2,x3)的表达式。所以无法帮助你。

有约束最优化问题,用matlab求解 假设最优时候的a1不等于a2,那么取a1'=a2'=max{a1,a2}将是更优的解。因此,最优时候的a1与a2必定相等。给定角加速度a时,加速时间越长那么转过的角度越多。在加速度不大于0.5g的约束下,加速时间最多可以是:加速与减速过程所转过的角度是a*t(a)^2,是个随a递减的函数。假设最优时候的角加速度为a,加速时间t(a),那么可以增大a到某个值a',加速时间为t(a'),使得a'*t(a')^2=at^2。因此,最优时候的加速时间必取到最大值。综上,可得最终优化式子:代码如下:g=9.8;r=.056;t=(a)(g^2/(4*r^2*a^4)-1/a^2)^(1/4);f=(a)t(a)+22.2/a/t(a);a=fminsearch(f,1e-6);fprintf('a1=a2=f\\nt1=t3=f\\nt2=f\\n',a,t(a),22.2/a/t(a)-t(a))

#matlab求解约束优化问题#带约束的遗传算法matlab

随机阅读

qrcode
访问手机版