Научная статья на тему 'Використання напіввизначеної оптимізації для моделювання складних систем'

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

CC BY
205
36
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПОЛУОПРЕДЕЛЕННАЯ РЕЛАКСАЦИЯ / КВАДРАТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ / ОБОБЩЕННЫЙ СИМПЛЕКС-МЕТОД / ПОЛУОПРЕДЕЛЕННАЯ ОПТИМИЗАЦИЯ

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

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

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

Semidefinite relaxation of general quadratic problems is regarded and a new generalized simplex-method for solving this relaxation is used. The method is implemented on practice and numerous experiments was performed. These experiments show that the semidefinite relaxation is effective

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

УДК 519.853

А.І. КОСОЛАП, А.С. ПЕРЕТЯТЬКО

ВИКОРИСТАННЯ НАПІВВИЗНАЧЕНОЇ ОПТИМІЗАЦІЇ ДЛЯ МОДЕЛЮВАННЯ СКЛАДНИХ СИСТЕМ_________________________________________________________________________

Анотація. Розглядається напіввизначена релаксація для загальних задач квадратичного програмування та використовується новий узагальнений симплекс-метод для розв’язку цієї релаксації. Метод реалізований програмно і проведені численні експерименти, які свідчать, що напіввизначена релаксація є ефективною.

Ключові слова: напіввизначена релаксація, квадратичне програмування, узагальнений симплекс-метод, напіввизначена оптимізація.

Аннотация. Рассматривается полуопределенная релаксация для общих задач квадратического программирования и используется новый обобщенный симплекс-метод для решения этой релаксации. Метод реализован программно и проведены многочисленные эксперименты, которые свидетельствуют об эффективности полуопределеннойрелаксации.

Ключевые слова: полуопределенная релаксация, квадратическое программирование, обобщенный симплекс-метод, полуопределенная оптимизация.

Abstract. Semidefinite relaxation of general quadratic problems is regarded and a new generalized simplex-method for solving this relaxation is used. The method is implemented on practice and numerous experiments was performed. These experiments show that the semidefinite relaxation is effective. Keywords: semidefinite relaxation, quadratic programming, generalized simplex-method, semidefinite optimization.

1. Вступ

Як показали М. Месарович і Я. Такахара [1], довільна система може бути зведена до ціле-направленої системи. Такі системи є оптимізаційними. Головною задачею оптимізації є визначення оптимальних значень параметрів систем, при яких критерій якості системи приймає найбільше або найменше значення. Оптимізаційна система складна, якщо вона має безліч екстремальних значень параметрів. Знаходження значень цих параметрів, при яких критерій якості системи приймає найбільше або найменше значення, є, як правило, NP-складною проблемою, для якої не існує ефективних методів знаходження оптимальних значень параметрів системи. В таких випадках складні системи зводяться до P-складних за допомогою послаблення (релаксації) умов системи.

Велика кількість складних систем може бути описана за допомогою загальних квадратичних функцій. Це комбінаторні задачі, задачі теорії графів, комп’ютерної геометрії та багато інших. Використовуючи напіввизначену релаксацію, загальні квадратичні задачі зводяться до напіввизначеної оптимізації. Тому в останні роки значна кількість робіт присвячена напіввизначеній оптимізації: сучасному та ефективному напряму досліджень при моделюванні та оптимізації складних систем. Існує багато причин для використання напів-визначеної оптимізації (SDP). По-перше, додатно напіввизначені (або визначені) обмеження виникають у низці важливих практичних задач [2, 3]. По-друге, багато задач опуклої оптимізації, наприклад, лінійне програмування або опукле квадратичне програмування, можуть бути перетворені до задачі SDP. Таким чином, напіввизначене програмування пропонує комплексний підхід для вивчення властивостей та виведення алгоритмів для широкого кола задач опуклої оптимізації. І, що найголовніше, задачі SDP можуть бути ефективно розв’язані чисельно.

Велика кількість досліджень присвячена теоретичному і практичному застосуванню SDP-релаксації для складних задач оптимізації. Значне число комбінаторних задач NP-

