slack variables in optimization: a different usage
Mostrar comentarios más antiguos
Hello, I have an optimisation problem with equalities and inequalities.
A x < b is an inequality, with x,b being a vector.
If the problem is infeasible with b, I want to allow b to change to b*, only enough for the problem to be solved and (b*-b) should be heavily punished. This corresponding cost would be k*ϵ, where k = 10^6 for example. Thus, my slack variable is ϵ = b* - b > 0.
How could I formulate this in matlab? I am using quadprog for optimization.
Thanks,
Respuestas (1)
Carl
el 13 de Oct. de 2017
0 votos
I don't believe this functionality is built into the quadprog function, or for the Optimization Toolbox in general. The closest thing I was able to find was the ConstraintTolerance option:
The documentation page here gives a good explanation of that tolerance value. If your problem cannot be solved with the current value of b, you can try increasing the value of ConstraintTolerance.
1 comentario
RPatel
el 27 de Oct. de 2017
Categorías
Más información sobre Quadratic Programming and Cone Programming en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!