Доверительная область (BOBYQA)
| Класс | Воспроизводимость | Стартовая точка | Свёртка по полосе |
|---|---|---|---|
| локальный | полная | используется | среднее или сглаженный максимум |
Ниже приведено окно настроек метода:

Назначение
Уточнение конструкции от хорошей стартовой точки при минимальном числе расчётов. Метод строит квадратичную модель целевой функции по уже выполненным расчётам и делает шаг в пределах «области доверия» модели, расширяя или сужая её по фактическому успеху шага.
Требует гладкой целевой функции: используйте агрегацию «среднее» или «сглаженный максимум». При «худшей точке» выбирайте Симплекс.
Алгоритм
Метод доверительной области без производных. Вокруг текущей точки x_k по
набору из m = 2n+1 посчитанных точек строится интерполяционная квадратичная
модель
совпадающая с F во всех точках набора. Следующий кандидат — решение задачи
min Q_k(x_k+s) при ‖s‖ ≤ Δ_k и соблюдении границ диапазонов, где Δ_k —
радиус области доверия, то есть окрестности, в которой модель считается
пригодной.
После расчёта F(x_k+s_k) шаг оценивается отношением фактического улучшения к
предсказанному:
При ρ_k близком к единице шаг принимается и Δ_k увеличивается; при малом или
отрицательном ρ_k кандидат отвергается, а Δ_k сжимается. Матрица H_k
пересчитывается поправкой минимальной нормы Фробениуса, в наборе заменяется одна
точка за итерацию — поэтому итерация стоит один расчёт модели, а первые 2n+1
расчётов уходят на построение начального набора.
Гарантия локальная: при гладкой F метод сходится к ближайшему минимуму.
На негладкой или шумной F интерполяция портится, ρ_k перестаёт быть
показательным и Δ_k сжимается преждевременно — отсюда раздел «Стянувшаяся
область доверия — ещё не минимум» ниже.
Параметры
| Параметр | Поле в интерфейсе | По умолчанию | Диапазон | На что влияет |
|---|---|---|---|---|
| Бюджет расчётов | Бюджет расчетов (0 = авто) | 0 = авто | ≥ 2n+2 | предел числа расчётов. Первые 2n+1 расчётов уходят на построение начальной модели — при 10 параметрах это 21 расчёт до первого осмысленного шага; бюджет должен заметно превышать 2n+1 |
| Начальный шаг (доля диапазона) | Начальный шаг (доля диапазона) | 0,150 | 0,05–0,25 | радиус начальной области доверия. Больше — быстрее разведка окрестности старта, но риск перескочить узкий минимум; меньше — надёжнее при хорошем старте, медленнее при плохом |
| Точность по параметрам (доля диапазона) | Точность | 0,0010 | 0,0001–0,01 | останов при стягивании области доверия до этой величины. Меньше — точнее финальная точка, дольше «дожим»; мельче 0,0001 смысла нет (уровень погрешности сетки). Стянувшаяся область доверия НЕ означает, что найден минимум — см. ниже |
| Останов без улучшения | Останов без улучшения (0 = выкл) | 0 = выкл | 0–100000 | страховка от «топтания»: остановиться, если лучшая F не улучшалась столько расчётов подряд |
Стянувшаяся область доверия — ещё не минимум
Метод останавливается, когда радиус области доверия становится меньше допуска. Это утверждение о шаге поиска, а не о том, что минимум найден. Целевая функция здесь шумит: соседние расчёты с разницей в единицы микрон дают слегка разные значения из-за адаптивной сетки. На таком шуме квадратичная модель метода портится, область доверия сжимается раньше времени, и прогон заканчивается вне минимума — со статусом «достигнута точность по параметрам», невыполненными целями и неизрасходованным бюджетом.
Что делать в этом случае, по порядку:
- Запустить оптимизацию ещё раз от точки, записанной в модель: радиус
области доверия сбросится к
Начальный шаг, и поиск продолжится. Приём рабочий — на реальной задаче три прогона подряд дали 5,07 → 4,19 → 3,80. Учтите, что расчёты прошлого прогона при этом не переиспользуются. - Взять метод, который перезапускается сам: Мультистарт либо Глобальный → локальный с включёнными локальными рестартами — там перезапуски идут внутри одного прогона.
- Увеличить
Начальный шаг, чтобы метод меньше доверял мелким разностям, и при возможности поднять точность решателя — она и создаёт шум.
Рекомендации
- Лучший выбор для дожима после глобального этапа и для узких диапазонов вокруг работающей конструкции.
- Детерминирован: повторный запуск с теми же настройками повторяет траекторию расчётов.
- Если метод «застревает» сразу после старта — стартовая точка на границе диапазона или целевая функция негладкая; уменьшите начальный шаг либо смените агрегацию/метод.
- Плохо работает с дискретными осями (переменные «с шагом» / «список») — для них предпочтите глобальный метод (DIRECT-L, CRS2, конвейер).