slack variables in optimization: a different usage
Afficher commentaires plus anciens
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,
Réponses (1)
Carl
le 13 Oct 2017
0 votes
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 commentaire
RPatel
le 27 Oct 2017
Catégories
En savoir plus sur Quadratic Programming and Cone Programming dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!