Оптимізація структури розрідженої матриці для побудови ефективного обчислювального алгоритму

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

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Теорія оптимальних рішень
Datum:2010
1. Verfasser: Полянко, В.В.
Format: Artikel
Sprache:Ukrainisch
Veröffentlicht: Інститут кібернетики ім. В.М. Глушкова НАН України 2010
Online Zugang:https://nasplib.isofts.kiev.ua/handle/123456789/46676
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Назва журналу:Digital Library of Periodicals of National Academy of Sciences of Ukraine
Zitieren:Оптимізація структури розрідженої матриці для побудови ефективного обчислювального алгоритму / В.В. Полянко // Теорія оптимальних рішень: Зб. наук. пр. — 2010. — № 9. — С. 47-54. — Бібліогр.: 6 назв. — укр.

Institution

Digital Library of Periodicals of National Academy of Sciences of Ukraine
_version_ 1859684826329645056
author Полянко, В.В.
author_facet Полянко, В.В.
citation_txt Оптимізація структури розрідженої матриці для побудови ефективного обчислювального алгоритму / В.В. Полянко // Теорія оптимальних рішень: Зб. наук. пр. — 2010. — № 9. — С. 47-54. — Бібліогр.: 6 назв. — укр.
collection DSpace DC
container_title Теорія оптимальних рішень
description Розглядаються проблеми оптимізації структури розрідженої матриці для побудови ефективного обчислювального алгоритму знаходження розв’язку системи лінійних алгебраїчних рівнянь. Запропоновано кілька підходів до модифікації матриці та їх застосування в ітераційному методі розв’язування системи. Рассматриваются проблемы оптимизации структуры разреженной матрицы для построения эффективного вычислительного алгоритма нахождение решения системы линейных алгебраических уравнений. Предложено несколько подходов для модификации матрицы и их использование в итерационном методе решения системы. The problems of optimization of sparse matrix structure for construction of effective computation algorithm for solving system of linear algebraic equations are considered. Some approaches for matrix modifications and its application for iterative method of system solving were proposed.
first_indexed 2025-11-30T21:34:39Z
format Article
fulltext Теорія оптимальних рішень. 2010, № 9 47 ÒÅÎÐ²ß ÎÏÒÈÌÀËÜÍÈÕ Ð²ØÅÍÜ Розглядаються проблеми оптимі- зації структури розрідженої ма- триці для побудови ефективного обчислювального алгоритму зна- ходження розв’язку системи лі- нійних алгебраїчних рівнянь. За- пропоновано кілька підходів до модифікації матриці та їх засто- сування в ітераційному методі розв’язування системи.  В.В. Полянко, 2010 ÓÄÊ 519.6 Â.Â. ÏÎËßÍÊÎ ÎÏÒÈ̲ÇÀÖ²ß ÑÒÐÓÊÒÓÐÈ ÐÎÇÐ²ÄÆÅÍί ÌÀÒÐÈÖ² ÄËß ÏÎÁÓÄÎÂÈ ÅÔÅÊÒÈÂÍÎÃÎ ÎÁ×ÈÑËÞÂÀËÜÍÎÃÎ ÀËÃÎÐÈÒÌÓ Вступ. Значна кількість прикладних задач включає у себе як складову частину знахо- дження розв’язку системи лінійних алгебраї- чних рівнянь (СЛАР) з розрідженими матри- цями. За останні роки у світі розроблено чи- мало алгоритмів розв’язування подібних СЛАР, у тому числі й паралельних [1]. Серед розроблених методів немає універсального, який би ефективно розв’язував системи з ма- трицями будь-якого типу розрідженості, але є такі, що призначені для матриць певної стру- ктури [2]. Тому одним з важливих завдань при розв’язуванні СЛАР є попередня оптимі- зація структури розрідженої матриці, що пе- редбачає можливість ефективного застосу- вання паралельних алгоритмів знаходження розв’язку системи. Залежність часу розв’язування системи від характеру розрідженості матриці особливо відчутна при реалізації ітераційних методів. Адже, від способу побудови передобумовлю- вача залежить не лише час знаходження розв’язку і кількість виконаних ітерацій, але й збіжність методу взагалі. Тому основна ме- та роботи – розгляд методів оптимізації стру- ктури матриці для передобумовлювача в іте- раційному методі розв’язування СЛАР. Постановка задачі. Розглянемо систему лінійних алгебраїчних рівнянь: Ах = b, (1) де А – симетрична розріджена додатно ви- значена матриця, х –вектор розв’язку В.В. ПОЛЯНКО 48 Теорія оптимальних рішень. 2010, № 9 системи, b – вектор правих частин. Нехай для розв’язування СЛАР (1) використовується метод спряжених гра- дієнтів [3]: Bxk+1 = αk+1(B – τk+1A)xk + (1 – αk+1)Bxk-1 + αk+1τk+1 f, k = 1, 2,…, (2) Bx1 = (B – τ1A)x0 + τ1 f, x0 ∈Н, де ітераційні параметри αk+1 і τk+1 обчислюються за формулами ( ) ( ) ( ) ( ) ,1,...,2,1, 1 , , 1,...,1,0, , , 1 1 11 1 11 =α=      αω ω τ τ −=α= ωω ω =τ − −− + ++ k r r k A r kkk kk k k k kk kk k (3) а сам обчислювальний алгоритм має вигляд: 1) за заданим х0 обчислюється нев’язка r0 = A х0 – f ; 2) розв’язується рівняння поправок Bω0 = х0; 3) з формули (3) обчислюється параметр τ1; 4) наближення х1 знаходься з формули xk+1 = хk – τk+1ωk; далі для k = 1, 2,…, послідовно виконуються наступні дії: 5) обчислюється нев’язка rk = A хk – f; 6) розв’язується рівняння поправок Bωk = хk; (4) 7) за формулами (3) обчислюються параметри αk+1 і τk+1; 8) знаходиться нове наближення xk+1 = αk+1xk + (1 – αk+1)xk-1 – αk+1τk+1ωk. Завдання побудови ефективного обчислювального алгоритму полягає у зна- ходженні оптимального передобумовлювача В. Легко бачити, що, використову- ючи наведену схему, ми перейшли від задачі розв’язування системи (1) до задачі розв’язування системи (4). Отже, саме у виборі матриці В слід шукати способи прискорення знаходження розв’язку вихідної СЛАР. При пошуку виду матриці В вирізняють дві головні вимоги. По-перше, пе- редобумовлювач має бути якомога «ближчим» до вихідної матриці. Чим менше відмінностей між матрицями передобумовлювача і системи, тим меншу кількість ітерацій необхідно буде виконати під час роботи ітераційного методу. А по- друге, його структура має бути досить простою для проведення обчислень. Ідеа- льним варіантом з точки зору першого положення є матриця передобумовлюва- ча, ідентична до матриці системи. У цьому випадку метод досягне збіжності за одну ітерацію. Проте обчислювальні витрати дорівнюватимуть витратам прямо- го методу розв’язування СЛАР. Для другого положення найкращим варіантом матриці передобумовлювача є діагональна матриця. Обчислювальні витрати при її обробці мінімальні, але у цьому разі кількість ітерацій значно зростає. То- му оптимальну структуру матриці В слід шукати десь посередині. ОПТИМІЗАЦІЯ СТРУКТУРИ РОЗРІДЖЕНОЇ МАТРИЦІ … Теорія оптимальних рішень. 2010, № 9 49 Методи неповної факторизації. Одним із класів методів, які дозволяють ефективно поєднати наведені дві вимоги з якомога меншим впливом негативних факторів є схеми, побудовані на основі неповної LU-факторизації (НФ). У методі повної LU-факторизації матриця системи подається у вигляді А = LAUA, (5) де LA і UA нижня і верхня трикутні матриці відповідно. Подібне представлення передбачає розв’язування СЛАР вигляду Ах = b шляхом виконання прямого ходу для нижньої трикутної системи LA у = b, а по- тім зворотного ходу для верхньої трикутної системи UA х = у. Проте такий алго- ритм призводить до заповнення портрету матриці системи. Тобто, у частинах LA і UA з’являються ненульові елементи на тих позиціях, де у вихідній матриці А знаходилися нулі. Як наслідок, зростає кількість арифметичних операцій, а та- кож збільшується об’єм пам’яті, необхідний для зберігання матриць. Ідея зменшення кількості нових ненульових елементів лежить в основі ме- тодів неповної LU-факторизації [4]. Метод, при якому заповнення не відбуваєть- ся взагалі, отримав назву ІLU-факторизації або факторизацї з нульовим запов- ненням ІLU(0). Розглянемо його детальніше. Замість задачі знаходження факторизації (5) сформулюємо іншу задачу. Для заданої матриці А вимагатимемо подати її у вигляді А = LU + Е, з виконанням наступних вимог: 1) матриці L і U є нижньою та верхньою трикутною відповідно; 2) множини елементів портретів L і U – підмножини портрету А; 3) для будь-якого ненульового елемента a ij матриці А виконується рівність: [LU]ij = [a ij]; 4) портрети матриць А та Е не мають спільних елементів. Метод неповної факторизації з нульовим заповненням полягає у виконанні виключення Гаусса з відкиданням усіх елементів у L та U, які знаходяться поза портретом матриці А. Така схема досить проста у реалізації і вимагає меншу кі- лькість арифметичних операцій для виконання, ніж повна факторизація. Проте, у випадку, коли матриця похибки Е достатньо велика, кількість ітерацій сильно зростає, а для деяких задач збіжності взагалі може не бути. Тому різноманітні модифікації неповної факторизації направлені на зменшення Е. Одним з таких методів є неповна факторизація з рівнями заповнення ILU(p) [5]. Ідея методу наступна. Спочатку рівні заповнення всіх ненульових елементів у А дорівнюють 0. Коли елемент fi,j на позиції (i, j) модифікується за формулою fij = – lik ukj його рівень заповнення обчислюється, як рівень (fij) = рівень (lik) + рівень (ukj) + 1. Таке систематичне означення дозволяє отримати зручну стратегію для від- кидання елементів: ігноруються лише елементи, рівень яких перевищує р. Зазна- В.В. ПОЛЯНКО 50 Теорія оптимальних рішень. 2010, № 9 чимо, що при р = 0 алгоритм неповної факторизації з рівнями заповнення іден- тичний алгоритму неповної факторизації без заповнення. Алгоритм неповної факторизації з рівнями заповнення реалізує схему сим- вольної оптимізації заповнення матриці. Проте у ній ніяк не враховуються чис- лові значення ненульових елементів. Отже, може статися, що зберігатимуться елементи з малими абсолютними значеннями тоді, як деякі елементи з більшими абсолютними значеннями будуть відкинуті. Оскільки більші числові значення у загальному випадку більше впливають на обчислення, ніж малі, то це може при- звести до відчутнішої втрати точності неповної факторизації і, як наслідок, до зростання кількості ітерацій для досягнення збіжності при знаходженні розв’язку системи. Виходом з цієї ситуації є використання методів розвинення матриці, які при відкиданні елементів ураховують їх абсолютні значення. Одним з найпоши- реніших є алгоритм неповної факторизації з порогами ILUT(τ, p). Суть алгоритму полягає у тому, що при обробці кожного рядка елементи, значення яких не досягають певного числового порогу τ, відкидаються, а з реш- ти вибираються для подальших обчислень лише р найбільших. Порогове зна- чення τ відсіює ненульові елементи, які менше впливають на обчислення, а об- меження у кількості р дозволяє тримати під контролем заповнення матриці. Результати обчислень. Алгоритм оптимізації структури передобумовлюва- ча на основі неповної факторизації було реалізовано програмно. Тестування на- віть невеликих задач показало, що ітераційний метод дуже чутливий до алгори- тму впорядкування ненульових елементів матриці. Але, якщо для прямого мето- ду найкращим був алгоритм мінімальної степені [6], то для ітераційного краще застосовувати ті, які зменшують розкид елементів щодо діагоналі. Враховуючи, що завдяки методу неповної факторизації початково нульові елементи, які мали б змінити значення, не враховуються, тобто застосування методу попереднього впорядкування не змінює кількості елементів, які братимуть участь у розв’язуванні СЛАР, а лише впливає на їх розташування. Тому більш важливим є не загальна кількість ненульових елементів, які могли би з’явитися, а кількість таких елементів, породжених одним ненульовим. Адже чим довший такий лан- цюжок нових елементів, тим більше відхилення результату неповної факториза- ції від повної. З цієї точки зору, для точності наближення краще мати більше елементів, кожен з яких провокує появу невеликої кількості ненульових елемен- тів (у випадку повної факторизації), ніж меншу кількість елементів, але таких що провокують появу більших кількостей нових елементів. Наприклад, якщо порів- нювати метод Катхіла–Макі та алгоритм мінімальної степені, то для даної задачі краще застосувати метод перший, бо він зменшує профіль матриці, а останній збільшує розкид ненульових елементів щодо діагоналі. ОПТИМІЗАЦІЯ СТРУКТУРИ РОЗРІДЖЕНОЇ МАТРИЦІ … Теорія оптимальних рішень. 2010, № 9 51 Підібравши оптимальну структуру, можна отримати економію часу в порів- нянні з прямим методом. Також, однією з переваг неповної факторизації є те, що матриця системи має меншу щільність, ніж у прямому методі, що призводить до зменшення кількості арифметичних операцій і, як наслідок, загального часу розв’язування СЛАР (табл. 1). ТАБЛИЦЯ 1. Порівняння часів роботи ітераційного (НФ) та прямого методів Порядок Ширина Щільність матриці (%) Ітераційний метод Прямий матриці стрічки початкова після НФ ітерацій час(сек.) (сек.) 10000 100 2.0098 0.088804 54 1 1 20000 100 1.0099 0.044551 83 7 2 40000 100 0.5062 0.022313 128 49 5 80000 100 0.253412 0.011166 239 352 11 10000 200 3.9499 0.088504 63 1 2 20000 200 1.99495 0.044551 95 6 6 40000 200 1.00248 0.02235 148 35 12 80000 200 0.502487 0.011194 234 196 24 10000 400 7.70995 0.087454 22 0 10 20000 400 3.93498 0.044326 38 3 21 40000 400 1.98749 0.022313 65 13 43 80000 400 0.998744 0.011119 108 63 85 Блочно-діагональний підхід. Ще одним способом побудови передобумов- лювача є модифікації існуючих методів впорядкування ненульових елементів матриці. Наприклад, відомо, що метод паралельних перерізів [6] зводить портрет розрідженої матриці до блочно-діагонального (БД) вигляду з обрамленням. Оскільки В відрізняється від А, можемо відкинути обрамлення і отримати «лег- ку» для обчислень блочно-діагональну матрицю. Розглянемо схему детальніше. Метод паралельних перерізів впорядкування ненульових елементів матриці полягає у наступному. В графі матриці вибирається псевдопериферійна верши- на, з коренем в якій будується структура рівнів. У залежності від довжини та ширини структури знаходиться оптимальна кількість блоків, на які структура розрізається паралельними роздільниками. Після цього поблочно, починаючи від кореня, відбувається перенумерація вершин. Усі вершини, що потрапили до роздільників, нумеруються в останню чергу, складаючи, таким чином, останній блок. У результаті цієї процедури усі вершини, що зв’язують блоки, потрапля- В.В. ПОЛЯНКО 52 Теорія оптимальних рішень. 2010, № 9 ють до останнього блоку. Саме вони складають обрамлення матриці. Решта не- нульових елементів розташовуються у блоках на діагоналі. Легко бачити, що, нехтуючи обрамленням, факторизація отриманої матриці розпадається на ряд дрібних задач факторизації окремих блоків, що не пов’язані між собою. Таким чином, досягається кілька переваг. По-перше, зменшуються вимоги до оперативної пам’яті, оскільки при перетворенні матриці ми оперуємо не з цілими рядками, а лише з їхніми частинами, що знаходяться у межах бло- ків. І економія тим значніша, чим більша кількість блоків, адже тоді вони мають менші розміри. По-друге, з’являється можливість одночасних незалежних обчи- слень у різних блоках. Це особливо важливо для реалізації алгоритму з парале- льною організацією обчислень, адже у такому випадку кількість міжпроцесних обмінів зводиться до мінімуму. Ще однією важливою особливістю розглядуваного підходу є спричинене способом перевпорядкування, збереження додатної визначеності матриці. Адже ця властивість є необхідною умовою збіжності ітераційного методу. З цієї точки зору блочно-діагональний підхід має суттєву перевагу перед неповною фактори- зацією, де додатня визначеність не гарантується. Результати обчислень. Алгоритм оптимізації структури матриці з викорис- танням методу паралельних перерізів з наступним відкиданням обрамлення було реалізовано програмно. Програма виконала ряд тестів з метою порівняння часів розв’язування СЛАР прямим методом та ітераційним методом з передобумовлювачем у вигляді матриці блочно-діагональної структури (табл. 2). ТАБЛИЦЯ 2. Порівняння часів роботи ітераційного (БД) та прямого методів Порядок 20 000, ширина стрічки 400 Число блоків: 1 2 4 8 16 32 Ітераційний Час роботи (с.) 12 5 4 3 2 3 метод Прогноз n 12 2.5 1 0.38 0.13 0.09 Число ітерацій 2 20 44 58 91 111 Прямий Час роботи (с.) 12 6 6 7 19 70 метод Прогноз n 12 3 1.5 0.86 0.20 0.63 Порядок 100 000, ширина стрічки 400 Число блоків: 1 2 4 8 16 31 Ітераційний Час роботи (с.) 73 97 115 132 159 202 метод Прогноз n 73 48.5 28.8 16.5 9.94 6.52 Число ітерацій 2 69 127 183 255 355 Прямий Час роботи (с.) 73 120 270 748 2786 9340 метод Прогноз n 73 60 67.5 93.5 174.4 301.3 ОПТИМІЗАЦІЯ СТРУКТУРИ РОЗРІДЖЕНОЇ МАТРИЦІ … Теорія оптимальних рішень. 2010, № 9 53 Виявилося, що розбиття матриці вже на невелику кількість блоків для де- яких матриць дає перевагу в часі в 2–3 рази. Якщо врахувати, що обчислення в межах окремих блоків здійснюються незалежно, то при паралельній організації алгоритму можна досягти прискорення ще в кілька разів. Прогнозоване значення для паралельного випадку, де кількість процесів відповідає числу блоків подано у полі «прогноз п». Висновки. У роботі обґрунтовано теоретично та підтверджено практично ефективність застосування методів оптимізації структури розрідженої матриці для задач розв’язування СЛАР. Усі підходи базувалися на ідеї зменшення кіль- кості арифметичних операцій шляхом зменшення числа ненульових елементів передобумовлювача. Окрім того, застосування методу паралельних перерізів з наступним відкиданням обрамлення дає змогу побудувати матрицю блочно- діагональної структури, обробку якої надзвичайно легко можна розпаралелити. В.В. Полянко ОПТИМИЗАЦИЯ СТРУКТУРЫ РАЗРЕЖЕННОЙ МАТРИЦЫ ДЛЯ ПОСТРОЕНИЯ ЭФФЕКТИВНОГО ВЫЧИСЛИТЕЛЬНОГО АЛГОРИТМА Рассматриваются проблемы оптимизации структуры разреженной матрицы для построения эффективного вычислительного алгоритма нахождение решения системы линейных алгеб- раических уравнений. Предложено несколько подходов для модификации матрицы и их ис- пользование в итерационном методе решения системы. V.V. Polyanko OPTIMIZATION OF STRUCTURE OF SPARSE MATRIX FOR CONSTRUCTION OF EFFECTIVE COMPUTATION ALGORITM The problems of optimization of sparse matrix structure for construction of effective computation algorithm for solving system of linear algebraic equations are considered. Some approaches for ma- trix modifications and its application for iterative method of system solving were proposed. 1. Обзор математических пакетов, "позволяющих" решать СЛАУ // Научный форум dxdy. Режим доступу: http://dxdy.ru/topic9158.html. 2. Хіміч О.М., Полянко В.В., Чистякова Т.В. Реалізація паралельних алгоритмів методу Гаусса для розріджених матриць // Праці Міжнар. симпозіуму «Питання оптимізації обчислень (ПОО-ХХХV)». – К.: Інститут кібернетики ім. В.М. Глушкова НАН України. – 2009. – 2. – С. 388–393. 3. Самарский А.А., Николаев Е.С. Методы решения сеточных уравнений. – М.: Наука, 1978. – 592 с. 4. Calgaro C., Chehab J.P., Saad Y. Incremental incomplete LU factorizations with applications to time-dependent PDEs // Report umsi-2008-276, Minnesota Supercomputer Institute, University of Minnesota, Minneapolis, MN, 2008. В.В. ПОЛЯНКО 54 Теорія оптимальних рішень. 2010, № 9 5. Saad Y. Iterative Methods for Sparse Linear Systems. – PWS Publishing Company, 2000. – 448 р. 6. Джордж А., Лю Дж. Численное решение больших разреженных систем уравнений. – М.: Мир, 1984. – 333 с. Получено 29.03.2010
id nasplib_isofts_kiev_ua-123456789-46676
institution Digital Library of Periodicals of National Academy of Sciences of Ukraine
issn XXXX-0013
language Ukrainian
last_indexed 2025-11-30T21:34:39Z
publishDate 2010
publisher Інститут кібернетики ім. В.М. Глушкова НАН України
record_format dspace
spelling Полянко, В.В.
2013-07-06T06:14:50Z
2013-07-06T06:14:50Z
2010
Оптимізація структури розрідженої матриці для побудови ефективного обчислювального алгоритму / В.В. Полянко // Теорія оптимальних рішень: Зб. наук. пр. — 2010. — № 9. — С. 47-54. — Бібліогр.: 6 назв. — укр.
XXXX-0013
https://nasplib.isofts.kiev.ua/handle/123456789/46676
519.6
Розглядаються проблеми оптимізації структури розрідженої матриці для побудови ефективного обчислювального алгоритму знаходження розв’язку системи лінійних алгебраїчних рівнянь. Запропоновано кілька підходів до модифікації матриці та їх застосування в ітераційному методі розв’язування системи.
Рассматриваются проблемы оптимизации структуры разреженной матрицы для построения эффективного вычислительного алгоритма нахождение решения системы линейных алгебраических уравнений. Предложено несколько подходов для модификации матрицы и их использование в итерационном методе решения системы.
The problems of optimization of sparse matrix structure for construction of effective computation algorithm for solving system of linear algebraic equations are considered. Some approaches for matrix modifications and its application for iterative method of system solving were proposed.
uk
Інститут кібернетики ім. В.М. Глушкова НАН України
Теорія оптимальних рішень
Оптимізація структури розрідженої матриці для побудови ефективного обчислювального алгоритму
Оптимизация структуры разреженной матрицы для построения эффективного вычислительного алгоритма
Optimization of structure of sparse matrix for construction of effective computation algoritm
Article
published earlier
spellingShingle Оптимізація структури розрідженої матриці для побудови ефективного обчислювального алгоритму
Полянко, В.В.
title Оптимізація структури розрідженої матриці для побудови ефективного обчислювального алгоритму
title_alt Оптимизация структуры разреженной матрицы для построения эффективного вычислительного алгоритма
Optimization of structure of sparse matrix for construction of effective computation algoritm
title_full Оптимізація структури розрідженої матриці для побудови ефективного обчислювального алгоритму
title_fullStr Оптимізація структури розрідженої матриці для побудови ефективного обчислювального алгоритму
title_full_unstemmed Оптимізація структури розрідженої матриці для побудови ефективного обчислювального алгоритму
title_short Оптимізація структури розрідженої матриці для побудови ефективного обчислювального алгоритму
title_sort оптимізація структури розрідженої матриці для побудови ефективного обчислювального алгоритму
url https://nasplib.isofts.kiev.ua/handle/123456789/46676
work_keys_str_mv AT polânkovv optimízacíâstrukturirozrídženoímatricídlâpobudoviefektivnogoobčislûvalʹnogoalgoritmu
AT polânkovv optimizaciâstrukturyrazrežennoimatricydlâpostroeniâéffektivnogovyčislitelʹnogoalgoritma
AT polânkovv optimizationofstructureofsparsematrixforconstructionofeffectivecomputationalgoritm