Это продолжение от этот пост. Короче говоря, я использую IBM ILOG CPLEX CP Optimizer в Python для решения задачи программирования в ограничениях. Одной из целей оптимизации является максимизация произведения целых чисел x_1 * x_2 * ... * x_n. По мере увеличения масштаба проблемы (например, n составляет около 300), продукт, по-видимому, станет очень большим, и оптимизатор CP, похоже, не сможет справиться с этим большим целым числом. Для разных значений n возвращаемый продукт всегда был равен 1,79769e+308.
Целые числа не ограничены по размеру и не имеют максимального значения в собственном Python, поэтому я предполагаю, что CP Optimizer обрабатывает большие целые числа по-другому. Есть ли способ справиться с большими целыми числами в CP Optimizer?
Некоторые примечания:
- Моя программа отлично работала с меньшими размерами данных (маленький n).
- Я попытался максимизировать log(x_1) + log(x_2) + ... + log(x_n), но программа работала без остановок. Я считаю, что журнал все усложняет.
- Для тех, кому интересно, мой исходный код и примеры данных: здесь.
Большое спасибо!