【问题标题】:Can you feed OR-tools solver external data inbetween different solutions it finds?您能否在它找到的不同解决方案之间提供 OR-tools 求解器外部数据?
【发布时间】:2020-11-08 04:08:00
【问题描述】:

我正在尝试解决 min-SAT 问题的复杂变体。到目前为止,在这个过程中,我有两个子问题,都给出了需要在目标函数中考虑的解决方案值。但是,我只使用 OR-tools cp_model 模块解决了两个问题中的一个。另一个由外部算法解决。现在,理想情况下我会执行以下操作:

  1. cp-solver 找到第一个子问题的解决方案,
  2. 暂停求解器,
  3. 使用外部算法求解第二个子问题,将 cp-solver 找到的解作为参数,
  4. 将外部算法的结果反馈给 cp-solver,
  5. cp-solver 现在将它自己找到的第一个子问题的解决方案与外部算法找到的解决方案的总和视为目标值,
  6. cp-solver 进入下一次迭代并重复步骤 1-6 以进行新分配

所以我的问题是:Google OR-tools 是否有一个功能可以让我执行步骤 1-6 之类的操作,其中求解器与外部算法合作运行并相应地输入值?我是使用这个模块的新手,所以我不知道我可以在 Google 上搜索哪些术语来找到我需要的内容。非常感谢我的朋友们。最好的问候,30 厘米。

【问题讨论】:

    标签: or-tools


    【解决方案1】:

    在 cp-sat 求解器中,solve() 是无状态的,是一个黑盒子。 你唯一能做的就是修改模型并解决。

    【讨论】:

    • 好吧,这就是我的怀疑。感谢您回答我的问题
    • 请尝试这种方式。您始终可以提示以前的解决方案来热启动搜索。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-24
    相关资源
    最近更新 更多