MATLAB fmincon 的初值x0的选取问题 |
您所在的位置:网站首页 › 线性规划的意思 › MATLAB fmincon 的初值x0的选取问题 |
问题描述:在使用fmincon求解局部(全局)最优值时,我们需要在fmincon函数中输入初值x0,那么这个初值是否要像原始的牛顿法一样初值必须在可行域内(严格可行)?
MATLAB在Document (https://cn.mathworks.com/help/optim/ug/fmincon.html?s_tid=doc_ta)中是这样描述的: 大译: 初始点为实值(fmincon只能用于计算实数): 1、若使用内点法,如果 Honorbounds项为真 (正常为默认真),x0不在lb和ub内时,会将其移动到严格的上下界内。(此处并未说明x0必须满足线性和非线性约束)。 2、若使用信赖域反射算法,fimincon 会将不可行的x0重新设置为满足上下界或线性等式的可行初始点。(此处并未说明x0必须满足线性和非线性不等式约束)。 3、如果使用'sqp', 或者'active-set'算法,同内点法。 这样我们可以得出结论,初始点可以不在上界ub和下界lb内(需要满足线性和非线性不等式)。若优化问题是可行域是凸集(convex set),目标函数是凸函数(convex function),则初值的选取不会对最优值造成影响。如果目标函数是一个非凸函数,想得到全局最优,就需要在最优点附近找初值,否则可能得到局部最优。 我们举一个凸优化的例子: objective function(convex in constraints): y = sin(x) constraint(convex) bounds: 2.5 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |