Параметр оптимизации установлен для sdo.optimize функция
Использовать sdo.OptimizeOptions для задания опций для решения задачи оптимизации конструкции с помощью sdo.optimize функция. При оптимизации можно задать такие опции, как метод решателя, опции решателя и использование параллельных вычислений.
создает набор опций по умолчанию для решения задачи оптимизации конструкции с помощью opt = sdo.OptimizeOptionssdo.optimize функция. Чтобы изменить свойства этого набора опций для конкретного приложения, используйте точечную нотацию.
создает набор опций со свойствами, заданными с помощью одного или нескольких аргументов «имя-значение».opt = sdo.OptimizeOptions(Name,Value)
Method - Решатель оптимизации'fmincon' (по умолчанию) | 'fminsearch' | 'lsqnonlin' | 'patternsearch'Решатель оптимизации, sdo.optimize используется для решения задачи оптимизации, указанной как одно из следующих значений:
'fmincon'
'fminsearch'
'lsqnonlin'
'patternsearch' (требуется программное обеспечение Global Optimization Toolbox)
Дополнительные сведения об этих решателях см. в документации «Toolbox™ оптимизации» и «Панель инструментов глобальной оптимизации».
MethodOptions - Параметры решателя оптимизации[1x1 optim.options.Fmincon] (по умолчанию) | объект options, созданный с помощью optimoptionsОпции решателя оптимизации, заданные как объект опций оптимизации, созданные с помощью optimoptions. Параметры настраиваются на основе Method собственность. Поскольку 'fmincon' является методом решения оптимизации по умолчанию, значением по умолчанию для этого свойства является optimoptions объект для fmincon решатель. Сведения о доступных опциях решателя оптимизации см. в разделе:
Параметры оптимизации при Method указывается как 'fmincon', 'fminsearch', или 'lsqnonlin'
Параметры поиска массива (панель инструментов глобальной оптимизации), когда Method указывается как 'patternsearch'
Чтобы изменить опции решателя, используйте точечную нотацию. Например, opt.MethodOptions.StepTolerance = 1.5e-3.
Restarts - Количество перезапусков оптимизации0 (по умолчанию) | неотрицательное целое число Число перезапусков оптимизации, если критерии сходимости не удовлетворяются, указанное как неотрицательное целое число. При каждом перезапуске начальные значения перестраиваемых параметров устанавливаются на конечное значение предыдущего прогона оптимизации.
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: ''
Опции решателя можно изменить с помощью точечной нотации. Например, задайте для алгоритма решателя метод Левенберга-Марквардта.
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.