Файл: Элементы математического моделирования в программных средах MATLAB 5 и Scilab (Андриевский Фрадков).pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 05.04.2024
Просмотров: 434
Скачиваний: 1
Метод наискорейшего спуска предписывает вести поиск в направлении, противоположном градиенту целевой функции
|
|
|
9k = — Vr/(xjfc_i); |
|
|
(5.13) |
||||
hk выбирается по способу оптимального шага. |
|
|
||||||||
|
В задачах безусловной оптимизации известно большое чи- |
|||||||||
сло и других методов, например |
методы |
сопряженных |
гра- |
|||||||
диентов, |
сопряженных |
направлений, |
переменной метрики [72, |
|||||||
80, |
113]. |
|
|
|
|
|
|
|
|
|
|
Более сложными для решения являются задачи условной |
|||||||||
оптимизации. При их решении применяются методы |
штраф- |
|||||||||
ных функций, барьерных |
функций, |
проекции |
градиента |
[80]. |
||||||
|
Следует также остановиться на задаче |
дискретной |
опти- |
|||||||
мизации, |
когда поиск оптимального решения ведется по счет- |
|||||||||
ному (конечному) |
множеству |
точек. |
Здесь известны |
такие |
||||||
методы, |
как метод |
локальной |
оптимизации, |
метод |
ветвей и |
|||||
границ и ряд других. |
|
|
|
|
|
|
|
|||
|
П р и м е р 5.1.1. В качестве иллюстративного примера рас- |
смотрим задачу нахождения экстремума функции двух переменных и ее решение с помощью пакета MATLAB.
Рис. 5.1. Линии равного уровня (а) и график функции Розенброка (6).
К стандартным программам решения типовых оптимизационных задач предъявляются достаточно серьезные требования по эффективности и удобству использования. Лля сравнения эффективности различных алгоритмов оптимизации разработан ряд тестовых задач [80]. Одной из них явля-
177
ется задача минимизации функции Розенброка [113]
f{x) = 100 (х2 - х2) |
2 + (1 - x j 2 , |
х€7г |
2 , |
(5.14) |
при начальном значении I ° = |
[-1.2,1] . Функция |
(5.14) |
ПЛОХО |
|
обусловлена (число ее обусловленности /х = 2500), 1 |
невы- |
|||
пуклая, имеет параболический овраг (рис. |
5.1). Нетрудно |
убедиться, что минимум функции Розенброка лежит в точке
= (i,i).
Пакет MATLAB имеет развитую библиотеку процедур поиска экстремума. Так, имеется тулбокс OPTIMIZATION, версия 2.0 которого содержит около пятнадцати процедур решения задач условной и безусловной минимизации, в том числе и для векторных целевых функций. Ряд оптимизационных программ включен также в "NAG Foundation Toolbox", являющийся библиотекой процедур численных и статистических методов. Наиболее простой и обычной для использования является процедура fmins, входящая в библиотеку основных функций системы (тулбокс MATLAB). 2 Рассмотрим использование этой процедуры для решения задачи минимизации функции (5.14).
Пользователь должен составить rn-функцию, вычисляющую значение /(х). Лля рассматриваемой задачи эта функция может иметь вид:
function f=frose(x)
f=100*(x(2)-x(l)~2)~2+(l-x(l)~2);
Запишем эту функцию в файл под именем frose.m. Составим теперь головную программу, в которой указаны
начальные значения параметров и содержится обращение к процедуре fmins:
х0= [ - 1 . 2, 1]; x=fmins('frose',х0)
1 Обусловленностью точки минимума х* функции /(х) называется чи-
сло /i = Ш (sup ||i - х"||2/ inf ||i - хт\\Л |
, где 1Ь = {х : /(х) = Дх*)+6}, |
\xGLt |
/ |
[80]. Значение /1 характеризует степень вытянутости линий уровня /(х) в окрестности экстремума х*.
2 В новых версиях пакета эта процедура заменяется аналогичной fminsearch.
178
результаты решения задачи представлены на рис. 5.1, 5.2 в виде траектории процесса поиска экстремума, значений целевой функции /(х) и расстояния до точки оптимума R(x) = = ||х — х*|| в зависимости от номера шага (итерации) к.
В результате вычислений получено значение 6х = х — х* « «[2.2 • 10"5,4.2 • 10-*]т за число итераций N = 159. 1 Начальное значение /(х°) = 24.2, найденное значение /(х^)«8 . 2 • Ю~10.
Рис. 5.2. Значения функции /(х*) (а) и расстояния Я(х*) до точки экстремума (б) в процессе оптимизации.
5.2.Задачи структурного синтеза систем
Эти задачи являются наиболее сложными с точки зрения формализации. Сейчас наблюдается интенсивное развитие методов дискретной математики и их внедрение в практику проектирования, но в большинстве случаев основную роль при структурном проектировании играет по-прежнему человек [72].
5.2.1.Классификация задач синтеза
Задача синтеза включает в себя:
- структурный синтез - создание структуры проектируемого устойства;
- параметрический синтез - расчет его параметров.
1 По данным работы [80], близкие результаты получены так называе-
мым методом Пауэлла [72, 80, 97, 113].
179
Параметрический синтез обычно выполняют с помощью описанных выше методов оптимизации с учетом того, что в ряде оптимизационных задач приходится прибегать к специальным методам дискретного программирования.
Близкие к структурному синтезу задачи возникают в конструировании при выборе профиля детали, например формы крыла. Такие задачи обычно сводятся к задачам параметрической оптимизации, если произвести разбиение профиля на некоторое число участков и в качестве элементов вектора X использовать координаты избранных точек поверхности.
Структура объектов определяется природой элементов и способом их связи между собой. Здесь речь идет о межэлементных связях - функциональных, информационных, кинематических, электрических, либо о взаимном расположении элементов в пространстве, если речь идет о пространственной конструкции. В общем случае синтез структуры является задачей выбора некоторого варианта, представляющего собой элемент не более чем счетного множества. Если число вариантов конечно, то такая задача называется комбинаторной. Иерархичность синтезируемой структуры представляется деревом технических решений. Проведению синтеза помогает декомпозиция процедуры синтеза, что приводит к сокращению вариантов для перебора. Декомпозиция процедур синтеза целесообразна также в рамках разделения процесса проектирования на этапы предварительного, эскизного и технического проектирования.
Сложность задачи синтеза отождествляется со сложностью ее решения.
К уровню 1 сложности относят наиболее простые задачи; собственно синтез отсутствует, так как структура либо задана, либо очевидна.
Уровень 2 сложности синтеза - это выбор нужного варианта из конечного множества, причем все элементы этого множества заранее известны и их количество невелико.
К уровню 3 сложности относят задачи выбора во множестве с большим, но конечным числом вариантов при условии, что число вариантов и сами варианты заранее известны.
К уровню 4 сложности относят задачи выбора варианта во множестве с заранее неизвестным числом элементов или вообще в бесконечном множестве.
180
К уровню 5 сложности относят задачи, решение которых возможно только на уровне открытий, т.е. планировать их решение нельзя.
5.2.2.Подходы к решению задач структурного синтеза
формализация задач структурного синтеза возможна на основе следующих подходов [72]:
-перебор вариантов из архива типовых структур;
-перебор вариантов, генерируемых из библиотечных элементов;
-последовательный синтез;
-выделение варианта из обобщенной структуры;
-использование эвристических приемов;
-сведение задачи синтеза к задаче дискретного математического программирования;
-использование специфических особенностей предметной области.
Решение задачи синтеза в рамках любого подхода обычно имеет поисковый характер. Как правило, на каждом шаге поиска выполняются следующие процедуры: 1 - выбор или генерация очередного варианта; 2 - оценка варианта; 3 - принятие решения о дальнейших действиях.
Основные действия по синтезу структуры выполняются в первой из этих процедур. Результат выполнения первой процедуры, полученный на очередном шаге, может быть использован для замены или модификации результатов предыдущих шагов.
5.3.Методы и алгоритмы структурного синтеза
Метод полного перебора допустим для задач второго уровня сложности. При реализации полного перебора необходимо упорядочить множество исследуемых вариантов, чтобы исключить возможность пропуска вариантов или анализа одних и тех же вариантов более чем по одному разу.
Метод ветвей и границ: на каждом шаге поиска вместо оценки отдельного варианта осуществляется оценка группы вариантов. Если результат такой оценки отрицателен, то вместо одного варианта исключается группа вариантов, что существенно уменьшает число шагов поиска.
181
Метод И-ИЛИ-дерева реализует идею выделения варианта из обобщенной структуры [72].
При описании структуры объекта в виде дерева элементы представляются ветвями, причем элементы одного уровня входят в один ярус ветвей. Каждый элемент первого уровня представляется как система, состоящяя из элементов второго уровня. С помощью ветвей также изображаются признаки элементов. (Ветви, соответствующие признакам элементов помечаются, например, буквой "П"). И-ИЛИ-дерево получается путем объединения отдельных деревьев, описывающих конкретные варианты структуры. Если в объединяемых деревьях встречаются ветви одинаковых признаков или элементов, то в И-ИЛИ-дереве эти ветви изображаются без дублирования. Если в объединяемых деревьях содержатся ветви разных признаков или элементов, то каждый из них в И-ИЛИ-дереве изображается самостоятельной ветвью. Эти ветви могут быть инцидентными узлам двух типов - И или ИЛИ. К узлам типа И Л И подключаются ветви, соответствующие альтернативным вариантам, которые могут одновременно присутствовать в конкретной структуре. В базу данных, содержащую сведения об И-ИЛИ-дереве, должны быть включены данные об условях использования элементов и признаков обобщенной структуры. Эти условия представляются в форме, допускающей их сопоставление с требованиями конкретных технических заданий. На основе такого сопоставления происходит выделение частной структуры из обобщенной. Если в выделенной структуре к какому-либо узлу типа И Л И подключено более одной ветви из одного и того же яруса, то имеющееся техническое задание может быть выполнено с помощью более чем одного варианта структуры.
Данный способ представления знаний о структуре проектируемого изделия находит широкое применение при постро-
ении экспертных |
систем. |
В алгоритмах |
последовательного синтеза выбирается не- |
который начальный элемент, к которому поочередно по определенным правилам добавляются новые элементы вплоть до образования законченной структуры. Примером такого алгоритма является последовательный алгоритм компоновки
электронных устройств.