Научная статья на тему 'Розв’язання крайових задач для звичайних диференціальних рівнянь за алгоритмом диференціальної еволюції'

Розв’язання крайових задач для звичайних диференціальних рівнянь за алгоритмом диференціальної еволюції Текст научной статьи по специальности «Математика»

CC BY
210
15
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
алгоритм диференціальної еволюції / крайові задачі для звичайних диференціальних рівнянь / наближені розв’язки / квадратичне відхилення / чебишовське відхилення. / differential evolution algorithm / boundary value problems for ordinary differential equations / approximate solutions / quadratic deviation / Chebyshev deviation.

Аннотация научной статьи по математике, автор научной работы — Л. П. Вакал, Є. С. Вакал

У статті розглядається крайова задача для звичайного диференціального рівняння n го порядку. Як наближений розв’язок задачі вибирається функція, що для довільних значень параметрів, які входять в неї, точно задовольняє крайові умови, а при підстановці функції у рівняння утворюється диференціальна нев’язка. Для пошуку оптимальних значень параметрів, на яких досягається мінімум функції відхилення диференціальної нев’язки від нуля, пропонується підхід із використанням алгоритму диференціальної еволюції. Даний підхід може бути поширений також на випадок, коли для довільних значень параметрів наближений розв’язок не задовольняє точно крайові умови і, окрім диференціальної нев’язки, з’являються нев’язки крайових умов. Алгоритм диференціальної еволюції служить для розв’язання задач багатовимірної оптимізації. В ньому моделюються основні еволюційні процеси в живій природі: схрещування, мутація, селекція. Це один із кращих еволюційних алгоритмів, який стабільно знаходить глобальний мінімум (максимум) функції за мінімальний час. На відміну від стандартної схеми диференціальної еволюції в алгоритмі, запропонованому у статті, еволюція здійснюється тільки за рахунок операцій мутації та селекції, без використання схрещування. Це сприяє спрощенню алгоритму без погіршення точності результатів. Алгоритм дозволяє розв’язувати як лінійні, так і нелінійні крайові задачі без внесення змін і залучення чисельних методів, а також використовувати різні норми для функції відхилення (квадратичну, чебишовську та ін.). Запропонований алгоритм реалізовано в Matlab. Наводяться результати обчислювальних експериментів із розв’язання низки тестових крайових задач для диференціальних рівнянь другого і четвертого порядків. Вони показують, що знайдені за алгоритмом диференціальної еволюції наближені розв’язки вказаних задач добре узгоджуються з їхніми точними розв’язками.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

In the paper considers a boundary value problem for an ordinary differential equation of the n th order. As an approximate solution to the problem, it is selected a function which for arbitrary values of parameters included in it exactly satisfies the boundary conditions, and when the function is substituted into the equation, a differential residual is formed. To search optimal values of the parameters at which the minimum of a deviation function of the differential residual from zero is achieved, it is proposed an approach using the differential evolution algorithm. The approach can also be extended to a case when the approximate solution does not satisfy exactly the boundary conditions for arbitrary values of its parameters and, in addition to the differential residual, there are also residuals of the boundary conditions. Differential evolution algorithm is used to solve multidimensional optimization problems. It simulates basic evolutionary processes in nature: crossover, mutation, selection. It is one of the best evolutionary algorithms stably finding function global minimum (maximum) in minimum time. Unlike the standard scheme of differential evolution, in the proposed algorithm the evolution occurs only due to mutation and selection operations, crossover doesn’t use. This allows us to simplify the algorithm without compromising the results accuracy. The algorithm allows to solve both linear and nonlinear boundary value problems without making changes and not applying numerical methods, and it also allows to use different norms for the deviation function (quadratic, Chebyshev, etc.). The proposed algorithm is implemented in Matlab. Results of computational experiments to solve test boundary value problems for differential equations of the second and fourth orders are presented. They show that approximate solutions of these problems obtained by the differential evolution algorithm are in good agreement with their exact solutions.

Текст научной работы на тему «Розв’язання крайових задач для звичайних диференціальних рівнянь за алгоритмом диференціальної еволюції»

https://orcid.org/0000-0002-1658-5432 https://orcid.org/0000-0001-8581-9098

УДК 519.6:004.021

Л.П. ВАКАЛ*, е.С. ВАКАЛ**

