这是this post的后续行动。简而言之,我正在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中有什么方法可以处理大整数?
一些注意事项:
非常感谢!
答案 0 :(得分:1)
您可以阅读
在64位平台上,根据IEEE 754可以表示为64位浮点数或2 ^ 53-1常量的最大正整数。在32位平台上,常数2 ^ 31-1。
为IlcIntVar类指定域值时,应遵守此上限。