Нелинейное программирование условный экстремум

Глава 8. Нелинейное программирование

8.1. Задачи на условный экстремум. Метод множителей Лагранжа.

Задача на условный экстремум ставится как задача определения управляемых параметров

, на которых достигается экстремум (максимум или минимум) при ограничениях, заданных уравнениями.

Задачу на условный экстремум можно свести к задаче на безусловный экстремум для специальным образом построенной функции.

Каждому ограничению поставим в соответствие переменную .

Построим функцию Лагранжа:

Если ограничения выполняются, то функция Лагранжа превращается в исходную функцию.

Точки локальных экстремумов задачи (8), (9) будут точками локальных экстремумов функции Лагранжа.

Теорема 6 (необходимое условие экстремума): если – точка локального экстремума и в окрестности этой точки функции непрерывно дифференцируемы, то в этой точке выполняются условия

Условия (10) означают, что градиент функции Лагранжа равен нулю

Для формулировки достаточных условий оптимальности рассмотрим

окаймляющую матрицу Гессе:

Теорема 7 (достаточное условие экстремума):

  • Стационарная точка функции Лагранжа является точкой локального минимума, если в окаймляющей матрице Гессе, вычисленной в стационарной точке, все угловые миноры, начиная с порядкаимеют знаки, определяемые множителем.
  • Стационарная точка функции Лагранжа является точкой локального максимума, если все угловые миноры окаймляющей матрицы Гессе, начиная спорядка образуют знакопеременный ряд, в котором знак первого члена определяется множителем.

Достаточное условие оптимальности можно сформулировать также в другой форме: если рассмотреть определитель, построенный из окаймляющей матрицы Гессе (11) , то стационарная точка функции Лагранжа является точкой максимума, если все действительных корней многочлена (11) меньше ноля. Если же корни больше нуля, стационарная точка функции Лагранжа является точкой минимума. Пример: Предприятие выпускает два вида продукции в объемах . Они реализуются по ценамсоответственно. По плану предприятие должно выпустить ровно 50 единиц продукции. Определить план производства, обеспечивающий наибольший доход. Здесь функция ограничений Построим функцию Лагранжа Вычитая из второго уравнения первое, получим Проверим достаточное условие оптимальности: Угловые миноры матрицы, начиная с порядка 2m+1=3 должны иметь чередующиеся знаки, знак первого из них (положителен). Все эти условия выполняются: Полученное решение – точка локального максимума. Экономическая интерпретация множителей ЛагранжаМножитель Лагранжа– это двойственная переменная. Как и в линейном программировании, она показывает, на сколько изменится критерий при изменении правой части ограничений на единицу. В рассмотренном примере . Следует ожидать, что при увеличении суммарного объема производимой продукции с 50 до 51 доход уменьшится на 6.66. Проверим этот вывод. Пусть в нашей задаче критерий остался прежним, поменялась правая часть ограничения . Тогда условия стационарности выглядят следующим образом: Стационарная точка Приращение критерия Для проверки достаточного условия оптимальности найдем корни многочлена, построенного из окаймляющей матрицы Гессе: Корень отрицательный, значит это точка максимума функции. Приращение функции -7.33 оказалось больше по модулю, чем ожидаемое приращение -6.66. Это объясняется нелинейностью целевой функции и тем, что производная отражает приращение функции только при бесконечно малом приращении аргумента.

Источник

Тема 7 Нелинейное программирование

Как известно, общая задача математического программирования формулируется следующим образом: найти вектор , удовлетворяющий системе ограничений

bi, i=1,…,m,

