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

1 visualizzazione (ultimi 30 giorni)
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

Risposte (2)

Torsten
Torsten il 8 Apr 2025
Spostato: Torsten il 8 Apr 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 il 9 Apr 2025
Modificato: Matt J il 9 Apr 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,

Categorie

Scopri di più su Quadratic Programming and Cone Programming in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by