How can solve constrait optimization?
情報
この質問は閉じられています。 編集または回答するには再度開いてください。
古いコメントを表示
Hi everyone, I have constrait optimizatıon problem. I am trying to maxımize x, y and z. And some of my constrait are like that
0.2<=y
0.2<= x
0.2<=z<=2
x+y<=z
How can ı express the lass constrait ın matlab? Using A, b ,x0
0 件のコメント
回答 (2 件)
Walter Roberson
2020 年 8 月 4 日
0 投票
A = [1 1 -1] b = 0 for A*X <= b, where X = [x; y; z], expresses x+y-z<=0 , which is x+y<=z
Your other constraints that you posted should be expressed as lb = [0.2, 0.2, 0.2], ub = [inf, inf, 2]
3 件のコメント
Sinem Senel
2020 年 8 月 4 日
編集済み: Sinem Senel
2020 年 8 月 4 日
Walter Roberson
2020 年 8 月 4 日
what is your code?
Walter Roberson
2020 年 8 月 6 日
You can do a bit better by adjusting the tolerance
fun = @(x)-((1-x(1)-x(2))+ log(x(1))+log(x(2)));
lb = [0.2, 0.2,0.2];
ub = [inf,inf,2];
A = [1,1,-1];
b = [0];
Aeq = [];
beq = [];
x0 = [1/4,1/4,1.1];
nonlcon = [];
options = optimoptions('fmincon','Algorithm','interior-point',...
'OptimalityTolerance',1e-20, ...
'StepTolerance', 1e-20, ...
'ConstraintTolerance', 1e-20, ...
'Display', 'iter' );
[x, fval] = fmincon(fun, x0, A, b, Aeq, beq, lb, ub, nonlcon, options);
disp(x)
disp(fval)
The OptimalityTolerance is the only one that I found made a difference.
Unfortunately the function calls into barrier.p so I cannot trace to find out exactly why it is ending the optimization.
この質問は閉じられています。
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!