2014 dxdy logo

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

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


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


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



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


05/12/09
1813
Москва
Нужно найти глобальный минимум функции
$$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
4444
Aeroport
alisa-lebovski

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

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


17/10/08

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

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

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

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


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

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


23/07/08
10910
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
4214
Владивосток

(Оффтоп)

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

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

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



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

Сейчас этот форум просматривают: YandexBot [bot]


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

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