Алгоритм метода лагранжа для решения задач нелинейного программирования с ограничениями уравнениями

Видео:Введение в нелинейное программированиеСкачать

Введение в нелинейное программирование

Алгоритм метода множителей Лагранжа

Метод множителей Лагранжа.

Метод множителей Лагранжа является одним из методов, которые позволяют решать задачи нелинейного программирования.

Нелинейное программирование-это раздел математического программирования, изучающий методы решения экстремальных задач с нелинейной целевой функцией и областью допустимых решений, определенной нелинейными ограничениями. В экономике это соответствует тому, что результаты (эффективность) возрастают или убывают непропорционально изменению масштабов использования ресурсов (или, что то же самое, масштабов производства): напр., из-за деления издержек производства на предприятиях на переменные и условно-постоянные; из-за насыщения спроса на товары, когда каждую следующую единицу продать труднее, чем предыдущую и т. д.

Задача нелинейного программирования ставится как задача нахождения оптимума определенной целевой функции

при выполнении условий

где x —вектор искомых переменных;

g (x) — функция ограничений (непрерывно дифференцируемая);

b — вектор констант ограничений.

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

В отличие от задачи линейного программирования, в задаче программирования нелинейного оптимум не обязательно лежит на границе области, определенной ограничениями. Иначе говоря, задача состоит в выборе таких неотрицательных значений переменных, подчиненных системе ограничений в форме неравенств, при которых достигается максимум (или минимум) данной функции. При этом не оговариваются формы ни целевой функции, ни неравенств. Могут быть разные случаи: целевая функция нелинейная, а ограничения линейны; целевая функция линейна, а ограничения (хотя бы одно из них) нелинейные; и целевая функция, и ограничения нелинейные.

Задача нелинейного программирования встречается в естественных науках, технике, экономике, математике, в сфере деловых отношений и в науке управления государством.

Нелинейное программирование, например, связано с основной экономической задачей. Так в задаче о распределении ограниченных ресурсов максимизируют либо эффективность, либо, если изучается потребитель, потребление при наличии ограничений, которые выражают условия недостатка ресурсов. В такой общей постановке математическая формулировка задачи может оказаться невозможной, но в конкретных применениях количественный вид всех функций может быть определен непосредственно. Например, промышленное предприятие производит изделия из пластмассы. Эффективность производства здесь оценивается прибылью, а ограничения интерпретируются как наличная рабочая сила, производственные площади, производительность оборудования и т.д.

Алгоритм метода лагранжа для решения задач нелинейного программирования с ограничениями уравнениями

Метод «затраты — эффективность» также укладывается в схему нелинейного программирования. Данный метод был разработан для использования при принятии решений в управлении государством. Общей функцией эффективности является благосостояние. Здесь возникают две задачи нелинейного программирования: первая — максимизация эффекта при ограниченных затратах, вторая — минимизация затрат при условии, чтобы эффект был выше некоторого минимального уровня. Обычно эта задача хорошо моделируется с помощью нелинейного программирования.

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

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

Нелинейные задачи в определенных условиях решаются с помощью функции Лагранжа: найдя ее седловую точку, тем самым находят и решение задачи. Среди вычислительных алгоритмов Н. п. большое место занимают градиентные методы. Универсального же метода для нелинейных задач нет и, по-видимому, может не быть, поскольку они чрезвычайно разнообразны. Особенно трудно решаются многоэкстремальные задачи.

Одним из методов, которые позволяют свести задачу нелинейного программирования к решению системы уравнений, является метод неопределенных множителей Лагранжа.

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

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

Для задачи об экстремуме функции f (х1, x2. xn) при условиях (уравнениях связи) φi(x1, x2, . xn) = 0, i = 1, 2. m, функция Лагранжа имеет вид

Множители λ1, λ2, . λm наз. множителями Лагранжа.

Если величины x1, x2, . xn, λ1, λ2, . λm суть решения уравнений, определяющих стационарные точки функции Лагранжа, а именно, для дифференцируемых функций являются решениями системы уравнений

, i=1,…n ,

=0 , i=1,…m,

то при достаточно общих предположениях x1, x2, . xn доставляют экстремум функции f.

Рассмотрим задачу минимизации функции n переменных с учетом одного ограничения в виде равенства:

