2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Метод множителей Лагранжа
Сообщение09.06.2009, 17:12 
Здравствуйте.
Мне необходимо найти минимум функции
$F = 0.5 (3x*x + 6*x*y + 4*y*y) - x + 2*y$
при ограничениях:
$3*x - 2*y <=15$
$-x + 2*y <=12$
$4*x + 5*y <=43$
$-x <= 0$
$-y <=0 $

Составляю ф-ю Лагранжа:
$L = F + 3*l1*x - 2*l1*y - 15*l1 - 4*l2*x + 5*l2*y - 43*l2 + 4*l3*x + 5*l3*y - 43*l3$
Дифференцирую по Х и по Y.
$dL/dx = 3*x + 3*y - 1 + 3*l1 - l2 + 4*l3 - l4$
$dL/dy = 3*x + 4*y + 2 - 2*l1 + 2*l2 + 5*l3 - l5$

Неравенства преобразую в равенства:
$3*x - 2*y + (S1)*(S1) =15$
$-x + 2*y + (S2)*(S2) =12$
$4*x + 5*y + (S3)*(S3) =43$

Составляю из всего этого матрицу:

3 3 3 -1 4 -1 0 0 0 0 1
-3 -4 2 -2 -5 0 1 0 0 0 2
3 -2 0 0 0 0 0 1 0 0 15
-1 2 0 0 0 0 0 0 1 0 12
4 5 0 0 0 0 0 0 0 1 43
-6 -4 -5 3 1 1 -1 -1 -1 -1 -73

Решая систему методом Гаусса, получаю x = 7, y = 3. Но это далеко не минимум. Подскажите,пожалуйста,может что я не так делаю?
Заранее всем спасибо!

 
 
 
 Re: Метод множителей Лагранжа
Сообщение09.06.2009, 17:33 
Аватара пользователя
Вообще-то Ваша задача - это задача квадратичного программирования. В Вашем случае, возможно, лучше решать графически. Напрямую, как это сделали Вы, методом множителей Лагранжа решать нельзя.

 
 
 
 Re: Метод множителей Лагранжа
Сообщение09.06.2009, 17:52 
Спасибо за ответ.
Эта задача решается не сложно (x = 1/3; y = 0). К сожалению, дали задание решить именно методом множителей Лагранжа.

 
 
 
 Re: Метод множителей Лагранжа
Сообщение10.06.2009, 09:11 
Аватара пользователя
Может быть имелось в виду - сначала найти подозрительную на оптимум точку графически, а затем доказать, что это действительно оптимум с помощью теоремы Куна-Таккера. Там тоже есть множители Лагранжа.

 
 
 
 Re: Метод множителей Лагранжа
Сообщение10.06.2009, 11:59 
Задача ставиться примерно так:
решить задачу квадратичного программирования симплекс методом с помощью метода множителей Лагранжа

 
 
 
 Re: Метод множителей Лагранжа
Сообщение10.06.2009, 13:03 
Аватара пользователя
В Вашей попытке решения что-то не просматривался симплекс-метод. Но тут я не специалист. Посмотрите как это делалось на лекциях. Или посмотрите в книге Кюнци и Крелли "Нелинейное программирование".

 
 
 
 Re: Метод множителей Лагранжа
Сообщение22.06.2009, 22:44 
СПАСИБО,тему можно закрывать

 
 
 
 Re: Метод множителей Лагранжа
Сообщение24.06.2009, 18:40 
А разве симплекс-метод применим к квадратичному программированию?

 
 
 
 Re: Метод множителей Лагранжа
Сообщение26.06.2009, 10:25 
Аватара пользователя
В классическом симплекс-методе движение идёт по рёбрам симплекса. А минимум квадратичной функции может достигаться и внутри грани. Имеется в виду, наверное, что на каждом шаге рассматривается какое-то множество активных ограничений, и вычисляются множители Лагранжа (двойственные переменные). Затем на основе значений этих множителей решается вопрос о том, какие ограничения оставить в списке активных, какие убрать из списка, какие новые ограничения добавить в список. Затем решается задача КП только для активных ограничений. Но тут я не специалист.

 
 
 [ Сообщений: 9 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group