Feasible Sequential Quadratic Programming in Matlab
3 ビュー (過去 30 日間)
古いコメントを表示
Hi all, I have encountered a problem regarding optimisation that the design variables at the end of an iteration updated from optimizer fmincon (SQP) are not within the feasible domain defined by a non-linear constraint.
Particularly, my constraint has the similar form to a quadratic function,
e.g. c[1] = x_1^2 + x_2^2 <= 1.
c[2] = x_3^2 + x_4^2 <= 1.
...
c[n] = x_n-1^2 + x_n^2 <= 1.
However, every time I printed the values of my constraint function, there would be some (not all) of those which are greater than 0, which means the design variables computed by SQP were not strictly restrained by the constraints at the beginning of an iteration. This would cause analysis abortion as variables outside feasible domain can cause illogical objective function values in my case.
I have found some statements on the website saying that Matlab built-in SQP is not able to generate feasible iterates (iterations in which design variables are strictly bounded by constraints) but FSQP (Feasible Sequential Quadratic Programming in Matlab) can. But I failed to find FSQP within Matlab-2017b optimisation toolbox. Is there anyone having doable suggestion to deal with this problem?
0 件のコメント
回答 (1 件)
Alan Weiss
2018 年 2 月 9 日
There is no solver in Optimization Toolbox™ or Global Optimization Toolbox that guarantees that intermediate iterates will be feasible with respect to nonlinear constraints. Sorry. If there is something on the File Exchange that does it, well, I don't know about it, but feel free to search there or on Google.
Alan Weiss
MATLAB mathematical toolbox documentation
2 件のコメント
Alan Weiss
2018 年 2 月 12 日
I am not sure that I understand what you are asking. If your objective function is undefined at some points, then I suggest that you have the objective function return NaN and you should just use the fmincon 'interior-point' solver (or maybe 'sqp' after things are working with 'interior-point') and let fmincon decide how to recover from NaN values. Make sure that you start from a feasible initial point.
If I misunderstand you, please try asking again.
Alan Weiss
MATLAB mathematical toolbox documentation
参考
カテゴリ
Help Center および File Exchange で MPC Design についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!