В соответствии с методом множителей Лагранжа эта задача преобразуется в следующую задачу безусловной оптимизации:

минимизировать L(x,λ)=f(x)-λ*h(x) (3)

где Функция L(х;λ) называется функцией Лагранжа,

λ — неизвестная постоянная, которая носит название множителя Лагранжа. На знак λ никаких требований не накладывается.

Пусть при заданном значении λ=λ0 безусловный минимум функции L(x,λ) по х достигается в точке x=x0 и x0 удовлетворяет уравнению h1(x0)=0. Тогда, как нетрудно видеть, x0 минимизирует (1) с учетом (2), поскольку для всех значений х, удовлетворяющих (2), h1(x)=0 и L(x,λ)=min f(x).

Разумеется, необходимо подобрать значение λ=λ0 таким образом, чтобы координата точки безусловного минимума х0 удовлетворяла равенству (2). Это можно сделать, если, рассматривая λ как переменную, найти безусловный минимум функции (3) в виде функции λ, а затем выбрать значение λ, при котором выполняется равенство (2). Проиллюстрируем это на конкретном примере.

Соответствующая задача безусловной оптимизации записывается в следующем виде:

Решение. Приравняв две компоненты градиента L к нулю, получим

→ x1 0 =λ

→ x2 0 =λ/2

Для того чтобы проверить, соответствует ли стационарная точка х° минимуму, вычислим элементы матрицы Гессе функции L(х;u), рассматриваемой как функция х,

HL(x)= ,

которая оказывается положительно определенной.

Это означает, что L(х,u) — выпуклая функция х. Следовательно, координаты x1 0 =λ, x2 0 =λ/2 определяют точку глобального минимума. Оптимальное значение λ находится путем подстановки значений x1 0 и x2 0 в уравнение2x1+x2=2, откуда 2λ+λ/2=2 или λ 0 =4/5. Таким образом, условный минимум достигается при x1 0 =4/5 и x2 0 =2/5 и равен min f(x)=4/5.

При решении задачи из примера мы рассматривали L(х;λ) как функцию двух переменных x1и x2и, кроме того, предполагали, что значение параметра λ выбрано так, чтобы выполнялось ограни­чение. Если же решение системы

, j=1,2,3,…,n

в виде явных функций λ получить нельзя, то значения х и λ находятся путем решения следующей системы, состоящей из n+1 уравнений с n+1 неизвестными:

, j=1,2,3,…,n., h1(x)=0

Для нахождения всех возможных решений данной системы можно использовать численные методы поиска (например, метод Ньютона). Для каждого из решений ( ) следует вычислить элементы матрицы Гессе функции L, рассматриваемой как функция х, и выяснить, является ли эта матрица положительно определенной (локальный минимум) или отрицательно определенной (локальный максимум).

Метод множителей Лагранжа можно распространить на случай, когда задача имеет несколько ограничений в виде равенств. Рассмотрим общую задачу, в которой требуется

при ограничениях hk =0, k=1, 2, . К.

Функция Лагранжа принимает следующий вид:

L(x,λ)=f(x)-

Здесь λ1, λ2, . λk —множители Лагранжа, т.е. неизвестные параметры, значения которых необходимо определить. Приравнивая частные производные L по х к нулю, получаем следующую систему n уравнении с n неизвестными:

Если найти решение приведенной выше системы в виде функций вектора λ оказывается затруднительным, то можно расширить систему путем включения в нее ограничений в виде равенств

Решение расширенной системы, состоящей из n+К уравнений с n+К неизвестными, определяет стационарную точку функции L. Затем реализуется процедура проверки на минимум или максимум, которая проводится на основе вычисления элементов матрицы Гессе функции L, рассматриваемой как функция х, подобно тому, как это было проделано в случае задачи с одним ограничением. Для некоторых задач расширенная система n+К уравнений с n+K неизвестными может не иметь решений, и метод множителей Лагранжа оказывается неприменимым. Следует, однако, отметить, что такие задачи на практике встречаются достаточно редко.

Рассмотрим частный случай общей задачи нелинейного программирования, предполагая, что система ограничений содержит только уравнения, отсутствуют условия неотрицательности переменных и и — функции непрерывные вместе со своими частными производными

® max (min) (4)

