gpt4 book ai didi

python - 如何在 IBM ILOG CPLEX CP Optimizer 中处理大整数?

转载 作者:行者123 更新时间:2023-12-01 08:53:52 50 4
gpt4 key购买 nike

这是 this post 的后续内容。简而言之,我正在使用 IBM ILOG CPLEX CP Optimizer在Python中解决约束规划问题。优化目标之一是最大化整数 x_1 * x_2 * ... * x_n 的乘积。随着问题规模扩大(例如 n 约为 300),乘积显然会变得非常大,CP Optimizer 似乎无法处理这个大整数。对于不同的n值,返回的乘积始终为1.79769e+308。

整数的大小不受限制,并且在 native Python 中没有最大值,因此我猜 CP Optimizer 处理大整数的方式有所不同。 CP Optimizer 有没有办法处理大整数?

一些旁注:

  • 我的程序在较小的数据大小(小n)下运行良好。
  • 我尝试最大化 log(x_1) + log(x_2) + ... + log(x_n) 但程序一直在不停地运行。我认为日志让事情变得复杂。
  • 对于有兴趣的人,我的源代码和示例数据是 here .

非常感谢!

最佳答案

https://www.ibm.com/support/knowledgecenter/SSSA5P_12.7.0/ilog.odms.ide.help/refcppopl/html/variables/IlcIntMax.html

你可以阅读

在 64 位平台上,根据 IEEE 754 可表示为 64 位 float 的最大正整数,或常数 2^53-1。在 32 位平台上,常数为 2^31-1。

为 IlcIntVar 类指定域值时应遵守此上限。

关于python - 如何在 IBM ILOG CPLEX CP Optimizer 中处理大整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52913188/

50 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com