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

1 次查看(过去 30 天)
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

回答(2 个)

Torsten
Torsten 2025-4-8
移动:Torsten 2025-4-8
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 2025-4-9
编辑:Matt J 2025-4-9
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,

类别

Help CenterFile Exchange 中查找有关 Quadratic Programming and Cone Programming 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by