РОЗВ'ЯЗАННЯ КРАЙОВИХ ЗАДАЧ ДЛЯ ЗВИЧАЙНИХ ДИФЕРЕНЦ1АЛЬНИХ Р1ВНЯНЬ ЗА АЛГОРИТМОМ ДИФЕРЕНЦ1АЛЬНО1 ЕВОЛЮЦП

1нститут шбернетики iMeHi В.М. Глушкова НАН Украши, м. Ки!в, Украша

Кшвський нацюнальний унiверситет iMeHi Тараса Шевченка, м. Кшв, Украша_

Анотаця. У cmammi розглядаеться крайова задача для звичайного диференщального р1вняння n -го порядку. Як наближений розв'язок задачi вибираеться функщя, що для довiльних значень пара-Mempie, яю входять в нег, точно задовольняе крайовi умови, а при тдстановц функцп у рiвняння утворюеться диферен^альна нев 'язка. Для пошуку оптимальних значень паpамempiв, на яких до-сягаеться мШмум функцп вiдхилeння диферен^альног нев'язки вiд нуля, пропонуеться пiдхiд iз використанням алгоритму диферен^альног еволюцИ. Даний пiдхiд може бути поширений також на випадок, коли для довтьних значень паpамempiв наближений розв'язок не задовольняе точно кpайовi умови i, окр^м диферен^альног нев 'язки, з'являються нев 'язки крайових умов. Алгоритм диферен^альног еволюцИ служить для розв'язання задач багаmовимipног опmимiзацiг. В ньому мо-делюються основш еволюцшш процеси в живт пpиpодi: схрещування, мутащя, селекщя. Це один iз кращих еволюцШних алгоpиmмiв, який стабшьно знаходить глобальний мiнiмум (максимум) функцп за мiнiмальний час. На вiдмiну вiд стандартног схеми диферен^альног еволюцИ в алгоpиmмi, запропонованому у сmаmmi, еволющя здтснюеться ттьки зарахунок операцт мутацп та селекцИ, без використання схрещування. Це сприяе спрощенню алгоритму без погipшeння mочносmi резуль-mаmiв. Алгоритм дозволяерозв'язувати як лттт, так i нелтйш кpайовi задачi без внесення змт i залучення чисельних мemодiв, а також використовувати piзнi норми для функцп вiдхилeння (квад-ратичну, чебишовську та т.). Запропонований алгоритм peалiзовано в Matlab. Наводяться ре-зультати обчислювальних eкспepимeнmiв iз розв'язання низки тестових крайових задач для дифе-ренщальних piвнянь другого i четвертого порядюв. Вони показують, що знайдеш за алгоритмом диферен^альног еволюцИ наближеш розв'язки вказаних задач добре узгоджуються з гхмми точ-ними розв 'язками.

Ключов1 слова: алгоритм диферен^альног еволюцИ, кpайовi задачi для звичайних диферен^альних piв-нянь, наближенрозв'язки, квадратичне вiдхилeння, чебишовське вiдхилeння.

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

© Вакал Л.П., Вакал £.С., 2020

ISSN 1028-9763. Математичш машини i системи, 2020, № 1

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

Abstract. In the paper considers a boundary value problem for an ordinary differential equation of the n th order. As an approximate solution to the problem, it is selected a function which for arbitrary values of parameters included in it exactly satisfies the boundary conditions, and when the function is substituted into the equation, a differential residual is formed. To search optimal values of the parameters at which the minimum of a deviation function of the differential residual from zero is achieved, it is proposed an approach using the differential evolution algorithm. The approach can also be extended to a case when the approximate solution does not satisfy exactly the boundary conditions for arbitrary values of its parameters and, in addition to the differential residual, there are also residuals of the boundary conditions. Differential evolution algorithm is used to solve multidimensional optimization problems. It simulates basic evolutionary processes in nature: crossover, mutation, selection. It is one of the best evolutionary algorithms stably finding function global minimum (maximum) in minimum time. Unlike the standard scheme of differential evolution, in the proposed algorithm the evolution occurs only due to mutation and selection operations, crossover doesn't use. This allows us to simplify the algorithm without compromising the results accuracy. The algorithm allows to solve both linear and nonlinear boundary value problems without making changes and not applying numerical methods, and it also allows to use different norms for the deviation function (quadratic, Chebyshev, etc.). The proposed algorithm is implemented in Matlab. Results of computational experiments to solve test boundary value problems for differential equations of the second and fourth orders are presented. They show that approximate solutions of these problems obtained by the differential evolution algorithm are in good agreement with their exact solutions. Kewwords: differential evolution algorithm, boundary value problems for ordinary differential equations, approximate solutions, quadratic deviation, Chebyshev deviation.

