2014 dxdy logo

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

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


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


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



Начать новую тему Ответить на тему
 
 Как правильнее поступить
Сообщение13.10.2021, 13:00 


29/12/09
301
Привет, всем!

Я ищу глобальный минимум функции 6 переменных.
Изначально идея была в том, чтобы разыграть ~ 100 выборок разыгранных случайным образом значений входных параметров и использовать их как начальные точки для нахождения глобального минимума.
Но, стало известно, что для других целей будет нужно будет выполнить 10 000 расчетов кода с случайными выборками входных параметров.
Учитывая этот факт, у меня возникла идея из эти 10 000 вариантов отобрать ~100, которые дают наименьшие значения и их использовать в качестве начальных приближений для алгоритма поиска максимума.
У меня вопрос, насколько это будет правильным так делать? Потому что у меня сомнения так как не все те расчеты которые дали минимум могут быть близки к глобальному минимуму.

 Профиль  
                  
 
 Re: Как правильнее поступить
Сообщение13.10.2021, 13:06 


10/03/16
2098
Aeroport
alexey007 в сообщении #1534813 писал(а):
из эти 10 000 вариантов отобрать ~100


Посмотрите эволюционные и роевые алгоритмы. И напишите мне в ЛС

 Профиль  
                  
 
 Re: Как правильнее поступить
Сообщение13.10.2021, 14:33 
Заслуженный участник


16/02/13
3901
Владивосток
В общем случае, как понимаю, невозможно предсказать ни того, что точка будет близка к минимуму, ни даже того, что, начав с этой точки, процесс вообще сойдётся к минимуму. Так что ваш способ, имхо, не хуже любого другого.

 Профиль  
                  
 
 Re: Как правильнее поступить
Сообщение13.10.2021, 14:52 
Аватара пользователя


06/04/21
126
Если функция гладкая и первые производные ограничены, то можно вдохновиться идеям Васильева "Методы оптимизации". В иных случаях может случиться невесть что.

 Профиль  
                  
 
 Re: Как правильнее поступить
Сообщение13.10.2021, 16:43 
Заслуженный участник


12/08/10
1296
Ну, по идее, надо брать не 100 минимальных точек, а 100 точек равномерно распределенных по области. И еще, при поиске минимума мы будем еще кучу раз считать эту функцию(будем ли?), и лишние 100 запросов могут не сыграть ни какой роли. Хотя, если они платные или считаются час, то да.

 Профиль  
                  
 
 Re: Как правильнее поступить
Сообщение13.10.2021, 17:22 
Заслуженный участник
Аватара пользователя


05/12/09
1406
Москва
Null в сообщении #1534835 писал(а):
Ну, по идее, надо брать не 100 минимальных точек, а 100 точек равномерно распределенных по области.
Он берет сначала 10000 равномерно распределенных, и из них топ-100 минимальных, которые затем использует в качестве начальных приближений для 100 итерационных процессов поиска минимума. Это меньше работы, чем запускать 10000 процессов поиска минимума, и более вероятно выйти на глобальный минимум, чем исходить из 100 равномерно распределенных точек. Кстати, я и сама так делала в подобной ситуации, только изначально там брала не 10000 точек, а миллион. Функция была очень плохая, не гладкая, со множеством изломов и локальных минимумов. Так что в смысле математической строгости нельзя утверждать, что нашли глобальный минимум. Хотя и обратное маловероятно.

 Профиль  
                  
 
 Re: Как правильнее поступить
Сообщение13.10.2021, 18:34 
Заслуженный участник


12/08/10
1296
Если есть узкая область $A$ с глобальным минимумом и широкая область $B$ с локальным, но не глобальным минимумом, то 100 минимальных точек могут оказаться в области $B$ и точку случайно попавшую на край области $A$ мы пропустим. Хотя если локальных минимумов много и они распределены равномерно, то ваш способ лучше.

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

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



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

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


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

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