© Косолап А.І., Перетятько А.С., 2012

ISSN 102S-9763. Математичні машини і системи, 2012, № 1

складності розв'язуються шляхом напіввизначеної релаксації [4]. У багатьох випадках оптимальний розв’язок БОР-релаксації може бути перетворено до допустимого розв’язку початкової задачі. Напіввизначена релаксація використовує перетворення квадратичного виразу хт Ах до скалярного добутку матриць Аххт або А ■ X , де Х - напіввизначена матриця рангу одиниця. Таким чином, квадратичний вираз зводиться до лінійного.

Метою даної роботи є дослідження напіввизначеної релаксації для розв’язку квадратичних задач, а також перевірка доцільності використання нового узагальненого симплекс-методу для отриманої в результаті релаксації задачі напіввизначеної оптимізації.

2. Постановка задачі

Задача мінімізації квадратичної функції при квадратичних обмеженнях має ефективний розв’язок, якщо цільова функція і обмеження - опуклі функції. Якщо ж принаймні одна з функцій не є опуклою, то така задача стає достатньо складною і в загальному випадку ба-гатоекстремальною. Загальній задачі квадратичної оптимізації останнім часом надається значна увага [2, 3, 5]. Відмітимо, що комбінаторні задачі та багато задач теорії графів досить легко звести до квадратичних задач. Так, якщо змінні системи хі приймають тільки

два значення: 0 і 1, то це рівносильно квадратичній умові х, - хі = 0.

Розглянемо таку загальну задачу квадратичної оптимізації (ОР):

шіп{ xTQx+ёт х | хтАіх + Ьт х < сі, і = 1, ..., т }, (1)

де Q - симетрична матриця (п X п ), Аі - симетричні матриці (пх п) , Ь, ё, с - вектори розмірності т, х - вектор змінних розмірності п.

У загальному випадку для розв’язання цієї задачі можуть використовуватися методи для розв’язання задач нелінійної оптимізації. Але вони не дають бажаної точності розв’язку. Останнім часом наукова спільнота звернула увагу на напіввизначену релаксацію для цього класу задач [3-5]. Напіввизначена релаксація розглядається як перспективний метод не тільки для квадратичного програмування, а й для широкого класу неопуклих задач оптимізації.

Використаємо напіввизначену релаксацію [6] для розв’язку квадратичної задачі (1). Введемо матрицю змінних У, яка може бути виражена через будь-який вектор х таким чином [3]:

У =

(1У1У Г1 х Л

V х У

V х У

(2)

V х хх У

Таким чином, У є симетричною та додатно напіввизначеною матрицею згідно з правилом Шура [3]. Використовуючи матрицю У, перепишемо цільову функцію та функції обмежень задачі (1):

xTQx + ёт х =

0

2

і Q

ґ

т

т

V х хх У

хт Аіх + Ьт х - сі

т

І

V 2

— А,-

0

2

1 Q

ґ

т

т

V х хх У

■У.

У.

1

Ь

с

с

1

Введемо позначення:

Q=

d

О — 2

d q

T

А=

-Сі Ь± Л

2

b

1 Aі

2 J

Тоді маємо таку задачу напіввизначеної оптимізації для задачі квадратичного програмування (1):

min

| Q • Y | At • Y < О, і = 1,...,m, Yf o}.

(З)

Відмітимо, що задача (З) є опуклою незалежно від опуклості/ввігнутості задачі (1), та її розв’язок співпадає з розв’язком задачі (1), якщо матриця Y має ранг одиниця [5]. Якщо ранг матриці Y більше одиниці, то буде отримано нижню оцінку розв’язку задачі (І).

3. Методи розв’язку задач SDP

