Розкладання Данцига - Вулфа

Метод декомпозиції Данцига - Вулфа є спеціалізованим варіант симплекс-методу
У 1960 р Джордж Данциг і Філіп Вулфruen розробили метод декомпозиції для вирішення завдань високої розмірності зі спеціальною структурою матриці обмежень [1]
Цей метод виявився найбільш ефективним для вирішення завдань , матриця обмежень яких має блочно-діагональний вид з невеликим числом змінних Однак, як показали подальші дослідження, метод можна застосовувати також і для задач лінійного програмування з матрицею загального вигляду Соотв тствующій метод запропонований Д Б Юдіна та Е Г Гольштейном і називається блоковим програмуванням
Відмінною особливістю методу декомпозиції є використання координуючої завдання, яка має, в порівнянні з вихідною, невелике число рядків і велике число стовпців
Зміст
1 Метод генерації стовпців
2 Принцип декомпозиції
3 Алгоритм
4 Блокові завдання
5 Примітки
6 Література
Метод генерації стовпців
Суттєвим є те, що для вирішення координуючої завдання не потрібно завдання
всіх стовпців в явному ви де Вони генеруються в процесі використання симплекс-методу Такий підхід називають методом генерації стовпців
Досить вміти генерувати стовпець і мати процедуру, що вибирає стовпець для введення в базис
Часто така процедура зводиться до вирішення певної підзадачі не обов'язково лінійного програмування
принцип декомпозиції
Лемма Нехай



R




- непорожнє замкнутий обмежене безліч в евклідовому просторі і володіє кінцевим числом



K




крайніх т очок, які тут будуть позначатися




z

k
= 1
:
K




}

Тоді будь-яка точка



z




безлічі



R




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



z




знайдуться невід'ємні числа




& # x03B4;

k




}

із загальною сумою одиниця




& # x2211;

k
=
1


K



& # x03B4;

m


=
1


^ delta _ = 1}

і такі, що
1



z
=

& # x2211;

k
=
1


K



& # x03B4;

k



z

k




^ delta _z_}

Нехай поставлена задача
максимізувати
2



c
[
N
]
x
[
N
]





при обмеженнях
3



A
[

M

1


,
N
]
x
[
N
]
=
b
[

M

1


]


, N] x = b}


4



A
[

M

2


,
N
]
x
[
N
]
=
b
[

M

2


]


, N] x = b}

5



x
[
N
]
& # x22 65;
0
[
N
]




Обмеження 3 задають симплекс S, нехай



z
[
K
]




- його крайні точки
Нехай x - припустиме рішення
За лемі



x
=
z
[
N
,
K
]
& # x22C5;
& # x03B4;
[
K
]




Підставами останній вираз в 2 і 3
Завдання набуде вигляду
максимізувати
6




c
[
N
]
& # x22C5;
z
[
N
,
K
]

& # x22C5;
& # x03B4;
[
K
]
=
g
[
k
]
& # x22C5;
& # x03B4;
[
K
]




при обмеженнях
7




A
[

M

1


,
N
]
& # x22C5;
z
[
N
,
K
]

& # x22C5;
& # x03B4;
[
K
]
=
D
[

M

1


,
K
]
& # x22C5;
& # x03B4 ;
[
K
]
=
b
[

M

1


]


, N] cdot z cdot delta = D cdot delta = b}


8



& # x03B4;
[
k
]
& # x22C5;
1 [
K
]
=
1




Це завдання еквівалентна вихідної 2-5 і називається координуючої завданням
Вона має тільки




|


M

1



|

+
1


| +1}

рядків обмежень в порівнянні з




|


M

1



|

+

|


M

2



|



| + | M_ |}

рядками вихідного завдання, і дуже велике число стовпців




|

K

|





, яка дорівнює кількості крайніх точок безлічі



S




Щоб не зберігати всі ці стовпці в пам'яті ЕОМ, будемо отримувати їх в міру необхідності, користуючись методом генерації стовпців
Алгоритм
Вирішуємо задачу 6-8 симплекс-методом з використанням методу генерації стовпців
Для простоти припустимо, що вже відомо деякий допустиме базисне рішення
Позначимо через



& # x03B4;




обмеження 8, тоді двоїсті змінні - це вектор



d
[

M

1


& # x222A;

& # x03B4;

]


cup]}

Для введення в базис необхідно знайти



z
[
N
,
m
]




, такий, що



d
[

M

1


]
D
[

M

1


,
K
]
+
d
[
& # x03B4;
]
& lt;
g
[
m
]


] D + d & lt; g}

Таким чином досить знайти m, на якому досягається мінімум
9



d
[

M

1


]
A
[

M

1


,
N
]
& # x22C5;
z
[
N
,
m
]
+
d
[
& # x03B4;
]
& # x2212;
c
[
N
]
z
[
N
,
m
]


] A cdot z + d-cz}

що еквівалентно вирішення завдання
мінімізувати
10




d
[

M

1


]
A
[

M

1


,
N
]
& # x2212;
c
[
N
]

& # x22C5;
x
[
N
]



] Ac cdot x}


