我通过matlab 中的 cplexqp 函数使用 IBM 的 CPLEX(或 ILOG)二次规划求解器,并得到一个奇怪的行为,当问题可行时它很快成功(例如 5-10 秒)但当它不可行时失败非常缓慢(60-300 秒)。问题非常大,例如在 N=100-500 个变量上存在 3000-10000 个不等式约束。
退出标志有 5 表示“解决数字问题”。将容差从 1e-3 更改为 1e-10(通过options.simplex.tolerances.feasibility
和options.simplex.tolerances.optimality
)并没有消除这种不对称性。
我猜它试图“太努力”以避免数字问题。对相关参数有什么建议吗?