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, Супермодераторы



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

Сейчас этот форум просматривают: DariaRychenkova, iifat


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

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