DOI: 10.34121/1028-9763-2020-1-43-52

1. Вступ

Алгоритм диференщально'1 еволюцп (ДЕ) був запропонований Р. Сторном i К. Прайсом [1] i призначений для розв'язання задач багатовимiрноi оптимiзащi. Це один i3 кращих ево-люцшних алгоршмв, який стабшьно знаходить глобальний оптимум щльово'1 функцп -критер^ оптимiзацii - за мшмальний час. У загальному випадку цшьова функщя може бути недиференцшовною, нелшшною, багатоекстремальною i з великою кшьюстю змш-них. Алгоритм ДЕ, ^м того, нескладний у реалiзацii та використанш (мютить мало пара-метрiв, що потребують налаштування), легко розпаралелюеться. Завдяки цьому, алгоритм ДЕ знайшов широке застосування при розв'язанш рiзних прикладних задач [2-8].

Метою роботи е модифшащя алгоритму ДЕ для знаходження оптимальних значень параметрiв наближених розв'язюв крайових задач для звичайних диференщальних рiв-нянь. До таких задач математично'1' фiзики приходять при моделюванш фiзичних процеав у балютищ, теорп пружносп, теорп коливань, мехашщ рщин i газiв, динамщ твердого ть ла, оптимальному керуванш та шших областях науки й техшки.

Слщ зазначити, що публшацш щодо застосування еволюцшних алгоритмiв для розв'язування задач математично'1' фiзики дуже мало. Наприклад, у роботах [9-12] для по-шуку наближених розв'язкiв деяких крайових задач використовуеться один iз перших i найвiдомiших еволюцiйних алгоритмiв - генетичний.

2. Постановка задач1 та анал1з метод1в н розв'язання

Розглядаемо загальне диференщальне р1вняння п -го порядку {п > 2)

f(x,u,u',...,u{")) = 0, (1)

iз заданими нелiнiйними крайовими умовами

(Щ, i'\,..., г#{};. ■ ■; и к, г/Ь • • •,'ufk)) = АИ , И = 1, 2,...,п, (2)

де s = 0,1, 2,...,сгг- (сг-<и-1), xl7 х2,..., хк {к > 2) - задана система тонок

вщр1зку [а, 6] [13, с. 240]. Слщ зауважити, що для р1внянь порядку п > 2 можлив1 випад-ки, коли частина умов (2) задаеться у внутршшх точках промiжку [a, b] [14, c. 261]). Для наближеного розв'язання крайово'1' задачi (1), (2) вибираемо функщю

v = v(x,c1,c2,...,cm), (3)

яка мютить незалежнi параметри cj,c2,...,cm i таку, що для довшьних значень цих параме-TpiB функщя v задовольняе крайовi умови (2). Пщставляючи (3) у лiву частину рiвняння (1), отримаемо диференцiальну нев'язку

.....(4)

Нев'язка (4) е певною характеристикою вщхилення наближеного розв'язку v вiд невщомого точного розв'язку u . Якщо для деяких значень параметрiв ця нев'язка тотожно дорiвнюе нулю на промiжку [a, b], то функщя v збiгаеться з точним розв'язком u . Як правило, при розв'язуванш крайових задач не вдаеться отримати нульову нев'язку. Тому намагаються знайти таю значення параметрiв Cj,c2,...,cm наближеного розв'язку (3), щоб на вiдрiзку [a, b] вiдхилення диференщально'1' нев'язки вщ нуля було мiнiмальним. Рiзна реалiзацiя ще'1' вимоги приводить до рiзних наближених методiв розв'язання крайово! зада-чi: методу найменших квадратiв (штегральному i дискретному), методу колокацп, методу Гальоркша та iн. [13-15]. У пщсумку пошук параметрiв cx,c2,...,cm зводиться до

