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

1 回表示 (過去 30 日間)
Benson Gou
Benson Gou 2025 年 4 月 8 日
編集済み: Matt J 2025 年 4 月 9 日
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 Center および File ExchangeQuadratic 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