(система иногда представляется через знак » /html/597/308/html_4ssnywccmf.tFzE/img-eXAwNI.png» name=»Object419″ align=»absmiddle» width=»113″ height=»22″>. При этом предполагается, что известны функциии. Обычно на некоторые переменные из наборанакладывается условие неотрицательности. Если и , гдеи – известные константы, то при условии неотрицательности решения получаем задачу линейного программирования. Любую другую задачу математического программирования, не удовлетворяющую таким условиям, будем считать нелинейной.

Класс задач нелинейного программирования значительно шире класса задач линейного программирования, поэтому в практике экономико-математического моделирования необходимо знать и применять методы нелинейного программирования. Основные результаты в нелинейном программировании получены при рассмотрении задач, в которых система ограничений линейная, а целевая функция нелинейная. Даже в таких задачах оптимальное решение может быть найдено только для узкого класса целевых функций.

В евклидовом пространстве система ограничений определяет область допустимых решений задачи. В отличие от задач линейного программирования она не всегда является выпуклой областью.

Если определена область допустимых решений, то нахождение решения задачи нелинейного программирования сводится к определению такой точки этой области, через которую проходит гиперповерхность наивысшего (наинизшего) уровня . Указанная точка может находиться как на границе области допустимых решений, так и внутри её, в отличие от задач линейного программирования.

Процесс нахождения решения задачи нелинейного программирования с использованием её геометрической интерпретации включает следующие этапы:

  1. Находят область допустимых решений задачи, определяемых соотношениями (если она пуста, то задачане имеет решения).
  2. Строят гиперповерхность .
  3. Определяют гиперповерхность наивысшего (наинизшего) уровня или устанавливают неразрешимость задачи из-за неограниченности функции сверху (снизу) намножестве допустимых решений.
  4. Находят точку области допустимых решений, через которую проходит гиперповерхность наивысшего (наинизшего) уровня, и определяют в ней значение функции .

Пример 7.1. Найти максимальное значение функции при условиях Так как целевая функция нелинейная, то это задача нелинейного программирования. Областью допустимых решений данной задачи является многоугольник . Следовательно, для нахождения её решения нужно определить такую точку многоугольника, в которой функцияпринимает максимальное значение. Построим линию уровня , где– некоторая постоянная, и исследуем её поведение при различных значениях. При каждом значенииполучаем параболу, которая тем выше отдалена от оси, чем больше значение(рис. 7.1). Значит, функцияпринимает максимальное значение в точке касания одной из парабол с границей многоугольника. В данном случае это точка, в которой гиперповерхностькасается сторонымногоугольника. Координаты точкиможно найти из системы уравнений: Решив эту систему, получаем: Итак,при Как видим, в задаче нелинейного программирования точка максимального значения целевой функции не является в данном случае вершиной многоугольника решений. Рассмотрим частный случай общей задачи нелинейного программирования, предполагая, что система ограничений содержит только уравнения, отсутствуют условия отрицательности переменных и и – функции, непрерывные вместе со своими частными производными (по крайней мере, вторая частная производная должна быть непрерывной. (7.1) (7.2) Рис. 7.1. Геометрическое решение задачинелинейного программирования примера 7.1 В курсе математического анализа задачу (7.1)-(7.2) называют задачей на условный экстремум или классической задачей оптимизации. Чтобы вспомнить необходимые и достаточные условия существования экстремума такой задачи, введём набор переменных , называемыхмножителями Лагранжа, составим функцию Лагранжа , находим частные производные ии рассматриваем системууравнений (здесь привлечём необходимое условие экстремума, заключающееся в том, что первая производная должна быть равна): (7.3) с неизвестными. Всякое решение системы уравнений (7.3) определяет точку, в которой может иметь место экстремум функции. Следовательно, решив систему (7.3), получают все точки, в которых функцияможет иметь экстремальные значения. Дальнейшее исследование найденных точек проводят так же, как и в случае безусловного экстремума (здесь привлекается достаточное условие экстремума – если вторая производная меньше нуля, то имеет место максимум, если больше нуля – минимум). Таким образом, определение экстремальных точек задачи нелинейного программирования (7.1)-(7.2) методом множителей Лагранжа включает следующие этапы:

  1. Составляют функцию Лагранжа.
  2. Находят частные производные от функции Лагранжа по переменным ии приравнивают их 0.
  3. Решая систему уравнений (7.3), находят точки, в которых целевая функция может иметь экстремум.
  4. Среди точек, подозрительных на экстремум, находят точки, в которых достигается экстремум, и вычисляют значения целевой функции в этих точках.

Рассмотрим пример. Пример 7.2. Предприятию необходимо изготовить 180 деталей. Эти изделия могут быть изготовлены двумя технологическими способами. При производстве изделийI способом затраты равны (руб.), а при изготовленииизделийII способом они составляют (руб.). Определить, сколько изделий каждым из способов следует изготовить так, чтобы общие затраты на производство продукции были минимальными. Решение. Математическая модель задачи нелинейного программирования состоит в следующем: найти минимум функции при условияхи. Решим задачу, используя метод множителей Лагранжа. Найдём минимальное значение функции при условии , т.е. без учёта требования неотрицательности переменных. Для этого составим функцию Лагранжа . Вычислим её частные производные по , , и приравняем их : Перенесём в правые части первых двух уравнений и, приравнивая их левые части, получимили. Решаем совместно систему, т.е. получаем координаты точки, удовлетворяющие условиям неотрицательности. Эта точка является подозрительной на экстремум. Используя вторые частные производные, выясняем, что в этой точке функция имеет условный минимум. То же получим, если исследование на условный экстремум функциисведём к исследованию на безусловный экстремум функции, полученной изв результате её преобразований: из уравнения связи найдеми подставим в целевую функцию, получим функцию одной переменной: . ; ; ; , т.е. в этой точке имеем минимум. Метод множителей Лагранжа можно применять и в том случае, когда условия связи представляют собой неравенства. Так, если требуется найти экстремум функции при условии, то сначала следует найти точки безусловного экстремума функциииз уравнений , затем среди этих точек отобрать те, координаты которых удовлетворяют условию связи , и, наконец, определить точки,удовлетворяющие системе уравнений: . Tочки, найденные в результате решения этой системы, вместе с точками, определёнными на первом этапе и удовлетворяющими условию, подлежат дальнейшему исследованию, как и при нахождении безусловного экстремума. В заключение рассмотрения метода Лагранжа для решения задач нелинейного программирования скажем, что функцию Лагранжа можно трактовать и в определённом экономическом смысле. Если максимизируемую функцию интерпретировать как прибыль, а правые части неравенств как величину отпущенных ресурсов, то множительy можно рассматривать как стоимость единицы ресурсов. Тогда определит экономию ресурсов в денежном выражении, а функция Лагранжа будет являться величиной общего дохода. Для общей задачи нелинейного программирования (7.4) (7.5) (7.6) Как уже упоминалось, для отдельных классов задач, в которых сделаны дополнительные ограничения относительно свойств функции иразработаны эффективные методы их решения. В частности, ряд таких методов имеется для решения задач нелинейного программирования (7.4)–(7.6) при условии, что– вогнутая (выпуклая) функция и область допустимых решений, определяемая ограничениями (7.5)–(7.6), – выпуклая. Определение 7.1. Функция , заданная на выпуклом множестве X, называется выпуклой, если для любых двух точек и из X и любого выполняется соотношение . Определение 7.2. Функция , заданная на выпуклом множествеX, называется вогнутой, если для любых двух точек и из X и любого выполняется соотношение . Определение 7.3. Говорят, что множество допустимых решений задачи (7.4)–(7.6) удовлетворяет условию регулярности, если существует, по крайней мере, одна точка , принадлежащая области допустимых решений, такая, что . Определение 7.4. Задача (7.4)–(7.6) называется задачей выпуклого программирования, если функция является вогнутой (выпуклой), а функции– выпуклыми. Теорема 7.1. Любой локальный максимум (минимум) задачи выпуклого программирования является глобальным максимумом (минимумом). Что называется функцией Лагранжа, уже было пояснено, седловой же точкой функции Лагранжа называется точка если для всех и .

Источник

Читайте также:  Языки программирования мэк литература
Оцените статью