matlab用单纯形法求最小值,matlab汇总matlab-最优化实验

《matlab汇总matlab-最优化实验》由会员分享,可在线阅读,更多相关《matlab汇总matlab-最优化实验(31页珍藏版)》请在人人文库网上搜索。

1、最优化计算方法6.4 最优化问题求解6.4.1 无约束最优化问题求解min f(x)MATLAB提供了3个求最小值的函数,它们的调用格式为:(1)x,fval=fminbnd(fname,x1,x2,options): 求 一 元函数在(xl,x2)区间中的极小值点x和最小值fval。(2)x,fval=fminsearch(fname,x0,options):基于单纯形算法求多元函数的极小值点x和最小值fval。(3)x,fval=fminunc(fname,x0,options):基于拟牛顿法求多元函数的极小值点x和最小值fval。例6-13求f(x)=x3-2x-5在0,5内的最小值点。。

2、(1) 建立函数文件mymin.m。function fx=mymin(x) fx=x.3-2*x-5;(2) 调用fmin函数求最小值点。x=fmin(mymin,0,5) x=0.81656.4.2 有约束最优化问题求解使目标函数f(x)为最小,且满足约束条件G(x)= 0(i = 1,2,L, n)也可以用矩阵形式来表示:minf = cT xs.t.Ax = 0线性规划的可行解是满足约束条件的解;线性规划 的最优解是使目标函数达到最优的可行解。线性规划关于解的情况可以是:1、无可行解,即不存在满足约束条件的解;2、有唯一最优解,即在可行解中有唯一的最有解;3、有无穷最优解,即在可行解中。

3、有无穷个解都可使目 标函数达到最优;4、有可行解,但由于目标函数值 而无最优解。一般求解线性规划的常用方法是单纯形法和改进 的单纯形法,这类方法的基本思路是先求得一个可行解,检验是否为最优解;若不是,可用迭代的方法找到另一个更优的可行解,经过有限次迭代后,可以找到可行解中的最优解或者判定无最优解。三、内容与步骤:在Matlab优化工具箱中,linprog函数是使用单纯形法求解下述线性规划问题的函数。minf= cT xs.t.Ax = 312x- x3= -1xi= 0, i= 1,2,3minf= cT x解:考虑到linprog函数只解决形如s.t.Ax = 0beq;minf= -3x1。

4、+ x2+ x32x1 - x3= -1s.t.x-2x12+ x3 = 0, i= 1,2,3Matlab程序:ch701.m然后建立M文件如下:c=-3;1;1;A=1 -2 1;4 -1 -2;b=11;-3;aeq=2 0 -1;beq=-1;vlb=0;0;0; x,fval=linprog(c,A,b,aeq,beq,vlb)以ch701作为文件名保存此M文件后,在命令窗口输入ch701后即可得到结果:x = 4.00001.00009.0000同时返回fval=-2对应到原来的线性规划中即知目标函数的最大值为2,此时x1=4,x2=1,x3=9。第二节 无约束规划计算方法一、实验。

5、目的1、了解无约束规划问题的求解原理与方法;2、会用Matlab软件求解无约束规划问题。二、实验原理和方法无约束规划问题的解法一般按目标函数的形式分为两大类: 一类是一元函数的一维搜索法,如黄金分割法、插值法等; 另一类是求解多元函数的下降迭代法。迭代的基本思想和步骤大致可分为以下四步:1) 选取初始点x0 ,并令k= 0;2) 得到xk 后,选取一个搜索方向Pk , 使得沿着这个方向的目标函数f (x)的值时下降的;3)由xk出发,沿Pk 方向选取适当的步长lk , 使得f (xk+ lk Pk ) = 0i初值为1;1;1;1解:首先建立一个m文件 fun705.m function y=fun705(x)y=(x(1)-1)2+(x(2)-2)2+(x(3)-3)2+(x(4)-4)2;存储为fun705.m文件.x0=1;1;1;1;A=1 1 1 1;3 3 2 1;B=5;10;Aeq=;Beq=; Lb=0;0;0;0;x,g=fmincon(fun705,x0,A,B,Aeq,Beq,Lb)答案为:Matlab程序:ch705.mx =0.00000.66671.66652.6668g =6.3333习题v 某工厂生产甲、乙两种产品,已知制成一吨产品甲需用资源A3吨,* 次数:1357533 已用完,请联系开发者。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值