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

1 Ansicht (letzte 30 Tage)
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

Antworten (2)

Torsten
Torsten am 8 Apr. 2025
Verschoben: Torsten am 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 am 9 Apr. 2025
Bearbeitet: Matt J am 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,

Kategorien

Mehr zu Quadratic Programming and Cone Programming finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by