用matlab求约束最优化问题 MATLAB:特定约束条件下的最优化问题

   www.gaoxiao88.net
在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function y=zhidao_wtosc(x)
y=-(1/2)*(2000-(100*x(1)+250)/(2+0.01*x(2)^2+0.01*(1-x(2))^2))*(x(1)-20-0.015*x(1)*x(2));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

在Matlab下面输入:
xmin=[20;0];
xmax=[100;1];
x0=xmin;
[x,ymin,flag,c]=fmincon('zhidao_wtosc',x0,[],[],[],[],xmin,xmax);
x,ymin

得到结果:
x =
28.8500
0

ymin =
-1.9483e+003

有约束最优化问题,用matlab求解

假设最优时候的a1不等于a2,那么取a1' = a2' = max{a1,a2}将是更优的解。因此,最优时候的a1与a2必定相等。

给定角加速度a时,加速时间越长那么转过的角度越多。在加速度不大于0.5g的约束下,加速时间最多可以是:


加速与减速过程所转过的角度是a*t(a)^2,是个随a递减的函数。假设最优时候的角加速度为a,加速时间t < 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
t1 = t3 = %f
t2 = %f
', a, t(a), 22.2/a/t(a)-t(a))

写了一下,是下面的结果,应该是对的,呵呵!

>> f=[25;30];
A=[2 3;3 4];
b=[69;48];
lb=[4;2];
[x,fval,exitflag,output]=linprog(f,[],[],A,b)
Optimization terminated.

x =

-132.0000
111.0000


fval =

30.0000


exitflag =

1


output =

iterations: 4
algorithm: 'large-scale: interior point'
cgiterations: 0
message: 'Optimization terminated.'
constrviolation: 6.7928e-011

相关参考:

有约束最优化问题,用matlab求解
加速与减速过程所转过的角度是a*t(a)^2,是个随a递减的函数。假设最优时候的角加速度为a,加速时间t < t(a),那么可以增大a到某个值a',加速时间为t(a'),使得a'*t(a')^2 = at^2。因此,最优时候的加速时间必取到最大值。综上,可得最终优化式子:代码如下:g = 9.8;r = .05...

用matlab 约束最优解
用matlab 求约束最优解 ,应该用fmincon极值函数。实现思路:1、编制自定义目标函数function y=fmincon_fun(x)a=x(1);b=x(2);c=x(3);y=6.16*(2+a)*b*c^2;end2、编制主程序x0= [1,1,1]; lb=[3,80,10];ub=[inf,120,18]; [x,fval,exitflag] = fmincon(@(x) fmincon_fu...

求解matlab约束优化问题
该极小值约束优化问题可以用fmincon()优化函数来解决。解决方法:1、自定义目标函数 myfun(x)2、自定义约束函数 mycon(x)3、运用fmincon()函数 x0=[3;3] %初值 [x,fval] = fmincon(@(x) myfun(x),x0,[],[],[],[],[],[],@(x) mycon(x)); %使用格式 4、运行结果 ...

用matlab求约束最优化问题
function y=zhidao_wtosc(x)y=-(1\/2)*(2000-(100*x(1)+250)\/(2+0.01*x(2)^2+0.01*(1-x(2))^2))*(x(1)-20-0.015*x(1)*x(2));在Matlab下面输入:xmin=[20;0];xmax=[100;1];x0=xmin;[x,ymin,flag,c]=fmincon('zhidao_wtosc',x0,[],[],[],[],xmin,xm...

...和外点惩罚函数法求解下列约束优化问题(用matlab编程)
1、首先在电脑中启动matlab,新建一个函数文件,用来写目标函数。2、在编辑器窗口中写入要求的目标函数,并保存,注意使函数名与文件名相同。3、然后再新建一个函数文件,用来编写非线性约束条件。步骤及其注意事项同上。额外需要注意的是,需要将两个函数文件放在同一个文件夹中。4、最后,在命令行窗口处...

怎么用matlab求最优解?
求其最优解,其方法:1、首先建立目标函数,objectivef(x),其内容 y=x(1)*x(2)+2*(x(2)*x(3)+x(1)*x(3));2、然后建立约束函数,constrainf(x),其内容 约束函数 c=[];非约束函数 ceq=x(1)*x(2)*x(3)-100;3、最后建立运行代码 x0=[5,5,2]A=[];b=[];Aeq=[];beq...

应用MATLAB优化工具箱编程,求解如下不等式约束优化问题。
x^2-y+1');grid on;两个函数文件function f=myfun1(x) f=x(1)^2+x(2)^2-4*x(1)+4;endfunction [g,ceq]=mycon1(x)g=[-x(1)+x(2)-2; x(1)^2-x(2)+1];ceq=0;最优化问题从几何上看是在第一象限(x1,x2>0), 直线即抛物线之下(两个约束条件), 最大的椭圆 ...

关于用MATLAB优化函数fmincon进行约束优化编程的问题?
1、将数值分别赋值给x、y 2、初定系数的初值 3、利用 nlinfit函数,求出系数 第二部分,才是求其极值 求解步骤:1、创建目标函数,即 y=k*theta+a0+a1*cos(w*theta)+b1*sin(w*theta)+a2*cos(2*w*theta)+b2*sin(2*w*theta)+a3*cos(3*w*theta)+b3*sin(3*w*theta)+a4*cos(4*w*...

求解matlab约束优化问题
该极小值约束优化问题可以用fmincon()优化函数来解决。解决方法:1、自定义目标函数 myfun(x)2、自定义约束函数 mycon(x)3、运用fmincon()函数 x0=[3;3]初值 [x,fval]= fmincon(@(x)myfun(x),x0,[],[],[],[],[],[],@(x)mycon(x));使用格式 4、运行结果 ...

matlab线性规划求最优解,其中有lb和ub约束上下限,可是现在要求x(1...
首先就是解x(1)>234和x(2)>651,分别考虑为0的情况,x(1)=0,x(2)>651;x(1)=234,x(2)=0以及x(1)=0,x(2)=0,这样问题就解决了。f=[-7,-12];A=[9 4;4 5;3 10];b=[300;200;300];lb=zeros(2,1);% 生成一个2行1列的全0矩阵,很显示,上面例子中的x,y的最小值...

相关评论

  • 伏帘2243: 用matlab 约束最优解 -
    13790783030: 用matlab 求约束最优解 ,应该用fmincon极值函数.实现思路: 1、编制自定义目标函数 function y=fmincon_fun(x) a=x(1);b=x(2);c=x(3); y=6.16*(2+a)*b*c^2; end 2、编制主程序 x0= [1,1,1]; lb=[3,80,10];ub=[inf,120,18]; [x,fval,exitflag] = fmincon(@(...

  • 伏帘2243: 已知约束条件,怎么用matlab作线性规划最优解的图? -
    13790783030: 题主的线性规划最优解的图,可以这样来考虑. 首先,对x2划分取值,即 x2=0:1:350 其次,根据已知约束条件,计算对应的x1值.即 (1)约束条件 6x1+10.5x2≤4800,可以得到 x1=(4800-10.5*x2)/6 (2)约束条件 4x1+2x2≤2000,可以得到 x1=(2000-2*x2)/4 然后,使用plot函数分别绘出边界直线图形 plot(x1,x2),hold on 最后,判断最优点(187.5,350),计算最大值 z=3600*x1+5400*x2;

  • 相关话题

    ap在线精英在线最新简短笑话,好笑的段子,搞笑句子,男女朋友校园冷笑话,搞笑歌词对白台词,夫妻搞笑对话,手机流行笑话,逗人笑的动物经典笑话,最新幽默搞笑图文,好笑的视频分享给朋友
    若有事情,请联系电邮
    © <搞笑吧