Когда использовать гибридную функцию

Гибридная функция является функцией, которая продолжает оптимизацию после того, как исходный решатель завершает работу.

Эти решатели Global Optimization Toolbox могут автоматически запустить гибридную функцию или второй решатель, после того, как они закончат:

Чтобы запустить гибридную функцию, установите HybridFcn опция к второму решателю.

Гибридная функция может получить более точное решение, начинающее с относительно грубого решения, найденного первым решателем, при следующих обстоятельствах:

  • Имеет ли целевая функция несглаженные области, если решение находится в сглаженной области со сглаженными ограничениями, то используйте гибридную функцию от Optimization Toolbox™, такого как fmincon.

  • Если целевая функция или ограничение несглаженны около решения, то используйте patternsearch как гибридная функция.

  • Предположим, что проблема имеет несколько локальных минимумов, и вы хотите получить точное глобальное решение. Одно-объективные решатели могут искать близость глобального решения, но не обязательно получают чрезвычайно точный результат. Если целевая функция является гладкой, то используйте гибридную функцию от Optimization Toolbox, такого как fminunc.

  • Для сглаженных многоцелевых проблем гибридная функция обычно изменяет к лучшему решения от gamultiobj.

Чтобы видеть, какие решатели доступны, как, гибрид функционирует, обратитесь к options входной параметр на странице с описанием для исходного решателя. Чтобы настроить гибридную функцию, можно включать отдельный набор опций для гибридной функции. Например, если гибридной функцией является fmincon:

hybridopts = optimoptions('fmincon','OptimalityTolerance',1e-10);
options = optimoptions('ga','HybridFcn',{'fmincon',hybridopts});
[x,fval] = ga(fun,nvars,A,b,Aeq,beq,lb,ub,nonlcon,options)

Смотрите также

| | |

Похожие темы