(5)

Данную задачу называют задачей на условный экстремум или классической задачей оптимизации.

Чтобы найти решение этой задачи, вводят набор переменных называемых множителями Лагранжа, составляют функцию Лагранжа

(6)

находят частные производные и рассматривают систему n+m уравнений

(7)

с n+m неизвестными Всякое решение системы уравнений (7) определяет точку в которой может иметь место экстремум функции . Следовательно решив систему уравнений (7), получают все точки, в которых функция (6) может иметь экстремальные значения.

Алгоритм метода множителей Лагранжа

1.Составляем функцию Лагранжа.

2.Находим частные производные от функции Лагранжа по переменным xJi и приравниваем их нулю.

3.Решаем систему уравнений (7), находим точки, в которых целевая функция задачи может иметь экстремум.

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

Исходные данные:По плану производства продукции предприятию необходимо изготовить 180 изделий. Эти изделия могут быть изготовлены двумя технологическими способами. При производстве x1 изделий 1 способом затраты равны 4x1+x1 2 руб., а при изготовлении x2 изделий 2 способом они составляют 8x2+x2 2 руб. Определить сколько изделий каждым из способов следует изготовить, чтобы затраты на производство продукции были минимальными.

Целевая функция для поставленной задачи имеет вид
®min при условиях x1+x2=180, x2≥0.
1.Составляем функцию Лагранжа
.
2. Вычисляем частные производные по x1, x2, λ и приравниваем их нулю:

3. Решая полученную систему уравнений, находим x1=91,x2=89

4.Сделав замену в целевой функции x2=180-x1 , получим функцию от одной переменной, а именно f1=4x1+x1 2 +8(180-x1)+(180-x1) 2

Вычисляем или 4x1-364=0 ,

Ответ: Количество изделий изготовленных первым способом равно х1=91, вторым способом х2=89 при этом значение целевой функции равно 17278 руб.

Видео:Л.14 Графический метод решения задач нелинейного программирования. Лектор Бредихина О. А.Скачать

Л.14 Графический метод решения задач нелинейного программирования. Лектор Бредихина О. А.

Метод множителей Лагранжа

Приведенные выше условия оптимальности (теорема 5), лежат в основе метода множителей Лагранжа. который позволяет свести решение задачи (8) – (9) к решению задачи безусловной оптимизации ее функции Лагранжа. Для этого следует выполнить следующие действия.

1. Составить функцию Лагранжа по формуле (10).

2. Найти стационарные точки функции Лагранжа. Для этого нужно выписать частные производные по всем переменным xj и λi и приравнять их к нулю. Получается система n + m уравнений, представленная формулами (11) – (12). Все ее решения являются стационарными точками функции Лагранжа.

3. Любое решение (x * , λ * ) системы (11) – (12) определяет точку x * , которая может быть локальным оптимумом ЦФ в задаче (8) – (9). Поэтому, найдя все решения системы (11) – (12), мы получим все точки, в которых ЦФ может иметь локальный оптимум.

4. Среди этих точек после дополнительного анализа отбираются такие, которые действительно являются точками локального оптимума. После сравнения значений ЦФ в этих точках находится точка, являющаяся глобальным оптимумом.

Следует иметь в виду, что если (х * , λ * ) — стационарная точка функции Лагранжа, то не обязательно точка х * — локальный оптимум задачи (8) – (9). Это верно лишь тогда, когда исходная задача является задачей ВП. Более того, в этом случае х * — точка глобального оптимума этой задачи. Справедлива следующая теорема.

Теорема 6. Предположим, что задача (8) – (9) является задачей ВП, т.е. все ее ограничения линейные и ищется минимум выпуклой (максимум вогнутой) функции. Тогда, если (х * , λ * ) — решение системы (11) – (12), то х * — точка глобального оптимума задачи (8) – (9).

Видео:Cимплексный метод решения задачи линейного программирования (ЗЛП)Скачать

Cимплексный метод решения задачи линейного программирования (ЗЛП)

Обобщенный метод множителей Лагранжа.

g1(x1,…, xn) = b1.
Для ее решения используется метод множителей Лагранжа. Выписывается функция Лагранжа

