【问题标题】:Getting best n solutions for ILP获得 ILP 的最佳 n 解决方案
【发布时间】:2013-10-21 13:24:55
【问题描述】:

我想使用 ILP 求解器(例如 lp_solve)来找到优化问题的解决方案。

挑战在于某些约束过于复杂,无法正式化为线性语句,但可以使用模拟框架进行验证。

所以我需要运行求解器,对照我的复杂约束检查解决方案,如果他们不满意,继续使用 次优 解决方案等。

是否有求解器不仅提供最优解,而且提供关于给定目标函数的最佳 n 个解?

【问题讨论】:

    标签: linear-programming solver


    【解决方案1】:

    是的,有:

    1. 求解器通过解决方案池支持它,

    2. 或者您必须通过求解器的 API 提供的回调函数自己构建这个求解池。

    在后一种情况下,只要找到一个新的、比当时最好的解决方案更好的解决方案,就会调用相应的回调函数。我所知道的所有著名求解器都支持第二个选项。

    关于这个主题的更多信息:

    【讨论】:

    • 感谢您的提示!问题是 CPLEX 是商业的,我找不到任何其他具有此类回调(或解决方案池)的求解器...
    • @lynix 我认识的所有求解器都有这样的回调。您使用的是哪个求解器?
    • 我最喜欢的是lpsolve,但this声称由于分支切割不可能得到最好的n个解决方案。
    • @lynix 好的,请给我一些时间,我会尽量找到必要的功能。我没有使用过lp_solve API,所以我不能告诉你更多关于这个特定解决方案的信息。
    猜你喜欢
    • 1970-01-01
    • 2013-08-06
    • 1970-01-01
    • 2020-04-12
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 2014-09-18
    相关资源
    最近更新 更多