2014 dxdy logo

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

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


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Минимизация функции двух переменных
Сообщение15.08.2017, 13:30 
Заслуженный участник
Аватара пользователя


05/12/09
1769
Москва
Нужно найти глобальный минимум функции
$$f(x,y)=x(y-1)+(a+bx+cx^2+x^4)^{1/4}((3/14)((2-y)^{7/3}+y^{7/3}))^{3/4}$
по $x,y$ при заданных параметрах $a,b,c$ (не совсем любых). Степень $7/3$ здесь предполагается нечетной функцией. Проблема в том, что функция может иметь локальные минимумы и конечный предел на бесконечности. Численный процесс в зависимости от начальных условий приводит к разным точкам или расходится. При некоторых значениях параметров оптимальная точка $(x,y)$ известна из других соображений, и она не ограничена (может уходить на бесконечность). Что тут можно сделать? В идеале хотелось бы однозначно сходящийся к правильному ответу алгоритм. Или хотя бы по известным значениям параметров сформировать хорошие начальные условия или "субоптимальные" точки, значения в которых близки к минимуму.

 Профиль  
                  
 
 Re: Минимизация функции двух переменных
Сообщение15.08.2017, 14:51 


10/03/16
3995
Aeroport
alisa-lebovski

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

 Профиль  
                  
 
 Re: Минимизация функции двух переменных
Сообщение15.08.2017, 16:57 


17/10/08

1313
Есть "высокотехнологичные" методы "точного" решения подобных задач - они включают собой множество разных техник: оценивание (границ), ветвление, сжатие границ переменных, добавление дополнительных линейных "отсекающих" ограничений и т.п.

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

Для "ручной" реализации можно еще посмотреть интервальный анализ. Для небольшого числа переменных простой алгоритм ветвей и границ на основе интервальных оценок обычно находит суть глобальный оптимум.

 Профиль  
                  
 
 Re: Минимизация функции двух переменных
Сообщение15.08.2017, 23:13 
Заслуженный участник
Аватара пользователя


11/03/08
9541
Москва
Ну, я бы попробовал взять в качестве начальной точки минимум для второго слагаемого. Он вроде легко отыскивается. А потом от него шёл бы градиентным поиском. И можно стартовать от минимума для первого слагаемого, там вообще очевидно.

 Профиль  
                  
 
 Re: Минимизация функции двух переменных
Сообщение16.08.2017, 02:21 
Заслуженный участник
Аватара пользователя


23/07/08
10673
Crna Gora
Если подставить $y=z+1$, получим функцию
$g(x, z)=xz+\left(\frac 3{14}\right)^{3/4}(a+bx+cx^2+x^4)^{1/4}\;((1-z)^{7/3}+(1+z)^{7/3})^{3/4}$
Второе слагаемое чётно относительно $z$. Поэтому при $x>0, z>0$ и при $x<0, z<0$ будет $g(x,z)>g(x,-z)$.
Значит, в двух из четырёх квадрантов глобальный минимум можно не искать.

Теперь возьмем $x>0, z>0$ и сравним $g(-x, z)$ и $g(x, -z)$. Очевидно, при $b>0$ между ними надо поставить знак $<$, а при $b<0$ знак $>$. Зона поиска ещё сужается.

 Профиль  
                  
 
 Re: Минимизация функции двух переменных
Сообщение16.08.2017, 03:33 
Заслуженный участник


16/02/13
4112
Владивосток

(Оффтоп)

svv в сообщении #1240975 писал(а):
Зона поиска ещё сужается
Элегантными рассуждениями зона поиска сужается от бесконечности до жалкой четвертушки оной бесконечности :wink:

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group