Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Системные принципы проектирования.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
10.02 Mб
Скачать

4.3.1. Сведения о методах нахождения оптимальных решений.

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

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

где х — перемещение откатных частей; М0 — масса откатных частей; тпр— масса механизмов автоматики, приведенная к массе откатных частей; Ркнсила действия пороховых газов на дно канала ствола; R — приведенная сила сопротивления движению откатных частей.

Целевая функция (критерий оптимизации)F = F (х, у, и, a t), где х,у-параметры состояния системы; и — параметры управления системы; а -неуправляемые параметры; t—независимая переменная (время). Примеры целевой функции:

1.F=

где - безразмерный коэффициент чувствительности.

2. F= (max Ф) min,

где max Ф -максимальное значение силы гидравлического сопротивления.

Ограничения: х, у Х G, Gy; и Gu; a G a, где Gx, Gy, Gu, Ga-области ограничений на соответствующие параметры.

Примеры функции управления и:

  1. u1 =Pкн(t); u.2=R(x,dx/dt,t);

  2. и = R(x, dx/dt, t);

  1. и=a(х) (переменная площадь отверстия истечения жидкости).

Примеры неуправляемых параметров α:

Р н0—начальное усилие поджатия пружины накатника;

сн— жесткость пружины накатника;

D0 — внутренний диаметрцилиндра тормоза отката;

l — длина веретена тормоза отката и т. п.

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

Аналитические — это дифференциальное и вариационное исчисление, принцип максимума Понтрягина.

Численные— это линейное, нелинейное и динамическое программирование, методы регулярного и случайного поиска.

Для использования аналитических методов необходимо, чтобы расчетная формула критерия, ограничения и связи между координатами, управлениями и независимой переменной, а также начальные и конечные условия были представлены в форме функций, которые должны быть, по крайней мере, один раз дифференцируемы и иметь конечное число точек разрывов. При этом, для использования классических методов (дифференциального и вариационного исчисления) обязательно отсутствие ограничений. Если имеются ограничения и управление является функцией независимых переменных а модель представляет собой набор аналитических зависимостей, то может применяться принцип максимума Понтрягина, являющийся развитием и обобщением задач вариационного исчисления. Этот принцип позволяет решать задачи при наличии ограничений на управления и при любыхсвязях между переменными (в том числе и неголономных, т.е. включающих производные).

Дифференциальное исчисление оперирует известными методами анализа экстремальных значений функций.

Вариационное исчисление изучает методы нахождения экстремума функционалов. Пусть Ω — множество функции и каждой функции φ(х), принадлежащей Ω(φ(x) Ω), поставлено в соответствие определенное число. Тогда говорят, что на множестве Ω задан функционал. Общей задачей вариационного исчисления является задача максимизации или минимизации функционала вида

J(y)=

где х, у(х), z(x) связаны дифференциальным уравнением

В качестве задачи на нахождение оптимальных значений параметров управления с использованием принципа максимума, разработанного Л. С. Понтрягиным, можно рассмотреть приведенный ранее пример, относящийся к процессу движения откатных частей. Предполагается наличие всех условий, выполнение которых необходимо для применения аналитических методов, и введение функции цели в виде F= При этом R(x) рассматривается как управление.

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

При этом, если критерий (целевая функция) представляет собой линейную функцию управлений, а управления (переменные) подчинены линейным ограничениям, то имеет место задача линейного программирования. Например: минимизировать при условиях

; = bi (i = ).

Для решения задачи линейного программирования разработано много методов, как конечных (гарантирующих нахождение точного решения за конечное число шагов), так и итеративных (гарантирующих лишь приближенное решение задачи).

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

