Система схемотехнического моделирования и проектирования Design Center
ed588169

Программа параметрической оптимизации Optimizer


В Design Center параметрическая оптимизация [1] выполняется  методом наискорейшего спуска путем взаимодействия модуля Optimizer с графическим редактором Schematics, программой моделирования PSpice и постпроцессором Probe. Критерий оптимизации – обеспечение заданного значения целевой функции при выполнении ряда линейных и нелинейных ограничений.

1. В Schematics создается схема оптимизируемого устройства, на которой с помощью символов OPTPARAM из библиотеки special.slb определяются оптимизируемые параметры (см. пример на рис. 1.1). Щелчком по заголовку символа открывается панель спецификации оптимизируемых параметров (рис. 7.15) и задаются следующие величины:

Name – имя параметра;

Initial Value – начальное значение;

Current Value – текущее значение (вводится либо начальное значение, либо текущее, либо оба);

Lower Limit – нижняя граница изменения параметра;

Upper Limit – верхняя граница изменения параметра;

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

Рис. 7.15. Спецификация варьируемых параметров с помощью символа OPTPARAM



Нажатие кнопки Add Param добавляет введенные значения к списку параметров.

Введенные таким образом параметры могут быть использованы при задании параметров компонентов схемы (сопротивлений резисторов и т. п.) и их моделей; они заключаются в фигурные скобки { }.

Далее в меню Analysis по команде Setup задают вид анализа и диапазон изменения текущей переменной (частоты, времени, источника постоянного напряжения или глобального параметра). Например, на рис. 7.16 задано единственное значение постоянного напряжения V1=5v в режиме DC.

Рис. 7.16. Расчет режима DC в единственной точке

2. Критерий оптимизации задается непосредственно в программе Optimizer, которая вызывается из меню Tools программы Schematics по команде Run Optimizer.  Главное окно программы Optimizer показано на рис. 7.17.

Рис. 7.17. Главное окно программы Optimizer

<
В правой верхней части этого окна помещен список значений  функций, которые могут быть целевыми функциями или ограничениями (раздел Specifications), в нижней – перечень варьируемых параметров (раздел Parameters). Редактируются они в меню Edit.

Целевые функции рассчитываются с помощью программы Probe. Они задаются следующим образом:

–  расчет значения функции в одной точке (как в примере на рис. 7.16);

– расчет значения целевой функции Goal Function, записанной в файл с расширением имени .prb;

–  расчет выражений, заданных в программе Optimizer.

Целевые функции программы Probe позволяют рассчитать минимум или максимум функции, расстояние между выделенными точками и т. п.

По команде Specifications меню Edit открывается окно спецификации  функций. Нажатием кнопки Add открывается меню  функций программы Optimizer (рис. 7.18).  С его помощью вводятся следующие данные:

Name –  имя  функции;

Enabled – включение режима расчета  функций на следующей итерации;

Reference – выбор между внутренней спецификацией (Internal), задаваемой в диалоговом окне, и внешней (External), адресуемой к имени файла данных;

Weight –  весовой коэффициент  функции.

Внутренняя спецификация задается параметрами:

Target – желаемое значение  функции;

Range – ширина допустимого диапазона значений функции;

Constraint – включение/выключение режима учета ограничений. Если режим Constraint включен, задаваемая в этом окне функция является ограничением, в противоположном случае – целевой функцией;

Type – тип ограничения: =target – равно, >=target – больше или равно, <=target – меньше или равно заданному значению функции.

Внешняя спецификация задается параметрами:

File – имя файла данных, содержащего значения функции;

X Column Name – заголовок столбца данных, содержащего значения отсчетов переменной x;

Y Column Name – заголовок столбца данных, содержащего значения отсчетов переменной y;

Tolerance – класс допуска при округлении результатов вычислений до стандартных значений.



Остальные параметры имеют следующий смысл:

Analysis – выбор вида анализа (AC, DC или Tran);

Circuit File – имя файла схемы, к которому обращаются при моделировании (если оно не указано, то математические выражения вычисляются непосредственно);

Probe File Containing Goal Functions (.prb) – имя файла целевых функций для программы Probe (расширение имени по умолчанию .prb);

Evaluate – спецификация математического выражения для  функции. В него могут входить имена переменных, Goal Function и любых параметров.





Рис. 7.18. Спецификация целевых функций и ограничений

3. Запуск процесса оптимизации выполняется в меню Tune. По команде Update Performance рассчитываются характеристики схемы для начальных и текущих значений каждого параметра. Это может использоваться для проверки корректности постановки задачи оптимизации. Значения целевых функций для начальных значений параметров отображаются в главном окне программы, что позволяет оценить близость этих значений к оптимальным.

