Выпуклое программирование

Выпуклое программирование [convex programming] — раздел нелинейного программирования, совокупность методов решения нелинейных экстремальных задач с выпуклыми целевыми функциями (они минимизируются) и выпуклыми системами ограничений. (См. Выпуклость, Вогнутость).

Общая задача В.п. состоит в отыскании такого вектора x (т.е. такой точки выпуклого допустимого множества), который доставляет минимум выпуклой функции f(x) или максимум вогнутой функции y(x) (рис. В.4). Для второго случая (выпуклая область допустимых значений и максимум вогнутой функции) ряд авторов предпочитают термин «вогнутое программирование». Выпуклость (вогну­тость) важна тем, что гарантирует нахождение оптимального решения задачи, так как соответственно локальные и глобальный экстремумы здесь обязательно совпадают. Критериями оптимальности в первом случае могут быть, например, издержки при различных сочетаниях факторов производства, во втором случае — величина прибыли при этих сочетаниях. Как видим, есть большое сходство между задачами выпуклого (вогнутого) и линейного программирования (последнее можно рассматривать как частный случай первого). Но нелинейность зависимостей делает задачу намного сложнее.

 

Рис.В.4 Задачи вогнутого и выпуклого программирования