Я знаком с линейными программами в том смысле, что они могут решать задачи с линейными целевыми функциями и линейными ограничениями. Но что может полуопределенное программирование решить, чего не может линейное программирование? Я уже знаю, что полуопределенные программы являются обобщением линейных программ.
Кроме того, как распознать проблему, которая может быть решена с помощью полуопределенного программирования? Какова типичная проблема, для которой используется полуопределенное программирование, которая не может быть решена с помощью линейного программирования?
Большое спасибо за любой ответ.
Ответы:
Типичная проблема - MaxCut: выведите срез на график, который (приблизительно) максимизирует количество срезов ребер. Геманс и Уильямсон показали, что SDP приближает значение MaxCut с точностью до коэффициента не менее 0,878. Недавно Чан, Ли, Рагхавендра и Стойрер показали, что для естественного линейного кодирования задачи MaxCut все LP с полиномиальным размером достигают аппроксимации не лучше, чем 0,5.
Трудно сказать кратко, какие проблемы обычно выигрывают от SDP. Системный подход к построению релаксаций SDP заключается в использовании иерархий, наиболее мощной из которых является иерархия Лассерра : см. Обзор Ротвосса для хорошего введения. К настоящему времени существует слишком много примеров успехов SDP в оптимизации. Кроме того, Рагхавендра показал, что один конкретный SDP дает наилучшее приближение ко всем задачам MaxCSP, если гипотеза об уникальных играх верна.
Посмотрите книги Гертнера и Матоусека , главы 6 и 13 книги Виллимсона и Шмоя , обзор Ловаша .
источник
Для многих задач комбинаторной оптимизации (например, Max-Cut) полуопределенное программирование дает гораздо более сильные релаксации, чем LP-релаксация IP-формулировок. Это позволяет создавать алгоритмы аппроксимации и точные алгоритмы, которые более эффективны, чем их линейные аналоги, благодаря лучшему качеству границ. Примеры можно найти в дипломной работе Кристофа Хельмберга , в этом обзоре и на этой странице курса .
Другой недавней последовательностью впечатляющих результатов, использующих полуопределенное программирование, является применение алгебр Разборова- флага для доказательства результатов по проблемам типа Туран (см. Этот обзор и флагманский проект ).
источник