2014 dxdy logo

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

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




 
 Задача нелинейного программирования
Сообщение19.12.2012, 17:24 
Здравствуйте, нужно минимизировать $f(x) = ( x_1^2 + 3x_2 - 3)^2 + (5x_2^2 + 5x_1 -6)^2$
Метод оптимизации: $S^2$ (по симплексу)
Начальная точка: $x(0) = [ 2,1]^T$
Масштабный множитель: $2$
Условие окончания поиска: $ \Delta x< 0,1$

Где можно почитать, как это сделать? Посмотреть примеры?
Спасибо.

Нашел метод поиска по симплексу только не могу понять он мне подходит или нет - там нет ни слово про нелинейное программирование.

Суть метода заключается в исследовании целевой функции в вершинах некого «образца», в двумерном случае треугольника, построенного в пространстве переменных вокруг «базовой» точки. Вершина, давшая наибольшее значение целевой функции отображается относительно двух других вершин и таким образом становится новой базовой точкой, вокруг которой строится новый образец и снова выполняется поиск. В рассматриваемом методе таким образцом является регулярный симплекс. В случае двух переменных симплексом является равносторонний треугольник, в трёхмерном пространстве – тетраэдр.
Работа алгоритма начинается с построения регулярного симплекса в пространстве независимых переменных и оценивания значений целевых функции в каждой точке. Затем определяется вершина с максимальным значением целевой функции и проектируется через центр тяжести оставшихся вершин в новую точку. Процедура продолжается до тех пор, пока не будет накрыта точка минимума. Поиск заканчивается тогда, когда размеры симплекса или разность значений целевой функции становятся достаточно малыми.

 i  Deggial: Инструкции по набору формул здесь или здесь (или в этом видеоролике). Исправляйте формулы, иначе тема будет перемещена в Карантин.

 
 
 
 Re: Задача нелинейного программирования
Сообщение19.12.2012, 18:28 
Аватара пользователя
dellink в сообщении #660689 писал(а):
Метод оптимизации: $S^2$ (по симплексу)

Это что, так в задании написано буквально?

-- Ср дек 19, 2012 19:30:53 --

dellink в сообщении #660689 писал(а):
Нашел метод поиска по симплексу только не могу понять он мне подходит или нет

Это метод движущего многогранника (симплекса).

 
 
 
 Re: Задача нелинейного программирования
Сообщение19.12.2012, 19:18 
мат-ламер в сообщении #660732 писал(а):
dellink в сообщении #660689 писал(а):
Метод оптимизации: $S^2$ (по симплексу)

Это что, так в задании написано буквально?


да

мат-ламер в сообщении #660732 писал(а):
-- Ср дек 19, 2012 19:30:53 --

dellink в сообщении #660689 писал(а):
Нашел метод поиска по симплексу только не могу понять он мне подходит или нет

Это метод движущего многранника (симплекса).


так это мне подходит или нет. Если нет то где можно посмотреть - почитать про то, что действительно нужно.

 
 
 
 Re: Задача нелинейного программирования
Сообщение19.12.2012, 19:27 
Аватара пользователя
dellink в сообщении #660764 писал(а):
так это мне подходит или нет.

Спросите у того, кто Вам выдал это задание.

 
 
 
 Re: Задача нелинейного программирования
Сообщение19.12.2012, 19:29 
мат-ламер в сообщении #660772 писал(а):
dellink в сообщении #660764 писал(а):
так это мне подходит или нет.

Спросите у того, кто Вам выдал это задание.


А из задания можно понять, что мне нужно делать? Где можно почитать как решать задачи нелинейного программирования? Спасибо.

 
 
 
 Re: Задача нелинейного программирования
Сообщение19.12.2012, 20:19 
Аватара пользователя
dellink в сообщении #660775 писал(а):
Где можно почитать как решать задачи нелинейного программирования?

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

 
 
 
 Re: Задача нелинейного программирования
Сообщение19.12.2012, 20:24 
Вы сами более чем подробно привели суть симплекс-метода, который судя по исходной формулировке задачи и надо использовать. Изначально симплекс-метод использовался для решения задач линейного программирования с линейными целевыми функциями, а потом был распространен на нелинейные целевые функции (т.е. общего вида) с линейными ограничениями. Вопрос в том, эту задачу надо решать вручную или требуется написать какой-то код? А лучше всего эти вопросы самому преподу, особенно по поводу использования специфических требований (масштабный множитель, условие окончания поиска)

 
 
 
 Re: Задача нелинейного программирования
Сообщение19.12.2012, 23:14 
matidiot в сообщении #660805 писал(а):
Вопрос в том, эту задачу надо решать вручную или требуется написать какой-то код?


Нужно реализовать на delphi, но для этого мне нужно разобраться как это сделать вручную. а код по-этому уже не сложно написать.

-- 19.12.2012, 22:15 --

Всем спасибо за помощь.

 
 
 
 Re: Задача нелинейного программирования
Сообщение20.12.2012, 17:30 
Подскажите какую хорошую книжку или сайт, где можно посмотреть примеры, почитать теорию. Спасибо.

 
 
 
 Re: Задача нелинейного программирования
Сообщение20.12.2012, 17:51 
Аватара пользователя
dellink
Вы студент или помогаете кому-то? Если студент, то Вам какую-то литературу советовали на лекциях? Сам я советовать литературу не берусь, посколько метод движущего многогранника (симплекса) отнюдь не во всякой книге есть.

 
 
 
 Re: Задача нелинейного программирования
Сообщение20.12.2012, 18:04 
мат-ламер в сообщении #661146 писал(а):
dellink
Вы студент или помогаете кому-то? Если студент, то Вам какую-то литературу советовали на лекциях? Сам я советовать литературу не берусь, посколько метод движущего многогранника (симплекса) отнюдь не во всякой книге есть.


Да в том и проблема, что в тех книгах такого метода нет, а на лекциях мы его не разбирали...

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


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