розв'язання системи алгебршчних рiвнянь. У випадку нелшшно! крайово! задачi система також буде нелшшною i для ii розв'язання доведеться використовувати чисельш методи. Крiм того, у деяких методах обчислення матриц коефiцiентiв i координат вектора право'1' частини системи рiвнянь вимагае штегрування по всьому вiдрiзку, що приводить до необ-хiдностi застосування методiв чисельного iнтегрування. Як показуе практика, вказаш на-ближенi методи використовуються переважно для розв'язання лшшних крайових задач для диференцiальних рiвнянь другого порядку.

У статтi для наближеного розв'язання крайово'1' задачi (1), (2) пропонуеться пщхщ, який дозволяе розв'язувати як лiнiйнi, так i нелiнiйнi задачi без залучення чисельних мето-дiв. Вiн полягае у тому, що задача визначення параметрiв cj,c2,...,cm наближеного розв'язку (3) розглядаеться як задача пошуку мш1муму функцп вщхилення Л диференща-льно! нев'язки (4) вщ нуля:

Л(сис2,...,ст) = т in, (5)

i задача оптим1зацп (5) розв'язуеться за допомогою алгоритму диференщально! еволюцп [1]. В рол1 функцп Л може виступати чебишовське вщхилення [16, 17], яке визначаеться як максимум модуля нев'язкиR на сггщ EN = = 1,2,...,N} b]:

Л1(със2,...,ст) = max \Щх3,със2,...,ст)\, (6)

\<S<N

квадратичне вiдхилення

N

A1(cl,c2,...,cm) = YdR2(,xs,cl,c2,...,cm) (7)

1

або вiдхилення виду

N

А3(с1,с2,...,ст) = ^\К(х^с1,с2,...,ст)\. (8)

^ 1

Запропонований тдхщ може бути поширений також на випадок, коли функщя (3) не задовольняе одну або декшька крайових умов i, окрiм диференщально'1 нев'язки, з'являються нев'язки крайових умов.

3. Алгоритм

В алгоршм ДЕ моделюються основнi еволюцiйнi процеси в живш природi: схрещування, мутацiя, селекщя. Стандартна схема алгоритму включае таю кроки [1]. Спочатку генеру-еться множина векторiв - популяцiя, що представляе собою можливi розв'язки задачi оп-тимiзащi. Потiм для кожного вектора поточно! популяцп, який називаеться базовим або вектором-мшенню, з використанням трьох випадкових векторiв створюеться мутантний вектор. Над останнiм виконуеться операщя схрещування, пiд час яко'1 в залежносп вiд задано! ймов1рносп схрещування Сг деяю його координата замшюються на координати вектора-м1шеш. Дал1 проводиться селекщя: з двох вектор1в - мутантного 1 базового - в нову популящю переходить вектор, який мае краще значения цшьовоТ фуикцп (у випадку зада1п (5) - меише значения функцп вщхилеиня Л ). Ця послщовнють кроив - мутащя, схрещування, селекщя - повторюеться до тих шр, поки не виконаеться термшальна умова [1, 18], наприклад, кшьюсть сформованих популяцiй досягне заданого максимального числа.

Схема алгоритму розв'язання крайово! задачi (1), (2) змiнена порiвняно з описаною вище стандартною схемою, а саме, в еволющйному процес не використовуеться операцiя схрещування. Як показав досвщ застосувания алгоритму ДЕ в задачах найкращоТ апрокси-маци функщй [5-8, 18], яи теж зводяться до оптим1зацшио1 зада1п (5), ймов1ршсть Сг того, що координати мутантного вектора залишаться теля операцп схрещування незмшними, задаеться в д1апазош 0,9 < Сг < 1. Отже, в под1бних задачах вплив схрещування на еволю-щйний процес зовсiм незначний i операци мутацп достатньо для створення потрiбного рiз-номанiття векторiв популяцп тд час пошуку оптимуму.

Нижче наводиться схема алгоритму ДЕ для пошуку оптимальних значень парамет-р1в наближеного розв'язку крайово! задач1 (1), (2).

1. Покладаеться О = 0, де С - номер популяцп, та генеруеться початкова популящя вектор1в Сг- =(сл,...,с1т), 1 = 1 ,...,Ыр , де Ыр - розм1р популяцп. Координати сл,...,с1т вектора Сг - випадков1 дшеш числа ¡з пром1жку [-1, 1] (у подалышй еволюцп значения

координат можуть виходити далеко за його меж1).

