Я на самом деле никогда не слышал о геометрическом программировании до этого вопроса. Вот обзорный документ Стивена Бойда и др. (Ванденберг также является соавтором), который является учебником по геометрическому программированию.
Геометрические программы в оригинальном выражении не являются выпуклыми. Например, является позином, и это не является выпуклым, поэтому геометрические программы не являются строгим подмножеством выпуклого программирования.Икс1 / 2
Преимущество преобразования геометрической программы в выпуклую программу состоит в том, что исходная геометрическая программа не обязательно является выпуклой. Если вы решили геометрическую программу как нелинейную программу (НЛП), вам потребуется использовать методы невыпуклой оптимизации, чтобы гарантировать глобальное оптимальное решение. Эти методы более дороги, чем методы выпуклой оптимизации, требуют больше алгоритмической настройки и требуют первоначальных предположений.
Более того, если вы используете алгоритм из невыпуклой НЛП, вам нужно будет указать ваш выполнимый набор как компактный набор в ; в геометрических программах x > 0 является допустимым ограничением.рNх > 0
Непонятно, отображается ли набор геометрических программ (посредством лог-экспоненциального преобразования) на набор выпуклых программ, который решает особенно эффективно. Я не вижу никаких преимуществ для геометрического программирования, кроме преобразования в выпуклые программы.
Что касается вашего последнего вопроса, я не думаю, что набор геометрических программ изоморфен множеству выпуклых программ, поэтому я подозреваю, что существуют выпуклые программы, которые не могут быть выражены как геометрические программы, и из этих программ, я подозреваю, что те, которые не могут быть достаточно хорошо аппроксимированы геометрическими программами. Однако у меня нет доказательств или контрпримеров.
источник