- •Общая задача нелинейного программирования выглядит следующим образом:
- •Определение. Классической задачей условной оптимизации называют задачу
- •Необходимые условия первого порядка
- •7. Следующее определение описывает локальное решение задачи нелинейного программирования, "обычное" в том смысле, что в его окрестности ограничения и цф задачи ведут себя "стандартно".
- •9. Определения.
9. Определения.
Если v не равно О, то множество точек {х(0) + …v | … принадлежит R} есть прямая, проходящая через точку х(о) в направлении v; {х(о) + …v | … принадлежит R+} — это луч из х0 в направлении v.
Точку х называют выпуклой линейной комбинацией или взвешенным средним точек X1, ..., х(к), если х = сумме а(i)x(i), сумме а(i)=1 и а(i) >либо= 0 для всех i.
Множество всех выпуклых линейных комбинаций векторов х0 и X1 из R в степени n, называют отрезком с концами х0 и х1 и обозначают [x0;x1].
Все точки отрезка, кроме его концов, называют внутренними точками отрезка.
Замечание 15. Данное выше определение прямой переносит в R в степени n параметрическое уравнение прямой х(…) = х(о) + …v, известное в R2и R3; когда … пробегает действительную ось, х(…) пробегает прямую. Если зафиксировать x1 не равную х0 и положить v = x1 — х0, то получим уравнение прямой, проходящей через точки х0 и x1: х(…) = х(о) + …(x1 — х(о)) = (1 — …)х(о) + …x1. При … принадлежит [0; 1] это выпуклая линейная комбинация точек х(о) и x1, причем х(0) = х(о) и х(1) = x1. Следовательно, при … принадлежит [0; 1] точка х(…) пробегает отрезок [х0; x1], а при … принадлежит (0; 1) — его внутренние точки.
Выпуклая линейная комбинация — это коническая линейная комбинация (см. определение на с. 47), сумма коэффициентов которой равна единице. Разделив ненулевую коническую линейную комбинацию векторов x1, ..., x(к) на сумму ее коэффициентов, получим, конечно, выпуклую линейную комбинацию тех же векторов.
Определение. Множество M принадлежит R" называется выпуклым, если любая выпуклая линейная комбинация точек из М принадлежит этому множеству.
Теорема 14 (свойства вогнутых и выпуклых функций). Пусть М С R" — непустое выпуклое множество, f — функция на М, G — вектор-функция из М в Rm.
Вогнутость {выпуклость) G эквивалентна выпуклости (вогнутости) вектор-функции — G.
Если G вогнута (выпукла) на М, то множество М(b) = {х принадлежит М | G(x) >либо= (<либо=) b} выпукло для любого b принадлежит Rm.
Если множество М имеет хотя бы одну внутреннюю точку и функция f на нем дважды непрерывно дифференцируема, то для вогнутости (выпуклости) f на М необходимо и достаточно выполнение неравенства………….
Если f вогнута (выпукла) на множестве М, то……..
Если функции flr..., fmвыпуклы (вогнуты) на М и а принадлежит R в степени m(+), то сумма a(i)f(i)— выпуклая (вогнутая) функция на М.
Если функции f1, ..., fmвыпуклы (вогнуты) на М принадлежит R в степени n, то функция h(x) = max(min) {f(i)(x) | 1 <либо=i <либо= m} выпукла (вогнута) на М
10. Определение. Задачей выпуклого программирования называют задачу минимизации выпуклой функции при ограничениях (2.1.2) — (2.1.3), если функции g(i) линейны для i <либо= m1 и выпуклы для i >m1.
Замечание 20. Если ограничения (2.1.2)-(2.1.3) удовлетворяют условиям предшествующего определения, то задача максимизации вогнутой функции при этих ограничениях эквивалентна задаче выпуклого программирования по замечанию 19 (с. 88). Поэтому задачу максимизации вогнутой функции при линейных ограничениях-равенствах и заданных выпуклыми функциями ограничениях-неравенствах тоже называют задачей выпуклого программирования. Именно такой вариант задачи выпуклого программирования обычно возникает при формализации экономических задач.
Опираясь на предыдущее замечание, будем записывать задачу выпуклого программирования следующим образом:……………..
где функция f вогнутая, а функции g(i) выпуклые.
Свойства задачи выпуклого программирования
Утверждение 7. Множество допустимых решений задачи выпуклого программирования выпукло.
Доказательство. Пусть X — множество допустимых решений задачи (3.3.1) - (3.3.3), а Х1 и Х2— множества решений системы уравнений (3.3.2) и системы неравенств (3.3.3) соответственно. Тогда X = Х1 пересекает Х2. Но Х1 — многогранное множество, выпуклое по утверждению 6 (с. 87), а Х2выпукло по замечанию 16 на с. 84 и утверждению 2 теоремы 14. Следовательно, множество X выпукло по утверждению 5.
Утверждение 8. Если переменная Xj на множестве X допустимых решений задачи выпуклого программирования принимает значения а и b (а <b), то она принимает на этом множестве любое значение х принадлежит [а; b].
Теорема 19 ([19, с. 131, теорема 2.2]).
Если в регулярной точке задачи (З.ЗЛ) -(3.3.3) функции f и gi для всех i дифференцируемы, то эта точка является оптимальным решением задачи.
11. Условия регулярности для задачи нелинейного программирования общего вида (самое простое, которое сформулировано в теореме 6 на с. 46, и другие, см. [1, §5.2]) неудобны тем, что для проверки регулярности подозрительной точки нужно ее сначала найти. Однако для задач выпуклого программирования существуют условия регулярности, проверяемые до решения задачи.
Теорема 20 (условия регулярности в выпуклом программировании). Пусть х* —локальное решение задачи (3.3.1) -(3.3.3), функция f дифференцируема в точке х* и выполнено хотя бы одно из следующих условий:
функции gi дифференцируемы в точке х* и существует допустимая точка х такая, что g(i)(x) < bi для всех i >m1;
все функции gi линейны. Тогда х* —регулярная точка задачи.
Эта теорема является следствием утверждений 2 и 3 теоремы 2.3 из [19, с. 137]. Доказательство не использует вогнутость функции /, т. е. теорема справедлива для любой ЦФ, дифференцируемой в точке х*.
Ясно, что условия регулярности, сформулированные в теореме 20, можно проверить, не вычисляя точку х*. Основное содержание первого из них — условие Слеитера: должно существовать допустимое решение, в котором ни одно ограничение-неравенство (включая требования неотрицательности переменных, если в задаче есть такие ограничения) не активно. Условие Слеитера — самый употребительный признак регулярности задачи выпуклого программирования.
12. Теорема 21 (дифференциальная форма теоремы Куна-Такке-ра). Пусть функция f дифференцируема в допустимой точке х* задачи (3.3.1) -(3.3.3) и выполнено одно из условий регулярности, указанных теоремой 20. Тогда х* является решением задачи, если и только если существует вектор (множителей Лагран-жа) у*, удовлетворяющий условиям (2.4.5), (2.4.2), (2.4.3).
Таким образом, условия Куна-Таккера дают необходимый и достаточный признак оптимальности для регулярной (удовлетворяющей условию регулярности) задачи выпуклого программирования. Если в задаче выпуклого программирования на переменную Xj наложено прямое ограничение (это часто встречается в экономических приложениях), то связанные с этой переменной условия теоремы Куна—Таккера принимают вид (2.4.19) при 2/о = 1 (см* замечание 13 на с. 52). В частности, если некоторые переменные ограничены по знаку, теорема Куна-Таккера модифицируется следующим образом.
Теорема 22 (следствие теоремы 2.4 из [19, с. 139]). Предположим, что функция f дифференцируема в допустимой точке х* задачи (3.3.1) -(3.3.3) с дополнительными ограничениями X(j) > 0 при 1<либо=j<либо=n(1) при n1 < j;<либо=n2<либо=n. Допустим также, что выполнено хотя бы одно из следующих условий:
функции gi дифференцируемы в точке х* и существует допустимая точка х такая, что x(j)> 0 при 1 <либо=j <либо=n2и gi(x) <bi для i >m1
все функции g(i) линейны.
Тогда х* является решением задачи, если и только если существует вектор (множителей Лагранжа) у* = (у*)в степени m1 такой, что……….
13.
14. Геометрическая интуиция подсказывает важные выводы: если задача ЛП разрешима, то среди ее решений всегда есть вершина (многогранного) множества допустимых решений; из любой неоптимальной вершины исходит ребро, вдоль которого ЦФ растет (в задаче максимизации). В некоторыми уточнениями эти утверждения справедливы и в общем случае.
15. Пример 13 (планирование производства). Предприятие может производить п продуктов. Для каждого продукта j фиксирована….