Опция оптимизации установлена для sdo.optimize
функция
Используйте sdo.OptimizeOptions
объект задать опции для решения задачи оптимизации проекта с помощью sdo.optimize
функция. Можно задать опции, такие как метод решателя, опции решателя и использование параллельных вычислений во время оптимизации.
создает набор опции по умолчанию для решения задачи оптимизации проекта с помощью opt
= sdo.OptimizeOptionssdo.optimize
функция. Чтобы изменить свойства этого набора опции для вашего определенного приложения, используйте запись через точку.
создает набор опции со свойствами, заданными с помощью одних или нескольких аргументов name-value.opt
= sdo.OptimizeOptions(Name,Value
)
Method
— Решатель оптимизации'fmincon'
(значение по умолчанию) | 'fminsearch'
| 'lsqnonlin'
| 'patternsearch'
| 'surrogateopt'
Решатель оптимизации это sdo.optimize
использование, чтобы решить задачу оптимизации в виде одного из следующих значений:
'fmincon'
— Значение по умолчанию для оптимизации проекта, основанного на производной метода, позволяет нелинейные ограничения и границы параметра
'fminsearch'
— Метод без производных
'lsqnonlin'
— Значение по умолчанию для оценки параметра, работает с градиентом невязки между выходом модели и данными, позволяет границы параметра
'patternsearch'
— Метод без производных, позволяет нелинейные ограничения, и границы параметра (требует программного обеспечения Global Optimization Toolbox),
'surrogateopt'
— Основанный на суррогате метод, позволяет нелинейные ограничения, требует границ параметра (требует программного обеспечения Global Optimization Toolbox),
Смотрите Optimization Toolbox™ и документацию Global Optimization Toolbox для получения дополнительной информации об этих решателях.
MethodOptions
— Опции решателя оптимизации[1x1 optim.options.Fmincon]
(значение по умолчанию) | объект опций, созданный с помощью optimoptions
Опции решателя оптимизации в виде объекта опций оптимизации, созданное использование optimoptions
. Опции сконфигурированы на основе Method
свойство. Поскольку 'fmincon'
метод решателя оптимизации по умолчанию, значением по умолчанию для этого свойства является optimoptions
объект для fmincon
решатель. Для получения информации о доступных опциях решателя оптимизации консультируйтесь с таблицей опций для своего решателя на основе Method
заданный:
Чтобы изменить опции решателя, используйте запись через точку. Например, opt.MethodOptions.StepTolerance = 1.5e-3
.
Restarts
— Число раз, чтобы перезапустить оптимизацию
(значение по умолчанию) | неотрицательное целое число Число раз, чтобы перезапустить оптимизацию, если критериям сходимости не удовлетворяют в виде неотрицательного целого числа. При каждом перезапуске начальные значения настраиваемых параметров установлены к окончательному значению предыдущей запущенной оптимизации.
StopIfFeasible
— Опция, чтобы остановить оптимизацию однажды возможное решение найдена'on'
(значение по умолчанию) | 'off'
Опция, чтобы остановить оптимизацию однажды возможное решение удовлетворяющие ограничения найдена в виде одного из следующих значений:
'on'
— Оконечный, когда скоро возможное решение найдено.
'off'
— Продолжите искать решения, которые обычно располагаются далее в области ограничений.
Программное обеспечение игнорирует эту опцию, когда вы отслеживаете опорный сигнал, или ваша проблема имеет стоимость.
GradFcn
— Опция, чтобы возвратить информацию о градиенте в стоимость или ограничительную функцию'off'
(значение по умолчанию) | 'on'
Опция, чтобы указать, что стоимость или ограничение функционируют, вы обеспечиваете к sdo.optimize
предоставляет информацию о градиенте в виде одного из следующих значений:
'off'
— Ваша функция стоимости или ограничения не предоставляет информацию о градиенте. Программное обеспечение использует центральные различия, чтобы вычислить градиенты.
'on'
— Ваша функция стоимости или ограничения предоставляет информацию о градиенте как один из ее выходных аргументов.
UseParallel
— Опция параллельных вычисленийfalse
или 0
(значение по умолчанию) | true
или 1
Опция параллельных вычислений для fmincon
, lsqnonlin
, и patternsearch
решатели оптимизации в виде одного из следующего:
false
или 0
— Не используйте параллельные вычисления во время оптимизации.
true
или 1
— Используйте параллельные вычисления во время оптимизации.
Программное обеспечение Parallel Computing Toolbox™ должно быть установлено, чтобы включить параллельные вычисления для методов оптимизации.
Когда установлено в true
, методы вычисляют следующее параллельно:
fmincon
— Градиенты конечной разности
lsqnonlin
— Градиенты конечной разности
patternsearch
— Опросите и ищите оценку набора
Примечание
Параллельные вычисления не поддерживаются для fminsearch
.
Для параллельных вычислений задайте сценарий симуляции для Simulink® модель, чтобы оптимизировать как sdo.SimulationTest
объект в OptimizedModel
свойство. Можно задать зависимости от файла модели в ParallelFileDependencies
свойство, или можно задать пути к зависимостям в ParallelPathDependencies
свойство, в случае необходимости.
ParallelFileDependencies
— Зависимости от файла, чтобы использовать во время параллельной оптимизации{}
(значение по умолчанию) | массив ячеек из символьных векторовЗависимости от файла, чтобы использовать во время параллельной оптимизации в виде массива ячеек из символьных векторов. Каждый вектор символов может задать или абсолютный или относительный путь к файлу. Эти файлы копируются в рабочих во время параллельной оптимизации. Использование sdo.getModelDependencies
найти зависимости модели Simulink.
Пример: opt.ParallelFileDependencies = {'C:\matlab\work\file1.m','C:\matlab\myProject\file2.m'}
ParallelPathDependencies
— Пути к зависимостям, чтобы использовать во время параллельной оптимизации{}
(значение по умолчанию) | массив ячеек из символьных векторовПути к зависимостям, чтобы использовать во время параллельной оптимизации в виде массива ячеек из символьных векторов. Если вы не хотите копировать файлы в рабочих, используйте это свойство вместо ParallelFileDependencies
свойство. Эти зависимости от пути временно добавляются к рабочим во время параллельной оптимизации. Использование sdo.getModelDependencies
найти зависимости модели Simulink.
Пример: opt.ParallelPathDependencies = {'C:\matlab\work','C:\matlab\myProject'}
OptimizedModel
— Имя модели Simulink, чтобы оптимизировать''
(значение по умолчанию) | sdo.SimulationTest
возразите | вектор символовИмя модели Simulink, чтобы оптимизировать в виде любого sdo.SimulationTest
возразите или вектор символов с именем модели.
Задайте OptimizedModel
как sdo.SimulationTest
объект при использовании обеих параллельной оптимизации (UseParallel = true
) и fastRestart
.
Программное обеспечение Parallel Computing Toolbox должно быть установлено, чтобы включить параллельную оптимизацию.
Пример: Simulator = sdo.SimulationTest('model_demo')
sdo.optimize | Решите задачу оптимизации проекта |
Создайте sdo.OptimizeOptions
по умолчанию опция установлена.
opt = sdo.OptimizeOptions;
Задайте опции с помощью записи через точку.
opt.Method = 'lsqnonlin'; opt.GradFcn = 'on';
Любые значения свойств, которые вы не задаете, остаются в их значениях по умолчанию.
Создайте объект набора опции, который задает решатель оптимизации нелинейного метода наименьших квадратов как его метод решения.
opt = sdo.OptimizeOptions('Method','lsqnonlin')
opt = OptimizeOptions with properties: Method: 'lsqnonlin' MethodOptions: [1x1 optim.options.Lsqnonlin] Restarts: 0 StopIfFeasible: 'on' GradFcn: 'off' UseParallel: 0 ParallelPathDependencies: {} ParallelFileDependencies: {} OptimizedModel: ''
Можно изменить опции решателя с помощью записи через точку. Например, установите алгоритм решателя для метода Levenberg-Marquardt.
opt.MethodOptions.Algorithm = 'levenberg-marquardt';
Просмотрите опции метода.
opt.MethodOptions
ans = lsqnonlin options: Options used by current Algorithm ('levenberg-marquardt'): (Other available algorithms: 'trust-region-reflective') Set properties: Algorithm: 'levenberg-marquardt' Display: 'iter' FunctionTolerance: 1.0000e-03 MaxFunctionEvaluations: Inf MaxIterations: 100 SpecifyObjectiveGradient: 1 StepTolerance: 1.0000e-03 Default properties: CheckGradients: 0 FiniteDifferenceStepSize: 'sqrt(eps)' FiniteDifferenceType: 'forward' OutputFcn: [] PlotFcn: [] TypicalX: 'ones(numberOfVariables,1)' UseParallel: 0 Show options not used by current Algorithm ('levenberg-marquardt')
Любые значения свойств, которые вы не задаете, остаются в их значениях по умолчанию.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.