这是这篇文章的后续内容。简而言之,我在 Python 中使用IBM ILOG CPLEX CP Optimizer来解决约束规划问题。优化目标之一是最大化整数 x_1 * x_2 * ... * x_n 的乘积。随着问题的扩大(例如n约为 300),产品显然会变得非常大,CP Optimizer 似乎无法处理这个大整数。对于不同的n值,返回的产品始终为 1.79769e+308。
整数的大小是无限的,并且在原生 Python 中没有最大值,所以我猜 CP Optimizer 处理大整数的方式不同。在 CP Optimizer 中有什么方法可以处理大整数?
一些旁注:
- 我的程序适用于较小的数据大小(小n)。
- 我尝试最大化 log(x_1) + log(x_2) + ... + log(x_n) 但程序不停地运行。我认为日志使事情变得复杂。
- 对于那些感兴趣的人,我的源代码和示例数据在这里。
非常感谢!