slack variables in optimization: a different usage
Mostra commenti meno recenti
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,
Risposte (1)
Carl
il 13 Ott 2017
0 voti
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 Commento
RPatel
il 27 Ott 2017
Categorie
Scopri di più su Quadratic Programming and Cone Programming in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!