Для розв’язку задачі (З) використовують метод внутрішньої точки [2]. Він є популярним серед наукової спільноти та реалізований у сучасному програмному забезпеченні для розв’язку задач напіввизначеної оптимізації (CSDP, SP, SDPT3 та ін.). Але цей метод суттєво залежить від вибору початкової точки й дозволяє отримати тільки наближений розв’язок. Крім того, метод внутрішньої точки потребує виконання умови Слейтера (існує допустимий розв’язок X f О для задачи (1)), яка виконується не завжди. Більш ефективним є новий узагальнений симплекс-метод [7], який шукає розв’язок задачі напіввизначеної оптимізації у вигляді

Y=Е aJY, •

де Yj - матриці рангу одиниця, число доданків у сумі більше розмірності Y та a > О . Матриці Yj є твірними конусу напіввизначених матриць і утворюють його початкову апроксимацію.

Тоді задача напіввизначеної оптимізації (З) зводиться до задачі лінійного програмування:

min{ Q • ЕajYj | At • Е ajYj < О, і = 1,...,m, a> о}. (4)

Алгоритм узагальненого симплекс-методу [7] для задачі (4) на кожній ітерації знаходить нову матрицю Yk рангу одиниця та ак, що зменшує значення цільової функції задачі (4). Таким чином, на кожній ітерації узагальненого симплекс-методу розв’я-зується задача лінійного програмування та перевіряється напіввизначеність матриці

S = С — ЕС • XkxTB-1 Aj,

де B — базисна матриця оптимального розв’язку задачі (4). Якщо такої матриці Yk не існує (це визначається перевіркою напів-визначеності відповідної матриці, побудованої по матрицях задачі (З)), то знайдений

V ::Н4 /

2.88 /

0.96 \

Иа -3.84 -2.88 -1.82 -0.96 0 0.98 1.92 2.88 3.84

-0.90

/2.88

Рис. 1. Задача має 4 локальних мінімуми

v

розв’язок задачі (3). Тоді визначаємо ранг матриці Y. Коли він дорівнює одиниці, одержуємо точний розв’язок задачі (1), а якщо ранг матриці Y більше одиниці, то отримаємо нижню границю розв’язку задачі (1). Якщо в задачі (4) знайти точки перетину осей координат з границею допустимого многогранника і серед цих точок визначити точку з найменшим значенням цільової функції задачі (4), то буде отримана верхня границя розв’язку задачі (1).

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

Узагальнений симплекс-метод для розв’язку задачі загальної квадратичної оптимізації був реалізований програмно засобами VBA для Excel та проведені значні чисельні експерименти.

На рис. 1 показана допустима множина задачі квадратичної оптимізації:

min{|| х ||2| -8xf + 4х22 - 6x1 x2 + 4x1 - 2x2 -14 < 0, - 2xj2 - 8x2 - 2x1 x2 - x1 - x2 + 42 < 0} .

Ця множина є незв’язною і містить 4 локальних мінімуми. Після перетворення цієї задачі до напіввизначеної була одержана така матриця

1 0,41399 2,15917

0,41399 0,17139 0,893883

2,15917 0,89388 4,662041

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

ранг якої дорівнює одиниці. Тому напіввизначена релаксація є точною, знайдено точку глобального мінімуму даної квадратичної задачі х =(0,41399; 2,15917).

Розглянемо приклад загальної квадратичної задачі з трьома обмеженнями (дані представлені в табл. 1.)

Таблиця 1. Вхідні дані

<2 = 0 0 0 0 0 0 0

0 1 0 0 0 0 0

0 0 1 0 0 0 0

0 0 0 1 0 0 0

0 0 0 0 1 0 0

0 0 0 0 0 1 0

0 0 0 0 0 0 1

Л = 1 -2 0 0 -2 -0,5 -0,5 0

-2 8 -1 3 4 2 1

0 -1 -4 -2 1 2 -3

0 3 -2 -1 2 -1 1

-2 4 1 2 8 1 -1

-0,5 2 2 -1 1 -3 2

-0,5 1 -3 1 -1 2 -8

А2 = 10 -2 0 -3 1 -0,5 -2 0

-2 -10 -1 1 4 2 1

0 -1 -6 -2 1 3 -3

