Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Оптимальное проектирование конструкций

..pdf
Скачиваний:
51
Добавлен:
15.11.2022
Размер:
2.43 Mб
Скачать

 

 

Рис. 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