fxpOptimizationOptions class

Задайте опции для оптимизации типа данных

Описание

The 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 и размеры слова, совместимые с аппаратными ограничениями, заданными на панели Hardware Implementation вашей модели.

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

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

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

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

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

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

    Примечание

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

Типы данных: 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' (по умолчанию) - Изолируйте неподдерживаемые блоки с Data Type Conversion блоками. Изолированные блоки игнорируются оптимизатором.

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

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

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

Методы

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

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

Указатель. Чтобы узнать, как классы handle влияют на операции копирования, см. раздел «Копирование объектов».

Примеры

свернуть все

Создайте 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