What's the differences between bounds and linear equality constraints?

I'm trying to minimize an objective function f(x) with constraints, say, x(a:b) always equal to 0. I'm using fmincon() and thus can set the upper bound('ub') and lower bound('lb') of x(a:b) to be both 0, or in another way I can create a proper linear equality constraint ('Aeq' and 'beq') to set those elements of vector x to be 0. Will there be differences between these two ways? thanks. btw I'm using MATLAB R2015a.

답변 (1개)

Matt J
Matt J 2016년 2월 15일
편집: Matt J 2016년 2월 15일

0 개 추천

If you use lb, ub then fmincon will know that they are simple bounds and can give them special and more efficient handling.
However, I think it is bad to use bounds to force variables to be a constant. Why treat x(a:b) as unknowns when you already know that they are zero? It just makes unnecessary extra work.

댓글 수: 1

Thank you for your answer. Yes you are right, I think it will be better treating them as constant values. However the model is actually more complicated, and these constraints do not suit for all the situations. I want to deal with different problems by simply turn 'on' and 'off' the constraints.

댓글을 달려면 로그인하십시오.

제품

질문:

2016년 2월 15일

댓글:

2016년 2월 15일

Community Treasure Hunt

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

Start Hunting!

Translated by