По команде Update Derivatives вычисляются чувствительности каждой целевой функции к изменению каждого параметра, равные частным производным. Информация о чувствительностях позволяет выбрать параметры, к изменению которых целевые функции наиболее чувствительны. Матрица чувствительностей отображается на экране по команде Show Derivatives.

Оптимизация в автоматическом режиме запускается по команде Auto/Start. Сначала вычисляется матрица чувствительностей и определяется направление изменения параметров. Движение в этом направлении происходит до тех пор, пока не перестанет уменьшаться разность между текущим и требуемым значениями целевой функции. После этого снова вычисляется матрица чувствительностей и новое направление изменения параметров. По достижении оптимума процесс оптимизации завершается или его нужно  остановить по команде Auto/Terminate. Результаты оптимизации отображаются в главном окне программы (рис. 7.17).

Оптимизация в интерактивном режиме начинается с вычисления чувствительностей по команде Update Derivatives. После этого в основном окне программы изменяются значения параметров и выполняется команда Update Performance для расчета новых значений целевых функций.


Однако при этом моделирование не производится, а расчет основывается на матрице чувствительностей. Поэтому в таком режиме изменения параметров должны быть небольшими. Далее снова производится расчет матрицы чувствительностей и вносятся новые изменения в значения параметров.

Заметим, что любой параметр или функцию можно исключить из процесса оптимизации, переведя выключатель около имени параметра или функции  в главном меню в положение  Disable (крестик должен исчезнуть).

После успешного завершения оптимизации найденные значения параметров отображаются в главном меню. В связи с тем что ряд параметров компонентов, например сопротивления резисторов, не могут принимать любые значения, можно выполнить округление их значений до ближайшей стандартной величины по команде Edit/Round Values. Точность округления определяется параметром Tolerance, который может принимать значения 1, 5 и 10%. Новые значения целевых функций после округления параметров рассчитываются автоматически.

Значения найденных в процессе оптимизации параметров переносятся на схему по команде Edit/Update Schematic. Новые значения параметров отображаются в атрибутах символов OPTPARAM.

Замечание. В связи с тем что никакой регулярный метод оптимизации не может в общем случае обеспечить нахождение глобального экстремума, рекомендуется выполнять параметрическую оптимизацию в два этапа. Сначала  проводят статистические испытания по методу Монте-Карло, варьируя параметры в широких пределах. По результатам этих испытаний определяется несколько локальных экстремумов, в окрестности каждого их которых выполняется оптимизация с помощью программы Optimizer. Другой способ – проводят несколько циклов оптимизации, интуитивно выбирая  разные начальные значения параметров.

Перечень команд программы Optimizer приведен в табл. 7.6.

Таблица 7.6

Команда

  Назначение

Меню File

New   

Очистка рабочего окна для создания  нового файла задания на оптимизацию .opt

Open... 

Открытие (загрузка) существующего файла задания на оптимизацию

Save

Сохранение внесенных изменений в текущем файле

Save As... 

Сохранение внесенных изменений в новом файле, имя которого указывается по дополнительному запросу

Report

Создание текстового файла отчета об оптимизации (.oot)

Exit  ( Alt+F4)

Завершение работы

Файл 1, ... , Файл 4

Список последних четырех загруженных файлов

Меню  Edit

Parameters...

Редактирование списка оптимизируемых параметров

Specifications...

Редактирование списка целевых функций

Store Values

Копирование текущих значений в качестве начальных значений спецификаций и параметров

Reset Values

Копирование начальных значений в качестве текущих значений

Round Values

Замена значения каждого параметра ближайшим стандартным значением (погрешность округления задается параметром Tolerance)

Update Schematic

Перенос на схему оптимальных значений параметров

Меню Tune

Update Performance

Расчет характеристик схемы для начальных и текущих значений каждого параметра

Update Derivatives

Вычисление чувствительности каждой целевой функции к изменению каждого параметра

Show Derivatives

Отображение матрицы чувствительностей

Auto

Управление процессом оптимизации в автоматическом режиме:

 

Start

Начало оптимизации

 

Terminate

Прекращение оптимизации

Меню Options

Defaults ...

Установка параметров оптимизации:

Delta

Относительное приращение параметров для расчета производных, в процентах

Max. Iterations

Максимальное количество итераций в процессе оптимизации

Display

Имя конфигурации дисплея програмы Probe, предварительно сохраненной по команде Tools/Display Configuration

Advanced Options

Дополнительные параметры:

Cutback

Минимальная доля внутреннего шага изменения параметров

Threshold

Минимальный шаг изменения параметров

One Goal

Выбор метода минимизации при задании значения функции в одной точке

Recalculate ...

Режим расчета новых значений параметров и функций:

Auto

Автоматическое обновление результатов

Manual

Расчет параметров после нажатия кнопки Parameters, целевых функций – кнопки Results

Меню Help

 

About ...

Вывод номера версии программы и ее регистрационного номера




Содержание раздела