Топ питань
Часова шкала
Чат
Перспективи

Двоїстість (оптимізація)

термін у математичній теорії оптимізації З Вікіпедії, вільної енциклопедії

Remove ads

Двоїстість, або принцип двоїстості, — принцип, за яким задачу оптимізації можна розглядати з двох точок зору, як пряму задачу або двоїсту задачу. Розв'язання двоїстої задачі дає нижню межу прямої задачі (при мінімізації)[1]. Однак, у загальному випадку, значення цільових функцій оптимальних розв'язків прямої та двоїстої задач не обов'язково збігаються. Різницю цих значень, якщо вона спостерігається, називають розривом двоїстості. Для задач опуклого програмування розрив двоїстості дорівнює нулю за виконання умов регулярності обмежень.

Remove ads

Двоїста задача

Узагальнити
Перспектива

Зазвичай термін «двоїста задача» означає лагранжеву двоїсту задачу, але використовуються й інші двоїсті задачі, наприклад, двоїста задача Вулфа[en] і двоїста задача Фенхеля. Двоїста задача Лагранжа виходить при утворенні лагранжіана, використанні невід'ємних множників Лагранжа для додавання обмежень до цільової функції та мінімізації лагранжіана відносно деяких змінних прямої задачі. Такий розв'язок дає змінні прямої задачі як функції від множників Лагранжа, які називаються двоїстими змінними, так що нова задача стає задачею максимізації цільової функції за двоїстими змінними за породжених обмежень на двоїсті змінні (принаймні, невід'ємність).

У загальному випадку, якщо дано двоїсту пару[en][2] відокремлюваних локальних опуклих просторів та функцію , можна визначити пряму задачу як знаходження , такого, що Іншими словами,  — це інфімум (точна нижня межа) функції .

Якщо є обмеження, їх можна вбудувати у функцію , якщо покласти , де  індикаторна функція[en]. Нехай тепер (для іншої двоїстої пари ) буде функцією збурень[en], такою що [3].

Розрив двоїстості — це різниця правої та лівої частин нерівності

де  спряжена функція від обох змінних, а означає супремум (точна верхня межа)[3][4][5].

Розрив двоїстості

Розрив двоїстості — це різниця між значеннями будь-яких розв'язків прямої задачі та значеннями будь-яких розв'язків двоїстої задачі. Якщо  — оптимальне значення двоїстої задачі, а  — оптимальне значення прямої задачі, розрив двоїстості дорівнює . Це значення завжди більше або дорівнює 0. Розрив двоїстості дорівнює нулю тоді й лише тоді, коли має місце сильна двоїстість. Інакше розрив строго додатний і має місце слабка двоїстість[6].

У задачах чисельної оптимізації часто використовують інший «розрив двоїстості», який дорівнює різниці між будь-яким двоїстим розв'язком та значенням допустимої, але не локально оптимальної ітерації для прямої задачі. Альтернативний «розрив двоїстості» виражає невідповідність між значенням поточного допустимого, але не локально оптимального розв'язку, для прямої задачі та значенням двоїстої задачі. Значення двоїстої задачі дорівнює, за умови регулярності обмежень, значенню опуклого ослаблення прямої задачі, де опукле ослаблення виникає внаслідок заміни неопуклої множини допустимих розв'язків його замкнутою опуклою оболонкою і заміною непуклої функції її опуклим замиканням, тобто замиканням початкової цільової функції прямої задачі[7][8][9][10][11][12][13][14][15][16][17].

Remove ads

Лінійний випадок

Узагальнити
Перспектива

Задачі лінійного програмування — це завдачі оптимізації, в яких цільова функція та обмеження лінійні. У прямій задачі цільова функція є лінійною комбінацією n змінних. Є m обмежень, кожне з яких обмежує зверху лінійну комбінацію n змінних. Ціль — максимізувати значення цільової функції при обмеженнях. Розв'язок — це вектор (список) із n значень, що дає максимальне значення цільової функції.

У двоїстій задачі цільова функція є лінійною комбінацією m значень, які є правими частинами m обмежень прямої задачі. Є n двоїстих обмежень, кожне з яких обмежує знизу лінійну комбінацію m двоїстих змінних.

Зв'язок між прямою та двоїстою задачами

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

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

Докладніше про зв'язок прямої та двоїстої задач див. розділ у статті «Лінійне програмування».

Економічна інтерпретація

Якщо ми розуміємо нашу пряму задачу лінійного програмування як класичну задачу «розподілу ресурсів», двоїсту задачу можна інтерпретувати як задачу «оцінювання ресурсів[en]».

Remove ads

Нелінійний випадок

Узагальнити
Перспектива

У нелінійному програмуванні обмеження необов'язково лінійні. Однак, багато принципів лінійного випадку застосовні.

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

У цьому полягає умова Каруша — Куна — Таккера. Вони довели необхідні умови визначення локального оптимуму нелінійних задач. Існують додаткові умови (умова регулярності обмежень), які необхідні для визначення напрямку на оптимальний розв'язок. Тут оптимальний розв'язок — це один із локальних оптимумів, який, можливо, не є глобальним.

Строгий принцип Лагранжа: двоїстість Лагранжа

Якщо задано задачу нелінійного програмування у стандартній формі

мінімізувати
за умов

з областю визначення , що має непорожню внутрішність, функція Лагранжа визначається як

Вектори і називають двоїстими змінними або векторами множників Лагранжа, пов'язаними із задачею. Двоїста функція Лагранжа визначається як

Двоїста функція g увігнута, навіть якщо початкова задача не опукла, оскільки вона є поточковим інфімумом афінних функцій. Двоїста функція дає нижні межі оптимального значення початкової задачі. Для будь-якого та будь-якого маємо .

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

Опуклі задачі

Для задачі опуклої мінімізації з обмеженнями-нерівностями,

мінімізувати
за умов

Лагранжевою двоїстою задачею буде

максимізувати
за умов

де цільовою функцією є двоїста функція Лагранжа. Якщо відомо, що функції і неперервно диференційовні, інфімум перебуває в точках, де градієнт дорівнює нулю. Задача

максимізувати
за умов

називається двоїстою задачею Вулфа. Ця задача обчислювально може виявитися складною, оскільки цільова функція не опукла в координатах . Також обмеження , у загальному випадку, нелінійне, отже двоїста задача Вулфа, зазвичай, є неопуклою задачею оптимізації. У кожному разі має місце слабка двоїстість[18].

Remove ads

Історія

За Джорджом Данцігом, теорему двоїстості для лінійної оптимізації висловив як гіпотезу Джон фон Нейман відразу після того, як Данціг представив задачу лінійного програмування. Фон Нейман помітив, що той використав інформацію з його теорії ігор і висловив припущення, що матрична гра двох осіб із нульовою сумою еквівалентна задачі лінійного програмування. Строге доведення цього факту вперше опублікували 1948 року Альберт Такер[en] і його група[19].

Remove ads

Див. також

  • Ослаблення (апроксимація)[en]

Примітки

Література

Додаткова література

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads