Я работаю над алгоритмом генерации столбцов, использующим CPLEX для решения уменьшенной основной задачи.
После добавления новых переменных в RMP я устанавливаю их верхние границы равными 0, снова решаю RMP и извлекаю их уменьшенные затраты (чтобы проверить, соответствует ли рассчитанное мной значение значению, предоставленному CPLEX).
На первых итерациях приведенные затраты совпадают.
Однако после некоторых итераций я начинаю получать другую сниженную стоимость.
Когда я запускаю CPLEX Interative Optimizer, читаю модель LP (или MPS) и сравниваю двойные ограничения, я получаю несколько разных значений.
Есть ли смысл?
Я пытался использовать разные методы для решения моей LP Также попытался изменить допуски.
Статистика проблем
Objective sense : Minimize
Variables : 453308 [Fix: 8, Box: 453300]
Objective nonzeros : 6545
Linear constraints : 578166 [Less: 70814, Greater: 503886, Equal: 3466]
Nonzeros : 2710194
RHS nonzeros : 7986
Variables : Min LB: 0.0000000 Max UB: 74868.86
Objective nonzeros : Min : 0.01000000 Max : 10000.00
Linear constraints :
Nonzeros : Min : 0.004000000 Max : 396.8800
RHS nonzeros : Min : 0.01250000 Max : 74868.86
Отображение качества решения Я получаю следующую информацию:
Max. unscaled (scaled) bound infeas. = 8.52651e-014 (3.33067e-015)
Max. unscaled (scaled) reduced-cost infeas. = 2.24935e-010 (5.62339e-011)
Max. unscaled (scaled) Ax-b resid. = 5.90461e-011 (3.69038e-012)
Max. unscaled (scaled) c-B'pi resid. = 2.6489e-011 (7.27596e-012)
Max. unscaled (scaled) |x| = 45433 (2839.56)
Max. unscaled (scaled) |slack| = 4970.49 (80.1926)
Max. unscaled (scaled) |pi| = 295000 (206312)
Max. unscaled (scaled) |red-cost| = 411845 (330962)
Condition number of scaled basis = 1.1e+008