Implementation of limits on the optimization results

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,

 採用された回答

Oleg Komarov
Oleg Komarov 2012 年 9 月 11 日
編集済み: Oleg Komarov 2012 年 9 月 11 日

1 投票

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 件のコメント

Itachi
Itachi 2012 年 9 月 11 日
Thanks, so setting "A" to [-1 1 0;0 -1 1] and "b" to zeros(size(A,1),1) should work correct. right?
Oleg Komarov
Oleg Komarov 2012 年 9 月 11 日
Well, I am not sure about the nonlinear constraints, but I can't guess them.
Itachi
Itachi 2012 年 9 月 11 日
Well, I'm saying in any problem if we want to reach this goal we should apply similar methodes like above, right?
Oleg Komarov
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.
Itachi
Itachi 2012 年 9 月 11 日
Thanks.

サインインしてコメントする。

その他の回答 (0 件)

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by