我有一个问题,我正试图优化约100万个变量和1000万个约束.CP-SAT需要很长时间才能找到可行的解决方案.我正在阅读输出,我看到了一些我不明白的事情.

  • 它告诉我,我需要将对称性增加到至少3.看看this link(假设它与最新版本的CP-SAT相关,并使用Python),它说

//我们是否try 自动检测模型中的对称性

但它没有提到3或以上的对称性.如果你把它设为3,它会做什么?

  • 我试着把symmetry设置为3,现在这个信息已经消失了,但我只剩下

[对称性]GraphSymmetryFinder错误:在初始优化期间.

这是我应该努力解决的问题吗?如果是,怎么解决?

  • 还有一行是这样的:

[探测]确定时间:1.00001(限值:1)墙壁时间:1.21766

这是值得担心的吗?我可以增加limit以使探测完成而不是中止吗?limit似乎不是solver.parameters的参数之一.limit是否设置了探测可以运行的秒数上限?在这个探索步骤中发生了什么?

推荐答案

在预溶解期间,对称性检测和探测是可选的,可能成本高昂.

对称检测很好,但还不支持所有约束.所以它可能会失败.解算器会默默地忽略这个失败.

对于探测,提高性能的最佳方法是使用多个工作人员(8个或更多).如果工作人员超过12人,则启用连续探测.当然,如果你的电脑有那么多内核是最好的.

Python相关问答推荐

给定数据点,制定它们的关系

是pandas.DataFrame使用方法查询后仍然排序吗?

如何使用矩阵在sklearn中同时对每个列执行matthews_corrcoef?

如何使用没有Selenium的Python在百思买着陆页面上处理国家/地区 Select ?

Python在tuple上操作不会通过整个单词匹配

Python daskValue错误:无法识别的区块管理器dask -必须是以下之一:[]

Polars LazyFrame在收集后未返回指定的模式顺序

当多个值具有相同模式时返回空

使用setuptools pyproject.toml和自定义目录树构建PyPi包

ODE集成中如何终止solve_ivp的无限运行

Python解析整数格式说明符的规则?

如果条件不满足,我如何获得掩码的第一个索引并获得None?

如何在turtle中不使用write()来绘制填充字母(例如OEG)

索引到 torch 张量,沿轴具有可变长度索引

如何指定列数据类型

为什么Python内存中的列表大小与文档不匹配?

使用tqdm的进度条

如何反转一个框架中列的值?

Python如何导入类的实例

如何在Django模板中显示串行化器错误