Если к Хк предъявляются требования целочисленности, то используются разработанные алгоритмы решения: методы Гомори и Балоши. В случае, если F = (x1.. .. xk), где на F не наложено требование линейности, имеет место задача нелинейного программирования. Нелинейное программирование разделяется на выпуклое и невыпуклое. Если функция цели F — выпуклая (вниз) функция своих переменных, а ограничения определяют выпуклое множество, то это задача выпуклого программирования. Основная особенность заключается в том, что ее локальные экстремумы совпадают с глобальным экстремумом (одноэкстремальная задача). В задачах невыпуклого программирования локальный экстремум достигается, как правило, в большом количестве точек (многоэкстремальная задача). Пример задачи нелинейного программирования— задача распределения Nop орудий по Nц различным целям, где Р —вероятность поражения j-й цели i-м орудием при закреплении его за этой целью; — числа, характеризующие план распределения и принимающие значение 1, если i-e средство закрепляется за j-й целью, и значение 0 в противном случае; ограничения: Xij 0, Хij — целые

Необходимо обратить в максимум математическое ожидание ущерба, наносимого противнику:

F=

где -вероятность поражения j-й цели; Cj — важность j-й цели.

Функция F не линейна по переменным Хij и невыпукла. Хотя сформулированная задача является целочисленной, ее можно рассматривать и как непрерывную, если номеру i соответствует не одно орудие, а целая батарея из орудий.

Алгоритмы решения на ЭВМ. задач нелинейного программирования разработаны для случаев, когда: F— дважды дифференцируемая; F— вогнутая, ограничения тоже вогнутые функции; F — полином 2-й степени, а ограничения линейны. Для решения задач нелинейного программирования используются методы поиска.

Рассмотренные методы линейного и нелинейного программирования относятся к одношаговым процедурам оптимизации. Для исследования многоэтапных процессов используется динамическое программирование. Особенности таких задач следующие: задача должна допускать возможность интерпретировать ее как k-шаговый процесс принятия решений; решение для k-шаговой задачи получается из решения (k—1)-шаговой задачи путем добавления k-го шага и исполь­зования результата, полученного для (k—1) шагов. Выбор значения управляющей переменной на kи в k-шаговом процессе не должен влиять на предшествующие (k—1) шаги. Если эти условия выполнены, то решение k-шаговой задачи может быть сведено к решению следующей последовательности задач: сначала одношаговой, потом двухшаговой, трсхшаговой и вплоть до k-шаговой. В качестве примера задачи динамического программирования может быть рассмотрено, например оптимальное распределение допусков.

Исходные сведения:

Известной предполагается зависимость выходного параметра системы х = x( ) от конструктивных параметров элементов (i = );

D(x) = — дисперсия системного параметра;

— среднее квадратическое отклонение эксплуатационного допуска io параметра элемента;

— минимальное значение среднего квадратического отклонения параметра элемента, которое может быть достигнуто на современном этапе развития техники (ограничение по минимальному разбросу параметров);

( - < < + )—вероятность нахождения случайного параметра в указанном диапазоне;

( < < + ) —вероятность нахождения случайного параметра с в том же диапазоне;

( ) = ( - < < + )- ( - ) -общая вероятность выигрыша по запасу допуска i-го параметра (для получения наибольшего запаса по необходимо подобрать такое его наибольшее значение, при условии соблюдения соотношения, связывающего и а, чтобы веро­ятность была минимальной, а вероятность —максимальной).

Так как в целом системный параметр связан с параметрами элементов, и для обеспечения заданной надежности должна быть соблюдена заданная дисперсия, то общий максимум выигрыша но запасу допусков может быть выполнен, если

F=L( )= max обратится в максимум.

Ограничения: 0.

В качестве этапов выбираются этапы, связанные с количеством участвующих в решении параметров элементов (на первом этапе предполагается, что весь «запас» допуска системы использован только на один элемент (любой), на втором - на два и т.д. и что в это время остальные элементы , абсолютно стабильны). Сначала некоторое «количество» допуска в пределах (0, х) назначается n-му процессу, затем (n—1)- му и т.д.; тем самым вводится динамический процесс распределения. На каждом этапе отыскивается условное оптимальное управление(при всевозможных предположениях о результатах предыдущего шага), а затем, когда процесс доведен до нулевого состояния, снова повторяется вся последовательность шагов, но уже из множества условных оптимальных управлений выбирается одно.

