книги / Оптимальное проектирование конструкций.-1
.pdf
|
|
Рис. 3.6 |
ПФИ |
– |
программа формирования конечно-разностных интер- |
|
|
валов; |
СГБП |
– |
метод сопряженных градиентов с конечно-разностной |
|
|
аппроксимацией производных; |
КНМБП |
– квазиньютоновский метод с конечно-разностной ап- |
|
|
|
проксимацией производных; |
СГ+ОПБП |
– метод сопряженных градиентов с процедурой одно- |
|
|
|
мерного поиска без вычисления производных; |
СГ+ОПВП |
– метод сопряженных градиентов с процедурой одно- |
|
|
|
мерного поиска, использующей производные; |
ППГ |
– |
программа проверки правильности вычисления гради- |
|
|
ента; |
МОМВП |
– |
метод одномерной минимизации с вычислением про- |
|
|
изводных; |
ДМН |
– дискретный метод ньютоновского типа; |
|
|
|
61 |
КНМВП+ОПВП – квазиньютоновский метод с вычислением производных и процедурой одномерного поиска, использующей производные;
ППМГ – программа проверки правильности вычисления матрицы Гессе;
МН – метод ньютоновского типа; КНМВП+ОПВП – квазиньютоновский метод с вычислением производ-
ных и процедурой одномерного поиска без вычисления производных.
В заключение отметим, что практически все задачи оптимального проектирования содержат ограничения, однако существует достаточно большой класс методов, позволяющих сводить задачи с ограничениями к задачам без ограничений и, следовательно, использовать рассмотренные в этом разделе алгоритмы.
62
4.ЗАДАЧИ МНОГОМЕРНОЙ ОПТИМИЗАЦИИ
СОГРАНИЧЕНИЯМИ
Для большинства инженерных задач оптимизация реализуется при наличии некоторого количества ограничений на управляемые переменные. Такие ограничения существенно уменьшают размер области, в которой производится поиск оптимума. В этом случае оптимизация становится более сложной, поскольку критерии оптимальности, установленные в задачах без ограничений, уже нельзя использовать. При этом может нарушаться даже основное условие, в соответствии с которым оптимум достигается в стационарной точке. Например, функция
f (x) = (x − 2)2 при − ∞ ≤ x ≤ ∞
в точке х = 2 имеет минимальное значение, однако если наложить ограничение x ≥ 4 , то условный минимум будет в точке х = 4 и в этой точке условие стационарности не выполняется ( f ′(4) = 4) .
В общем случае условную задачу оптимизации можно сформулировать следующим образом: найти такой n-мерный вектор параметров опти-
мизации х = (х1, х2, …, хn)т, при котором критерий качества был бы минимален:
f (x) min , |
(4.1) |
при выполнении ограничений в форме равенств и неравенств
h j (x) = 0 , |
j = 1, ..., k , |
(4.2) |
g j (x) ≥ 0 , |
j = k +1, ..., m . |
(4.3) |
Сформулированная таким образом задача математического программирования является сложной и до сих пор не имеет полного решения. Некоторые трудности, встречающиеся в задачах подобного типа, проиллюстрированы на рис. 4.1, где изображены линии постоянного уровня миними-
зируемой функции. По мере удаления от точки х* – точки минимума функции при отсутствии ограничений – значения функции будут расти. На рисунке показаны также границы области ограничений gi(x) = bi, а сама область допустимых значений зашрихована.
На рис. 4.1, а минимум функции при наличии ограничений совпадает с минимумом функции без ограничений. Все ограничения имеют вид строгих неравенств, и, зная это заранее, можно было бы пренебречь ограничениями и решить задачу уже известными методами безусловной минимизации. На рис. 4.1, б точка минимума при наличии ограничений лежит на
63
кривой g2(x) = b2, а два других ограничения неактивны (не влияют на положение точки минимума). Зная это заранее, можно было бы пренебречь ограничениями g1 и g3 и решить эту задачу как задачу с одним ограничением – равенством g2 = b2.
х* = хopt |
|
|
|
|
|
|
|
|
|
|
g3 |
= b3 |
|||
|
|
|
|
|
|||
|
|
|
|||||
|
|
|
|
|
хopt |
|
|
|
|
|
|
|
|
|
|
|
g1 = b1 |
|
|
||||
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
g2 = b2
g2 = b2
g3 = b3
х* ≠ хopt
g4 = b4
а |
б |
Рис. 4.1
В некоторых случаях наличие ограничений может приводить к появлению нескольких локальных минимумов, в то время как при отсутствии ограничений функция имеет только одну точку минимума.
Изображенная на рис. 4.2 функция имеет только одну точку минимума при отсутствии ограничений. Однако для задачи с ограничениями обе точки, А и В, являются локальными минимумами, поскольку ни в одной из допустимых точек в ближайших окрестностях А или В функция не принимает меньших значений.
g1 = b1
g3 = b3
g2 = b2
Рис. 4.2
64
Некоторые из рассмотренных трудностей устраняются, если ограничиться случаем, когда область допустимых значений и минимизируемая функция выпуклы.
Определение выпуклой (вогнутой) функции было дано ранее для одномерной задачи, оно сохраняется и для многомерной функции. Для области дадим геометрическое толкование этого термина: область является выпуклой, если отрезок прямой, соединяющий любые две точки области, принадлежит этой области. На рис. 4.3, а отображена выпуклая область, а на рис. 4.3, б – невыпуклая.
Р1 Р2
Р1 Р2
а |
б |
Рис. 4.3
Пример 4.1. Найти минимальное и максимальное значение функции
f = x12 + x22
при ограничениях
x1x2 ≤ 4; x1 + x2 ≥ 5; x1 ≤ 7; x2 ≤ 6; x1 ≥ 0; x2 ≥ 0.
Р е ш е н и е . В этом случае область допустимых значений не является выпуклой и состоит из двух отдельных частей (рис. 4.4).
Минимальное значение функции fmin = 17 достигается в точках А(1; 4) и L(4; 1). Функция имеет два локальных максимума: в точке D(2/3; 6) fmax = 328 / 9 и в точке М(7; 4/7) fmax = 2417/49.
Точка М является точкой глобального максимума.
Рассмотренный пример легко решить графически. Для задач большой размерности необходимо
использовать более |
совершенные |
Рис. 4.4 |
методы решения. |
|
65
Сформулируем теперь необходимые условия стационарности в задачах на условный экстремум. Начнем рассмотрение со случая, когда ограничения даны в форме равенств, т.е. область допустимых значений – поверхности (или линии в двумерной задаче).
4.1.Критерии оптимальности
4.1.1.Необходимые условия оптимальности при наличии ограничений-равенств
Пусть требуется минимизировать функцию f (x1, x2 , ..., xn ) при ограничениях типа равенств h j (x1, x2 , ..., xn ) = 0 ( j = 1, ..., k ; k < n ). Если равенства h j (x1, x2 , ..., xn ) = 0 достаточно просты, то из них можно найти k
переменных, выраженных через остальные (n – k) переменные. Подставив эти значения в функцию, мы, во-первых, уменьшим размерность задачи, а во-вторых, перейдем к задаче на безусловный экстремум, критерии оптимальности и методы решения которой уже рассмотрены.
Пример 4.2. Найти x = (x , x |
2 |
, x )т |
, чтобы |
f (x) = x x |
2 |
x min при |
1 |
3 |
|
1 |
3 |
условии x1 + x2 + x3 −1 = 0 .
Р е ш е н и е . Из ограничения имеем
x1 = 1 − x2 − x3 ,
тогда
f (x) = (1 − x2 − x3 )x2 x3 .
Условия минимума:
∂ f |
= −x |
|
x + (1 − x |
2 |
− x )x = 0; |
|||
|
|
|
||||||
∂ x2 |
2 |
3 |
3 |
3 |
|
|||
|
|
|
|
|
|
|||
∂ f |
= −x |
2 |
x + (1 − x |
2 |
− x )x |
2 |
= 0. |
|
|
||||||||
∂ x3 |
3 |
3 |
|
|||||
|
|
|
|
|
|
Использованный в примере метод называется методом исключения переменных. При наличии большого числа ограничений, да еще сложного вида, этот метод становится весьма трудоемким, поэтому для решения удобнее воспользоваться необходимыми условиями оптимальности в задачах подобного класса.
66
Рассмотрим первоначально задачу минимизации функции двух переменных f (x1, x2 ) , где на x1 и x2 наложено ограничение, задаваемое
уравнением h(x1, x2 ) = 0.
Разрешим уравнение h(x1, x2 ) = 0 относительно x2 как функцию от x1 , т.е. x2 = ϕ (x1) . Необходимость учета ограничения приводит к тому, что из всех точек плоскости (x1, x2 ) интерес представляют лишь те, которые лежат на линии, определяемой уравнением x2 = ϕ (x1) . Тогда функцию f (x1, x2 ) можно выразить как функцию только одной переменной f (x1, x2 ) = f [x1, ϕ (x1)] и тем самым перейти от задачи с ограничением к
задаче без ограничения.
Конечно, на практике может оказаться трудным или даже невозможным найти явный вид функции ϕ (х1) , однако при выполнении определен-
ных условий дифференцируемости можно выразить ее производную. Так как h(x1, x2 ) = h[x1, ϕ (x1)] = 0 , то
d |
h(x |
, x |
2 |
) = |
∂ h |
+ |
∂ h |
|
∂ ϕ |
= 0 |
∂ ϕ |
= − |
∂ h / ∂ x1 |
. |
|
|
|
|
|
|
|||||||||
1 |
|
|
∂ x1 |
|
∂ x2 ∂ x1 |
|
∂ x1 |
|
∂ h / ∂ x2 |
|||||
dx1 |
|
|
|
|
|
|
Запишем необходимое условие |
оптимальности |
для функции |
|||||||||||||||
f (x1, x2 ) = f [x1, ϕ (x1)] |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
d |
f (x , x |
2 |
) = |
∂ f |
+ |
∂ f |
|
∂ ϕ |
= 0 |
∂ f |
− |
∂ f |
|
∂ h / ∂ x1 |
= 0. |
|
|
|
|
|
|
|
|
|
||||||||||
|
dx1 |
1 |
|
∂ x1 |
|
∂ x2 ∂ x1 |
|
∂ x1 ∂ x2 ∂ h / ∂ x2 |
|
||||||||
|
|
|
|
|
|
|
Последнее равенство можно записать в виде системы уравнений:
|
|
∂ f |
+ λ |
∂ h |
= 0 ; |
|
|
|
|
∂ x |
∂ x |
|
|||
|
|
|
|
|
|
||
1 |
|
1 |
|
|
|
||
|
|
∂ f |
+ λ |
∂ h |
|
= 0; |
(4.4) |
|
∂ x2 |
∂ x2 |
|
||||
|
|
|
|
|
|||
|
|
h(x1, x2 ) = 0 . |
|
||||
Совместное решение этой системы относительно x1, x2 , λ |
дает возмож- |
ные точки экстремума. Главное удобство найденной формы записи необходимых условий в том, что она может быть получена более коротким и формальным путем. Для этого достаточно составить выражение
F (x1, x2 , λ ) = f (x1, x2 ) + λ h(x1, x2 ),
67
считая x1, x2 , λ независимыми переменными, и записать необходимые условия оптимальности
∂ F |
= |
∂ f |
+ λ |
∂ h |
= 0 ; |
|
|
∂ F |
= |
∂ f |
+ λ |
∂ h |
= 0 ; |
||||||
|
|
|
|
|
|
|
|||||||||||||
∂ x |
∂ x |
∂ x |
|
|
∂ x |
2 |
|
∂ x |
2 |
|
∂ x |
2 |
|
||||||
1 |
|
1 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
∂ F |
= h(x , x |
2 |
) = 0 . |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
∂ λ |
1 |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Эта система совпадает с системой (4.4). Функция F (x1, x2 , λ ) назы-
вается функцией Лагранжа, λ – множитель Лагранжа.
Рассмотренный подход можно обобщить на случай произвольного числа переменных.
Рассмотрим задачу минимизации функции n переменных с учетом одного ограничения в виде равенства: минимизировать
f (x1, x2 , ..., xn ) |
(4.5) |
|
при ограничении |
|
|
h(x1, x2 , ..., xn ) = 0. |
(4.6) |
|
В соответствии с идеей Лагранжа преобразуем эту задачу в задачу |
||
безусловной оптимизации: минимизировать |
|
|
F (x, λ ) = f (x) + λ h(x) . |
(4.7) |
|
Пусть при заданном значении λ |
= λ * безусловный минимум функции |
|
F (x, λ ) по х достигается в точке х |
= х* и удовлетворяет |
уравнению |
h(x* ) = 0 . Тогда, как нетрудно видеть, х* минимизирует (4.5) с учетом (4.6), поскольку для всех значений х, удовлетворяющих (4.6), h(x) = 0 и min F (x, λ ) = min f (x).
Осталось подобрать значение λ = λ * таким образом, чтобы координата точки безусловного минимума х* удовлетворяла равенству (4.6). Это можно сделать, если, рассматривая λ как переменную, найти безусловный минимум функции (4.7) в виде функции λ , а затем выбрать значение λ , при котором выполняется равенство (4.6).
В случае, если число ограничений-равенств, например, равно k, функция f (x) непрерывно дифференцируема в окрестности точки услов-
* |
|
∂ h j |
|
|
* |
|
|
|
|
|
|||
ного экстремума х и ранг матрицы |
|
|
|
в той же точке х |
|
имеет ранг k, то |
∂ x |
|
|||||
|
|
i |
|
|
|
|
функция Лагранжа принимает вид |
|
|
|
|
|
68
|
k |
|
F (x, λ ) = |
f (x) + ∑ λ j h j (x). |
(4.8) |
|
j =1 |
|
Здесь λ 1, λ 2 , ..., λ k – множители Лагранжа, т.е. неизвестные параметры,
значения которых необходимо определить. Приравнивая частные производные F по x и по λ, получим n + k уравнений с n + k неизвестными:
∂ F (x, λ ) |
= 0 , |
I = 1, …, n; |
(4.9) |
|
|
||||
∂ xi |
|
|
||
∂ F (x, λ ) |
= 0 , |
j = 1, …, k . |
|
|
|
|
|||
∂ λ j |
|
|
Таким образом, для отыскания возможных точек экстремума необходимо решить систему (n + k) уравнений. Преимущество рассмотренного метода в том, что можно не учитывать взаимную зависимость переменных, недостатком является необходимость решения громоздких уравнений (4.9).
Пример 4.3. Оптимальное проектирование стойки [2]. Из круглого бревна радиусом R необходимо выпилить балку с прямоугольным поперечным сечением (рис. 4.5) так, чтобы ее можно было наиболее эффектив-
но использовать в строительной конст- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
у |
|
|
|
|
|
|
|
|
рукции. Предусмотреть, что балка мо- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
жет быть использована как стойка, ра- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
h |
|
|
|
|
|
|
|
|
ботающая на сжатие без опасности по- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
тери прочности. |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
Р е ш е н и е . Если балка работа- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R |
|
|
||
ет на сжатие без потери прочности, то |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
− b |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
O |
|
|
|
b |
|
|
|
||
|
|
|
|
|
|
|
|
x |
||||
|
|
|
|
|
|
|
|
|
||||
σ = Р ≤ σ пр, |
2 |
|
|
|
|
|
2 |
|
|
|
||
|
|
|
|
|
||||||||
− h |
|
|
||||||||||
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
||||
S |
|
|
2 |
|
|
|
|
|
|
|
т.е. целесообразно максимизировать площадь при условии, что прямоугольник вписан в круг. Переменные проек-
тирования h и b определяют целевую функцию
Рис. 4.5
S (h, b) = hb max при ус-
ловии h2 + b2 = 4R2 .
Эта задача легко решается методом исключения, для чего достаточно выразить из ограничения одну переменную проектирования через другую,
например, h2 = 4R2 − b2 . Так как h = 4R2 − b2 , то
69
|
|
|
dS |
= 4R2 − b2 − |
b |
|
|
S = b 4R2 − b2 ; |
= 0 ; |
||||||
|
4R2 − b2 |
||||||
|
|
|
db |
|
b = R2 = h.
Решим эту же задачу с помощью множителей Лагранжа:
F (h, b, λ ) = hb + λ (4R2 − h2 − b2 ) max .
Условия экстремума:
∂ F |
= b − 2λ h = 0; |
∂ F |
= h − 2λ b = 0; |
||
|
|
||||
∂ h |
|
∂ b |
|||
|
|
∂ F |
= 4R2 − h2 − b2 = 0. |
||
|
|
∂ λ |
|||
|
|
|
|
|
Из первых двух уравнений следует h = b (сечение квадратное), а из последнего – h = b = R2.
Пример 4.4. Проектирование двухстержневого кронштейна. Двухстержневой кронштейн (рис. 4.6) проектируется для восприятия груза Р (расстояние l задано). Считая одинаковым допускаемое напряжение на растяжение и на сжатие [σ ] , определить значение угла α , минимизирующее суммарный объем двух стержней, удовлетворяющих условиям прочности.
Р е ш е н и е . Минимизируемая функция – объем
|
|
|
|
|
|
|
|
|
|
|
V1 = F1l / cos α |
+ F2l, |
|
|||
|
|
|
|
|
|
где F1, F2 – площади сечения стержней. Оче- |
||||||||||
|
|
|
|
|
|
видно, данная конструкция будет равно- |
||||||||||
|
|
|
|
|
|
прочной, поэтому условие прочности можно |
||||||||||
|
|
|
|
|
|
записать в виде |
|
|
|
|
||||||
|
|
|
|
|
|
|
P |
|
|
|
− [σ ]F = 0, |
Pctgα −[σ ]F = 0. |
||||
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
sin α |
|
|
|
1 |
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Рис. 4.6 |
|
|
|
Вводя множители Лагранжа λ 1 и λ 2 , |
||||||||||||
|
|
|
|
|
|
получим функцию |
|
|
|
|
||||||
V (F , F , λ |
|
, λ |
|
, α ) = |
F1l |
+ F l + λ |
|
( |
P |
− [σ ]F ) + λ |
|
(Pctgα |
− [σ ]F ) . |
|||
|
|
cos α |
|
sin α |
|
|||||||||||
1 1 2 |
1 |
|
2 |
|
2 |
|
1 |
|
|
|
1 |
2 |
|
2 |
70