при обмеженнях 4 і 5
Якщо знайдений мінімум не буде більше



& # x2212;
d
[
& # x03B4;
]



, задача вирішена
В іншому випадку стовпець



D
[

M

1


,
k
]


, k]}

, відповідний знайденому рішенням, вводимо в базис
Блокові завдання
Нехай обмеження 4 мають блочну структуру









A
[

M

1


,

N

1


]


0
[

M

1


,

N

2


]


& # x22EF;


0
[

M

1


,

N

n


]




0
[

M

2


,

N

1


]


A
[

M

2


,

N

2


]


& # x22EF;


0
[

M

2


,

N

n


]




& # x22EF;


& # x22EF;


& # x22EF;


& # x22EF;





0
[

M

n


,

N

1


]


0
[

M

n


,

N

2


]


& # x22EF;


A
[

M

n


,

N

n


]








A & amp; 0 & amp; cdots & amp; 0 \ 0 & amp; A & amp; cdots & amp; 0 \ cdots & amp; cdots & amp; cdots & amp; cdots & amp; \ 0 & amp; 0 & amp; cdots & amp; A \ end}}

Завдання 10,4,5 розпадається на окремі підзадачі
Знайти мінімум
11




d
[

M

k


]
A
[

M

k


,

N

k


]
& # x2212;
c
[

N

k


]

z
[

N

k


]
+
d
[
& # x03B4;
]


] A-cz + d}

за умов
12



A
[

M

k


,

N

k


]
z
[

N

k


]
=
b
[

M

k


]


, N_] z = b}

Примітки
↑ George B Dantzig; Philip Wolfe 1 960 "Decomposition Principle for Linear Programs" Operations Research 8: 101-111mw-parser-output citecitationmw-parser-output qmw-parser-output codecs1-codemw-parser-output cs1-lock-free amw-parser-output cs1- lock-limited a, mw-parser-output cs1-lock-registration amw-parser-output cs1-lock-subscription amw-parser-output cs1-subscription, mw-parser-output cs1-registrationmw-parser-output cs1-subscription span , mw-parser-output cs1-registration spanmw-parser-output cs1-hidden-errormw-parser-output cs1-visible-errormw-parser-output cs1-subscription, mw-parser-output cs1-registration, mw-parser-output cs1-formatmw-parser-output cs1-kern-left, mw-parser-output cs1-kern-wl-leftmw-parser-output cs1-kern-right, mw-parser-output cs1-kern-wl-right
література
Хемді А Таха Глава 3 Симплекс-метод // Введення в дослідження операцій = Operations Research: An Introduction - 7-е изд - М: «Вільямс» , 2007 - С 95-141 - ISBN 0-13-032374-8
Гольштейн E Г, Юдін Д Б Нові напрямки в лінійному програмуванні - М: Радянське радіо, 1966
Юдін Д Б, Гольдштейн Е Г Лінійне програмування теорія, методи та програми - М: Наука, 1969
методи оптімізацііОдномерние
Метод золотого перерізу
Дихотомія
Метод парабол
Перебір по сітці
Метод рівномірного блочного пошуку
Метод Фібоначчі
Трійчастий пошук
Метод Піявского
Метод Стронгина
Прямі методи
Метод Гаусса
Метод Нелдера - Міда
Метод Хука - Дживса
Метод конфігурацій
Метод Розенброка
ервого порядку
Градієнтний спуск
Метод Зойтендейка
покоординатно спуск
Метод сполучених градієнтів
Квазіньютоновскіе методи
Алгоритм Левенберга - Марквардта
Другого порядку
Метод Ньютона
Метод Ньютона - Рафсона
алгоритм Бройде - Флетчера - Гольдфарба - Шанно BFGS
Стохастические
Метод Монте-Карло
Імітація відпалу
Еволюційні алгоритми
Диференціальна еволюція
Мурашиний алгоритм
Метод рою частинок
Алгоритм бджолиної колонії
Метод випадкових блукань
Методи лінейногопрограммірованія
Симплекс -метод
Алгоритм Гоморі
Метод еліпсоїдів
Метод потенціалів
Методи нелінейногопрограммірованія
Послідовне квадратичне програмування
Це незавершена стаття з математики Ви можете допомогти проекту, доповнивши її
Для поліпшення цієї статті бажано:
Проставивши виноски, внести більш точні вказівки на істочнікіВікіфіціровать статтю


Разложение Данцига — Вулфа

Случайные Статьи

Бичуков, Анатолий Андреевич

Бичуков, Анатолий Андреевич

24 мая 1934(1934-05-24) (81 год) Место рождения: Донецк, УССР, СССР Гражданство: СССР С...
Легари, Фарук

Легари, Фарук

Сардар Фарук Ахмад-хан Легари (29 мая 1940(19400529), Choti Zareen, Пенджаб — 20 октября 2...
Михримах Султан

Михримах Султан

Состояниеотпатрулирована Перейти к: навигация, поиск В Викип...
Жастар

Жастар

Жастар (каз. Жастар) — село в Ескельдинском районе Алматинской области Казахстана. Входит в состав А...