Поиск с ограничениями (COBYLA)
| Класс | Воспроизводимость | Стартовая точка | Свёртка по полосе |
|---|---|---|---|
| локальный | полная | используется | критерий — любая; ограничения — худшая точка |
Ниже приведена страница настроек метода:

Назначение
Локальный поиск для постановки «оптимизировать одно при жёстком соблюдении другого»: цели с признаком «жёсткое ограничение» соблюдаются как условия допустимости, остальные образуют критерий. Типовой сценарий: максимизация КПД при условии КСВН ≤ 2 во всей полосе.
Метод строит линейные аппроксимации критерия и ограничений по симплексу точек, поэтому сходится медленнее Доверительной области, но терпим к умеренной негладкости.
Признак жёсткое ограничение у целей и поле Допуск ограничения активны: COBYLA соблюдает такие цели как жёсткие условия допустимости. Жёсткие ограничения поддерживают также Адаптивная эволюция (ISRES) и конвейер Глобальный → локальный, если локальным этапом выбран COBYLA (пресет «Авто» делает это автоматически, при ручном выборе другого локального этапа ограничение свёртывается в штраф с предупреждением в журнале); прочие методы сворачивают ограничение в целевую функцию штрафом. Настройка ограничений и их допуска описана в Цели и целевая функция.
Алгоритм
Локальный метод линейных аппроксимаций. По симплексу из n+1 точек строятся
линейные интерполянты критерия и каждого ограничения:
Кандидат — решение линейной задачи min F̂ при ĉ_j ≤ 0 для всех ограничений
и ‖s‖ ≤ ρ_k, где ρ_k играет роль радиуса области доверия. Ограничения входят
в подзадачу шага отдельно от критерия, поэтому метод удерживает поиск у
границы допустимой области, а не платит за её нарушение штрафом в F.
Точки сравниваются по составной функции
где множитель μ подстраивается по ходу прогона так, чтобы недопустимая точка
не выглядела лучше допустимой. Когда линейная модель перестаёт давать улучшение,
ρ_k уменьшается и симплекс перестраивается на меньшем масштабе; останов — при
ρ_k ниже допуска.
Линейная модель дешевле квадратичной (n+1 точка против 2n+1) и терпимее к
негладкости, но сходится медленнее: кривизну она не воспроизводит вовсе, поэтому
у дна и вдоль искривлённой границы допустимой области шаги систематически
короткие.
Параметры
| Параметр | Поле в интерфейсе | По умолчанию | Диапазон | На что влияет |
|---|---|---|---|---|
| Бюджет расчётов | Бюджет расчетов (0 = авто) | 0 = авто | ≥ n+2 | предел числа расчётов |
| Начальный шаг (доля диапазона) | Начальный шаг (доля диапазона) | 0,150 | 0,05–0,25 | размер первых пробных шагов; влияние как у Доверительной области |
| Точность по параметрам (доля диапазона) | Точность | 0,0020 | 0,0005–0,01 | останов при стягивании шага |
Рекомендации
- Стартовая точка не обязана удовлетворять ограничениям: метод сам выводит поиск в допустимую область, но это расходует бюджет — по возможности стартуйте из допустимой конструкции.
- Если ни одна вычисленная точка не удовлетворила всем ограничениям, прогон завершается статусом «Допустимая область не найдена», а в модель записывается набор параметров с наименьшим нарушением (см. Цели и целевая функция и Мониторинг).
- COBYLA плохо работает с дискретными осями (переменные «с шагом» / «список»): сходимость по ним может быть медленной, стартовый рапорт совместимости выдаёт об этом примечание. При дискретных осях предпочтите глобальный метод.