Обнаружение статуса предварительного разрешения в модели пульпыPython

Программы на Python
Anonymous
Обнаружение статуса предварительного разрешения в модели пульпы

Сообщение Anonymous »


Привет, я использую модель с использованием CBC целлюлозы, и у меня мало ограничений в модели, которые могут сделать модель невыполнимой, если в модель будут введены неправильные входные данные.

Пока моя модель работает, я вижу, что в случае неосуществимой модели я вижу вывод в терминале, в котором говорится, что presolve обнаруживает 1 невыполнимость. После этой строки моя модель начинает решаться, и неудивительно, что мое решение невозможно.

Мой вопрос: как я могу остановить свою программу, если presolve говорит, что моя модель невозможна? Есть ли способ обнаружить это, поскольку я не хочу тратить время на решение модели, которая, по словам presolve, невозможна.

Предыстория проблемы:

В моей модели есть жесткое ограничение, которое в некоторых случаях может сделать мою модель неосуществимой. Я хочу, чтобы моя программа (а не модель ИЛИ) обнаруживала эту невыполнимость и делала это ограничение мягким.< /п> Один из способов добиться этого — запустить всю программу, а затем обнаружить result_status, но запуск модели может занять довольно много времени, и я не хочу тратить время, учитывая, что мне придется взять другую запускайте с Мягким ограничением. Я думаю, есть ли способ обнаружить и остановить мою модель, если предварительное решение говорит, что модель невозможна.

LP-файл с удаленными некоторыми строками:
Добро пожаловать в решатель CBC MILP Версия: 2.10.3 Дата сборки: 15 декабря 2019 г. командная строка — «PATH» макс. сек. 3000 соотношение 1e-05 timeMode истекшая ветка printOptions все решение «PATH»\f5c13890167e459ea27741f1c5d52d5c-pulp.sol (стратегия по умолчанию 1) В строке 2 НАЗВАНИЕ МОДЕЛЬ В строке 3 ROWS В строке 95389 КОЛОННЫ В строке 611896 RHS В строке 707281 BOUNDS В строке 707282 ENDATA МОДЕЛЬ задачи имеет 95384 строк, 175589 столбцов и 341444 элемента. МОДЕЛЬ Coin0008I прочитана с 0 ошибками секунды изменены с 1e+100 на 3000. RatioGap изменен с 0 на 1e-05. Параметр timeMode изменен с CPU на Elapsed Компания Presolve определила, что проблема невозможна при допуске 1e-08. Анализ показывает, что модель неосуществима или неограничена. 1 невозможность Анализ показывает, что модель неосуществима или неограничена. Возмущающая задача на 0,001% от 5262,5816 - наибольшее ненулевое изменение 0,0052725434 (9,7117787%) - наибольшее нулевое изменение 0,0026361607 0 Obj -0 Первичный инф 7.4173266e+08 (10627) Двойной инф 1.383116e+10 (56881) 0 Obj -0 Первичный инф 7.4173266e+08 (10627) Двойной инф 6.2882648e+14 (66006) Первичное неосуществимое - объективное значение -6,0887206e+12 PrimalInfeasible цель -6.088720618e+12 - 108021 время итераций 88.622 Результат: линейная релаксация невозможна. Перечисленные узлы: 0 Всего итераций: 0 Время (процессорные секунды): 89,03 Время (секунды по настенным часам): 89,03 Вариант печатиПараметры изменены с обычных на все Общее время (секунды процессора): 89,91 (секунды настенных часов): 89,91

Вернуться в «Python»