optimize
|
Страница в процессе разработки. |
Решает задачу оптимизации.
| Библиотека |
|
Описание
Функция optimize решает задачу оптимизации, чтобы найти значения проектных переменных, удовлетворяющих заданным требованиям.
Синтаксис
Вызов функции
-
optimParam,optimInfo = optimize(fcn,p)— использует метод оптимизацииlsqnonlin, применяемый по умолчанию, — для поиска значений параметровoptimParam, удовлетворяющих требованиям, заданным в целевой функцииfcn.
-
optimParam,optimInfo = optimize(fcn,p,opt)— решает задачу оптимизации с параметрами, заданными в аргументеopt. Для задания аргументаoptиспользуйте функциюOptimizeOptions.
-
optimParam,optimInfo = optimize(fcn,prob)— решает задачу оптимизацииprob, которая содержит минимизируемую функцию, проектные переменные и настройки оптимизации.
Аргументы
Входные аргументы
#
fcn —
целевая функция для минимизации
функция
Details
Целевая функция для минимизации. Алгоритм оптимизации вызывает эту функцию в процессе оптимизации.
К функции предъявляются следующие требования:
-
один входной аргумент — вектор настраиваемых параметров, представленный объектами
EngeeDesignOptimization.Continuous. Для передачи дополнительных входных аргументов используйте анонимную функцию. Например:new_fcn = (p) -> fcn(p,arg1,arg2,). -
один выходной аргумент — словарь, который должен предоставлять по ключу
"F"векторное или скалярное значение целевой функции. Например:Dict("F"=>0.1). -
градиент целевой функции вычисляется методом численного возмущения. Если вы хотите задать способ вычисления градиента, то добавьте второй выходной аргумент и установите для свойства
GradFcnобъектаOptimizeOptionsзначениеtrue. Второй выходной аргумент должен быть словарем, который должен предоставлять по ключу"F"производные целевой функции по параметрамp, то естьdF(p)/dp.
| Типы данных |
|
#
p —
проектные параметры
вектор объектов
Details
Настраиваемые проектные параметры, заданные как вектор объектов EngeeDesignOptimization.Continuous.
| Типы данных |
|
#
opt —
настройки оптимизации
объект
Details
Настройки оптимизации, заданные как объект EngeeDesignOptimization.OptimizeOptions.
Настройки позволяют указать:
-
количество перезапусков алгоритма оптимизации;
-
максимальное количество итераций;
-
допуски.
| Типы данных |
|
#
prob —
задача оптимизации
объект
Details
Задача оптимизации, заданная как объект EngeeDesignOptimization.OptimizeProblem со следующими свойствами:
-
OptFcn— целевая функция, подлежащая минимизации. Требования к входным и выходным аргументам этой функции см. в описанииfcn. -
Parameters— проектные параметры для оптимизации, заданные как вектор объектовEngeeDesignOptimization.Continuous. -
Options— настройки оптимизации, заданные как объектEngeeDesignOptimization.OptimizeOptions.
| Типы данных |
|
Выходные аргументы
#
optimParam —
оптимизированные проектные параметры
объект
Details
Оптимизированные проектные параметры, возвращаемые в виде вектора объектов EngeeDesignOptimization.Continuous. Состав вектора и размерность параметров соответствуют p. Оптимизированные значения хранятся в свойстве value соответствующего возвращенного объекта параметра.
| Типы данных |
|
#
optimInfo —
информация об оптимизации
словарь
Details
Информация об оптимизации, возвращаемая в виде словаря, содержащего один или несколько из следующих ключей:
-
F— значение целевой функции в оптимальной точке. -
Jacobian— матрица Якоби целевой функции в оптимальной точке. -
exitflag— целое число, указывающее причину завершения работы метода оптимизации. Список значений и соответствующих им причин завершения указан в описании метода оптимизацииlsqnonlin. -
iterations— целое число итераций. -
SolverOutput— словарь, содержащий параметры метода оптимизации. Список выходных параметров метода оптимизации и их описание указаны в описанииlsqnonlin. -
Stats— структура, содержащая статистику, собранную в процессе оптимизации, такую как время начала и окончания, количество вычислений функции и число перезапусков.
| Типы данных |
|