SlideShare a Scribd company logo
1 of 7
Лекція 8. Метод штучного базису
Симплексний метод можна застосовувати для задач, в яких відомий початковий
опорний план. Проте для багатьох задач лінійного програмування, записаних у формі
основної задачі, не завжди знаходиться одиничних векторів . Наприклад, потрібно
знайти максимум функції
(3.9)
при обмеженнях
(3.10)
(3.11)
де серед векторів
. . . ,
немає одиничнихвекторів.
Для того щоб використовувати симплекс-метод для розв'язання задачі (3.9)─(3.11),
доводиться удаватися до введення штучних змінних у обмеження задачі з метою
одержання нової системи обмежень з повним одиничним базисом, опорним розв'язком
нової системи обмежень. Потім розв'язується задача лінійного програмування з новими
обмеженнями та спеціально побудованою цільовою функцією, в яку вводяться штрафи на
штучні змінні. Залежно від вигляду цільової функції нової задачі її розв'язок приводить до
опорного розв'язку вихідної задачі (3.9)─(3.11) або до оптимального розв'язку. Якщо
задача (3.9)─(3.11) не має розв'язків, то це виявляється у ході розв'язування задачі. Такий
прийом розв'язання задачі лінійного програмування називається методом штучного базису
або М-методом.
Визначення. Задача знаходження максимального значення функції
(3.12)
при обмеженнях
m jA
max...2211  nn xcxcxcF










;...
......................................
;...
;...
2211
22222121
11212111
mnmnmm
nn
nn
bxaxaxa
bxaxaxa
bxaxaxa
,,1,0 njxj 
,
.
.
.
1
11
1

















m
a
a
A ,
.
.
.
2
12
2

















m
a
a
A

















mn
n
n
a
a
A
.
.
.
1
m
mnnnn
MxMxxcxcxcF 
 ...... 12211
(3.13)
(3.14)
де ─ велике додатне число, називається розширеною змінною щодо (3.9)─ (3.11).
Задача (3.12)─(3.14) має опорний план
Цей план визначається системою одиничних векторів …, які
утворюють базис -вимірного векторного простору. Система векторів, як і змінні
називаються штучною. Оскільки розширена задача має опорний план,
то її розв’язок можна знайти симплекс-методом.
Теорема. Якщо в оптимальному плані
розширеної задачі (3.12)─(3.14) значення штучних змінних дорівнюють нулю
, то є оптимальним планом вихідної задачі
(3.9)─(3.11).
Тобто, використовуючи симплекс-метод для розширеної задачі, поступово вводимо в
базис основні змінні замість штучних. Після скінченного числа ітерацій всі штучні змінні
повинні вийти з базису.
Щоб перевірити опорний план на оптимальність, складаємо симплекс-таблицю і
обчислюємо
Різниці будуть лінійними функціями від :
Кожна з різниць складається з двох частин, одна з яких залежить від , а інша не
залежить. Тому для кожної з цих частин у симплекс-таблиці виділяється свій
рядок для частини , що не залежить від , а ─ рядок для коефіцієнта
при .
Перерахунок симплекс–таблиці здійснюється за загальним правилом симплекс-
методу. Але при переході від одного опорного плану до іншого в базис вводять вектор,
який відповідає найбільшому за абсолютною величиною від’ємному числу
рядка. Штучний вектор виводиться з базису і перераховувати його не потрібно.













