Эта таблица описывает типичные задачи оптимизации и предоставляет рекомендации для обработки их.
Проблема |
Рекомендация |
---|---|
Решение найдено |
Нет никакой гарантии, что решение является глобальным минимумом, если ваша проблема не непрерывна и имеет только один минимум. Чтобы искать глобальный минимум, запустите оптимизацию с нескольких начальных точек (или интервалы, в случае |
Невозможно выполнить целевую функцию |
Измените свою функцию, чтобы возвратить большое положительное значение для |
Стандартная программа минимизации, кажется, вводит бесконечный цикл или возвращает решение, которое не является минимумом (или не нуль, в случае |
Возможно, ваша целевая функция возвращает options = optimset('FunValCheck','on') и вызовите функцию оптимизации с |
Решатель занимает много времени. |
Большинство задач оптимизации извлекает выгоду из хороших начальных точек. Попробуйте случайные начальные точки в области, которая может быть близко к решению, на основе ваших проблемных характеристик. Иногда можно решить сложную задачу с помощью эволюционного подхода. Во-первых, решите задачи с меньшим числом независимых переменных. Используйте решения от этих более простых проблем как начальные точки для более сложных проблем при помощи соответствующего отображения. Кроме того, можно иногда ускорять решение при помощи более простых целевых функций и менее строгих условий остановки в начальных стадиях задачи оптимизации. |
Неясно, что делает решатель. |
Чтобы видеть то, что делает решатель, когда он выполняет итерации:
|
|
|