2. Для векторiв початково! популяцп обчислюються значення щльово'1 функцп

ад = 4(ся,...,сш), (9)

де £ = 1,2,3. Для к = 1 значення вщхилеиня Ад. уточках = 1, атки обчис-

люються за формулою (6), для к = 2 - за формулою (7) [ для к = 3 - за формулою (8).

3. Для вектора-1упшеш С,-, / = 1,...,Ир , створюеться мутантний вектор Сг-:

С1 =СЛ + 1чп-(С Г2-СГз),

де г-у, г2, г3 - випадков1 цш числа ¡з пром1жку [1, гхфг2фгъф1 , Рт е (0,2] - заданий коефщент мутацп, i за формулою (9) обчислюеться ¥(Сг-) .

4. Селекщя. Якщо /•'(<",) < /''(С,), то в нову популящю з номером О +1 включаеть-

ся вектор С¿, шакше - в популящю G +1 переходить вектор-MÍ шень С,-.

5. Якщо G < Gmax, де Сотах ~~ задане максимальне число популящй, то вщбуваеться перехщ на п. 3. У протилежному випадку визначаеться вектор Cbest, який мае найменше значення цшьово! функцп в популяцп з номером Gmax, i алгоритм завершуеться.

Po3MÍp популяцп Np i коефщент мутацп Fm е основними параметрами налашту-вания алгоритму ДЕ. При розв'язанш зада1п (1), (2) рекомендуються таю значення цих па-раметр1в: 5т< Np < Ют, 0,4 < Fm < 0,6 . Bn6ip значення параметра Gmax залежить вщ числа шукаиих параметр!в наближеного розв'язку (3). Для т < 5 можиа вибрати Gmax - 200.

Описаний алгоритм реашзовано засобами системи комп'ютерно! математики Matlab з використанням символьних обчислень [19].

4. Результати обчислювальних експеримент1в

За допомогою запропонованого алгоритму виконано обчислювальш експерименти з розв'язання низки тестових крайових задач, для яких вiдомi точнi розв'язки, i проведено ix порiвняння iз знайденими наближеними розв'язками. Нижче наведено приклади розв'язання крайових задач для диференщальних рiвнянь рiзних порядкiв. Приклад 1. Лiнiйна крайова задача для рiвняння другого порядку:

и" + и + х = 0,и(0) = 0,и(\) = 0. (10)

Як наближений розв'язок задачi (10) вiзьмемо функцiю

m

vm(x) = Yckxk(\-x), (11)

k=1

яка для довшьних зиачень параметр1в точно задовольняе крайов1 умови.

Спочатку розглянемо випадок т = 2. Пщставляючи фуикщю (11) в р1вняиня, отри-маемо диференцiальну нев'язку:

R(x,cl,c2) = сх{-2 + х -х2) + с2(2-6х + х2 -jc3) + jc.

За алгоритмом ДЕ з цшьовою фуикщею F - z13, значення яко! обчислюються за

формулою (8) в точках cítkh En—{xs — 0,005-(s-l), s — 1,...,7V} , iV = 201, отримаио наближений розв'язок:

v2 (jc) = 0,189142х (1 - jc) + 0,171892х2 (1 - jc) . Значення цшьово! функцп F для нього дор1внюе 3,4944.

За алгоритмом ДЕ отримано також наближеш розв'язки для випадюв т = 3 i т = 4 : v3 (х) = ОД 88037х (1 - х) + ОД 9367вс2 (1-х) - 0,02349х3 (1 - х),

v4 (х) = 0,188388х (1 - х) + 0,1 88573jc2 (1 - jc) - 0,01 0455jc3 (1 - jc) - 0,00861 Ох:4 (1 - jc) . При цьому значення цшьово! функцп F дор1внюе 0,5424 для т = 3 i 0,0187 для

т = 4.

Слщ зазначити, що м1шм1защя функцп F в алгоритм! ДЕ вщбуваеться досить швид-ко. Як видно з рис. 1, для т = 3 вже в 30-й популяцп F < 0,56, а для т = 4 в 65-й популяцп /*' < 0,02 (з ростом числа параметр! в т вщбуваеться розширення облает пошуку, що вимагае бшьшого числа популящй для досягнення мшмуму цшьово':! функцп).

3 табл. 1, де наведено значения точного розв'язку и(х) = sinx/sin 1-х [15, с. 204] i наближених розв'язюв vm(х) крайово'1 задачi (10) в деяких точках B^pÍ3Ka [0,1], видно, що з ростом m похибка |и(х)- vm (х)| наближеного розв'язку vm (х) швидко зменшуеться, i функцп V3(х) та V4 (х) вже достатньо добре апроксимують точний розв'язок u(х). Зазначимо для порiвняння, що похибка 0,00098 отримано'1 функцп V2 (х) практично збiгаеться з похи-бкою 0,001 розв'язку

v2 (JC) = jc (1 - JC)(0, 192412+ 0,170732*), знайденого за методом Гальоркша [15].

Рисунок 1 - Значення цшьово! функцп F найкращого вектора популяцп в залежносп вiд

номера популяцп G

Таблиця 1 - Пор1вняння точного i наближених розв'язюв задач1 (10)

X 0,25 0,5 0,75

u (x) 0,0440137 0,0697470 0,0600562

v2(x) 0,04352 0,06877 0,05964

v3( x) 0,044060 0,069751 0,060015

v4 (x) 0,0440144 0,0697462 0,0600572

u( x)-V2(X) 0,00049 0,00098 0,00042

u( x)-v3(x) 0,000047 0,000004 0,000041

u( x)-v4(x) 0,0000007 0,0000008 0,0000010

Приклад 2. Крайова задача для нелшшного диференщального рiвняння другого порядку з лшшними крайовими умовами:

и" - 4(и')2 +16и - 2 = 0, и(0) = 0, м( 1) = 1. (12)

Наближений розв'язок задачi (12) шукаемо у виглядi

л

v(x) - х + с^х (1 - х) + с2х (1-х). Диференщальна нев'язка у цьому випадку е такою:

R(x, cl7 с2) = v"(x) - 4[v'(x)]2 + 16v(x) - 2 ,

де v'(x) = 1 + q (1 - 2x) + c2 (2x -3x2), v"(x) = -2cx + 2c2 (1 - 3jc) .

За алгоритмом ДЕ з щльовою функщею F = , значения яко'1 обчислювались за формулою (6) в точках piBHOMipHOï сiтки E101, отримано таю результати:

сх =-1,0, с2 «0,9-Ю"18, F = 0,9• 10~15. Легко бачити, що знайдений наближений розв'язок зaдaчi (12) v(jc) = (1 + 0,9 • 10"1 8)jc2 -0,9-10"1 V

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

л

практично зб1гаеться з ïï точним розв'язком и(х) = х .

Запропонований пiдхiд iз використанням ДЕ може застосовуватися також i у випад-ках, коли наближений розв'язок (3) не задовольняе декшька або нaвiть усi крaйовi умови (2) i, крiм диференщально'1' нев'язки (4), з'являються нев'язки крайових умов. Нижче наведено приклади задач, де виникають таю ситуаци.

Приклад 3. Крайова задача для лшшного диференщального рiвняння 4-го порядку:

uw -63w"-64w = -300e~2x, 0<х<1, (13)

и(0) + и"(0) = 5, и(0) -и"(0) = -1,

и'{ 1) = -1,11214, и"{1) = 0,00103883. ^

Як наближений розв'язок ще'1' зaдaчi взято функцiю

v(jc) = е2х + Cj + с2х2 + с3х4 + C4JC6. (15)

Функцiя (15) для довшьних значень cj, c2, С3, С4 не задовольняе точно нi рiвняння (13), ш крaйовi умови (14). Пiдстaвляючи v(х) в (13) i (14), отримаемо диференщальну нев'язку

Ri(x,cbc2,c3,c4) = vIV -63v"-64v + 300е~2х,

де v"(x) = 4e'2x+2с2+12с3х2+30с4х4, vw(x) = 16е'2х +24с3 + 360с4х2,

i чотири нев'язки крайових умов:

^2(СЬС2) = С1 +2с2, Яз(сЬс2) = с1 -2С2-2,

R4(c2,c3,c4) = -2е~2 +2 с2 +4с3 +6с4 +1,11214, R5(c2,c3,c4) = 4e~2 +2с2+\2с3 + 30с4 -0,00103883.

Yd п'ять нев'язок мають бути враховаш в цiльовiй функцп. З використанням алгоритму ДЕ з щльовою функщею

F= тах\ +Ш + Ш + Ш (16)

на рiвномiрнiй сiтцi Ejoi отримано такий наближений розв'язок зaдaчi (13), (14):

v(x) = e'2x +1,000013-0,499993Х2 +0,041 625jc4 - 0,00134 Ъс6 . (17)

Значения функцп (16) для нього дор1внюе 0,003202. Наведеш в табл. 2 результата показу-ють, що функщя (17) досить добре наближае точний розв'язок и(х) = соях + е~2х йово'' задачi (13), (14).

Таблиця 2 - Пор1вняння точного ш

[20] крах) i наближеного у(х) розв'язкчв задачi (13), (14)

х ^х) Кх) и(х) - у(х)

0 2 2,000013 0,000013

0,2 1,650387 1,650400 0,000013

0,4 1,370390 1,370403 0,000013

0,6 1,126530 1,126542 0,000012

0,8 0,898603 0,898612 0,000009

1 0,675638 0,675639 0,000001

Приклад 4. Крайова задача для нелшшного диференщального рiвняння другого порядку з нелшшними крайовими умовами:

и"-и-(и')2 =0, и(0)-и'(0) = 1, и(\)-и'(\) = 0. Наближений розв'язок задачi (18) шукаемо у виглядi

Л -5 Л

\{х) = Су + С2Х + с3х + с4х + с5х .

(18) (19)

Функщя (19) для довшьних Су, с2, с3, с4, с5 не задовольняе точно ш крайовi умо-ви, нi рiвняння. У цьому випадку тсля пiдстановки функци у( х) у крайову задачу (18) отримаемо диференщальну нев'язку:

^ (х, с1,с2,с3,с4,с5) = у"(х) ■ у(х) - [у'(х)]2 ,

де у'(х) = с2+2с3х+ 3с4х2 + 4с5х3, у"(х) = 2с3 +6с4х + 12с5х2,

i двi нев'язки крайових умов:

^2(СЬС2) = С1 ' с2 -1, Щ(Су,Съ,С4,С5) = Су -с3 -2 с4 -Зс5. За алгоритмом ДЕ з щльовою функцiею

N

II

5=1

(20)

значення яко'' обчислювались у точках рiвномiрноi сiтки Еу0у, знайдено такий наближений розв'язок задачi (18):

у(х) = 1,0000406+ 0,9999594* + 0,5103598х2 + 0,1353596х3 + 0,0729872.x:4.

Значення щльово'' функци (20) дорiвнюе 0,00923.

Оскшьки вщомий точний розв'язок и(х) = ех [12] задач1 (18), то можна обчислити похибку наближеного розв'язку у(х) . Вона дорiвнюе 0,000425 (табл. 3).

X u(x) v(x) u(x) - v(x)|

0 1 1,000041 0,000041

0,2 1,221403 1,221647 0,000244

0,4 1,491825 1,492213 0,000389

0,6 1,822119 1,822443 0,000324

0,8 2,225541 2,225838 0,000297

1 2,718282 2,718707 0,000425

5. Висновки

У робот запропоновано алгоритм диференщально!' еволюцп для знаходження napaMeTpiB наближених розв'язкiв крайових задач для звичайних диференцiальних рiвнянь n-го порядку. Алгоритм дозволяе використовувати рiзнi норми нев'язок (чебишовську, квадрати-чну та iн.) i розв'язувати як лiнiйнi, так i нелiнiйнi задачi без внесення змш i залучення чи-сельних методiв. На вiдмiну вiд стандартно'1 схеми ДЕ, в запропонованому алгоритмi ево-люцiя вiдбуваеться тiльки за рахунок операцш мутацп та селекцп (операщя схрещування не використовуеться). Це дозволило спростити алгоритм без попршення точност отрима-них розв'язкiв. Аналiз результат обчислювальних експериментiв показав, що знайдеш за алгоритмом ДЕ наближенi розв'язки тестових задач добре узгоджуються з 1'хшми точними розв'язками. Запропонований алгоритм можна розглядати як додатковий шструмент до традицшних методiв розв'язання крайових задач для звичайних диференщальних рiвнянь, особливо в нелiнiйних випадках, коли реалiзацiя цих методiв ускладнена.

СПИСОК ДЖЕРЕЛ

1. Storn R., Price K. Differential evolution - a simple and efficient heuristic for global optimization over continuous spaces. Journal of Global Optimization. 1997. Vol. 11. P. 341-35.

2. Varadarajan M., Swarup K.S. Differential evolution approach for optimal reactive power dispatch. Applied Soft Computing. 2008. Vol. 8, N 4. P. 1549-1561.

3. Das S., Konar, A. Automatic Image Pixel Clustering with an Improved Differential Evolution. Applied Soft Computing. 2009. Vol. 9, N 1. P. 226-236.

4. Develi I. A new approximation based on the differential evolution for the gaussian g-function. International Journal of Innovative Computing, Information and Control. 2012. N 10. P. 7095-7102.

5. Vakal L.P. Seeking Optimal Knots for Segment Approximation. Journal of Automation and Information Sciences. 2016. Vol. 48, N 11. P. 68-75.

6. Вакал Л.П., Вакал С.С. Розв'язання перевизначеноi системи трансцендентних рiвнянь iз використанням диференщально1' еволюцп. Математичне та комп 'ютерне моделювання. Техтчт науки. 2017. Вип. 15. С. 24-30.

7. Вакал Л.П. Апроксимащя функцш багатьох змшних iз застосуванням алгоритму диференщаль-но1' еволюцп. Математичш машини i системи. 2017. № 1. С. 90-96.

8. Вакал Л.П., Вакал С.С. Знаходження оптимальних параметрiв емтричних формул декшькох змшних за допомогою еволюцшних алгоршмв. Математичт машини i системи. 2018. № 3. С. 109-116.

9. Ясницкий Л.Н., Гладкий С.Л., Никитенко И.И., Тарасов М.А. Искусственный интеллект в решении краевых задач проектной инженерии. URL: http://www.permai.ru/files/projects/P03.pdf.

10. Abu-Arqub Omar, Abo-Hammour Zaer, Momani Shaher. Application of continuous genetic algorithm for nonlinear system of second-order boundary value problems. Applied Mathematics & Information Sciences. 2014. Vol. 8, N 1. P. 235-248.

11. Vakal L.P. Using genetic algorithm for solving boundary value problems. Journal of Automation and Information Sciences. 2015. Vol. 47, N 8. P. 52-62.

12. Вакал Л.П. Генетичш алгоритми як шструмент розв'язання нелiнiйних крайових задач. Комп'ютерм засоби, мереж1 та системи. 2015. № 14. С. 16-23.

13. Демидович Б.П., Марон И.А., Шувалова Э.З. Численные методы анализа. М.: Наука, 1967. 368 с.

14. Калиткин Н.Н. Численные методы. М.: Наука, 1978. 512 с.

15. Волков Е.А. Численные методы. М.: Наука, 1987. 248 с.

16. Vakal L.P. Solving uniform nonlinear approximation problem using continuous genetic algorithm.

Journal of Automation and Information Sciences. 2016. Vol. 48, N 6. P. 49-59.

17. Каленчук-Порханова А.О., Вакал Л.П. Застосування найкращо! чебишовсько! апроксимацп для моделювання деяких фiзичних процешв. Математичне та комп'ютерне моделювання. Техтчт науки. 2010. Вип. 4. С. 111-118.

18. Vakal L.P., Kalenchuk-Porkhanova A.A., Vakal E.S. Increasing the Efficiency of Chebyshev Segment Fractional Rational Approximation. Cybernetics and Systems Analysis. 2017. Vol. 53, N 5. P. 759-765.

19. Довгий Б.П., Вакал С.С., Вакал Ю.С., Попов А.В. Використання математичного пакета matlab для розв'язування прикладних задач. Кшв: Фггосощоцентр, 2012. 78 с.

20. Моршнева И.В., Овчинникова С.Н. Численное решение краевых задач для обыкновенных дифференциальных уравнений. Метод стрельбы. Ростов-на-Дону: УПЛ РГУ, 2003. 29 с.

Стаття над1йшла до редакцИ' 13.02.2020

i Надоели баннеры? Вы всегда можете отключить рекламу.