2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 [WM] Имитация отжига
Сообщение20.09.2016, 18:50 
Аватара пользователя


29/05/11
227
Красноармейск, Донецкая обл.
Добрый день

Встала задача минимизировать сложную многомерную функцию. Решил использовать встроенную реализацию имитации отжига.
Ниже приведена таблица, в которой для одной и той же ф-ции запускался NMinimize с разными параметрами.
Результат минимизации статистически устойчив, как мне кажется (с одинаковыми параметрами один результат)
Пожалуйста, объясните мне её.
В частности, как так получается, что увеличение числа стартовых точек увеличивает результат NMinimize? Ведь чем больше раз процесс поиска перезапускается, тем больше (уж не меньше) вероятность попасть в более глубокий локальный минимум.
Почему LevelIterations ни на что не влияет?
Почему и уменшение, и увеличение скорости охлаждения ухудшает результаты?

(Таблица)

$$\begin{array}{cccccc}
 \text{Timing} & \text{Result} & \text{SearchPoints} & \text{PerturbationScale} & \text{LevelIterations} & \text{BoltzmannExponent} \\
 13.7769 & 4681. & 50 & 1 & 10 & -\text{$\#$2} \log (\text{$\#$1}+1)\& \\
 13.1048 & 4681. & 50 & 1 & 50 & -\text{$\#$2} \log (\text{$\#$1}+1)\& \\
 13.4528 & 4679.04 & 50 & 1.2 & 10 & -\text{$\#$2} \log (\text{$\#$1}+1)\& \\
 13.2648 & 4680.95 & 50 & 1.5 & 10 & -\text{$\#$2} \log (\text{$\#$1}+1)\& \\
 13.3848 & 4678.95 & 50 & 1.01 & 10 & -\text{$\#$2} \log (\text{$\#$1}+1)\& \\
 51.5112 & 4680.95 & 200 & 1.01 & 10 & -\text{$\#$2} \log (\text{$\#$1}+1)\& \\
 13.0728 & 4678.95 & 50 & 1.01 & 50 & -\text{$\#$2} \log (\text{$\#$1}+1)\& \\
 6.78442 & 4862.39 & 20 & 1.01 & 10 & -\text{$\#$2} \log (\text{$\#$1}+1)\& \\
 13.0288 & 4680.95 & 50 & 1.01 & 10 & \frac{1}{5} (-\text{$\#$2}) \log (\text{$\#$1}+1)\& \\
 10.4807 & 4678.95 & 50 & 1.01 & 10 & \frac{1}{100} (-\text{$\#$2}) \log (\text{$\#$1}+1)\& \\
 14.1369 & 4734.61 & 50 & 1.01 & 10 & -\text{$\#$2} \log \left(\frac{\text{$\#$1}}{100}+1\right)\& \\
 13.7089 & 4734.61 & 50 & 1.01 & 1000 & -\text{$\#$2} \log \left(\frac{\text{$\#$1}}{100}+1\right)\& \\
 13.1328 & 4682.36 & 50 & 1.01 & 10 & -\text{$\#$2} \log (10 \text{$\#$1}+1)\& \\
 61.1278 & 4683.33 & 200 & 1.01 & 10 & -\text{$\#$2} \log (10 \text{$\#$1}+1)\& \\
 15.1329 & 4682.36 & 50 & 1.01 & 10 & -\text{$\#$2} \log (10 \text{$\#$1}+1)\& \\
 15.0529 & 4682.36 & 50 & 1.01 & 10 & -\text{$\#$2} \log (10 \text{$\#$1}+1)\& \\
 13.2088 & 4682.36 & 50 & 1.01 & 10 & -\text{$\#$2} \log (10 \text{$\#$1}+1)\&
\end{array}$$

Изображение

 Профиль  
                  
 
 Re: [WM] Имитация отжига
Сообщение23.09.2016, 23:03 


11/07/16
825
Для содержательного ответа необходимы подробности: переменные, целевая функция, ограничения, применяемые опции.

 Профиль  
                  
 
 Re: [WM] Имитация отжига
Сообщение24.09.2016, 15:41 
Аватара пользователя


29/05/11
227
Красноармейск, Донецкая обл.

(Целевая ф-ция)

Точные значения параметров, при которых строил таблицу, не помню.

-(1/(1 + Sqrt[x[1]^2 + y[1]^2])) - 1/(1 + Sqrt[x[2]^2 + y[2]^2]) - 1/(
1 + Sqrt[x[3]^2 + y[3]^2]) - 1/(1 + Sqrt[x[4]^2 + y[4]^2]) - 1/(
1 + Sqrt[x[5]^2 +
y[5]^2]) + \[Alpha] (1/Sqrt[(x[1] - x[2])^2 + (y[1] - y[2])^2] + 1/
Sqrt[(x[1] - x[3])^2 + (y[1] - y[3])^2] + 1/
Sqrt[(x[2] - x[3])^2 + (y[2] - y[3])^2] + 1/
Sqrt[(x[1] - x[4])^2 + (y[1] - y[4])^2] + 1/
Sqrt[(x[2] - x[4])^2 + (y[2] - y[4])^2] + 1/
Sqrt[(x[3] - x[4])^2 + (y[3] - y[4])^2] + 1/
Sqrt[(x[1] - x[5])^2 + (y[1] - y[5])^2] + 1/
Sqrt[(x[2] - x[5])^2 + (y[2] - y[5])^2] + 1/
Sqrt[(x[3] - x[5])^2 + (y[3] - y[5])^2] + 1/
Sqrt[(x[4] - x[5])^2 + (y[4] - y[5])^2] + 1/
Sqrt[(x[1] - x[6])^2 + (y[1] - y[6])^2] + 1/
Sqrt[(x[2] - x[6])^2 + (y[2] - y[6])^2] + 1/
Sqrt[(x[3] - x[6])^2 + (y[3] - y[6])^2] + 1/
Sqrt[(x[4] - x[6])^2 + (y[4] - y[6])^2] + 1/
Sqrt[(x[5] - x[6])^2 + (y[5] - y[6])^2]) + \[Beta] ((x[1] -
x[2])^2 + (x[2] - x[3])^2 + (x[2] - x[4])^2 + (x[3] -
x[4])^2 + (x[1] - x[5])^2 + (x[3] - x[5])^2 + (x[4] -
x[5])^2 + (x[1] - x[6])^2 + (-x[5] + x[6])^2 + (y[1] -
y[2])^2 + (y[2] - y[3])^2 + (y[2] - y[4])^2 + (y[3] -
y[4])^2 + (y[1] - y[5])^2 + (y[3] - y[5])^2 + (y[4] -
y[5])^2 + (y[1] - y[6])^2 + (-y[5] + y[6])^2) - 1/(
1 + Sqrt[x[6]^2 + y[6]^2])

Переменные {x[1], x[2], x[3], x[4], x[5], x[6], y[1], y[2], y[3], y[4], y[5], y[6]}.
Опции указаны в таблице.

Вопрос, впрочем, не привязывается к конкретной ф-ции: почему существуют ф-ции, для которых увеличение числа стартовых точек может ухудшать результаты?
Я, например, привык проверять пригодность результатов работы численных методов, запустив тот же метод, но с большим числом точек, или меншим шагом, или большей точностью, потому что «пригодность» результатов неуменшается с увеличением числа точек и точности и неуменшается с уменшением шага (у отжига нет такого параметра, но всё же). А тут число точек увеличил, а результат ухудшился. Как так?

 Профиль  
                  
 
 Невоспроизводимые результаты
Сообщение08.10.2016, 19:51 


11/07/16
825
К сожалению, Ваш результаты не воспроизводимы, поэтому нечего обсуждать.

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

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



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

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


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

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