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

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

Эти решатели 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)

См. также

| | |

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте