Предел итераций барьерного метода CPLEX

Я пытаюсь решить задачу невыпукло-квадратичной оптимизации на CPLEX с установкой целевого показателя оптимальности равным 2. Пробуя разные наборы данных, я заметил, что барьерный метод останавливается на 500-й итерации. Проверил настройки, выставлено очень большое число. Это совпадение или мне следует изменить какие-то другие настройки?

У меня также есть выпукло-квадратичный вариант задачи с двоичными переменными. Однако CPLEX не смог найти улучшающего решения в течение нескольких часов, поэтому я прекратил запуски. Также приветствуются любые предложения по настройке для этого. Примечание: проблема заключается в проблеме оптимизации планировки объекта.

Заранее спасибо.


person osygl    schedule 06.01.2020    source источник
comment
Помимо вопроса, почему вы сравниваете локальную оптимизацию (optimality target to 2 + non-convex) с глобальной оптимизацией (convex miqp), вероятно, важно более четко разъяснить, что вы спрашиваете: I observed that the barrier method stops at the 500th iteration что это означает? с каким статусом (!!!)? что вы ожидали?   -  person sascha    schedule 06.01.2020
comment
Я не собирался сравнивать: я не мог получить решение (с зазором оптимизации% 100) для выпуклого miqp, поэтому я попытался получить хотя бы возможное решение для невыпуклого. Я задавался вопросом, существует ли опция настройки, которую я упускаю, чтобы получить решение. Что касается барьерного метода, я думаю, что существует другое условие остановки (удовлетворяющее условиям оптимальности первого порядка), однако я видел в журнале, что Cplex завершился на 500-й итерации с другими наборами данных. Итак, я спрашиваю, это связано с обстановкой или просто совпадением? Спасибо за интерес.   -  person osygl    schedule 07.01.2020
comment
Проверка статуса cplex - ваш приоритет номер один. Он расскажет вам кое-что о том, почему он остановился. (и условия остановки IPM / барьера относятся к более высокому (не первому) порядку, я полагаю)   -  person sascha    schedule 07.01.2020
comment
Вы можете показать журнал Cplex.   -  person Erwin Kalvelagen    schedule 07.01.2020


Ответы (1)


Если CPLEX застревает после 500 итераций, это может быть числовой проблемой. Совершенно не ожидается, что CPLEX застрянет на длительное время. Чтобы отладить это, вы можете увеличить подробность отображения для барьера (CPX_PARAM_BARDISPLAY), а также проверить, активен ли ЦП. Если CPLEX застревает из-за числовых проблем, вы можете попытаться включить числовое выделение (CPX_PARAM_NUMERICALEMPHASIS).

Если CPLEX не застревает, а просто завершает работу после 500 итераций, вы хотите проверить значение статуса, которое возвращает CPLEX. В этом случае журнал двигателя также может содержать дополнительную информацию.

Наконец, для настройки параметров CPLEX поставляется с инструментом настройки.

person Daniel Junglas    schedule 27.02.2020