matlab中的非线性规划求解fmincon函数Word下载.docx
- 文档编号:15827020
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:13
- 大小:106.12KB
matlab中的非线性规划求解fmincon函数Word下载.docx
《matlab中的非线性规划求解fmincon函数Word下载.docx》由会员分享,可在线阅读,更多相关《matlab中的非线性规划求解fmincon函数Word下载.docx(13页珍藏版)》请在冰豆网上搜索。
function[c,ce]=nonlcon1(x)
c=-x
(1)+x
(2)^2-4;
ce=[];
%nononlinearequalityconstraints
7,最后是options,可以用OPTIMSET函数设置,见上例
具体可见OPTIMSET函数的帮助文件。
对于优化控制,MATLAB提供了18个参数,这些参数的具体意义为:
options
(1)-参数显示控制(默认值为0)。
等于1时显示一些结果。
&
nbsp;
options
(2)-优化点x的精度控制(默认值为1e-4)。
options=optimset('
TolX'
1e-8)
options(3)-优化函数F的精度控制(默认值为1e-4)。
options=optimset('
TolFun'
1e-10)
options(4)-违反约束的结束标准(默认值为1e-6)。
options(5)-算法选择,不常用。
options(6)-优化程序方法选择,为0则为BFCG算法,为1则采用DFP算法。
options(7)-线性插值算法选择,为0则为混合插值算法,为1则采用立方插算法。
options(8)-函数值显示(目标—达到问题中的Lambda)
options(9)-若需要检测用户提供的梯度,则设为1。
options(10)-函数和约束估值的数目。
options(11)-函数梯度估值的个数。
options(12)-约束估值的数目。
options(13)-等约束条件的个数。
options(14)-函数估值的最大次数(默认值是100×
变量个数)
options(15)-用于目标—达到问题中的特殊目标。
options(16)-优化过程中变量的最小有限差分梯度值。
options(17)-优化过程中变量的最大有限差分梯度值。
options(18)-步长设置(默认为1或更小)。
Foptions已经被optimset和optimget代替,详情请查函数optimset和optimget。
ps:
以上x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)
括号中的参数,需从左到右依次给出,可只给部分。
如可写为x=fmincon(fun,x0,A,b)x=fmincon(fun,x0,A,b,Aeq,beq)x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub)
如中间某些约束为空,可以用[]表示,如可写为x=fmincon(fun,x0,A,b,[],[],lb,ub)
fmincon函数
fmincon函数浅析(转载)
命令格式:
[x,fval,exitflag,output,lambda,grad,hessian]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)
如matlab帮助文档中所述,fmincon命令使用的算法对于大规模优化问题和中等问题是有所区分的:
Large-ScaleOptimization
Thelarge-scalealgorithmisasubspacetrustregionmethodandisbasedontheinterior-reflectiveNewtonmethoddescribedin[1]and[2].Eachiterationinvolvestheapproximatesolutionofalargelinearsystemusingthemethodofpreconditionedconjugategradients(PCG)..
Medium-ScaleOptimization
fminconusesasequentialquadraticprogramming(SQP)method.Inthismethod,thefunctionsolvesaquadraticprogramming(QP)subproblemateachiteration.AnestimateoftheHessianoftheLagrangianisupdatedateachiterationusingtheBFGSformula.AlinesearchisperformedTheQPsubproblemissolvedusinganactivesetstrategy.
这里试图回答三个问题:
1.
什么Large-ScaleOptimization,什么是Medium-ScaleOptimization?
2.
fimcon提供的subspacetrustregion和sequentialquadraticprogramming方法原理?
3.
BFGS公式和线性搜索是什么?
问题1
所谓大规模问题指的是出现在工程,化学等领域中有大量优化变量的问题。
由于自变量的维数很高,这样的问题是被分解成多个低维子问题来求解的。
Medium-Scale优化问题实际上是matlab自己提出和大规模问题对应的一个概念,就是通常一般的优化算法,如牛顿法,最速下降法之类的处理优化变量不是很多的问题。
问题2
对于大规模问题,fmincon采用了subspacetrustregion优化算法。
这种算法是把目标函数在点x的邻域泰勒展开(x可以认为是人为提供的初始猜测),这个展开的邻域就是所谓的trustregion,泰勒展开进行到二阶项为止:
Q(x)=1/2*<
x,Hx>
+<
f,x>
(1)
这时目标函数在某一个局部的特性就可以“看出来了”。
在这样的一个邻域里,我们求一个新的点x1,使得目标函数值减小,这个问题相比于原来的问题要简单。
然而实际上对于存在非常大规模优化变量的问题,直接对这个子问题的求解仍然是不可忍受的。
同时我们注意到,由于泰勒展开要进行的第二项,这就要求我们能够提供一阶导计算的函数。
如果我们不能提供一阶导表达式,二阶导(Hessian矩阵)matlab是无法计算的。
所以我们使用fmincon命令而不给一阶导表达式,fmincon会放弃使用大规模算法。
如前所述,原问题转化后的直接求解仍然是无法忍受的,通过进一步近似subspacetrustregion将这个问题局限在trustregion的二维子空间内求解。
序列二次规划方法是将一个带有等式和不等式约束(可以是非线性)的非线性优化问题转化为二次规划问题求解,二次规划问题类似公式
(1)形式。
具体转化过程可以参考:
http:
//www.caam.rice.edu/~adpadu/talks/sqp1.pdf
问题3
对于medium-scale问题,求解二次规划问题涉及到Hessian矩阵。
Hessian矩阵的近似计算是通过拟牛顿法得到的,拟牛顿法提供了两个公式可用于Hessian矩阵(或其逆)的迭代:
BFGS公式和DFP公式),而初始的Hessian矩阵是任意给的,如给一个单位阵I。
BFGS公式如下:
H(k+1)=H(k)+<
q(k),q(k)>
/<
q(k),s(k)>
-<
s(k)H(k),s(k)H(k)>
s(k),H(k)s(k)>
(3)
总结:
fmincon运行首先检查有无梯度表达提供,如有则选则大规模算法(subspacetrustregion),由此涉及到Hessian阵的近似计算,由于已提供了梯度的公式,则Hessian阵可以直接通过有限差分计算。
但是如果用户直接提供了Hessian计算公式,则直接计算。
如果没有梯度表达式提供,fmincon选则SQP算法,算法中Hessian阵可以通过BFGS迭代,初始Hessian阵任给。
注意BFGS公式中q项是需要计算目标函数梯度得到的。
所以Hessian矩阵的近似计算是需要用到有限差分法。
《车辆制冷与空调》第二次作业参考答案
《车辆隔热壁》、《制冷方法与制冷剂》、《蒸汽压缩式制冷》
一.简答题
1.什么是隔热壁的传热系数?
它的意义是什么?
答:
隔热壁的传热系数指车内外空气温度相差1℃时,在一小时内,通过一平方米热壁表面积所传递的热量。
可以概括为单位时间、单位面积、单位温差传递的热量。
它可以表示出车体隔热壁允许热量通过的能力,愈大,在同样的传热面积与车内外温差的情况下,通过的热量就愈大,隔热性能就愈差。
2.热量是如何从隔热壁一侧的空气中传至另一侧空气的?
热量从隔热壁一侧的空气中传至另一侧的空气中,其传热过程可以分为:
1)表面吸热——热量从一侧的空气中传至隔热壁的一侧表面;
2)结构透热——热量从隔热壁的一侧表面传至另一侧表面;
3)表面放热——热量从隔热壁另一侧表面传至另一侧的空气中。
3.如何改善隔热壁的性能?
(1)尽可能减少热桥;
(2)不同材料必须完全密贴;
(3)减少漏泄;
(4)选用隔热性能较好的材料。
4.蒸汽压缩制冷循环系统主要由哪些部件组成,各有何作用?
在蒸汽压缩制冷循环系统中,蒸发器、冷凝器、压缩机和节流阀是制冷系统中必不可少的四大件。
蒸发器是输送冷量的设备。
制冷剂在其中吸收被冷却物体的热量实现制冷。
压缩机是心脏,起着吸入、压缩、输送制冷剂蒸汽的作用。
冷凝器是放出热量的设备,将蒸发器中吸收的热量连同压缩机功所转化的热量一起传递给冷却介质带走。
节流阀对制冷剂起节流降压作用、同时控制和调节流入蒸发器中制冷剂液体的数量,并将系统分为高压侧和低压侧两大
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 中的 非线性 规划 求解 fmincon 函数
![提示](https://static.bdocx.com/images/bang_tan.gif)