Implementation of limits on the optimization results
2 ビュー (過去 30 日間)
古いコメントを表示
Hi guys, I've want to optimize my problem using "fmincon". I want to put limits on the answers, let's say I want x1 > x2 and x2 > x3 in here:
x = fmincon(fun,x0,A,b,[],[],nonlincon)
how should I implement this kinda constraints?
I've set "A" to [-1 1 0;0 -1 1] and "b" to zeros(size(A,1),1) but I get infeasible results! Shouldn't it work?! Please help me out.
Best regards,
0 件のコメント
採用された回答
Oleg Komarov
2012 年 9 月 11 日
編集済み: Oleg Komarov
2012 年 9 月 11 日
Should it be
b = zeros(size(A,1),1);
An example problem (without nonlinear constraints):
f = @(x) x(1)^2 + x(2)^2 + x(3)^2;
A = [-1 1 0
0 -1 1];
b = zeros(size(A,1),1);
X = fmincon(f,3:-1:1,A,b);
5 件のコメント
Oleg Komarov
2012 年 9 月 11 日
編集済み: Oleg Komarov
2012 年 9 月 11 日
I showed you some syntax, not methods.
If you're alluding to the choice of X0 (the starting values for the x) then I just picked up something that did not satisfy the constraints to check afterwards that they were satisfied.
Also, you were talking about x1, x2, x3 and f is an example of a function in 3 variables. Basically, that's how you should write it.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Get Started with Optimization Toolbox についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!