Методы поиска (регулярного или случайного) могут быть применены для решения любой одноэтапной задачи матема­тического программирования. Возможности этих методов ограничены трудоемкостью расчетов.

Под регулярным (детерминированным) алгоритмом поиска подразумевается такая система действий, которая строго предопределяется сложившейся ситуацией. Существует много методов регулярной оптимизации многопараметрических систем. Для методов поиска обязательно наличие ограничений.

Метод сканирования (слепой поиск)— это последовательный перебор состояний из множества допустимых . При этом запоминается наименьшее значение функции качества и состояние, приведшее к этому наименьшему значению. В соответствии с алгоритмом это состояние заменяется другим только в случае, если новое значение показателя качества окажется меньше, чем значение, хранимое в памяти.

При работе но методу сканирования всегда находится глобальный экстремум. Это достоинство часто заставляет обращаться к сканированию, несмотря на его неэкономичность.

Метод поочередного изменения параметров (метод ГуассаЗейделя) — это поочередная оптимизация по каждому регулируемому параметру объекта. Сначала оптимизация производится по одному параметру, затем переходят ко второму и так далее до тех пор, пока функция качества не перестает уменьшаться. Метод плохо работает в районе «оврага».

Метод градиента. Система побуждается к движению в антиградиентном направлении, т. е. в направлении, обратном вектору градиента функции качества: F = F ,

grad F=

Вектор градиента определяет направление наибольшего возрастания функции качества. Поэтому этот метод является оптимальным в том случае, если он стимулирует движение системы в наилучшем направлении. Поиск по методу гради­ента разбивается на два этапа. На первом этапе определяются составляющие градиента , на втором — система делает рабочий шаг, т. е. смещается в направлении, обратном градиенту: =

где у— параметр длины рабочего шага.

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

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

Метод тяжелого шарика (учитывает предысторию поиска). Вводится «инерция» в процессе поиска, которая отражает осредненное ближайшее прошлое. Поиск, таким образом, становится глобальным. Набрав скорость в определенном направлении, система за счет инерции может «проскальзывать» локальные экстремумы и, следовательно, способна попасть в наименьший из них.

В применении градиентных методов имеются существенные трудности:

‑ предполагается гладкость функции F, т. е. существование у нее частных производных во всех точках, что практически не всегда реально;

‑ даже если градиент существует, его вычисление может оказаться слишком трудоемким.

Случайный поиск. Преимущества методов случайного поиска перед регулярными возрастают по мере увеличения сложности (размерности) функционала (процесса) и по мере уменьшения требуемой точности отыскания экстремума. Методы не зависят от вида оптимизируемой функции.

Слепой поиск. После выполнения п шагов из всего множествазначений функций выбирается наименьшее.

Последовательный поиск. Сущность метода заключается в следующем. Из точки у в заданной области изменения параметров делаются случайно направленные пробные перемещения. Если в результате найдена точка, лежащая в данной области, причем такая, что в ней значение функции качества F больше, чем в точке у, то в этом случае переходят в найденную новую точку. Если не удается найти точку лучшую, чем у, а количество неудачных попыток достигло некоторой заранее заданной величины, тогда уменьшается шаг пробных перемещений и поиск лучшей точки продолжается, но уже в меньшей окрестности точки у. В конце концов либо отыскивается точка лучше, чем у, либо шаг поиска становится меньше некоторого минимального шага, и тогда можно считать, что искомый максимум находится в точке у. Для составления алгоритма случайного поиска используется понятие m-мерного случайного вектора, отдельные реализации которого направлены равновероятно во всех направлениях пространства параметров, т.е. ξ= , где случайные равномерно распределенные числа в интервале (—1-:-1). Алгоритм случайного поиска с возвратом записывается следующим образом: , где

при

-

— минимальное значение функции качества за i—1 шагов поиска; Fi— значение функции качества на i-u шаге поиска; р— количество неудачных попыток, следующих друг за другом; ро — количество допустимых неудачных попыток, .следующих друг за другом; — вектор масштаба;

При Fi > количество неудачных попыток р = 0. При вычисления прекращаются.

Адаптивный поиск (с обучением). Рассматривается один из возможных алгоритмов поиска с обучением. Пусть - область изменения параметров — ограничения на выходные переменные; F= F( )— функция цели. Нужно найти такое *, чтобы F( *) = minF( ) при , , mln < < шах. Или, произведя нормирование переменных,

;

найти

Пусть ξ= —случайный вектор, координаты которого равномерно распределены в интервале [0,1] и связана с ξ некоторым законом ξ= ξ( ). Использование обучения состоит в следующем: весь процесс поиска разбивается на m шагов, на каждом из которых производится реализаций (i— номер шага).

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

В качестве ξ( ) может быть использована функция, представленная на рис. 4.7:

предполагаемое значение j-й координаты абсолютного min; 1/2 интервала, в котором поиск осуществляется с наибольшей интенсивностью; — интенсивность поиска в интервале; — интенсивность поиска в оставшейся области. На каждом шаге поиска, в зависимости от полученной информации, определяется , 2r и Н. При этом, для каждой координаты

, если 0

Начальные данные для 1 шага: H= h= 1, r = = 0,5; i-м шаге r= 0,5/1,5; и min F( ).

Чтобы не выйти за пределы интервала поиска, нужно иметь H= Причем, если =1- r.

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

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

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

Формулировка задач оптимизации в терминах математического программирования

Формулировка задач оптимизации в терминах математического программирования предполагает, прежде, всего, четкую классификацию параметров, на которых построены математические модели оптимизируемых объектов. При этом различают три характерные группы параметров.

  1. Конструктивные параметры. Это независимые друг от друга (или слабо зависимые, взаимной зависимостью которых можно пренебречь) конструктивно настраиваемые, переменные. В процессе проектирования стремятся выбрать численные значения этих параметров так, чтобы наилучшим образом удовлетворить техническим требованиям, предъявляемым к конструкции. Указанные переменные, таким образом, можно изменять воздействуя тем самым па выходные свой­ства проектируемой конструкции в желаемом направлении. На конструктивные параметры, как правило, накладываются двусторонние ограничения, обусловленные конструктивно-компоновочной, технологической или эксплуатационной осуществимостью проектируемого объекта.

  2. Параметры состояния. Это выходные свойства конструкции, ее отклик. Они характеризуют поведение. объекта. Параметры состояния регламентируются техническими требованиями. Последние представляются в виде односторонних или двусторонних ограничений на параметры состояния.

  3. Параметры внешней среды. Это независимые друг от друга (или слабо зависимые, взаимной зависимостью которых можно пренебречь) параметры, характеризующие среду, в которой протекает жизненный цикл проектируемого объекта. Параметры среды, так же, как и конструктивные параметры, определяют его поведение. Параметры среды обычно задаются на некотором интервале в виде двусторонних ограничений. К числу подобного рода параметров относят и промежуток времени, в котором развиваются анализируемые процессы, режимы функционирования объекта и т. п. Одной из особенностей свойств внешней среды является то, что они могут быть случайными факторами. В процессе анализа поведения конструкции пытаются найти такие значения параметров внешней среды, при которых конструкция проявляет свои предельные состояния.

Конструктивно-настраиваемые параметры и параметры состояния определяют объект проектирования, а параметры среды — внешние условия, в которых этот объект находится.

Обозначим вектором х=( ) —конструктивно-настраиваемые параметры, вектором g = ) — параметры состояния, а вектором у= ) —параметры среды, где п, m, l — общее число учитываемых параметров.

Поскольку конструктивно-настраиваемые параметры и внешние факторы играют роль независимых переменных, а параметры состояния зависимы от них, то для детерминированных моделей функционирования проектируемого объекта g = g(x), а для стохастических моделей вероятностной природы g = g(x, у). При этом в задачах параметрического синтеза в роли параметров управления (оптимизируемых параметров) выступают конструктивно-настраиваемые переменные х, а в задачах анализа — переменные внешней среды у.

Нахождение наилучшего решения при детермированном синтезе конструкции связано с решением задачи математического программирования: найти такие значения конструктивно-настраиваемых параметров которые минимизируют или максимизируют критерий (целевую функцию) Q ( ) в области R, определяемой ограничениями.

min {Q(x) : gt(x) < О, i = 1, т; , j = 1, п}.

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

Эта задача относится к классу задач нелинейного невыпуклого программирования, поскольку Q(x) и g(x) в моделях функционирования орудий представляются обычно неяв­ными нелинейными, невыпуклыми (многоэкстремальными) функциями параметров х.

Как уже отмечалось, задача синтеза конструкции сопряжена с поиском наилучших решений одновременно по нескольким противоречивым показателям Qi(x). Оптимизация по каждому из них приводит к различным значениям управляемых переменных х. Векторный критерий оптимальности Q( х ) = ( (x), ..., (x)) приходится при этом свертывать, конструируя с помощью приведенных ранее компромиссов скалярные функции Q(x) = f(Ql(x), ..., Qn(x)).

Рассмотрим, на примере аддитивного критерия возможные подходы к объединению частных критериев в обобщенный скалярный критерий. Для количественно соизмеримых критериев обобщенный скалярный критерий получается как взвешенная сумма:

Q(x)=

Где

Размерность весовых коэффициентов такова, что в числителе стоит общая размерность, а в знаменателе — размерность соответствующего критерия .

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

Qk* = min , x R.

В этом случае аддитивный критерий имеет вид

Q(x)=

В первом случае Q(x) объединяет частные критерии в одной размерности, а во втором случае приводит эти критерии, кроме того, и к общему началу отсчета.

Недостатком метода взвешенных сумм является то, что компромиссное решение, оптимальное по критерию Q{x), может оказаться неудовлетворительным по некоторым из частных критериев . В связи с этим приходится вводить дополнительные ограничения на частные критерии: . Тогда определение эффективного вектора оптимизируемых параметров сведется к решению задачи нелинейного программирования:

minQ(x)

где p — число ограничений на частные критерии.

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

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

Q(x)=

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

Q(x) = max .

Если относительно весовых коэффициентов известно только, что они принадлежат множеству

то обобщенный критерий оптимальности можно ввести следующим образом:

Q (х) = max

или

Q (х) = max

Решение задачи нелинейной оптимизации с такими критериями оптимальности позволяет получить наилучшее гарантированное значение х* для наилучшего сочетания весовых коэффициентов

Как уже отмечалось, из-за наличия внешней среды, характеризуемой довольно широким спектром внешних факторов, артиллерийские орудия как объекты для оптимального анализа и синтеза носят стохастический характер. В этом случае критерии оптимальности и ограничения являются случайными величинами, зависящими от вектора внешних факторов у:

min{Q(x, y):x R;R = (x:gt(x, у) > 0, i= )}.

В нашей задаче в большинстве случаев известно лишь, что у принадлежит некоторой области Ry. Критерий оптимальности здесь назначается из условия обеспечения наилучшего результата в наихудшем по неопределенности y случае:

Q (x) = max { Q (x, у): у Ry; gt (x)=min (gi (x, y): y Ry;i= )}.

Таким образом, приходим к детерминированной минимаксной задаче оптимизации:

min max { Q (х, у): х R; у Ry;R=[x: min gt (x, у)>0,y Ry;i= }.

При известных законах распределения f(y) в качестве критерия оптимальности можно использовать математическое ожидание случайной функции Q(x, у):

Q(x) =M

или квадрат стандартного отклонения значения функции от заданного

уровня

Q(x) = М | [Q (х, у) - Q+]2} =

либо вероятность того, что случайная величина Q{x, у) превысит некоторый

заданный уровень Q-.

Q(x) = p{Q(x, у) >Q-}.

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

— найти вектор управляемых непеременных х, обеспечивающий

min ;

— найти вектор управляемых переменных х, обеспечивающий

min

где 0<p<1 — некоторая заданная вероятность выполнения системы ограничений;

— найти вектор управляемых переменных х, обеспечивающий

max .