L(x1,…, xn, λ) = f(x1,…, xn) + λ(b1 – g1 (x1,…, xn))
и решается система уравнений, определяющая стационарные точки этой функции:
Алгоритм метода лагранжа для решения задач нелинейного программирования с ограничениями уравнениями
Если в результате получен вектор решения (x1*, . , xn*, λ*) такой, что вектор (x1*, . , xn*) допустим в исходной задаче и λ * ≥ 0, то это означает, что (x1*, . , xn*) — искомая точка оптимума. Если же оказалось, что λ * Пример . Исследовать точки на экстремум Z=x1²+x2²; x1+x2=1
Составим функцию Лагранжа: L(x1, x2, λ) = x1²+x2² + λ(1-x1-x2)
Составим необходимые условия существования экстремума

Алгоритм метода лагранжа для решения задач нелинейного программирования с ограничениями уравнениями

Чтобы оценить, является ли точка экстремальной и какой экстремум она дает, обратимся к достаточному условию существования экстремума функции двух переменных (условию Лежандра-Клебша.
Составим определитель
Алгоритм метода лагранжа для решения задач нелинейного программирования с ограничениями уравнениями
Алгоритм метода лагранжа для решения задач нелинейного программирования с ограничениями уравнениями
Рис. 2 — Графическое решение
Так как d 2 Z(X*) ⁄ dx1 2 >0 и Δ>0, то в точке X*(½; ½) функция Z достигает минимальное значение. Графическое решение (рис. 2) показывает, что максимальное значение Zmax=1 достигается в точках (x1=1; x2=0) и (x1=0; x2=1) Таким образом, если бы исходная задача в примере ставилась бы на отыскание максимума, то с помощью решения системы уравнений необходимых условий существования экстремума мы точку максимума бы не определили. Требуется иной подход, который рассмотрим ниже в других разделах.

🔍 Видео

Метод множителей ЛагранжаСкачать

Метод множителей Лагранжа

Графическое решение задач нелинейного программирования с помощью сервиса GeogebraСкачать

Графическое решение задач нелинейного программирования с помощью сервиса Geogebra

Графический метод решения задачи линейного программирования (ЗЛП)Скачать

Графический метод решения задачи линейного программирования (ЗЛП)

Метод Ньютона (метод касательных) Пример РешенияСкачать

Метод Ньютона (метод касательных) Пример Решения

Решение задачи линейного программирования при помощи надстройки Поиск решенияСкачать

Решение задачи линейного программирования при помощи надстройки Поиск решения

Транспортная задача (закрытая, с циклом). Метод потенциалов - подробно и понятноСкачать

Транспортная задача (закрытая, с циклом). Метод потенциалов - подробно и понятно

Графический метод решения задач линейного программирования | Высшая математика TutorOnlineСкачать

Графический метод решения задач линейного программирования | Высшая математика TutorOnline

Решаю Яндекс Контест / АлгоритмыСкачать

Решаю Яндекс Контест / Алгоритмы

Условный экстремум и функция ЛагранжаСкачать

Условный экстремум и функция Лагранжа

Алгоритмы С#. Метод Ньютона для решения систем уравненийСкачать

Алгоритмы С#. Метод Ньютона для решения систем уравнений

Python developer собеседование с задачей уровня хард из Яндекса . Ян ЖелановСкачать

Python developer собеседование с задачей уровня хард из Яндекса . Ян Желанов

Математика. Нелинейное программированиеСкачать

Математика. Нелинейное программирование

Задача нелинейного программированияСкачать

Задача нелинейного программирования

Оптимизационное моделирование: пример задачи нелинейного программированияСкачать

Оптимизационное моделирование: пример задачи нелинейного программирования

ВСЯ СЛОЖНОСТЬ АЛГОРИТМОВ ЗА 11 МИНУТ | ОСНОВЫ ПРОГРАММИРОВАНИЯСкачать

ВСЯ СЛОЖНОСТЬ АЛГОРИТМОВ ЗА 11 МИНУТ | ОСНОВЫ ПРОГРАММИРОВАНИЯ

СИМПЛЕКС МЕТОД: ЗАДАЧА ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯСкачать

СИМПЛЕКС МЕТОД: ЗАДАЧА ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ

Метод множителей ЛагранжаСкачать

Метод множителей Лагранжа
Поделиться или сохранить к себе: