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

2 visualizaciones (últimos 30 días)
Meng Ye
Meng Ye el 15 de Feb. de 2016
Comentada: Meng Ye el 15 de Feb. de 2016
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.

Respuestas (1)

Matt J
Matt J el 15 de Feb. de 2016
Editada: Matt J el 15 de Feb. de 2016
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 comentario
Meng Ye
Meng Ye el 15 de Feb. de 2016
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.

Iniciar sesión para comentar.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by