exponenta event banner

класс fxpExpectionOptions

Укажите параметры оптимизации типов данных

Описание

fxpOptimizationOptions позволяет задать параметры и ограничения для использования в процессе оптимизации типов данных.

Строительство

opt = fxpOptimizationOptions() создает fxpOptimizationOptions со значениями по умолчанию.

opt = fxpOptimizationOptions(Name,Value) создает fxpOptimizationOptions объект со значениями свойств, заданными одним или несколькими Name,Value аргументы пары. Name должно отображаться внутри отдельных кавычек (''). Можно указать несколько аргументов пары имя-значение в любом порядке как Name1,Value1,...,NameN,ValueN.

Свойства

развернуть все

Максимальное число выполняемых итераций, указанное как скалярное целое число. Процесс оптимизации выполняет итерацию через различные решения, пока не найдет идеальное решение, не достигнет максимального числа итераций или не достигнет другого критерия остановки.

Пример: opt.MaxIterations = 75;

Типы данных: double

Максимальное время выполнения оптимизации, указанное в секундах как скалярное число. Оптимизация выполняется до достижения указанного времени, идеального решения или другого критерия остановки.

Пример: opt.MaxTime = 1000;

Типы данных: double

Максимальное число итераций, в которых не найдено новое наилучшее решение, указанное как скалярное целое число. Оптимизация продолжается до тех пор, пока алгоритм продолжает находить новые лучшие решения.

Пример: opt.Patience = 15;

Типы данных: double

Уровень информации, отображаемой в командной строке в процессе оптимизации, указанный как 'High', 'Moderate', или 'Silent'.

  • 'Silent' - До завершения процесса оптимизации в командной строке ничего не отображается

  • 'Moderate' - Информация отображается на каждом основном этапе процесса оптимизации, в том числе на этапах предварительной обработки, моделирования и оптимизации.

  • 'High' - Информация отображается в командной строке при каждой итерации процесса оптимизации, включая информацию о том, было ли найдено новое лучшее решение, и стоимость решения.

Пример: opt.Verbosity = 'Moderate';

Типы данных: char | string

Укажите длины слов, которые можно использовать в оптимизированной системе при проектировании. Это свойство используется для поиска по окрестностям процесса оптимизации. Конечный результат оптимизации использует длины слов в пересечении AllowableWordLengths и длины слов, совместимые с ограничениями оборудования, указанными на панели «Реализация оборудования» модели.

Пример: opt.AllowableWordLengths = [8:11,16,32];

Типы данных: double

Целевая функция для использования при поиске оптимизации, заданная как одно из следующих значений:

  • 'BitWidthSum' - минимизировать общую сумму битовой ширины.

  • 'OperatorCount' - Минимизация расчетного количества операторов в сгенерированном коде C.

    Эта опция может привести к уменьшению объема памяти программы для кода C, созданного в моделях Simulink ®. 'OperatorCount' целевая функция не подходит для целей FPGA или ASIC.

    Примечание

    Использовать 'OperatorCount' в качестве целевой функции при оптимизации модель должна быть готова к созданию кода. Дополнительные сведения об определении готовности к созданию кода см. в разделе Проверка модели и конфигурации для создания кода (встроенный кодер).

Типы данных: char

Выполнять ли итерации оптимизации параллельно, указанные как логические. Для параллельного выполнения итераций требуется лицензия Parallel Computing Toolbox™. Если у вас нет лицензии Parallel Computing Toolbox, или если вы указали false, итерации выполняются в серийном формате.

Типы данных: logical

Дополнительные расширенные возможности оптимизации. AdvancedOptions - объект, содержащий дополнительные свойства, которые могут повлиять на оптимизацию.

СобственностьОписание
PerformNeighborhoodSearch
  • 1 (по умолчанию) - выполнение поиска по окрестности для оптимизированного решения.

  • 0 - Не выполнять поиск по окрестностям. Выбор этой опции может увеличить скорость процесса оптимизации, но также увеличивает шансы на поиск менее идеального решения.

EnforceLooseCoupling

Некоторые блоки имеют параметр, который заставляет входные данные совместно использовать тип данных, или заставляет выходные данные совместно использовать тот же тип данных, что и входные данные.

  • 1 (по умолчанию) - позволяет оптимизатору ослабить это ограничение для всех блоков в проектируемой системе. Ослабление этого ограничения позволяет оптимизатору предоставлять более подходящие типы данных.

  • 0 - Не разрешать оптимизатору ослаблять это ограничение на блоки в проектируемой системе.

UseDerivedRangeAnalysis
  • 0 (по умолчанию) - при оценке решения оптимизатор не учитывает диапазоны, полученные из диапазонов проектирования в модели.

  • 1 - Оптимизатор учитывает как наблюдаемые диапазоны моделирования, так и диапазоны, полученные из проектных диапазонов в модели при оценке решения.

В зависимости от конфигурации модели анализ производного диапазона может занять больше времени, чем моделирование модели.

SimulationScenariosОпределение дополнительных сценариев моделирования, которые следует учитывать при оптимизации с помощью Simulink.SimulationInput объект. Пример см. в разделе Оптимизация типов данных с использованием нескольких сценариев моделирования.
SafetyMargin

Введите запас прочности, указанный как положительное скалярное значение, указывающее процентное увеличение границ собранного диапазона. Запас прочности применяется к объединению всех собранных диапазонов, включая диапазоны моделирования, производные диапазоны и проектные диапазоны.

DataTypeOverride

Переопределение типов данных, указанных в модели, при моделировании на этапе сбора диапазона оптимизации.

  • 'Off' (по умолчанию) - Не переопределять типы данных

  • 'Single' - Переопределение типов данных одиночными

  • 'Double' - Переопределение типов данных с удвоением

  • 'ScaledDouble' - Переопределение типов данных с удвоенными масштабами

HandleUnsupported

Некоторые блоки не поддерживаются для преобразования с фиксированной точкой. Дополнительные сведения см. в разделе Блоки, не поддерживающие типы данных с фиксированной точкой.

  • 'Isolate' (по умолчанию) - изоляция неподдерживаемых блоков блоками преобразования типов данных. Изолированные блоки игнорируются оптимизатором.

  • 'Error' - Остановите оптимизацию и сообщите об ошибке, если система содержит блоки, которые не поддерживаются для преобразования с фиксированной точкой.

PerformSlopeBiasCancellation
  • 0 (по умолчанию) - не распространять типы данных уклона-смещения.

  • 1 - Распространять типы данных уклона-смещения вне проектируемой системы. Уклоны и смещения выбираются для уменьшения сложности генерируемого кода.

Методы

addSpecificationУказание известных типов данных в системе
addToleranceЗадание числового допуска для оптимизированной системы
showSpecificationsПоказать спецификации для системы
showTolerancesПоказать допуски, указанные для системы

Копирование семантики

Ручка. Сведения о том, как классы обработки влияют на операции копирования, см. в разделе Копирование объектов.

Примеры

свернуть все

Создание fxpOptimizationObject со значениями свойств по умолчанию.

options = fxpOptimizationOptions();

Отредактируйте свойства после создания с помощью синтаксиса точек.

options.Patience = 15;
options.AllowableWordLengths = [8,16,32]
options = 
  fxpOptimizationOptions with properties:

           MaxIterations: 50
                 MaxTime: 600
                Patience: 15
               Verbosity: High
    AllowableWordLengths: [8 16 32]
       ObjectiveFunction: BitWidthSum
             UseParallel: 0

   Advanced Options
         AdvancedOptions: [1x1 DataTypeOptimization.AdvancedFxpOptimizationOptions]

Представлен в R2018a