Козин Математическое моделирование Учебное пособие 2008
.pdfРис.7. Вспомогательный экран для задачи оптимизации
6.8. Результаты исследований модели
На рис.6 и 8 (второй и первый варианты граничных условий) видны совместные графики прогибов балки для случаев оптимального (расположены сверху) и постоянного распределений момента инерции сечений. Нагрузка принималась постоянной. За счет выбора оптимального распределения момента инерции удалось уменьшить максимальный прогиб балки, соответственно, на 30% и 10% по сравнению с постоянным распределением. Подобные числа говорят в пользу использования на практике балок с оптимальными продольным распределением сечений по длине (что обычно и осуществляется на практике). Графики оптимальных распределений моментов инерции сечений для обсуждаемых случаев представлены на рис.9 (сплошная кривая – для балки с двумя закрепленными концами, точечная – правый конец балки свободен).
5
Рис.8. Распределение прогиба балки с закрепленными концами
Рис. 9. Графики оптимальных распределений моментов инерции сечений балки для обоих случаев закрепления ее концов
7. Оптимизация параметров точечных источников энергии, обеспечивающих равномерное стационарное температурное поле в плоской прямоугольной области
7.1 Формулировка задачи
Найти мощности и положение заданного количества I точечных источников энергии, которые в плоской прямоугольной области x, y (− lx ,lx ; − l y , l y ) поддерживают
равномерное стационарное температурное поле заданной величины Tf . Имеет место отток энергии через наружную границу области.
7.2 Математическая постановка задачи
Известно, что согласно закону Фурье плотность потока энергии через единичную поверхность задается соотношением − k dTdn , где k - коэффициент теплопроводности, n -
единичная нормаль к данной поверхности. Записав уравнение баланса энергии в элементе dxdy (разность потока вытекающей энергии и потока втекающей равна количеству
энергии, выделяемой источниками в данном элементе) (рис. 1), легко вывести дифференциальное уравнение, связывающее плотность мощности источников энергии
q(x) и стационарное распределение температуры T (x, y) в плоскости x, y
5
|
|
|
|
Рис.1. Схема потоков энергии в элементе dxdy |
||||||||
|
|
|
|
|
∂ |
(k(x, y) |
∂ T |
) + |
∂ |
(k(x, y) |
∂ T |
) = − q(x, y) |
|
|
|
|
|
∂ x |
|
∂ y |
|
||||
|
|
|
|
|
|
∂ x |
|
∂ y |
||||
или для случая постоянного коэффициента теплопроводности k(x, y) ≡ k |
||||||||||||
|
|
|
|
|
|
|
|
T = − q(x, y) / k, |
||||
|
∂ 2 |
∂ 2 |
|
|
|
|
|
|
|
|||
где = |
|
+ |
|
- оператор Лапласа. |
|
|
|
|
||||
∂ x2 |
∂ y2 |
|
|
|
|
В предположении симметричности температурного поля относительно осей координат x, y исходная задача математически записывается следующим образом:
а. Уравнение стационарной теплопроводности
|
|
|
|
|
1 |
I / 4 |
|
|
|
|
|
||
|
|
|
|
T = − |
å |
qiδ (x − |
xi )δ (y − yi ), |
x, y (0,lx ; 0,ly ) |
|||||
б. Граничные условия |
k |
i= 1 |
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
||||||
|
|
|
∂ T |
= 0, x = 0; |
|
∂ T |
= 0, y = 0 - теплоизолированные границы |
||||||
|
|
|
|
|
∂ y |
||||||||
|
|
|
∂ x |
|
|
|
|
|
|
|
|||
− k |
∂ T |
= h(T − T0 ), x = |
lx |
; |
− k |
∂ T |
|
= h(T − T0 ), y = |
ly - поток энергии через границу |
||||
∂ x |
∂ y |
||||||||||||
|
|
|
|
|
|
|
|
|
|
T0 - температура окружающей среды, h - коэффициент поверхностной теплопроводности, δ - дельта-функция, xi, yi , qi - координаты и мощность i - го источника энергии.
в. Функционал, минимизация которого обеспечивает оптимальную среднюю и локальную
гладкость температурного поля и его близость к заданному значению |
(T (x, y) ≡ Tf ) |
||||||||||||||||||||||||||||||||||
Φ (q |
, x |
, y |
) = α |
|
1 |
|
|
|
|
T |
|
− T (x, y) |
|
ds + α |
|
max |
|
T |
|
− T (x, y) |
|
+ α |
|
1 |
|
|
|
gradT (x, y) |
|
ds + |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
1 S òS |
|
|
|
3 S òS |
|
|
|||||||||||||||||||||||||||||
|
|
i |
i |
i |
|
|
|
f |
I / 4 |
|
|
|
|
2 |
S |
|
|
f |
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
α |
|
max |
|
gradT (x, y) |
|
+ α |
q |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
4 |
|
S |
|
|
|
|
|
|
|
|
|
|
|
5 å |
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i= 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Здесь |
α i |
|
– весовые коэффициенты, S - площадь области (lxly ) . Последнее слагаемое |
||||||||||||||||||||||||||||||||
добавлено для обеспечения корректности задачи оптимизации. |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
г. Ограничения на параметры оптимизации |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xi , yi (0,lx ; |
0,ly ), |
qi > 0 |
|
|
|
|
|
|
|
|
7.3. Унификация задачи
Для уменьшения зависимости задачи от исходных параметров введем следующие безразмерные величины
5
|
|
|
|
|
|
|
|
|
|
|
y º |
y |
, |
x º |
|
|
x |
|
|
Þ |
|
|
|
y Î (0,1), x Î (0,lx |
º |
|
lx |
) |
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
ly |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ly |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ly |
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
T |
º |
T - T0 |
|
Þ |
|
|
Tf |
|
= 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
(1) |
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
Tf - |
T0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
qi |
º |
|
|
qily2 |
|
|
|
|
|
, |
h º |
|
|
hly |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
k(Tf |
|
- T0 ) |
|
|
|
k |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
С учетом этих изменений задача записывается в следующем виде ( I º |
I / 4, s = lx *1) |
||||||||||||||||||||||||||||||||||||||||||||||||||
а. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- åI |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D T = |
|
qiδ (x - |
xi )δ ( y - yi ), |
x, y Î |
(0,lx ; |
0,1) |
(2) |
|
|
||||||||||||||||||||||||||||||||
б. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i= 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
∂ T |
|
|
|
|
|
|
|
|
|
|
|
|
∂ T |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
= 0, x = 0; |
|
|
|
= 0, y = 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
¶ x |
|
|
|
¶ y |
|
|
|
|
|
|
|
|
|
|
(3) |
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
¶ T |
|
|
= - hT, x = lx , |
|
¶ T |
|
|
= - hT, y = 1 |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
¶ x |
|
¶ y |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
в. |
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
||
F (q |
, x |
, y |
) = |
α |
|
|
|
|
|
1- T (x, y) |
|
dxdy + α |
|
|
|
max1 |
|
- T (x, y) |
|
+ α |
|
|
|
gradT (x, y) |
|
dxdy + |
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||
1 lx òS |
|
|
|
3 lx òS |
|
||||||||||||||||||||||||||||||||||||||||||||||
|
|
i |
i |
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
S |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
I q |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(4) |
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
α |
|
max |
|
gradT (x, y) |
|
+ α |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
4 |
|
S |
|
|
|
|
|
|
|
|
|
|
|
|
|
5 å |
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
г. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i= 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xi , yi |
Î (0,lx ; |
0,1), |
|
qi |
|
> |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(5) |
|
|
7.4. Управляемость задачи и критерий выбора начального приближения для параметров оптимизации.
Для проверки возможности управления температурным полем в заданной постановке рассмотрим одномерный безразмерный случай данной задачи с одним источником
d 2T |
= |
- qδ (x - |
xq ), |
x, xq Î |
(0,1) |
|||
dx2 |
|
|||||||
|
|
|
|
|
|
|
(6) |
|
dT |
|
|
|
|
dT |
|
|
|
= 0, x = 0; |
|
= - hT, x = |
1 |
|||||
dx |
|
|
|
|
dx |
|
|
|
Решение этой задачи записывается следующим образом |
||||||||
|
|
|
ì C, |
|
|
x £ |
xq |
ü |
|
|
T |
ï |
|
|
|
|
ï |
|
|
= í |
q(x - |
|
|
ý |
||
|
|
|
ï C - |
xq ), x > xq ï |
||||
|
|
|
î |
|
|
|
|
þ |
где C = q[1h + (1- xq )] .
Спомощью этого выражения задача оптимизации решается элементарно:
·источник следует разместить на границе ( xq = 1)
·безразмерную мощность точечного источника взять равной h .
Выведем еще одно полезное ограничение на суммарную безразмерную мощность точечных источников.
Согласно второму граничному условию (3) приведенный поток энергии через всю границу области при идеальной оптимизации (T (x, y) = 1 ) составляет h(lx + 1) и при
5
стационарном режиме должен совпадать с суммарной безразмерной мощностью всех
точечных источников, расположенных внутри этой области åI qi . Поскольку построение
i= 1
идеально постоянного температурного поля не реально, то всегда будет выполняться следующее неравенство
åI qi ≤ h(lx + 1) |
(7) |
i= 1 |
|
Это неравенство следует использовать как на стадии задания начальных мощностей точечных источников, так и для проверки «правдоподобия» полученных после оптимизации результатов.
7.5. Решение температурной задачи
При построении решения задачи (2), (3) нам потребуется полная линейно-независимая система собственных функций оператора Лапласа, удовлетворяющих граничным условиям (3). Рассмотрим задачу нахождения этих функций
u = |
− λ u, |
x, y |
(0,lx ; 0,1) |
|
|||||
∂ u |
= 0, x = 0; |
∂ u |
|
= 0, y = 0 |
|
||||
∂ x |
∂ y |
(8) |
|||||||
|
|
|
|
|
|
||||
∂ u |
= |
− hu, |
x = lx ; |
|
|
∂ u |
= − hu, |
x = 1 |
|
∂ x |
|
|
|||||||
|
|
|
|
|
∂ y |
|
В соответствии с методом разделения переменных будем искать ее решение в виде u(x, y) = X (x)Y (y) . В этом случае уравнение (8) перепишется следующим образом
d 2 X |
Y + |
d 2Y |
X = − ( |
λ 2 |
+ λ 2y )XY |
|
|
|
|
|
x |
|
|
||||
dx2 |
dy2 |
lx2 |
|
|
||||
|
|
|
|
|
||||
|
|
|
|
|
|
λ 2 |
+ λ 2y ) . |
|
Здесь собственное значение представлено в эквивалентном виде λ = ( |
x |
|||||||
lx2 |
||||||||
|
|
|
|
|
|
|
Задача (2.8) распадется на две самостоятельные задачи на собственные значения
d 2 X |
|
|
λ 2 |
X = 0, |
|
+ |
|
x |
|
dx2 |
|
lx2 |
||
|
|
|
||
d 2Y |
+ |
λ 2yY = 0, |
||
dx2 |
|
|
|
|
dX |
= 0, x = 0, |
dX |
= − hX , x = lx |
|
dx |
|
dx |
(9) |
|
dY = 0, y = 0, |
dY = |
|||
− hY, y = 1 |
||||
dy |
|
dy |
|
Их собственные функции |
|
|
|
|
|||
X |
k |
(x) = cos( |
λ xk |
x), |
Y ( y) = cos(λ |
yn |
y), k, n = 1,2,3,.... |
|
|||||||
|
|
lx |
|
n |
|
||
|
|
|
|
|
x = 0, y = 0 автоматически, а вторым |
||
удовлетворяют первым граничным условиям при |
граничным условиям – только в том случае, если в качестве собственных значений взять корни соответствующих нелинейных уравнений
tgλ xk = |
hlx |
, tgλ yn = |
h |
(10) |
|
λ xk |
λ yn |
||||
|
|
|
Для поиска корней этих уравнений можно предложить следующий алгоритм.
Графически |
(рис. 2, |
y = tg(x) − сплошная линия; y = k / x − точечная, k = 2 ) легко |
|
устанавливается, |
что |
корни этих уравнений |
располагаются на интервалах |
[iπ ,(iπ + π2 )], i = 0,1,2,.... Видно что, чем больше номер корня, тем он ближе смещается к левой границы своего интервала.
5
Рис. 2. Локализация корней нелинейных уравнений
На каждом интервале вначале производится локализация корня с постоянным шагом 0,01 (отрезок содержит корень функции, если ее значения на концах отрезка имеют разные знаки), а затем положение этого корня уточняется методом дихотомии – отрезок, содержащий корень, последовательно делится пополам до тех пор, пока значение
функции f (x) = tg(x) − k / x в средней точке не станет меньше заданной погрешности, например ε = 0,0001 . Приведем алгоритм дихотомии для интервала [xb , xe ]
fb |
= f (xb ), fe |
= f (xe ) |
|||||
for i = 1,100 − |
цикл по числу делений отрезка |
||||||
|
xt |
= (xb + xe ) / 2, ft |
= f (xt ) |
||||
|
if |
ft |
< |
ε |
then exit |
for |
|
|
if |
fb |
ft |
< |
0 then |
|
|
|
|
xe |
= |
xt , fe = ft |
|
||
|
else |
|
|
|
|
|
|
|
|
xb |
= xt , fb = ft |
|
|||
|
end if |
|
|
|
|
||
end |
for |
|
|
|
|
Для дальнейшего использования все найденные корни сохраняются в двух соответствующих двоичных файлах kx.$$$, ky.$$$.
Теперь вернемся к исходной задаче (2), (3). Ее решение будем искать методом Бубнова-Галеркина [8]. Для этого запишем искомое решение в виде конечного
разложения |
по |
найденным |
собственным |
функциям |
оператора |
Лапласа |
|
ukn (x, y) = cos( |
λ xk |
|
x) cos(λ yn y) |
|
|
|
|
lx |
|
|
|
|
|||
|
|
|
|
|
|
||
|
|
|
u(x, y) ≈ |
åK åN Bknukn (x, y) |
(11) |
|
|
|
|
|
|
k = 1 n= 1 |
|
|
|
Это разложение удовлетворяет всем граничным условиям (2.3) при любых значениях неизвестных коэффициентов Bkn .
Неизвестные коэффициенты Bkn в количестве K * N определим из условий
ортогональности невязки δ (x, y) , которая получается при подстановке в уравнение (2.2)
разложения (11), конечному числу полной линейно-независимой системе тех же собственных функций
ulm (x, y) = cos(λl xl x) cos(λ ym y)
x
5
lx 1 |
|
Bkn D ukn (x, y) + åI qiδ (x - xi )δ ( y - yi )]ulm (x, y)dxdy = 0, l = 1..K, m = 1..N |
(δ *ulm ) º ò ò [åK åN |
||
0 0 |
k = 1 n= 1 |
i= 1 |
Расписав эти условия ортогональности более детально, получим следующую систему линейных уравнений для определения неизвестных коэффициентов Bkn
|
|
|
|
|
|
|
åK |
åN Almkn Bkn = |
Flm , |
l = 1..K, m = |
1..N |
|
|
(12) |
|
|
|
||||||||||||||||||
где |
|
|
|
|
|
|
k = 1 n= 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
l |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
λ xk |
|
|
|
λ xl x |
|
|
|
λ xk x |
)dxò1 cos(λ ym y)cos(λ yn y)dy |
|
|
|
|||||||||||||||||||
Almkn |
= [( |
)2 |
+ λ 2yn ]òx |
cos( |
)cos( |
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
lx |
|
0 |
|
|
lx |
|
|
|
|
|
lx |
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
l |
|
|
|
|
|
|
|
|
|
|
|
λ xl x |
|
|
|
|
|
|
|
|
|
|
|
|
|
λ xl xi |
|
|||
Flm |
= |
- åI |
qi òx ò1 |
δ (x - xi )δ (y - |
yi ) cos( |
) cos(λ ym y)dxdy = |
- åI |
qi |
cos( |
)cos(λ ym yi ) |
|||||||||||||||||||||||||
|
lx |
|
|||||||||||||||||||||||||||||||||
|
|
i= 1 0 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i= 1 |
|
|
|
lx |
|||||||
Интегралы в выражении Almkn |
легко вычисляются по формулам (на примере |
||||||||||||||||||||||||||||||||||
f (x) = |
cos( |
λ xl x |
)cos( |
λ xk x |
) ) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
lx |
|
lx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
ì |
lx |
[ |
sin(λ xl + λ xk ) |
+ |
|
sin(λ xl |
- λ xk |
) |
], |
l ¹ |
k |
ü |
|
|
|||||||||||
|
|
|
|
|
|
|
lx |
|
|
ï |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ï |
|
|
||||||
|
|
|
|
|
|
|
|
|
2 |
(λ |
xl + λ xk ) |
|
|
(λ |
xl - λ xk ) |
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
ò f (x)dx = |
ï |
|
|
|
|
|
|
|
|
ï |
|
|
||||||||||||||||
|
|
|
|
|
|
|
í |
|
|
|
|
|
lx |
|
sin(2λ xl ) |
|
|
|
|
|
|
ý |
|
|
|||||||||||
|
|
|
|
|
|
|
0 |
|
|
ï |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
l = |
k |
|
|
ï |
|
|
||
|
|
|
|
|
|
|
|
|
|
ï |
|
|
|
|
2 [1 + |
|
|
2λ |
xl |
], |
|
|
ï |
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
î |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
þ |
|
|
При программной реализации задачи нахождения температурного поля логичнее перейти к новым массивам (использованы вложенные циклы):
Bm = Bkn , m = (k = 1..K, (n = 1..N))
Alm = Almkn , l = (l = 1..K, (m = 1..N)); m = (k = 1..K, (n = 1..N))
Fl = Flm , l = (l = 1..K, (m = 1..N))
В этом случае систему линейных уравнений (12) можно переписать в привычном виде
Kå*N Aij B j = Fi , i = 1..(K * N)
j= 1
Заметим, что поскольку на каждой итерации задачи оптимизации параметров источников энергии в этой системе уравнений будет изменяться только правая часть, то
неизвестный вектор коэффициентов разложения B j рассчитывались через обратную
матрицу системы A− 1 . Эта обратная матрица определяется только один раз при вводе начальных параметров задачи. При таком подходе на каждой итерации оптимизации при расчете коэффициентов разложения температурного поля потребуется в (K * N) раз
меньше операций по сравнению с методом исключения Гаусса.
Обратную матрицу можно получить из единичной с помощью тех же преобразований, которые приводят исходную матрицу к единичной. Обе преобразуемые матрицы можно хранить на месте исходной и обрабатывать по следующим формулам (для k - го
преобразования, k = 1..n, n - размерность матрицы)
5
A |
= |
A |
- |
|
Aik Akj |
, i, j = 1..n, i, j ¹ k |
||||||
|
|
|||||||||||
ij |
|
|
|
ij |
|
|
|
|
Akk |
|
||
|
|
|
|
|
|
|
|
|
|
|
||
A |
= |
- |
|
Aik |
|
, i = 1..n, i ¹ |
k |
|||||
|
|
|
|
|
||||||||
ik |
|
|
|
|
|
Akk |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|||
A |
= |
|
|
Akj |
, |
|
j = 1..n, j ¹ |
k |
||||
|
|
|
|
|||||||||
kj |
|
|
|
Akk |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|||||
A |
= |
1 |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||
kk |
|
|
|
Akk |
|
|
|
|
||||
|
|
|
|
|
|
|
|
Для устойчивости алгоритма перед выполнением k - го преобразования следует производить выбор максимального по модулю элемента матрицы в правой k - ой
подстроке и, если необходимо (такой элемент находится в j(> k) - ом столбце), переставлять j и k столбцы матрицы. Номера переставляемых столбцов необходимо сохранять, поскольку после окончания преобразований в полученной матрице придется выполнить последовательную перестановку строк соответствующих номеров, но в обратном порядке.
7.6. Решение задачи оптимизации.
Сделаем несколько пояснений о порядке расчета составляющих функционала (4):
·входящие в функционал интегралы над прямоугольной областью вычисляются обобщенным методом трапеций с использованием прямоугольной сетки по формуле
1 |
òs |
1 |
(å f угл + 2å fгран + 4å fвнутр ) |
|
s |
f (x, y)dxdy = |
|
||
4N x N y |
||||
где N x , N y - число узлов сетки вдоль соответствующих осей координат; |
||||
f угл , fгран , fвнутр |
- значения функции в угловых, граничных и внутренних точках |
сетки, построенной над областью
·максимальные значения функций над областью ищутся на той же сетке. Для решения задачи минимизации функционала предлагаются три метода:
·метод покоординатного спуска (МПС)
·метод наискорейшего спуска (МНС)
·метод деформируемого многогранника (МДМ) [7].
Использование нескольких методов дает определенную свободу в выборе пути поиска оптимальных параметров точечных источников энергии, а также позволяет сравнить эффективность этих методов в решении поставленной задачи.
Алгоритм МПС
В МПС одномерный спуск выполняется последовательно вдоль каждого параметра оптимизации. При этом можно выбрать один из четырех вариантов перебора параметров:
∙по источникам - qi , xi , yi
∙по источникам - xi , yi , qi
∙по координатам всех источников, а затем по их мощностям - x1 , y1 ,..., xI , yI ; q1 ,..., qI
∙по мощностям всех источников, а затем по их координатам - q1 ,..., q; x1 , y1 ,..., xI , yI
Одномерный спуск состоит из двух этапов: определение направления спуска вдоль данного параметра x (направление уменьшения значения функционала) и спуск в сторону
5
выбранного направления (аналог затухающих колебаний шарика при скатывании на дно «лунки»). Приведем их алгоритмы:
1.
fl = |
1, |
|
xt |
= |
x, ft |
= φ (.., xt ,..), |
h = 0,001 − шаг |
||||
A : x = |
xt |
+ |
h * fl |
|
|
|
|||||
if (x £ |
xs |
- граничное значение) then |
|||||||||
f |
= φ (.., x,..) |
|
|
|
|||||||
if |
( f |
|
< |
ft ) then "выход" end if |
|||||||
end if |
|
|
|
|
|
|
|
|
|
|
|
if ( fl = |
|
- 1) then |
"спуск не возможен" else ( fl = - 1, goto A) end if |
||||||||
2. |
h = |
|
0,05* fl − |
первоначальный шаг спуска |
|||||||
|
|
||||||||||
|
xmin |
|
= |
x, |
fmin |
= φ (.., xmin ,..) |
|
||||
|
do while |
|
h |
> 0,001 |
|
|
|||||
|
x = |
x + |
|
h |
|
|
|
|
|||
|
if |
(x > |
xs ) then (h = xs |
- |
(x - h), x = xs ) end if |
||||||
|
f |
|
= φ |
(.., x,..) |
|
|
|||||
|
if |
( f |
< |
|
fmin ) then ( fmin |
= |
f , xmin = x) else h = - h / 3 end if |
||||
end while |
|
|
|
Здесь xs - граничное значение параметра.
Алгоритм МНС
В данном |
методе одномерный спуск |
из фиксированной точки x пространства |
||
параметров |
в сторону |
уменьшения |
значения функционала осуществляется по |
|
направлению - |
|
grad(φ (x)) |
, |
|
|
grad(φ (x)) |
|
||
|
|
|
|
где (с учетом ограничений выбирается ± ¶ xi )
|
|
|
|
|
|
|
|
|
|
|
grad(φ (x)) |
|
= å |
é |
¶ φ |
ù 2 |
, |
¶ φ |
= |
φ (.., xi ± ¶ xi ,..) - φ (.., xi ,..) |
|
|
||||||||||
|
ê |
|
ú |
|
|
|||||
|
|
|
|
|||||||
|
|
|
i |
ë |
¶ xi û |
|
¶ xi |
|
± ¶ xi |
|
|
|
|
|
|
Спуск вдоль указанного направления выполняется по следующему алгоритму
h = |
0,05 − |
первоначальный шаг спуска |
|||||||||
xmin |
= x, |
fmin |
= φ (xmin ) |
|
|
|
|
||||
do while h. > |
0,001 |
|
|
|
|
|
|||||
for i (цикл по всем параметрам) |
|||||||||||
|
|
|
|
|
|
|
¶ φ |
|
|
|
|
|
xi |
= |
xmin i - h |
|
|
¶ xi |
|
|
|
|
|
|
|
grad(φ (x)) |
|
||||||||
|
|
|
|||||||||
|
if |
(xi > |
|
|
|
||||||
|
xsi ) then xi |
= |
xsi end if |
||||||||
end |
for i |
|
|
|
|
|
|
|
|
||
f = φ (x) |
|
|
|
|
|
|
|
|
|||
if |
( f |
< |
fmin ) then ( fmin |
= |
f , xmin = x) else h = h / 3 end if |
||||||
end while |
|
|
|
|
|
|
|
|
В данном алгоритме спуск осуществляется с постоянным шагом. При каждом переходе через минимальное значение функционала делается шаг назад, величина шага уменьшается в три раза и спуск продолжается в том же направлении. При нарушении
5
ограничения значение параметра приравнивается соответствующему граничному значению. При этом, конечно, искажается направление наискорейшего спуска.
В МПС и МНС выход из итерационного процесса оптимизации осуществляется согласно критерию φ n − φ n− 1 < eps , где n,eps - номер итерации и заданная точность (например, 0,001).
Алгоритм МДМ
Первоначально в n - мерном пространстве параметров оптимизации возле исходной точки p0 строится регулярный симплекс – правильный многогранник с вершинами (
|
p0 |
, |
p1 |
,...., |
pn |
|
), |
|
координаты которых |
представлены |
столбцами матрицы размерности |
||||||||||||||
n * (n + 1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
p01 |
p01 |
± |
d1 |
p01 |
± |
d2 ... |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
p02 |
p02 |
± |
d2 |
p02 |
± |
d1 ... |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
p03 |
p03 |
± |
d2 |
p03 |
± |
d2 ... |
|
||||
|
|
|
|
|
|
|
|
|
|
|
.. .. .. .. .. .. .. .. |
|
|||||||||||||
Здесь d1 |
= |
|
|
|
t |
|
( |
|
+ n − 1), d2 |
= |
|
t |
|
|
( |
|
− 1), |
t - задаваемый характерный размер |
|||||||
|
|
|
|
n + 1 |
|
|
n + 1 |
||||||||||||||||||
|
n |
|
|
|
n |
|
|
|
|||||||||||||||||
|
2 |
|
2 |
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
симплекса. В каждой строке матрицы используются знаки «+» или «-» в зависимости от условия выполнения ограничений, наложенных на параметры. На рис. 3 подобные симплексы построены для случая n = 2 . Здесь в области допустимых значений параметров полностью расположен только закрашенный симплекс с координатами вершин
p01 |
p01 |
− d1 |
p01 |
− d2 |
p02 |
p02 |
− d2 |
p02 |
− d1 |
Для этих же целей можно варьировать величину характерного размера симплекса.
Рис. 3. Положение симплексов для двумерного случая
6