;...
...............................................
;...
;...
2211
222222121
111212111
mmnnmnmm
nnn
nnn
bxxaxaxa
bxxaxaxa
bxxaxaxa
,,1,0 mnjxj 
M
).,...,,0,...,0( 1 m
bbX 
,1n
A ,2n
A ,mn
A 
m
,,...,, 21 mnnn xxx 
),...,,,...,,( **
1
**
2
*
1
*
mnnn
xxxxxX 

),...,1(0*
mix in

),...,,( **
2
*
1
*
n
xxxX 
,00 ACz баз
 .j jjjjбаз czcAC 
jj cz  M
  .jijjj caMcz
M
)1( m
jj cz  M )2( m
M
)2( m
Процес виведення штучних змінних по рядку проводимо доти, поки всі
штучні змінні виведено з базису; в базисі ще є штучні змінні, а в рядку
виконується критерій оптимальності, тобто всі елементи рядка невід’ємні при
розв’язанні задачі на максимум.
Тоді, якщо на перетині рядка і стовпця стоїть від’ємний елемент, то
задача не має розв’язку, а якщо стоїть нуль, то триває пошук оптимального плану за
рядком. Розв’язувальний стовпець обираємо той, якому відповідає найбільший за
абсолютною величиною від’ємний елемент рядка. Процес продовжуємо доти,
доки в рядку не залишиться від’ємних елементів. Елементи рядка
перетворювати не потрібно.
Алгоритм методу штучного базису
1. Складаємо розширену задачу (3.12 )–(3.14).
2. Знаходимо початковий опорний план розширеної задачі.
3. Використовуючи симплекс-метод, виводимо штучні вектори з базису. В
результаті або знаходимо початковий опорний план вихідної задачі (3.9)–(3.11), або
встановлюємо, що задача не має розв’язку.
4. Перевіряємо знайдений опорний план на оптимальність і або симплекс-
методом встановлюємо, що цей план оптимальний, або доводимо, що задача не має
розв’язку.
Приклад. Розв’язати задачу лінійного програмування з використанням методу
штучного базису:
(3.15)
(3.16)
(3.17)
Зведемо задачу до канонічної форми:
(3.18)
(3.19)
(3.20)
Запишемо систему обмежень (3.19)─(3.20) у векторній формі:
)2( m
)2( m
)2( m
)2( m 0
A
)1( m
)1( m
)1( m )2( m
min;243 4321  xxxxf





;24432
;2754
4321
4321
xxxx
xxxx
.4,1,0  jxj
max;243 4321  xxxxF





;24432
;2754
6421
54321
xxxx
xxxxx
.6,1,0  jxj
,0665544332211
AAxAxAxAxAxAx 
де
Кількість обмежень . Оскільки серед векторів не має двох
одиничних векторів, то складаємо розширену задачу і вводимо штучні змінні .
(3.21)
(3.22)
(3.23)
де ─ деяке досить велике додатне число, конкретне значення якого не задається.
Оскільки вектори і одиничні, то вони утворюють базис. Змінні
і ─ базисні, змінні ─ вільні і прирівнюються до нуля. Тоді
згідно з визначенням опорного плану початковий опорний план розширеної задачі
(3.20)─(3.23) буде таким:
Використовуючи тепер симплекс-метод для розширеної задачі, поступово вводимо в
базис основні змінні замість штучних.
Після скінченного числа ітерацій всі штучні змінні повинні бути виведені з базису.
Побудуємо симплекс-таблицю 3.9.
Таблиця3.9
;
2
1
1 





A ;
3
1
2 





A ;
0
4
3 





A ;
4
5
4 





A ;
0
1
5 





A ;
1
0
6 






A .
24
27
0 





A
2m jA )6,...,1( j
87 , xx
max;243 874321  MxMxxxxxF





;2432
;2754
86421
754321
xxxxx
xxxxxx
.8,1,0  jxj
M







0
1
7A 






1
0
8A
7
x 8
x 654321 ,,,,, xxxxxx
;0( 1  xXop
;02 x ;03 x ;04 x ;05 x ;06 x ;277 x ).248 x
i Базис
С1= -1 С2= -3 С3= -4 С4= -2 С5= 0 С6= 0 С7= -М С8= -М
1 ─М 27 1 ─1 4 5 ─1 0 1 0
2 ─М 24 2 3 ─1 4 0 ─1 0 1
m+1 0 1 3 4 2 0 0 0 0
m+2 ─51 ─3 -2 ─3 ─9 1 1 0 0
базC
0
A
1
A 2
A 3
A 4
A 5
A 6
A 7
A 8
A
7
A
8
A
Обчислимо і :
У рядок записуємо 0, оскільки немає чисел без , а в рядок ─ 51.
Аналогічно обчислюємо і заносимо їх у таблицю:
Оскільки в рядку серед величин є від’ємні, то початковий опорний план
розширеної задачі не є оптимальним. Треба перейти до наступного опорного плану.
Обчислення виконуємо за допомогою симплекс-методу, тільки тут розв’язувальний
стовпець вибираємо серед елементів рядка. Розв’язувальний стовпець відповідає
найбільшому за абсолютною величиною від’ємному елементу рядка – це 9.
Вектор, який вводиться, – буде . Позначаємо його стрілкою. Далі знаходимо величину
Розв’язувальний рядок – перший. Розв’язувальний елемент
дорівнює 5. Виділяємо його рамкою.
Отже, з базису виведемо штучний вектор , коефіцієнти якого далі перераховувати
не потрібно, а в базис вводимо вектор .
Використовуючи жорданові виключення, перерахуємо елементи (табл.3.10).
Таблиця 3.10
i Базис
С1= -1 С2= -3 С3= -4 С4= -2 С5= 0 С6= 0 С7= -М С8= -М
1 ─2 1 0 0
0
z 8,1, jAj
.05124)(27)(00  MMMACz баз
)1( m M )2( m
j

.010)1()(0)(
;0100)()1()(
;29)2(4)(5)(
;43)4()1()(4)(
;32)3(3)()1()(
;13)1(2)(1)(
666
555
444
333
222
111






MMMcAC
MMMcAC
MMMcAC
MMMcAC
MMMcAC
MMMcAC
баз
баз
баз
баз
баз
баз
)2( m j
)2( m
)2( m
4
A



 ;
5
27
minθ .
5
27
4
24




7
A
4
A
базC
0
A 1
A 2
A 3
A 4
A 5
A 6
A 7
A 8
A
4
A
5
27
5
1
5
1
5
4
5
1
2 ─М 0 ─1 1
m+1 0 0 0
m+2 0 0 0
1 ─2 0 1
2 ─М 1 0
m+1 0 0 0
Отже, після другого кроку з базису вийшли всі штучні змінні, і всі елементи
рядка стали нулями. Тепер проаналізуємо рядок. У стовпцях і
рядка стоять від’ємні елементи. Це свідчить про те, що опорний план ще не
оптимальний.
Вектор буде розв’язувальним, оскільки ( ) – найбільший за абсолютною
величиною від’ємний елемент рядка. Для знайдення розв’язувального рядка
обчислимо розв’язувальний рядок – другий,
розв’язувальний елемент ─ .
У базис вводимо вектор , а з базису виводимо вектор і перераховуємо
елементи таблиці. В результаті отримуємо табл. 3.11.
Таблиця 3.11
Базис
8
A
5
12
5
6
5
19
5
21
5
4
5
54
5
3
5
17
5
12
5
2
5
12
5
6
5
19
5
21
5
4
4
A
19
105
19
5
19
11
9
3
9
1
2
A
19
12
19
6
19
21
19
4
9
5
19
264
19
9
19
117
19
6
)2( m )1( m 1
A 5
A
)1( m
(opX ;01 x ;
19
12
2 x ;03 x ;
19
105
4 x ;05 x )06 x
1
A
19
9
)1( m



 ;
19
5
:
19
105
minθ ,
19
6
:
19
12
19
6
:
19
12




19
6
1A 2A
i базC
0
A
1
1
C 32 C 43 C 24 C 05 C 06 C
1
A 2
A 3
A 4
A 5
A 6
A
1 ─2 5 0 1
2 ─1 2 1 0
─12 0 0 0
У табл. 3.11 всі . Це свідчить про те. Що опорний план 0, 0, 5, 0, 0)
є оптимальним планом задачі і . Оскільки початкова задача була на мінімум
цільової функції, то .
4
A
6
5
2
3
3
1
6
1
1
A
6
19
6
21
3
2
6
5
1m
2
3
2
9
2
1
0j
(2,опX
12max f
12maxmin  ff

More Related Content

What's hot

Базові алгоритмічні структури. Типи алгоритмів
Базові алгоритмічні структури. Типи алгоритмівБазові алгоритмічні структури. Типи алгоритмів
Базові алгоритмічні структури. Типи алгоритмівЗоя Муляр
 
дослідження функції за допомогою похідної
дослідження функції за допомогою похідноїдослідження функції за допомогою похідної
дослідження функції за допомогою похідноїАлександр Руденко
 
Лінійна функція та її графік
Лінійна функція та її графікЛінійна функція та її графік
Лінійна функція та її графікГалина Дудчик
 
Системы уравнений с двумя переменными
Системы уравнений с двумя переменнымиСистемы уравнений с двумя переменными
Системы уравнений с двумя переменнымиИлья Сыч
 
Урок 42. Алгоритми з повтореннями для опрацювання величин. Цикл з лічильником
 Урок 42. Алгоритми з повтореннями  для опрацювання величин.  Цикл з лічильником Урок 42. Алгоритми з повтореннями  для опрацювання величин.  Цикл з лічильником
Урок 42. Алгоритми з повтореннями для опрацювання величин. Цикл з лічильникомВасиль Тереховський
 
График уравнения с двумя переменным
График уравнения с двумя переменнымГрафик уравнения с двумя переменным
График уравнения с двумя переменнымИлья Сыч
 
задачі лінійного програмування
задачі лінійного програмуваннязадачі лінійного програмування
задачі лінійного програмуванняcit-cit
 
зоряна година квадратична функція 9 клас
зоряна година квадратична функція 9 класзоряна година квадратична функція 9 клас
зоряна година квадратична функція 9 класIrina Biryuk
 
квадратична функція 9 клас
квадратична функція 9 класквадратична функція 9 клас
квадратична функція 9 класvalia55
 
Числовые промежутки
Числовые промежуткиЧисловые промежутки
Числовые промежуткиИлья Сыч
 
лекція6
лекція6лекція6
лекція6cit-cit
 
Кластерний аналіз даних методом k-середніх в R
Кластерний аналіз даних методом k-середніх в RКластерний аналіз даних методом k-середніх в R
Кластерний аналіз даних методом k-середніх в RVladimir Bakhrushin
 
мпр т 4
мпр т 4мпр т 4
мпр т 4Ivan
 
11 показникова
11 показникова11 показникова
11 показниковаdaniil chilochi
 

What's hot (19)

Базові алгоритмічні структури. Типи алгоритмів
Базові алгоритмічні структури. Типи алгоритмівБазові алгоритмічні структури. Типи алгоритмів
Базові алгоритмічні структури. Типи алгоритмів
 
дослідження функції за допомогою похідної
дослідження функції за допомогою похідноїдослідження функції за допомогою похідної
дослідження функції за допомогою похідної
 
Лінійна функція та її графік
Лінійна функція та її графікЛінійна функція та її графік
Лінійна функція та її графік
 
Системы уравнений с двумя переменными
Системы уравнений с двумя переменнымиСистемы уравнений с двумя переменными
Системы уравнений с двумя переменными
 
Pohidna sam robota_2020
Pohidna sam robota_2020Pohidna sam robota_2020
Pohidna sam robota_2020
 
Урок 39. Алгоритми з розгалуженнями
Урок 39. Алгоритми з розгалуженнямиУрок 39. Алгоритми з розгалуженнями
Урок 39. Алгоритми з розгалуженнями
 
Урок 42. Алгоритми з повтореннями для опрацювання величин. Цикл з лічильником
 Урок 42. Алгоритми з повтореннями  для опрацювання величин.  Цикл з лічильником Урок 42. Алгоритми з повтореннями  для опрацювання величин.  Цикл з лічильником
Урок 42. Алгоритми з повтореннями для опрацювання величин. Цикл з лічильником
 
График уравнения с двумя переменным
График уравнения с двумя переменнымГрафик уравнения с двумя переменным
График уравнения с двумя переменным
 
задачі лінійного програмування
задачі лінійного програмуваннязадачі лінійного програмування
задачі лінійного програмування
 
зоряна година квадратична функція 9 клас
зоряна година квадратична функція 9 класзоряна година квадратична функція 9 клас
зоряна година квадратична функція 9 клас
 
Urok 06 z
Urok 06 zUrok 06 z
Urok 06 z
 
квадратична функція 9 клас
квадратична функція 9 класквадратична функція 9 клас
квадратична функція 9 клас
 
Числовые промежутки
Числовые промежуткиЧисловые промежутки
Числовые промежутки
 
Urok 01 l
Urok 01 lUrok 01 l
Urok 01 l
 
Функція
ФункціяФункція
Функція
 
лекція6
лекція6лекція6
лекція6
 
Кластерний аналіз даних методом k-середніх в R
Кластерний аналіз даних методом k-середніх в RКластерний аналіз даних методом k-середніх в R
Кластерний аналіз даних методом k-середніх в R
 
мпр т 4
мпр т 4мпр т 4
мпр т 4
 
11 показникова
11 показникова11 показникова
11 показникова
 

Similar to лекція 8

мпр т 9
мпр т 9мпр т 9
мпр т 9Ivan
 
лекція 9
лекція 9лекція 9
лекція 9cit-cit
 
Учень, як вчений
Учень, як вченийУчень, як вчений
Учень, як вченийCveldulf
 
Net framework і c# module 3
Net framework і c# module 3Net framework і c# module 3
Net framework і c# module 3Andrii Hladkyi
 
Розв’язування систем лінійних рівнянь
Розв’язування систем лінійних рівняньРозв’язування систем лінійних рівнянь
Розв’язування систем лінійних рівняньInna Gornikova
 
Урок 01 Перетворення виразів.Ppt
Урок 01 Перетворення виразів.PptУрок 01 Перетворення виразів.Ppt
Урок 01 Перетворення виразів.Pptssuser302741
 
презентація розв'язуємо судоку
презентація розв'язуємо судокупрезентація розв'язуємо судоку
презентація розв'язуємо судокуhevhyknatala
 
лекції 4 7
лекції 4 7лекції 4 7
лекції 4 7cit-cit
 
Масиви Структури даних (1).ppt
Масиви Структури даних (1).pptМасиви Структури даних (1).ppt
Масиви Структури даних (1).pptDarkUmaru
 
Презентація: Перетворення виразів (повторення та систематизація матеріалу).pp...
Презентація: Перетворення виразів (повторення та систематизація матеріалу).pp...Презентація: Перетворення виразів (повторення та систематизація матеріалу).pp...
Презентація: Перетворення виразів (повторення та систематизація матеріалу).pp...sveta7940
 
лекц №3. інтегр. рац. виразів
лекц №3. інтегр. рац. виразівлекц №3. інтегр. рац. виразів
лекц №3. інтегр. рац. виразівcdecit
 
Lec (5) інегрування раціональних функцій
Lec (5) інегрування раціональних функційLec (5) інегрування раціональних функцій
Lec (5) інегрування раціональних функційRoman Yukhym
 
Синтез оптимального керування для систем диференціальних рівнянь с нефіксован...
Синтез оптимального керування для систем диференціальних рівнянь с нефіксован...Синтез оптимального керування для систем диференціальних рівнянь с нефіксован...
Синтез оптимального керування для систем диференціальних рівнянь с нефіксован...Вероника Черепинец
 
1218562
12185621218562
1218562nsahar
 
9 алг мерзляк_полонський_углубл_сканир_2009_укр
9 алг мерзляк_полонський_углубл_сканир_2009_укр9 алг мерзляк_полонський_углубл_сканир_2009_укр
9 алг мерзляк_полонський_углубл_сканир_2009_укрAira_Roo
 
Algebra poglyblene-9-klas-merzljak
Algebra poglyblene-9-klas-merzljakAlgebra poglyblene-9-klas-merzljak
Algebra poglyblene-9-klas-merzljakkreidaros1
 

Similar to лекція 8 (20)

мпр т 9
мпр т 9мпр т 9
мпр т 9
 
лекція 9
лекція 9лекція 9
лекція 9
 
Lr4
Lr4Lr4
Lr4
 
Учень, як вчений
Учень, як вченийУчень, як вчений
Учень, як вчений
 
011
011011
011
 
Net framework і c# module 3
Net framework і c# module 3Net framework і c# module 3
Net framework і c# module 3
 
Розв’язування систем лінійних рівнянь
Розв’язування систем лінійних рівняньРозв’язування систем лінійних рівнянь
Розв’язування систем лінійних рівнянь
 
Урок 01 Перетворення виразів.Ppt
Урок 01 Перетворення виразів.PptУрок 01 Перетворення виразів.Ppt
Урок 01 Перетворення виразів.Ppt
 
презентація розв'язуємо судоку
презентація розв'язуємо судокупрезентація розв'язуємо судоку
презентація розв'язуємо судоку
 
лекції 4 7
лекції 4 7лекції 4 7
лекції 4 7
 
Масиви Структури даних (1).ppt
Масиви Структури даних (1).pptМасиви Структури даних (1).ppt
Масиви Структури даних (1).ppt
 
Презентація: Перетворення виразів (повторення та систематизація матеріалу).pp...
Презентація: Перетворення виразів (повторення та систематизація матеріалу).pp...Презентація: Перетворення виразів (повторення та систематизація матеріалу).pp...
Презентація: Перетворення виразів (повторення та систематизація матеріалу).pp...
 
лекц №3. інтегр. рац. виразів
лекц №3. інтегр. рац. виразівлекц №3. інтегр. рац. виразів
лекц №3. інтегр. рац. виразів
 
Lec (5) інегрування раціональних функцій
Lec (5) інегрування раціональних функційLec (5) інегрування раціональних функцій
Lec (5) інегрування раціональних функцій
 
Синтез оптимального керування для систем диференціальних рівнянь с нефіксован...
Синтез оптимального керування для систем диференціальних рівнянь с нефіксован...Синтез оптимального керування для систем диференціальних рівнянь с нефіксован...
Синтез оптимального керування для систем диференціальних рівнянь с нефіксован...
 
1218562
12185621218562
1218562
 
иукмцум
иукмцумиукмцум
иукмцум
 
9 алг мерзляк_полонський_углубл_сканир_2009_укр
9 алг мерзляк_полонський_углубл_сканир_2009_укр9 алг мерзляк_полонський_углубл_сканир_2009_укр
9 алг мерзляк_полонський_углубл_сканир_2009_укр
 
Algebra poglyblene-9-klas-merzljak
Algebra poglyblene-9-klas-merzljakAlgebra poglyblene-9-klas-merzljak
Algebra poglyblene-9-klas-merzljak
 
модуль числа
модуль числамодуль числа
модуль числа
 

More from cit-cit

лекція 5
лекція 5лекція 5
лекція 5cit-cit
 
лаборатор. 10
лаборатор. 10лаборатор. 10
лаборатор. 10cit-cit
 
лекція 19
лекція 19лекція 19
лекція 19cit-cit
 
лекція 18
лекція 18лекція 18
лекція 18cit-cit
 
лекція 17
лекція 17лекція 17
лекція 17cit-cit
 
лекція 16
лекція 16лекція 16
лекція 16cit-cit
 
лекція 12
лекція 12лекція 12
лекція 12cit-cit
 
лекція 11
лекція 11лекція 11
лекція 11cit-cit
 
лекція 10
лекція 10лекція 10
лекція 10cit-cit
 
лаборатор. 15
лаборатор. 15лаборатор. 15
лаборатор. 15cit-cit
 
лаборатор. 14
лаборатор. 14лаборатор. 14
лаборатор. 14cit-cit
 
лаборатор. 13
лаборатор. 13лаборатор. 13
лаборатор. 13cit-cit
 
лаборатор. 12
лаборатор. 12лаборатор. 12
лаборатор. 12cit-cit
 
лаборатор. 11
лаборатор. 11лаборатор. 11
лаборатор. 11cit-cit
 
лаборатор. 9
лаборатор. 9лаборатор. 9
лаборатор. 9cit-cit
 
лаборатор. 8
лаборатор. 8лаборатор. 8
лаборатор. 8cit-cit
 
лаборатор. 7
лаборатор. 7лаборатор. 7
лаборатор. 7cit-cit
 
лекція 15 (pdf.io)
лекція 15 (pdf.io)лекція 15 (pdf.io)
лекція 15 (pdf.io)cit-cit
 
лекція 14 (pdf.io)
лекція 14 (pdf.io)лекція 14 (pdf.io)
лекція 14 (pdf.io)cit-cit
 
лекція 13 (pdf.io)
лекція 13 (pdf.io)лекція 13 (pdf.io)
лекція 13 (pdf.io)cit-cit
 

More from cit-cit (20)

лекція 5
лекція 5лекція 5
лекція 5
 
лаборатор. 10
лаборатор. 10лаборатор. 10
лаборатор. 10
 
лекція 19
лекція 19лекція 19
лекція 19
 
лекція 18
лекція 18лекція 18
лекція 18
 
лекція 17
лекція 17лекція 17
лекція 17
 
лекція 16
лекція 16лекція 16
лекція 16
 
лекція 12
лекція 12лекція 12
лекція 12
 
лекція 11
лекція 11лекція 11
лекція 11
 
лекція 10
лекція 10лекція 10
лекція 10
 
лаборатор. 15
лаборатор. 15лаборатор. 15
лаборатор. 15
 
лаборатор. 14
лаборатор. 14лаборатор. 14
лаборатор. 14
 
лаборатор. 13
лаборатор. 13лаборатор. 13
лаборатор. 13
 
лаборатор. 12
лаборатор. 12лаборатор. 12
лаборатор. 12
 
лаборатор. 11
лаборатор. 11лаборатор. 11
лаборатор. 11
 
лаборатор. 9
лаборатор. 9лаборатор. 9
лаборатор. 9
 
лаборатор. 8
лаборатор. 8лаборатор. 8
лаборатор. 8
 
лаборатор. 7
лаборатор. 7лаборатор. 7
лаборатор. 7
 
лекція 15 (pdf.io)
лекція 15 (pdf.io)лекція 15 (pdf.io)
лекція 15 (pdf.io)
 
лекція 14 (pdf.io)
лекція 14 (pdf.io)лекція 14 (pdf.io)
лекція 14 (pdf.io)
 
лекція 13 (pdf.io)
лекція 13 (pdf.io)лекція 13 (pdf.io)
лекція 13 (pdf.io)
 

лекція 8

  • 1. Лекція 8. Метод штучного базису Симплексний метод можна застосовувати для задач, в яких відомий початковий опорний план. Проте для багатьох задач лінійного програмування, записаних у формі основної задачі, не завжди знаходиться одиничних векторів . Наприклад, потрібно знайти максимум функції (3.9) при обмеженнях (3.10) (3.11) де серед векторів . . . , немає одиничнихвекторів. Для того щоб використовувати симплекс-метод для розв'язання задачі (3.9)─(3.11), доводиться удаватися до введення штучних змінних у обмеження задачі з метою одержання нової системи обмежень з повним одиничним базисом, опорним розв'язком нової системи обмежень. Потім розв'язується задача лінійного програмування з новими обмеженнями та спеціально побудованою цільовою функцією, в яку вводяться штрафи на штучні змінні. Залежно від вигляду цільової функції нової задачі її розв'язок приводить до опорного розв'язку вихідної задачі (3.9)─(3.11) або до оптимального розв'язку. Якщо задача (3.9)─(3.11) не має розв'язків, то це виявляється у ході розв'язування задачі. Такий прийом розв'язання задачі лінійного програмування називається методом штучного базису або М-методом. Визначення. Задача знаходження максимального значення функції (3.12) при обмеженнях m jA max...2211  nn xcxcxcF           ;... ...................................... ;... ;... 2211 22222121 11212111 mnmnmm nn nn bxaxaxa bxaxaxa bxaxaxa ,,1,0 njxj  , . . . 1 11 1                  m a a A , . . . 2 12 2                  m a a A                  mn n n a a A . . . 1 m mnnnn MxMxxcxcxcF   ...... 12211
  • 2. (3.13) (3.14) де ─ велике додатне число, називається розширеною змінною щодо (3.9)─ (3.11). Задача (3.12)─(3.14) має опорний план Цей план визначається системою одиничних векторів …, які утворюють базис -вимірного векторного простору. Система векторів, як і змінні називаються штучною. Оскільки розширена задача має опорний план, то її розв’язок можна знайти симплекс-методом. Теорема. Якщо в оптимальному плані розширеної задачі (3.12)─(3.14) значення штучних змінних дорівнюють нулю , то є оптимальним планом вихідної задачі (3.9)─(3.11). Тобто, використовуючи симплекс-метод для розширеної задачі, поступово вводимо в базис основні змінні замість штучних. Після скінченного числа ітерацій всі штучні змінні повинні вийти з базису. Щоб перевірити опорний план на оптимальність, складаємо симплекс-таблицю і обчислюємо Різниці будуть лінійними функціями від : Кожна з різниць складається з двох частин, одна з яких залежить від , а інша не залежить. Тому для кожної з цих частин у симплекс-таблиці виділяється свій рядок для частини , що не залежить від , а ─ рядок для коефіцієнта при . Перерахунок симплекс–таблиці здійснюється за загальним правилом симплекс- методу. Але при переході від одного опорного плану до іншого в базис вводять вектор, який відповідає найбільшому за абсолютною величиною від’ємному числу рядка. Штучний вектор виводиться з базису і перераховувати його не потрібно.              ;... ............................................... ;... ;... 2211 222222121 111212111 mmnnmnmm nnn nnn bxxaxaxa bxxaxaxa bxxaxaxa ,,1,0 mnjxj  M ).,...,,0,...,0( 1 m bbX  ,1n A ,2n A ,mn A  m ,,...,, 21 mnnn xxx  ),...,,,...,,( ** 1 ** 2 * 1 * mnnn xxxxxX   ),...,1(0* mix in  ),...,,( ** 2 * 1 * n xxxX  ,00 ACz баз  .j jjjjбаз czcAC  jj cz  M   .jijjj caMcz M )1( m jj cz  M )2( m M )2( m
  • 3. Процес виведення штучних змінних по рядку проводимо доти, поки всі штучні змінні виведено з базису; в базисі ще є штучні змінні, а в рядку виконується критерій оптимальності, тобто всі елементи рядка невід’ємні при розв’язанні задачі на максимум. Тоді, якщо на перетині рядка і стовпця стоїть від’ємний елемент, то задача не має розв’язку, а якщо стоїть нуль, то триває пошук оптимального плану за рядком. Розв’язувальний стовпець обираємо той, якому відповідає найбільший за абсолютною величиною від’ємний елемент рядка. Процес продовжуємо доти, доки в рядку не залишиться від’ємних елементів. Елементи рядка перетворювати не потрібно. Алгоритм методу штучного базису 1. Складаємо розширену задачу (3.12 )–(3.14). 2. Знаходимо початковий опорний план розширеної задачі. 3. Використовуючи симплекс-метод, виводимо штучні вектори з базису. В результаті або знаходимо початковий опорний план вихідної задачі (3.9)–(3.11), або встановлюємо, що задача не має розв’язку. 4. Перевіряємо знайдений опорний план на оптимальність і або симплекс- методом встановлюємо, що цей план оптимальний, або доводимо, що задача не має розв’язку. Приклад. Розв’язати задачу лінійного програмування з використанням методу штучного базису: (3.15) (3.16) (3.17) Зведемо задачу до канонічної форми: (3.18) (3.19) (3.20) Запишемо систему обмежень (3.19)─(3.20) у векторній формі: )2( m )2( m )2( m )2( m 0 A )1( m )1( m )1( m )2( m min;243 4321  xxxxf      ;24432 ;2754 4321 4321 xxxx xxxx .4,1,0  jxj max;243 4321  xxxxF      ;24432 ;2754 6421 54321 xxxx xxxxx .6,1,0  jxj ,0665544332211 AAxAxAxAxAxAx 
  • 4. де Кількість обмежень . Оскільки серед векторів не має двох одиничних векторів, то складаємо розширену задачу і вводимо штучні змінні . (3.21) (3.22) (3.23) де ─ деяке досить велике додатне число, конкретне значення якого не задається. Оскільки вектори і одиничні, то вони утворюють базис. Змінні і ─ базисні, змінні ─ вільні і прирівнюються до нуля. Тоді згідно з визначенням опорного плану початковий опорний план розширеної задачі (3.20)─(3.23) буде таким: Використовуючи тепер симплекс-метод для розширеної задачі, поступово вводимо в базис основні змінні замість штучних. Після скінченного числа ітерацій всі штучні змінні повинні бути виведені з базису. Побудуємо симплекс-таблицю 3.9. Таблиця3.9 ; 2 1 1       A ; 3 1 2       A ; 0 4 3       A ; 4 5 4       A ; 0 1 5       A ; 1 0 6        A . 24 27 0       A 2m jA )6,...,1( j 87 , xx max;243 874321  MxMxxxxxF      ;2432 ;2754 86421 754321 xxxxx xxxxxx .8,1,0  jxj M        0 1 7A        1 0 8A 7 x 8 x 654321 ,,,,, xxxxxx ;0( 1  xXop ;02 x ;03 x ;04 x ;05 x ;06 x ;277 x ).248 x i Базис С1= -1 С2= -3 С3= -4 С4= -2 С5= 0 С6= 0 С7= -М С8= -М 1 ─М 27 1 ─1 4 5 ─1 0 1 0 2 ─М 24 2 3 ─1 4 0 ─1 0 1 m+1 0 1 3 4 2 0 0 0 0 m+2 ─51 ─3 -2 ─3 ─9 1 1 0 0 базC 0 A 1 A 2 A 3 A 4 A 5 A 6 A 7 A 8 A 7 A 8 A
  • 5. Обчислимо і : У рядок записуємо 0, оскільки немає чисел без , а в рядок ─ 51. Аналогічно обчислюємо і заносимо їх у таблицю: Оскільки в рядку серед величин є від’ємні, то початковий опорний план розширеної задачі не є оптимальним. Треба перейти до наступного опорного плану. Обчислення виконуємо за допомогою симплекс-методу, тільки тут розв’язувальний стовпець вибираємо серед елементів рядка. Розв’язувальний стовпець відповідає найбільшому за абсолютною величиною від’ємному елементу рядка – це 9. Вектор, який вводиться, – буде . Позначаємо його стрілкою. Далі знаходимо величину Розв’язувальний рядок – перший. Розв’язувальний елемент дорівнює 5. Виділяємо його рамкою. Отже, з базису виведемо штучний вектор , коефіцієнти якого далі перераховувати не потрібно, а в базис вводимо вектор . Використовуючи жорданові виключення, перерахуємо елементи (табл.3.10). Таблиця 3.10 i Базис С1= -1 С2= -3 С3= -4 С4= -2 С5= 0 С6= 0 С7= -М С8= -М 1 ─2 1 0 0 0 z 8,1, jAj .05124)(27)(00  MMMACz баз )1( m M )2( m j  .010)1()(0)( ;0100)()1()( ;29)2(4)(5)( ;43)4()1()(4)( ;32)3(3)()1()( ;13)1(2)(1)( 666 555 444 333 222 111       MMMcAC MMMcAC MMMcAC MMMcAC MMMcAC MMMcAC баз баз баз баз баз баз )2( m j )2( m )2( m 4 A     ; 5 27 minθ . 5 27 4 24     7 A 4 A базC 0 A 1 A 2 A 3 A 4 A 5 A 6 A 7 A 8 A 4 A 5 27 5 1 5 1 5 4 5 1
  • 6. 2 ─М 0 ─1 1 m+1 0 0 0 m+2 0 0 0 1 ─2 0 1 2 ─М 1 0 m+1 0 0 0 Отже, після другого кроку з базису вийшли всі штучні змінні, і всі елементи рядка стали нулями. Тепер проаналізуємо рядок. У стовпцях і рядка стоять від’ємні елементи. Це свідчить про те, що опорний план ще не оптимальний. Вектор буде розв’язувальним, оскільки ( ) – найбільший за абсолютною величиною від’ємний елемент рядка. Для знайдення розв’язувального рядка обчислимо розв’язувальний рядок – другий, розв’язувальний елемент ─ . У базис вводимо вектор , а з базису виводимо вектор і перераховуємо елементи таблиці. В результаті отримуємо табл. 3.11. Таблиця 3.11 Базис 8 A 5 12 5 6 5 19 5 21 5 4 5 54 5 3 5 17 5 12 5 2 5 12 5 6 5 19 5 21 5 4 4 A 19 105 19 5 19 11 9 3 9 1 2 A 19 12 19 6 19 21 19 4 9 5 19 264 19 9 19 117 19 6 )2( m )1( m 1 A 5 A )1( m (opX ;01 x ; 19 12 2 x ;03 x ; 19 105 4 x ;05 x )06 x 1 A 19 9 )1( m     ; 19 5 : 19 105 minθ , 19 6 : 19 12 19 6 : 19 12     19 6 1A 2A i базC 0 A 1 1 C 32 C 43 C 24 C 05 C 06 C 1 A 2 A 3 A 4 A 5 A 6 A
  • 7. 1 ─2 5 0 1 2 ─1 2 1 0 ─12 0 0 0 У табл. 3.11 всі . Це свідчить про те. Що опорний план 0, 0, 5, 0, 0) є оптимальним планом задачі і . Оскільки початкова задача була на мінімум цільової функції, то . 4 A 6 5 2 3 3 1 6 1 1 A 6 19 6 21 3 2 6 5 1m 2 3 2 9 2 1 0j (2,опX 12max f 12maxmin  ff