-3 1 -2 6 2 -1 1

1 4 1 2 -6 1 -1

-0,5 2 3 -1 1 7 2

-2 1 -3 1 -1 2 8

A3 = -20 -2 0 0 -2 -0,5 0,5 0

-2 -12 -1 3 4 2 1

0 -1 -10 -2 1 2 -3

0 3 -2 2 2 -1 1

-2 4 1 2 8 1 2

-0,5 2 2 -1 1 -10 2

0,5 1 -3 1 2 2 8

Результати розв’язку представлені в табл. 2.

Таблиця 2. Матриця розв’язку

1 0,508 0,3544 0,151 1Е-11 7Е-08 0,159

0,5079 0,372 0,2591 0,085 -0,08 -0,026 0,0872

0,3544 0,259 0,1806 0,059 -0,06 -0,018 0,0608

У= 0,1515 0,085 0,0595 0,024 -0,01 -0,002 0,0246

1Е-11 -0,08 -0,056 -0,01 0,056 0,018 -0,004

7Е-08 -0,026 -0,018 -0 0,018 0,006 -0,001

0,159 0,087 0,0608 0,025 -0 -0,001 0,0257

Ранг матриці розв’язку (табл. 2) дорівнює 2, тому можна зробити висновок, що нами була одержана нижня оцінка глобального мінімуму 0,664244, яка незначно відрізняється від точного розв’язку 0,6724962.

У табл. 3 наведені результати чисельних експериментів по розв’язку загальних квадратичних задач різної розмірності.

Таблиця 3. Результати чисельних експериментів

№п/п п ранг У^Р /тт

1 6 2 0,53 0,67017

2 6 3 0,769978 1,470926

3 10 2 0,453065 0,45308

4 10 3 0,375502 0,575855

5 10 3 9,883102 12,34698

6 10 3 0,375502 0,575855

7 12 2 1,38959 1,539229

8 15 2 0,6795 0,874392

Як бачимо, ранг матриці розв’язку задач незначно відрізняється від одиниці. Ці експерименти показують, що напіввизначена релаксація може бути використана для наближеного розв’язку загальних квадратичних задач.

5. Висновки

У даній роботі розв’язувалася загальна квадратична задача шляхом напіввизначеної релаксації, яка зводить початкову задачу (в загальному випадку - неопуклу) до задачі напіввиз-наченого програмування, що завжди є опуклою, а, отже, й ефективно вирішуваною. Було проведено значну кількість чисельних експериментів, які підтверджують ефективність обраного методу. Перспективу цього напрямку дослідження автори вбачають у використанні отриманих нижніх та верхніх оцінок для пошуку оптимального розв’язку початкової квадратичної задачі.

СПИСОК ЛІТЕРАТУРИ

1. Месарович М. Общая теория систем: математические основы / М. Месарович, Я. Такахара. - М.: Мир, 1978. - 312 с.

2. Freund R.M. Introduction to Semidefinite Programming / Freund R.M. - Massachusetts Massachusetts Institute of Technology, 2004 - 54 p.

3. Helmberg C. Semidefinite Programming For Combinatorial Optimization / Helmberg C. - Berlin, 2000. - 150 p.

4. Benson S.J. Parallel Semidefinite programming and combinatorial optimization / S.J. Benson // Parallel combinatorial optimization. - Wiley-interscience, 2006. - P. 103 - 122.

5. Lasserre J.B. Convergent LMI relaxations for nonconvex quadratic programs / J.B. Lasserre // 39th IEEE Conference on Decision and Control. - Sydney, 2000. - P. 5041 - 5046.

6. Шор Н.З. Квадратичные оптимизационные задачи / Н.З. Шор // Техническая кибернетика. -1987. - № 1. - С. 128 - 139.

7. Косолап А.И. Обобщение симплекс-метода для решения задач полуопределенной оптимизации / А.И. Косолап // Математичне та комп’ютерне моделювання. - 2010. - № 3. - C. 99 - 106.

Стаття надійшла до редакції 10.10.2011

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