Симплекс-метод — метод розв'язання задачі лінійного програмування, в якому здійснюється скерований рух по опорних планах до знаходження оптимального розв'язку; симплекс-метод також називають методом поступового покращення плану. Метод був розроблений американським математиком Джорджем Данцігом у 1947 році.
Опис методу
Нехай невироджену задачу лінійного програмування представлено в канонічному вигляді:
- ,
-
де X = (x1, …, xn) — вектор змінних, C = (c1, …., cn), B = (b1, …, bm)T, Aj = (a1j, …, amj)T, j = 1, …, n — задані вектори, T — знак транспонування, та
відмінні від нуля компоненти опорного плану, для полегшення пояснення розташовані на перших m місцях вектора X. Базис цього плану — . Тоді
- , (1)
- , (2)
де значення лінійної форми на даному плані. Так як вектор-стовпці матриці A лінійно незалежні, будь-який із векторів умов Aj розкладається по них єдиним чином:
- , (3)
- , (4)
де xij коефіцієнт розкладання. Система умов
- , (5)
zk ≥ 0, xj = 0, j = m + 1, …, n, j ≠ k (6)
при заданому k визначає в просторі змінних задачі промінь, який виходить із точки, яка відповідає опорному плану, що розглядається. Нехай значення змінної xk при русі по цьому променю дорівнює θ, тоді значення базисних змінних дорівнюють xi(θ). В цих позначеннях рівняння (5) можна представити у вигляді
- . (7)
помноживши рівняння (3) на θ при j = k та віднявши від рівняння (1), отримаємо
- .(8)
Із рівнянь (7-8) отримаємо
- . (9)
Оскільки xi(θ) при θ = 0 визначають план задачі, то найбільше θ, яке не порушує обмеження xi (θ) ≥ 0, визначається із умови
- . (10)
де I = {i | xik > 0}.
В силу невиродженості задачі мінімум досягається не більш ніж для одного i = J та θ > 0. Значення лінійної форми при θ = θ0 визначається із рівнянь (9), (4), (2)
- ,
де Δk = zk — ck. Очевидно, Δj = 0 для j = 1, …, m.
Нехай — початковий базис із m одиничних векторів. Всі дані задачі записуються у вигляді симплекс-таблиці (першої ітерації обчислювального процесу). Симплекс-алгоритм розв'язання задачі лінійного програмування складається із наступних операцій:
- знайти . Якщо Δk = 0, тоді план, який розглядається оптимізовано; якщо Δk < 0, вектор Ak вводиться в базис;
- знайти θ0 та l, для якого , із формули (10). Якщо I = Λ — порожня множина, лінійна форма необмежена зверху; якщо I ≠ Λ вектор Al виводиться із базису;
- за знайденими l, k обчислити нові значення елементів таблиці за формулами
- (12)
- ,
де та перейти до виконання операції (1) з новими значеннями всіх xij = x'ij.
Перетворення (12) замінює вектор коефіцієнтів Xk = (x1k, …, xmk) на одиничний вектор Xk з xlk = 1. В силу монотонного збільшення x0 повернення до вже пройденого плану неможливе, а із скінченності кількості опорних планів випливає скінченність алгоритму.
Початковий опорний план з одиничним базисом можна отримати, розв'язавши описаним алгоритмом допоміжну задачу
- ,
при обмеженнях
- ;
- ,
яка містить одиничний базис, який складається із векторів An+1, …, An+m. Цим векторам відповідають штучні змінні із значеннями , i = 1, …, m. Якщо в оптимальному розв'язку цієї задачі , вихідна задача не має розв'язку. Якщо ж та задача невироджена, оптимальний базис складається лише тільки із векторів вихідної задачі, які за формулами (12) перетворені в одиничну матрицю. Якщо задача має невироджені плани, значення z0 може не збільшуватись на ряді ітерацій. Це відбувається через те, що значення відповідних дорівнює нулю та визначається неоднозначно. В таких випадках монотонність методу порушується і може трапитись зациклювання, тобто, повернення до вже пройденого базису. Невелика зміна вектора обмежень задачі, яка полягає в заміні величин bi на bi + εi, де εi достатньо малі, при вдалому виборі εi не змінюють множину векторів оптимального опорного плану вихідної задачі і робить її невиродженою.
Описаний вище алгоритм називається першим (або прямим) алгоритмом симплекс-методу. Також відомий другий алгоритм (алгоритм із оберненою матрицею). В ньому перетворюється лише матриця A-1, обернена до базисної матриці.
Це незавершена стаття з математики. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Simpleks metod metod rozv yazannya zadachi linijnogo programuvannya v yakomu zdijsnyuyetsya skerovanij ruh po opornih planah do znahodzhennya optimalnogo rozv yazku simpleks metod takozh nazivayut metodom postupovogo pokrashennya planu Metod buv rozroblenij amerikanskim matematikom Dzhordzhem Dancigom u 1947 roci Opis metoduNehaj nevirodzhenu zadachu linijnogo programuvannya predstavleno v kanonichnomu viglyadi j 1 n c j x j max displaystyle sum j 1 n c j x j to max j 1 n A j x j B x j 0 j 1 2 n displaystyle sum j 1 n A j x j B quad x j geq 0 quad j 1 2 ldots n de X x1 xn vektor zminnih C c1 cn B b1 bm T Aj a1j amj T j 1 n zadani vektori T znak transponuvannya ta X x 1 x m displaystyle bar X bar x 1 ldots bar x m vidminni vid nulya komponenti opornogo planu dlya polegshennya poyasnennya roztashovani na pershih m miscyah vektora X Bazis cogo planu A A 1 A m displaystyle bar A A 1 ldots A m Todi i 1 m A i x i B displaystyle sum i 1 m A i bar x i B 1 i 1 m c i x i z 0 displaystyle sum i 1 m c i x i bar z 0 2 de z 0 displaystyle bar z 0 znachennya linijnoyi formi na danomu plani Tak yak vektor stovpci matrici A linijno nezalezhni bud yakij iz vektoriv umov Aj rozkladayetsya po nih yedinim chinom i 1 m A i x j i A j j 1 n displaystyle sum i 1 m A i x ji A j qquad j 1 ldots n 3 i 1 m c i x i j j 1 n displaystyle sum i 1 m c i x ij qquad j 1 ldots n 4 de xij koeficiyent rozkladannya Sistema umov i 1 m A i x i A k x k B k m 1 displaystyle sum i 1 m A i x i A k x k B qquad k geq m 1 5 zk 0 xj 0 j m 1 n j k 6 pri zadanomu k viznachaye v prostori zminnih zadachi promin yakij vihodit iz tochki yaka vidpovidaye opornomu planu sho rozglyadayetsya Nehaj znachennya zminnoyi xk pri rusi po comu promenyu dorivnyuye 8 todi znachennya bazisnih zminnih dorivnyuyut xi 8 V cih poznachennyah rivnyannya 5 mozhna predstaviti u viglyadi i 1 m x i 8 A i 8 A k B displaystyle sum i 1 m x i theta A i theta A k B 7 pomnozhivshi rivnyannya 3 na 8 pri j k ta vidnyavshi vid rivnyannya 1 otrimayemo i 1 m x i 8 x i k A i 8 A k B displaystyle sum i 1 m bar x i theta x ik A i theta A k B 8 Iz rivnyan 7 8 otrimayemo x i 8 x i 8 x i k i 1 m displaystyle x i theta bar x i theta x ik qquad i 1 ldots m 9 Oskilki xi 8 pri 8 0 viznachayut plan zadachi to najbilshe 8 yake ne porushuye obmezhennya xi 8 0 viznachayetsya iz umovi 8 0 min i I x i x i k displaystyle theta 0 min i in I frac bar x i x ik 10 de I i xik gt 0 V silu nevirodzhenosti zadachi minimum dosyagayetsya ne bilsh nizh dlya odnogo i J ta 8 gt 0 Znachennya linijnoyi formi pri 8 80 viznachayetsya iz rivnyan 9 4 2 z 0 8 0 i 1 m c i x i 8 0 c k 8 0 z 0 8 0 D k displaystyle z 0 theta 0 sum i 1 m c i x i theta 0 c k theta 0 bar z 0 theta 0 Delta k de Dk zk ck Ochevidno Dj 0 dlya j 1 m Nehaj A E displaystyle bar A E pochatkovij bazis iz m odinichnih vektoriv Vsi dani zadachi zapisuyutsya u viglyadi simpleks tablici pershoyi iteraciyi obchislyuvalnogo procesu Simpleks algoritm rozv yazannya zadachi linijnogo programuvannya skladayetsya iz nastupnih operacij znajti D k min j D j displaystyle Delta k min j Delta j Yaksho Dk 0 todi plan yakij rozglyadayetsya optimizovano yaksho Dk lt 0 vektor Ak vvoditsya v bazis znajti 80 ta l dlya yakogo 8 0 x l x l k displaystyle theta 0 bar x l x l k iz formuli 10 Yaksho I L porozhnya mnozhina linijna forma neobmezhena zverhu yaksho I L vektor Al vivoditsya iz bazisu za znajdenimi l k obchisliti novi znachennya elementiv tablici za formulami x i j x i j x l j x l k x i k if i l x l j x l k if i l displaystyle x ij begin cases x ij frac x lj x lk x i k amp mbox if i neq l frac x lj x lk amp mbox if i l end cases 12 i 1 m 1 j 0 1 n displaystyle i 1 dots m 1 quad j 0 1 dots n de x i 0 x i x m 1 0 z 0 x m 1 j D j displaystyle x i0 bar x i x m 1 0 bar z 0 x m 1 j Delta j ta perejti do vikonannya operaciyi 1 z novimi znachennyami vsih xij x ij Peretvorennya 12 zaminyuye vektor koeficiyentiv Xk x1k xmk na odinichnij vektor Xk zxlk 1 V silu monotonnogo zbilshennya x0 povernennya do vzhe projdenogo planu nemozhlive a iz skinchennosti kilkosti opornih planiv viplivaye skinchennist algoritmu Pochatkovij opornij plan z odinichnim bazisom mozhna otrimati rozv yazavshi opisanim algoritmom dopomizhnu zadachu i 1 m y n i max displaystyle sum i 1 m y n i to max pri obmezhennyah j 1 n a i j x j y n i b i i 1 displaystyle sum j 1 n a ij x j y n i b i quad i 1 dots y n 1 0 i 1 m displaystyle y n 1 geq 0 i 1 dots m x j 0 j 1 n displaystyle x j geq 0 j 1 dots n yaka mistit odinichnij bazis yakij skladayetsya iz vektoriv An 1 An m Cim vektoram vidpovidayut shtuchni zminni iz znachennyami y n i b i displaystyle bar y n i b i i 1 m Yaksho v optimalnomu rozv yazku ciyeyi zadachi i 1 m y n i gt 0 displaystyle sum i 1 m y n i gt 0 vihidna zadacha ne maye rozv yazku Yaksho zh i 1 m y n i 0 displaystyle sum i 1 m y n i 0 ta zadacha nevirodzhena optimalnij bazis skladayetsya lishe tilki iz vektoriv vihidnoyi zadachi yaki za formulami 12 peretvoreni v odinichnu matricyu Yaksho zadacha maye nevirodzheni plani znachennya z0 mozhe ne zbilshuvatis na ryadi iteracij Ce vidbuvayetsya cherez te sho znachennya vidpovidnih x l displaystyle bar x l dorivnyuye nulyu ta viznachayetsya neodnoznachno V takih vipadkah monotonnist metodu porushuyetsya i mozhe trapitis zaciklyuvannya tobto povernennya do vzhe projdenogo bazisu Nevelika zmina vektora obmezhen zadachi yaka polyagaye v zamini velichin bi na bi ei de ei dostatno mali pri vdalomu vibori ei ne zminyuyut mnozhinu vektoriv optimalnogo opornogo planu vihidnoyi zadachi i robit yiyi nevirodzhenoyu Opisanij vishe algoritm nazivayetsya pershim abo pryamim algoritmom simpleks metodu Takozh vidomij drugij algoritm algoritm iz obernenoyu matriceyu V nomu peretvoryuyetsya lishe matricya A 1 obernena do bazisnoyi matrici Portal matematika Ce nezavershena stattya z matematiki Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi