Федеральное агентство по образованию Восточно-Сибирский государственный технологический университет Кафедра теоретическо...
55 downloads
334 Views
1MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Федеральное агентство по образованию Восточно-Сибирский государственный технологический университет Кафедра теоретической механики
Методы оптимизации в инженерных расчетах в системе Mathcad
Методические пособие знакомит с методами решения задач оптимизации при выполнении инженерных расчетов с использованием численных методов в системе Mathcad . Методические пособие рассчитано на студентов и преподавателей, использующих методы вычислительной математики для решения профессиональных задач. Ключевые слова: методы оптимизации, программирование, математическая модель.
Методическое пособие для студентов технологических специальностей
Составители: Алексеев А.А. Задевалова Г.Э.
Улан-Удэ 2006
2
нелинейное
Программирование.
ВВЕДЕНИЕ
Алгоритм
решения
задачи
записывается на алгоритмическом языке в какой-либо Решение инженерных и научно-исследовательских задач требует выполнения трудоемких расчетов, которые
системе программирования. Отладка программы. Производится исправление
могут быть выполнены только с помощью компьютера.
ошибок и испытание программы на решении контрольных
Этот процесс можно разбить на несколько этапов.
тестовых
Постановка задачи. На этом этапе осуществляется формулировка содержания и определение конечных целей
для
получения
уверенности
Построение
математической
модели
или
математическая формулировка задачи. Модель должна
достоверности результатов. Проведение расчетов. На этом этапе вводятся
(адекватно)
описывать
основные
законы
отлаженной программе и вывод результатов в удобной для пользователя форме в виде таблиц и графиков. Анализ
результатов.
Результаты
анализируются,
объекта.
техническая документация по данным результатам.
Разработка метод,
численного позволяющий
метода. свести
сопоставляются.
тщательно
присущие физической модели реального процесса или
численный
в
исходные данные для расчетов. Проводится счет по
решения.
правильно
задач
Готовится
научно-
Находится задачу
к
некоторому вычислительному алгоритму.
1. ЗАДАЧА ОПТИМИЗАЦИИ Оптимизация - процесс выбора наилучшего варианта
Разработка алгоритма решения задачи. Процесс
из всех возможных. С точки зрения инженерных расчетов
решения задачи записывается в виде последовательности
методы оптимизации позволяют выбрать наилучший
элементарных арифметических и логических операций,
вариант конструкции, наилучшее распределение ресурсов,
приводящей к конечному результату. Этот алгоритм может
уменьшение затрат материалов, электроэнергии и т.п.
изображаться в виде блок-схемы.
В процессе решения задачи оптимизации обычно необходимо
3
найти
оптимально 4
выгодные
значения
некоторых параметров, определяющих данную задачу. При
6 значения, задаваться в может иметь только дискретные
решении
виде таблицы или может быть вычислена по определенно
инженерных
задач
их
принято
называть
проектными параметрами. В экономических задачах их
установленному правилу.
называют параметрами плана. В качестве
В зависимости от различных дополнительных
проектных параметров могут быть
условий задачи оптимизации делятся на две группы.
значения линейных величин, массы, температуры и т.п.
Задача
безусловной
оптимизации
состоит
в
Число проектных параметров характеризует размерность
отыскании максимума (или минимума) целевой функции
задачи оптимизации.
от
Выбор оптимального решения или сравнение двух альтернативных
решений
производится
с
помощью
n
действительных
переменных
и
определении
соответствующих значений аргументов на некотором множестве G n-мерного пространства. Эти ограничения
некоторой зависимой величины (функции), определяемой
задаются
проектными параметрами, которая называется целевой
удовлетворяющих равенствам или неравенствам.
функцией. Она является критерием качества.
совокупностью
некоторых
функций,
Задача условной оптимизации содержит некоторые
В процессе решения задачи оптимизации должны
ограничения по независимым переменным на множестве G.
быть найдены такие значения проектных параметров, при
Эти ограничения задаются совокупностью некоторых
которых целевая функция имеет минимум (или максимум).
функций, удовлетворяющих равенствам или неравенствам.
Таким образом, целевая функция является глобальным
Ограничения-равенства выражают зависимость между
критерием оптимальности в математических моделях, с
проектными параметрами, которая должна учитываться
помощью
при нахождении решения. Эти ограничения отражают
которой
описываются
инженерные
или
экономические задачи.
законы
u = f(х1 ,х2 ,...,хn ) - целевая функция
(1)
Следует отметить, что целевая функция не всегда
природы,
требования устанавливают
и
наличие т.п.
менее
ресурсов,
финансовые
Ограничения-неравенства жесткие
зависимости
между
может быть представлена в виде формулы. Иногда она
проектными параметрами, позволяя им в некоторой части
5
6
8 области G оставаться независимыми, а в остальной части
области проектирования, т.е. определяется глобальный
проявляется их зависимость друг от друга.
минимум.
В
результате
введенных
ограничений
область
проектирования G, определяемая всеми n проектными
2. МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ ОПТИМИЗАЦИИ
параметрами, может быть существенно уменьшена в соответствии с физической сущностью задачи. Число
m
ограничений-равенств
может
быть Методы
произвольным. Они записываются в виде:
и
представляет
собой
процедуру
поиска
экстремума функции многих переменных, каковой и является целевая функция (1). Необходимым условием существования экстремума является равенство нулю всех
(3)
первых производных по всем независимым переменным или
в
отыскании
минимума целевой функции при наличии ограничений. Оптимальное решение здесь может соответствовать либо локальному экстремуму внутри области G, либо значению целевой функции на границе области G. Если ограничения
проектным
параметрам.
Достаточным
условием
существования экстремума целевой функции является положительная
или
отрицательная
определенность
матрицы-Гессиана, составленной из вторых производных. Таким образом, сначала необходимо решить систему нелинейных уравнений:
отсутствуют, то находится оптимальное решение на всей 7
можно
Этот метод заимствован из классического математического анализа
s1( x1 , x2 ,..., xn )〈b1 s2 ( x1 , x2 ,..., xn )〈b2 .......................... sk ( x1 , x2 ,..., xn )〈bk особенность
оптимизации
2.1 Классический метод
(2)
Аналогично вводятся k ограничений - неравенств:
отметить
задач
разделить на три группы.
g1 ( x1 , x2 ,..., xn ) = 0 g 2 ( x1 , x2 ,..., x3 ) = 0 ............................ g m ( x1 , x2 ,..., xn ) = 0
Следует
решения
8
определенности матрицы (5) целевая функция имеет
du =0 dx1 du =0 dx2 ............ du =0 dxn
максимум. Этот метод используется в случае, когда целевая (4)
функция является независимые
значения проектных параметров х1 , х2 ,..., хn.. При этих значениях целевая функция достигает максимума или экстремума,
Для
того,
необходимо
чтобы
определить
оценить
параметры
дифференцируемой
не
накладывается
и на никаких
ограничений.
Решение этой системы нелинейных уравнений -
минимума.
дважды
Гессиан
характер целевой
функции:
d 2u d 2u d 2u ...... dx1dxn dx1dx1 dx1dx2 d 2u d 2u d 2u ...... Ges = dx2 dx1 dx2 dx2 dx2 dxn ........................................ 2 d 2u d 2u d u ...... dxn dxn dxn dx1 dx2 dx2
2.2 Прямые методы
Прямые методы поиска экстремума целевой функции используют значения самой функции в фиксированных точках пространства параметров G. Главная идея этих методов состоит в том, что продвижение в пространстве параметров
осуществляется
небольшими
шагами
по
прямой, направленной в сторону наклона гиперплоскости, которая строится на n+ 1 точках, называемых симплексом (5)
данного
пространства
пространстве постоянно
G.
параметров,
изменяется
По
мере
продвижения
положение
и,
в
гиперплоскости
следовательно,
изменяется
направление движения.
Матрица (5) будет положительно-определенной, если
В качестве упрощенного аналога этого процесса
все главные миноры будут положительны, в этом случае
можно привести пример шарика, расположенного на
целевая функция имеет минимум. В случае отрицательной
наклонной определяется
9
плоскости. тремя
Положение
самой
точками,
соответствующими
10
плоскости
значениям целевой функции в трех точках - вершинах
(n+1)-й вершинах симплекса и перемещении симплекса в
треугольного симплекса. Шарик начнет движение в
направлении
сторону
помощью итерационной процедуры, которая использует 12 три основные операции: отражение, растяжение и сжатие.
наклона
продвижения
плоскости,
будет
однако
изменяться
по
мере
положение
его
самой
плоскости, т.к. при изменении параметров изменяются
точки
минимума
целевой
1. Найдем значения целевой функции в вершинах
каждым шагом будет опускаться все ниже и ниже. По мере
симплекса, тогда будем иметь:
приближения
к
u1 = f ( A1 ), u2 = f ( A2 ),..., un +1 = f ( An +1 )
положение
плоскости
минимума будет
целевой
функции,
приближаться
к
минимума
целевой
функции,
остановится
на
2.
Такая процедура реализована в симплекс-методе
Из
всех
значений
ui (i = 1,2,..., n + 1) выберем следующие: uh -
горизонтальной плоскости.
(6)
где A1 , A2 ,..., An +1 - вершины симплекса.
горизонтальному, вследствие чего шарик будет опускаться все медленнее и медленнее и, наконец, достигнув точки
с
Рассмотрим данную процедуру подробно по шагам.
значения самой целевой функции. Таким образом, шарик с точке
функции
наибольшее из всех значений (6)
целевой функции,
Нелдера-Мида, который является достаточно надежным
u g - следующее по величине значение целевой функции
при n меньше или равным шести. Рассмотрим в основных
после uh .
чертах алгоритм этого метода. Регулярным
симплексом
в
n-мерном
пространстве
называется множество n+1 равноудаленных точек. В двумерном пространстве, т.е. на плоскости, регулярным симплексом является равносторонний треугольник, а в трехмерном пространстве - правильный тетраэдр и т.д. Идея метода
ul - наименьшее из всех значений (6). Этим трем значениям целевой функции соответствуют точки xh , xg , xl , где X = ( x1 , x 2 ,..., x n ) .
3. Исключив из множества Ai , (i = 1,2,...,n+1), точку xh , найдем "среднюю" точку по формуле:
состоит в сравнении значений функции в 11
12
x0 =
1 ∑ xi , (i ≠ h) n i
в которой было достигнуто уменьшение значения целевой
(7)
функции. Здесь опять нужно проверить сходимость к
и вычислим значение функции f ( x 0 ) = f 0
минимуму, и если она достигнута, перейти на 3.
4. Проведем прямую через точки x h и x0 ; на этой
x r является лучшей точкой по сравнению с другими двумя
прямой возьмем точку xr по формуле: x r = (1 + a) ⋅ x0 − a ⋅ x h
(8)
точками симплекса и тогда следует точку x h заменить на
и в этой точке вычислим значение целевой функции f ( xr ) = f r .
точку x r ,и если сходимость достигнута, перейти на 2. 5.3 Если f r больше f h и f g , то перейдем на 6.
5. Сравним значения функций f r и f l . 5.1
5.2 Если f r больше f l , но f r меньше и равно f g , то
Если
fr
меньше
fl ,
то
мы
6. Сравним значения функций f r и f h . получили
наименьшее значение функции в точке x r .Значит нам надо продвигаться от точки x0 в сторону x r до точки xe , которую найдем по формуле: xe = b ⋅ x r + (1 − b) ⋅ x0
(9)
5.1.1 Если f e меньше f l , то заменяем точку x h на x e и проверяем процесс на сходимость к минимуму. Если сходимость достигнута, то процесс останавливаем, если
6.1 Если f r больше f h , то переходим к 6.2. Если f r меньше f h , то заменяем точку x h на x r и значение функции
fh ,
на
f r .Запоминаем
значение
f r ,больше чем f g из пункта 5.2 и переходим на 6.2.
6.2 В этом случае f r больше f h , поэтому ясно, что мы продвинулись слишком далеко вдоль по прямой
x h − x0 , очевидно здесь необходимо сделать шаг назад в точку xc по формуле:
нет - то переходим на 5.1.2. 5.1.2 Если f e больше f l , то отбрасываем точку xe . Теперь мы продвинулись достаточно далеко от точки x0 к
xc = d ⋅ x h + (1 − d ) ⋅ x0 О‹ d ‹1 - коэффициент сжатия.
точке x r , поэтому следует заменить точку x h на точку x r , 13
функции
14
(10)
Если f r меньше f h , то сначала заменим точку x h на
9. Проверка сходимости основана на том, чтобы
точку x r , а затем произведем сжатие, т.е. продвинемся
стандартное отклонение целевой функции в (n+ 1)- ой вершине симплекса от средне-квадратическогo по другим
назад в новую точку по формуле:
xc = d ⋅ x r + d ⋅ (1 − d ) ⋅ x0
вершинам было меньше некоторой заданной малой
(11)
величины. Оценка производится по формулам:
7. Сравниваем значения функций fc и fh.
f sr =
7.1 Если fc меньше f h , то заменяем точку Xh на Хc, и если сходимость достигнута, перейти на 2. 7.2 Если fc больше x h , то очевидно, что мы не добились
уменьшения
целевой
функции,
поэтому
8. На этом шаге мы уменьшаем размеры симплекса пополам
расстояния
i
(13 )
n +1
f f = ( f i − f sr ) /(n + 1)
(14)
Если f f меньше Е, то все значения целевой функции очень близки друг к другу, и поэтому они, возможно, лежат
необходимо перейти к пункту 8. делением
∑f
от
каждой
вершины
симплекса до точки xl , где зафиксировано наименьшее значение целевой функции. Таким образом, точки ai заменяются на новые точки bi по формуле:
вблизи точки минимума. Коэффициенты a,b,d в вышеприведенной процедуре называются соответственно коэффициентами отражения, сжатия
и
рекомендуется
растяжения. задавать
Данным
коэффициентам
следующие
значения:
a=1,b=O.5,d=2.
Начальный симплекс выбирается произвольно, исходя bi = ai +
1 ⋅ ( ai − xl ) 2
(12)
Затем вычисляются значения целевой функции fi в новых вершинах bi, (i = 1,2,…,n+1), проверяем сходимость и, если она не достигнута, переходим на 3. 15
из конкретного содержания решаемой задачи. Точка А1 является исходной, тогда: A2 = A1 + k ⋅ e1 A3 = A1 + k ⋅ e2 ........................ An +1 = A1 + k ⋅ en 16
где k – произвольная постоянная, ei – единичный вектор. Графическая иллюстрация поиска минимума целевой функции,
определяемой
двумя
независимыми
переменными параметрами, представлена на рис l.
спуска, метод сопряженных градиентов и другие их 18 модификации. Общим для этих методов является использование градиента для продвижения в пространстве параметров G. Направление наискорейшего
градиента
возрастания
является
направлением
функции,
следовательно
противоположное направление является направлением наискорейшего убывания функции. В целях упрощения графической иллюстрации сначала рассмотрим целевую функцию двух независимых параметров : u = f ( x1 , x 2 ) Графиком
этой
функции
(15)
является
некоторая
криволинейная поверхность, которая имеет "возвышения" и "впадины". Нашей целью является попадание в одну из "впадин", которая будет по расположению самой низшей по высоте из всех остальных. Координаты самой низкой Рис.1 2.3 Градиентные методы
В этих методах наряду со значениями самой целевой функции используется и ее градиент, и таких методов разработано достаточно много: метод наискорейшего 17
точки этой "впадины" будут являться решением задачи оптимизации. Если
эту
поверхность
рассечь
семейством
горизонтальных плоскостей, расположенных на разных уровнях, то в сечениях будут получены кривые линии, называемые линиями равного уровня, которые тоже образуют семейство замкнутых и разомкнутых кривых 18
20 линий. Форма этих линий характеризует поверхность
шагов,
целевой функции.
либо M 1 , либо M 2 или M 3 .
Градиентом является вектор:
g ( x) =
вектор
–
можем
оказаться
в
точках
Наиболее предпочтительным оказывается попадание в
df df df ⋅ e1 + ⋅ e2 + ... + ⋅ en dx1 dx 2 dx n
где x = ( x1 , x 2 ,..., x n ) –
мы
столбец
(16)
точку М 2 , т.к. значение функции в ней наименьшее. Следующий подобный шаг будет сделан перпендикулярно
независимых
линии уровня в сторону вогнутости, так чтобы из всех
параметров, e1 , e2 ,..., en – единичные векторы,
точек
фиксированной
df df df , ,..., – частные производные целевой функции. dx1 dx 2 dx n
градиента g(M2), была выбрана точка, в которой значение целевой
функции
прямой,
наименьшее.
направленной Такая
против
итерационная
процедура продолжается до тех пор, пока модуль Вектор градиента перпендикулярен к линиям уровня и направлен в сторону выпуклости линии уровня для
приращения функции не станет меньше наперед заданного положительного малого числа.
"впадины" и в сторону вогнутости для "возвышения" (см. рис. 2.). Таким образом, постоянное продвижение против градиента должно привести к решению поставленной задачи; однако, по мере продвижения в пространстве параметров G, градиент меняет свое направление, поэтому необходимо соблюдать разумную стратегию продвижения вдоль
первоначально
фиксированного
направления
градиента в исходной базовой точке, откуда совершается первый шаг. Например, находясь в точке фиксируем
направления
продвижения
по
M 0 , мы прямой,
направленной против градиента g(Mo). Сделав несколько 19
20
Рис.2. Линии уровня и градиент целевой функции
продвижения. Идея этого метода заключается в том, что
Рассмотренный алгоритм позволяет достаточно легко
для
отыскивать
точку
минимума
целевой
функции,
продвижения
в
пространстве
параметров
G
используется скорректированное направление градиента.
поверхность которой имеет выпуклую форму или в таком случае целевая функция является унимодальной. Ситуация осложняется, когда функция не является унимодальной , например ее поверхность имеет "овражную" форму. Линии уровня такой функции приведены на рис. 3. Поверхность такой функции имеет сложную форму: имеется центральное "русло", которое протягивается на большое расстояние, в сочетании с извилинами и, в худшем
случае,
с
очень
небольшим
понижением,
временами переходящими в локальные "впадины". К центральному "руслу" подходят боковые "русла", которые имеют аналогичное строение. Очевидно, что рассмотренная процедура поиска минимума для целевой функции "овражного" типа может оказаться непригодной или могут возникнуть большие проблемы; в лучшем случае могут резко увеличиться Для поиска минимума целевой функции "овражного типа" существует модификация метода наискорейшего с
Начиная с первого шага, по всем параметрам проверяется величина приращения целевой функции и, если она будет меньше определенной величины, то продвижения по этой переменной не должен быть. Причем такая проверка производится с помощью шагов большой величины, что
затраты времени на счет.
спуска
Рис .3. Линии уровня функции "овражного" типа
промежуточной 21
поправкой
направления
позволяет нащупывать направление главного "русла" оврага. Заметим, что в данном случае градиент направлен почти
перпендикулярно
главному 22
"руслу"
овражной
функции,
а
корректировка
направления
градиента
переменную надо зафиксировать или положить еi = О,
позволяет продвигаться вдоль главного "русла" оврага. Дальнейшее направлению
продвижение осуществляется
по
выбранному
постоянными
24 больше наперед заданной конечной величины, то эту
или
переменными возрастающими шагами до тех пор, пока
иначе ei = 1. Тогда скорректированный градиент имеет вид: g ′( X 0 ) =
df df df ⋅ e1′ + ⋅ e′2 + ... + ⋅ e′n dx1 dx 2 dx n
(18)
целевая функция будет убывать. В случае возрастания
4.Начинаем продвижение в направлении противоположном
функции производится шаг назад в предпоследнюю точку.
скорректированному градиенту по формуле:
В этой точке определяется новое направление продвижения, и весь процесс итерационно повторяется снова. Поиск заканчивается, если модуль приращения целевой функции будет меньше наперед заданной малой величины. Рассмотрим
изложенный
алгоритм
детально
по
начальные
значения
Вычислим значение функции fj = f (Xj). 5. Если fj ‹ f0, то j = j+1 и перейдем к пункту 3. Если fj ›f0, то точку Х0 заменим на Хj. Произведем
параметров 6. Проверка на сходимость заключается в следующем. В
X 0 = ( x10 , x 20 ,..., x n 0 ) .
последней точке Хj вычисляется приращение функции от
Вычислим значение функции f 0 = f ( X 0 ).
всех переменных:
2.Определим направление градиента g ( X 0 ). g( X 0 ) =
(19)
проверку на сходимость.
шагам. 1.Введем
X j = X 0 − j ⋅ h ⋅ g ′( X 0 )
df df df ⋅ e1 + ⋅ e2 + ... + ⋅ en dx1 dx 2 dx n
f f = f (X j + H ) − f (X j ) (17)
3.Определяем скорректированное направление градиента.
где Н – вектор – столбец приращений переменной X = ( x1 , x 2 ,..., x n ) .
Для этого каждой переменной xi даем большое приращение di по отдельности и, если приращение функции будет 23
(20)
24
7. Если ff меньше eps – наперед заданной малой величины,
а)
то процесс завершаем. Если ff больше eps, то перейдем к
неопределенный
пункту 2.
1,2,…,m). б)
3. ВСПОМОГАТЕЛЬНЫЕ МЕТОДЫ РЕШЕНИЯ
Решение задачи безусловной оптимизации является более простым, и если целевая функция выражается аналитически в виде формулы, то такую задачу можно решить всеми рассмотренными выше методами. требует
использования
каждое
дополнительная
параметр
из
подбирается
(коэффициент)
неравенство
неизвестная
(2)
из
lj,(j =
(3)
вводится
переменная
величина
ограничениям – равенства подбираются неопределенные параметры lt, (t=1,2,…,k). в) Таким образом, имеем (m + k) неизвестных множителей lj, lt (переменных величин, которые нужно
Решение задачи условной оптимизации несколько и
В
равенству
νt,(t=1,2,…,k), превращая ее в равенство. Этим новым
ЗАДАЧИ ОПТИМИЗАЦИИ
сложнее,
Каждому
дополнительных
методов, которые будут рассмотрены ниже.
определить) и (n + k) независимых параметров xi, νt. С математической точки зрения неизвестные множители lj, lt и параметры xi,νt представляют собой независимые переменные (n + m + 2 * k) штук для функции Лагранжа,
3.1 Метод множителей Лагранжа
Идея метода заключается в том, что ограничения (2) и
которая вводится следующим образом
(3) вводятся в новую целевую функцию с помощью
F( x 1 ,..., x n , ν 1 ,..., ν k , l1 ,..., l m + k ) =
неопределенных называется
множителей
функцией
Лагранжа
Лагранжа.
Эта
ll,
которая функция
удовлетворяет всем заданным ограничениям, заменяет исходную целевую функцию (1) и вводится следующим
u i ( x 1 ,..., x n ) + l j ⋅ g j ( x 1 , x 2 ,..., x n ) + l t ⋅ s t ( x 1 , x 2 ,..., x n , ν 1 , ν 2 ,..., ν k )
( 21 )
где (1=1,2..n),(j=1,2,..m),t=(1,2,..,k). Поиск минимума функции Лагранжа (21) может быть осуществлен любым рассмотренным выше методом.
образом:
25
26
г) Если используется классический метод, то приходим
б) При нарушении ограничений она начинает резко
к решению системы нелинейных уравнений (4). Характер
возрастать
экстремума (min или max) определяется Гессианом (5):
ограничений. Чем больше нарушены ограничения, тем
если он положительно определен – то имеем min, если он
быстрее возрастает функция;
отрицательно определен – то имеем max.
зависимости
от
степени
нарушения
в) Если при нарушении ограничений функция
д) При использовании прямого или градиентного метода следует иметь ввиду, что функция Лагранжа F ( xi , l j ,ν t , lt ) ,
в
возрастает медленно, то параметр r (r больше нуля) устремляем к нулю.
i=(1,2,…,n),j=(1,2,…,m),t=(1,2,…,k)
Таким образом, вспомогательная функция F (X,r)
зависит от (n+m+2k) независимых переменных. В целях
представляет собой функцию «овражного» типа, у которой
однообразия все эти переменные можно обозначить через
крутые склоны расположены в пространстве параметров G
xi, где i=(1,2,…,n+m+2k).
в тех местах, где происходит нарушение ограничений.
где
3.2 Метод штрафных функций
Сущность метода состоит в следующем. Вводится вспомогательные функции: 1 F ( X , r ) = u ( X ) + ⋅ p( X ) r
Штрафная функция учитывает степень нарушения ограничений. Если ограничения не нарушены, то она равна нулю. Если ограничения нарушены, то штрафная функция имеет следующий вид:
(22)
X = ( x1 , x 2 ,..., x n ) , r-параметр малой величины, p (X)-
[
p ( X ) = ∑ g i ( X ) + ∑ s j ( X ) ⋅ 1 − sign( s j ( X ))
]
(23)
При выполнении ограничений (2) в выражение (23) первая сумма равна нулю. При выполнении ограничений
штрафная функция. Вспомогательная функция должна удовлетворять
(3) в выражение (23) произведение во второй сумме равно нулю, и, таким образом, вспомогательная функция F(X,r)
следующим требованиям: а) При выполнении ограничений (2),(3) она совпадает
совпадает с целевой функцией u (X). При нарушении ограничений (2),(3) оба слагаемых в
с целевой функцией u(X);
(23) начинают возрастать в зависимости
27
28
от степени
подбором
треугольника достраиваем прямоугольники с одинаковой
резкого
возрастания
шириной. Они будут являться боковыми гранями нашей
при
нарушении
емкости (рис.4). Ширина прямоугольников – это высота
нарушения
ограничений. Соответствующим
параметра
r
можно
вспомогательной
добиться
функции
(23)
емкости.
ограничений (2),(3).
X2
ПРИМЕР РЕШЕНИЯ ЗАДАЧИ ОПТИМИЗАЦИИ
30º
Задача о проектировании емкости
Постановка
задачи:
X1
X1·sin 60º
спроектировать
призматическую емкость без крышки, дно которой имеет форму прямоугольного треугольника с углами 30,60 и 90
60º X2
X1·1/2
градусов и объемом 1.5 кубических метра так, чтобы на её изготовление было затрачено
минимальное количество
Рис.4
листового материала.
Построение математической модели Способ построения емкости
Из листового материала вырезаем дно в форме прямоугольного треугольника . К боковым сторонам этого 29
Введем параметры x1 - гипотенуза треугольника x2 - высота емкости
30
Затраты листового материала S для построения нашей
емкости
будут
равны
площади
всех
прямоугольников и треугольника: S=
Первая скобка в функции Лагранжа является целевой функцией,
вторая
скобка
–
ограничение
равенство,
умноженное на дополнительный параметр x3 .
1 x1 3 x 3 ⋅ ⋅ x1 ⋅ + x1 ⋅ x2 + 1 ⋅ x2 + x1 ⋅ ⋅ x2 → min 2 2 2 2 2
(24)
Это будет целевая функция. По условию задачи она
Достаточным условием существования экстремума этой функции является равенство нулю всех частных производных.
должна стремиться к минимуму. Объем нашей емкости равен произведению площади основания на высоту: v=
1 x1 3 ⋅ ⋅ x1 ⋅ ⋅ x2 2 2 2
(25)
Так как по условию задачи объем должен быть равен 1,5 кубических метра, то запишем ограничение равенство: 1 x1 3 ⋅ ⋅ x1 ⋅ ⋅ x2 − 1,5 = 0 2 2 2
x 3 3 3 ∂F = ⋅ x1 + 2 + x2 + ⋅ x2 + ⋅ 2 x1 ⋅ x2 ⋅ x3 = 0 4 2 2 8 ∂ x1 x1 ⋅ 3 x12 ⋅ 3 ∂F x1 = + x1 + + ⋅ x3 = 0 2 8 ∂ x2 2 ∂F x1 ⋅ x2 ⋅ 3 = − 1,5 = 0 ∂ x3 8
(26)
Составим функцию Лагранжа:
F( x ) = (
x1 x 3 3 1 x 3 ⋅ x1 ⋅ + x1 ⋅ x2 + 1 ⋅ x2 + x1 ⋅ ⋅ x2 ) + x3 ⋅ ( ⋅ 1 ⋅ x1 ⋅ ⋅ x2 −1.5) 2 2 2 2 2 2 4
31
32
Работа в системе Mathcad
3.
Для
решения
системы
нелинейных
уравнений
необходимо записать ключевое слово Given. После него записывается первое уравнение системы, но вместо знака 1. Открыть систему Mathcad.
равенства “=” пишется
2. Ввести начальные приближения. Для этого щелкнуть кнопкой мыши в любом
свободном месте рабочего
документа. В результате на экране появится небольшой крестик. Весь ввод с клавиатуры будет размещаться теперь в рабочем документе, начиная с месторасположения
знак “ ” (жирное равно). Для
записи арифметических операций можно пользоваться клавиатурой, а также можно использовать встроенный калькулятор. Для его вывода на экран нужно
, нажать кнопку мыши. В
указатель мыши к надписи появившемся
меню
выбрать
крестика. Задать начальные приближения параметров x1 , x2 , x 3 .
( для символа “ := ” необходимо нажать одновременно клавиши “Shift ” и
“ : ”
). В качестве начальных
приближений можно задавать любые значения. Для записи индексов переменных в нижнем регистре нажать клавишу “.” 33
подвести
34
и
затем
После нажатия кнопки мыши встроенный калькулятор выведется на экран и с его помощью уже легко будет записать, например,
.
Дописываем первое уравнение системы. Знак “ ” берется в панели логических операций.
Для вывода на
экран этой панели подвести указатель мыши к надписи , нажать кнопку мыши. В появившемся меню выбрать , подвести указатель мыши к надписи ,
4. Введем оставшиеся уравнения нашей системы.
Нажать кнопку мыши. Панель логических операций после этого раскроется на экране. Дописать первое уравнение.
35
36
5. Встроенная функция, с помощью которой решается система нелинейных уравнений в Mathcad
называется
Find. Присваиваем имя этой встроенной функции любой переменной, например, V.
В качестве параметров
встроенной функции берутся x1 , x2 , x3 .
Нумерация элементов в массивах начинается с нуля (если не задан специальный оператор для нумерации элементов с 6. Значения наших искомых переменных находятся в
1 ). В результате, полученное значение элемента V0
векторе V.
соответствует значению параметра x1; значение элемента
Для того чтобы распечатать эти значения,
нужно после переменной V написать знак “=”. 37
V1 соответствует значению параметра x2; 38
значение элемента V2 соответствует значению параметра x3. Основными переменными у нас являются x1 , x2 они определяют гипотенузу треугольного основания и высоту нашей
емкости. То есть должны быть обязательно
положительными величинами. Переменная x3 – это дополнительный
параметр.
То
есть
может
быть
и
отрицательной величиной. 7.
Проверим полученные результаты. Для этого
посчитаем объём нашей ёмкости. По условию задачи он должен быть равен 1.5 кубических метра. Считаем по формуле (25); вместо параметров x1 , x2 , x3 записываем соответствующие
элементы
вектора
V.
При
записи
элементов массива нижний индекс набираем, нажав в панели
символ
. Полученный результат
показывает, что задача решена верно.
8.
Посчитаем затраты материала на изготовление этой
емкости по формуле (24). Присвоим значение всех затрат переменной S, и выведем на экран величину этой переменной, используя знак “=” 39
40
Мы получили затраты всех материалов на изготовление нашей емкости, и при найденных значениях параметров x1 , x2 , x3 эти затраты материала будут минимальны. ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
1.
Спроектировать цилиндрическую емкость без
крышки объемом 2 куб.м. таким образом, чтобы
на его
изготовление было израсходовано минимальное количество листового материала. 2. Спроектировать
прямоугольную
емкость
без
крышки объемом 1.5 куб.м. таким образом, чтобы на его изготовление было израсходовано минимальное количество листового материала. 3. Спроектировать призматическую емкость
без
крышки, дно которого имеет форму равностороннего треугольника и объемом 1 куб.м. так, чтобы на его изготовление было израсходовано как меньше листового материала. 4. Спроектировать призматическую емкость крышки,
дно
которой
имеет
форму
без
прямоугольного
треугольника с углами 30,60 и 90 градусов и объемом 1.5
41
42
куб.м. так, чтобы на его изготовление было затрачено
прямоугольный треугольник с углами 30, 60 и 90 градусов, а
минимальное количество листового материала.
высота меньше 0.5 м.
5. Спроектировать
прямоугольную
емкость
без
10. Спроектировать
прямоугольную
емкость
с
крышки, объемом 1.5 куб.м. так, чтобы расход листового
крышкой объемом 1.5 куб.м. так, чтобы расход материала
материала был минимальный. Дном емкости является
был
прямоугольник, стороны которого относятся как 1:2.
прямоугольник, у которого стороны относятся как 2:3.
6. Спроектировать
цилиндрическую
емкость
минимальный.
Основанием
емкости
является
с
11. Имеется круговой формы листовой материал
крышкой объемом 2.5 куб.м. так, чтобы было затрачено
радиусом 1 м. Спроектировать цилиндрическую емкость
минимальное количество листового материала и высота
так, чтобы его объем был максимальный.
емкости была больше 1 м.
12. Имеется квадратной формы листовой материал со
7. Спроектировать прямоугольную емкость с крышкой объемом 1 куб.м. так, чтобы на его изготовление было израсходовано
минимальное
количество
листового
материала и высота была меньше 0.5 м. 8. Спроектировать
призматическую
стороной 1 м. Спроектировать цилиндрическую емкость так, чтобы его объем был максимальный. 13.
Имеется
прямоугольной
формы
листовой
материал со сторонами 1 и 2 метра. Спроектировать емкость
с
цилиндрическую емкость так, чтобы его объем был
крышкой объемом 1.5 куб.м. так, чтобы расход листового
максимальный. Способ изготовления емкости: из одной
материала был минимальный. Основанием емкости является
части вырезается круглое дно, а из другой части
равносторонний треугольник и высота должна быть меньше
изготавливается стенка.
0.8 м. 9. Спроектировать
14. призматическую
емкость
с
Имеется
равностороннего
листовой
треугольника
материал со
в
стороной
форме 1
м.
крышкой объемом 1.2 куб.м. так, чтобы расход листового
Спроектировать цилиндрическую емкость так, чтобы его
материала был минимальный. Основанием емкости является
объем был максимальный. Способ изготовления: в центре треугольника вырезается круглое дно радиуса r, далее
43
44
вырезается кольцо шириной h, которое будет стенкой
вырезается круглое дно, а из второй части – полосы на
емкости.
стенку.
15. Имеется круглый листовой материал радиусом 1
19.
Имеется
листовой
материал
в
форме
м. Спроектировать прямоугольную емкость так, чтобы ее
равностороннего
объем был максимальный. Способ изготовления: в центре
Спроектировать цилиндрическую емкость так, чтобы его
круга вырезается квадрат со стороной d, далее снаружи
объем был максимальный и высота меньше 0.3 м. Способ
квадрата вырезаются полосы шириной h, служащие
изготовления: в центре треугольника вырезается круглое
сторонами емкости.
дно, оставшееся внешнее кольцо становится стенкой.
треугольника
со
стороной
1
м.
16. Имеется круглый листовой материал радиусом 2
20. Имеется круглый листовой материал радиусом 1
м. Спроектировать цилиндрическую емкость так, чтобы его
м. Спроектировать прямоугольную емкость так, чтобы ее
объем был максимальный и высота меньше 0.5 м. Способ
объем был максимальный и высота меньше 0.4 м. Способ
изготовления: в центре круга вырезается круг меньшего
изготовления: в центре круга вырезается квадратное дно,
радиуса, а оставшееся кольцо служит стенкой емкости.
оставшаяся внешняя прямоугольная часть становится
17. Имеется квадратный листовой материал со
стенкой.
стороной 1.5 м. Спроектировать цилиндрическую емкость так, чтобы его объем был максимальный и высота меньше 0.4 м. Способ изготовления: в центре квадрата вырезается
ИСПОЛЬЗОВАННАЯ ЛИТЕРАТУРА
круг небольшого радиуса, а оставшееся кольцо служит
1. Щуп Т. Прикладные численные методы в физике и технике: Пер. с англ. – М.: Высш.шк.1990.
стенкой емкости. 18. Имеется прямоугольный листовой материал со
2. Форсайт Дж.,
Малькольм М., Моулер К.
сторонами 2 и 1 м. Спроектировать цилиндрическую
Машинные методы математических вычислений:
емкость так, чтобы его объем был максимальный и высота
Пер. с англ. – М.: Мир. 1980.
меньше 0.5 м. Способ изготовления: из одной части 45
3. Mathcad 2000 Professional. User’s Guide. MathSoft Inc., 1999г. 46
СОДЕРЖАНИЕ ВВЕДЕНИЕ
3
1.ЗАДАЧА ОПТИМИЗАЦИИ
4
2.МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ ОПТИМИЗАЦИИ
8
2.1 Классический метод
8
2.2 Прямые методы
10
2.3 Градиентные методы
17
3. ВСПОМОГАТЕЛЬНЫЕ МЕТОДЫ РЕШЕНИЯ
Методы оптимизации в инженерных расчетах в системе Mathcad Методическое пособие для студентов технологических специальностей знакомит с методами решения задач оптимизации. Составители:
Алексеев А.А. Задевалова Г.Э.
25
ЗАДАЧИ ОПТИМИЗАЦИИ 3.1 Метод множителей Лагранжа
25
3.2 Метод штрафных функций
27
4. ПРИМЕР РЕШЕНИЯ ЗАДАЧИ ОПТИМИЗАЦИИ
29
Задача о проектировании емкости
29
Способ построения емкости
29
Построение математической модели
30
Работа в системе Mathcad
33
ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
42
ИСПОЛЬЗОВАННАЯ ЛИТЕРАТУРА
47
Подписано в печать 20.10. 06г. Формат 60х84 1/16. Усл. п.л , , уч. - изд.л. , Печать операт., бумага писч.. Тираж 100 экз. Издательство ВСГТУ, г.Улан-Удэ, ул.Ключевская. 40,а.
© ВСГТУ, 2006г.
47
48