In fmincon function, how can I impose non-strict constraints?

2 次查看(过去 30 天)
In fmincon, I know MATLAB can set constraints like a+b<=1 and a<=1, but what about a+b<1 and a<1?

采纳的回答

Alan Weiss
Alan Weiss 2016-2-24
There is a tolerance called TolCon that gives the wiggle room for constraint violation. So, if you have options such as
options = optimoptions('fmincon');
then, similar to Walter's suggestion, you can try to enforce
a + b <= 1 - options.TolCon; % in a linear inequality constraint
a <= 1 - options.TolCon; % in a bound
Alan Weiss
MATLAB mathematical toolbox documentation

更多回答(2 个)

Torsten
Torsten 2016-2-24
Strict constraints (like a<1 or a+b<1) don't make sense in optimization.
Usually, you can only guarantee solutions over compact (i.e. closed and bounded) feasible regions.
Conditions like a<1 or a+b<1 lead to open (i.e. non-closed) regions.
Best wishes
Torsten.

Walter Roberson
Walter Roberson 2016-2-24
a+b <= 1-eps
a <= 1-eps

类别

Help CenterFile Exchange 中查找有关 Nonlinear Optimization 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by