首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >工具cp_sat求解器在结果上是不一致的。

工具cp_sat求解器在结果上是不一致的。
EN

Stack Overflow用户
提问于 2020-08-04 16:27:05
回答 1查看 220关注 0票数 0

我有一个优化问题,我正在使用或-tools cp_sat求解器。变量数约为3500个(均为布尔值),但约束的数量很大(~750000)。在3500个变量中,~3000直接依赖于其他500个变量。我测试了两种场景:

具有简单目标函数依赖于~3000约束的variables.

  • With的
  1. 依赖于~3000*3000新变量的复目标函数,其中每个新变量是(1)中变量的成对logical_and。

对于每一种情况,我们在求解器中加入了~500个变量的提示。

对于1,它不能在合理的时间内找到最优解。在运行30~45分钟后,对目标函数的改进可以忽略不计,但解决方案是令人满意的。

对于第二个人来说,行为是很奇怪的。大约一半的时间,它声称问题是不可行的,一半的时间,声称它找到了最优的解决方案,但只返回提示所暗示的解决方案。只有很少(不到两%的运行),它进行了一些优化,并返回可行的。

此外,案例1使用4-6 GB的内存,而案例2使用100-120 GB的内存。

第二种情况下的行为是预期的吗?我应该如何进行调试呢?

EN

回答 1

Stack Overflow用户

发布于 2020-08-04 21:01:22

对于案例2,问题变得非常大。您正在创建9M个布尔变量。

你在使用多线程吗?

你能试着缩小模型的大小,看看这个是否仍然是片状的吗?

问题创造是决定性的吗?

你用的系数很大吗?您是否可能遇到整数溢出错误?

谢谢

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63251163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档