Is it possible to allow a range for |Aeq*x-beq|<10e-6 in intlinprog function?

1 vue (au cours des 30 derniers jours)
Benson Gou
Benson Gou le 8 Avr 2025
Modifié(e) : Matt J le 9 Avr 2025
Good morning, everyone,
In MATLAB's intlinprog function, is it possible to specify a tolerance for the equality constraints such that the solution satisfies Aeqxbeq <106 rather than requiring exact equality? In other words, can I define a tolerance range for the equality constraints to allow for small numerical deviations, and if so, how can this be configured within the solver settings?
I'm working with a model where strict equality sometimes leads to infeasibility due to rounding or numerical issues, so I’d like to relax the constraint slightly while still maintaining high accuracy.
Thanks.
Benson

Réponses (2)

Torsten
Torsten le 8 Avr 2025
Déplacé(e) : Torsten le 8 Avr 2025
Which vector norm for the inequality ∣Aeq⋅x−beq∣ <10−6 do you have in mind ?
Aeq*x - beq <= 1e-6
Aeq*x - beq >= -1e-6
would define your constraint elementwise.

Matt J
Matt J le 9 Avr 2025
Modifié(e) : Matt J le 9 Avr 2025
is it possible to specify a tolerance for the equality constraints such that the solution satisfies ∣Aeq⋅x−beq∣ <10−6 rather than requiring exact equality
Not only is it possible, it is always done.The ConstraintTolerance optimoptions parameter sets the tolerance on both the equality and inequality constraints,

Catégories

En savoir plus sur Quadratic Programming and Cone Programming dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by