Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Штучна цільова функція при цьому має вигляд

W = x5 + x6 ® min.

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

- W + x5 + x6 = 0

треба послідовно відняти рівняння

4x1 + 5x2 + x5 = 20,

якому відповідає базисна (штучна) змінна x5, і

3x1 + 8x2 - x4 + x6 = 24,

якому відповідає базисна (штучна) змінна x6.

Перетворення виразу для цільової функції W мають вигляд

- W + x5 + x6 = 0

4x1 + 5x2 + x5 = 20

- W - 4x1 - 5x2 + x6 = -20

3x1 + 8x2 - x4 + x6 = 24

- W - 7x1 - 13x2 + x4 = - 44

 

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

Табл.7.1.
Баз. змінні Праві част. x1 x2 x3 x4 x5 x6
x3              
x5              
x6         -1    
-F              
-W -44 -7 -13        
x3   13/8     1/8    
x5   17/8     5/8    
x2   3/8     -1/8    
-F -15 41/8     5/8    
-W -5 -17/8     -5/8    
x3 20/17       -6/17    
x1 40/17       5/17    
x2 36/17       -4/17    
-F -460/17       -15/17    
-W              

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

 

Остання симплекс-таблиця визначає опорний план для вихідної задачі:

x1 = 40/17, x2 = 36/17, x3 = 20/17, x4 = 0. Оскільки індексний рядок для функції F не містить додатніх коефіцієнтів, цей опорний план – оптимальний. Якби індексний рядок містив додатні коефіцієнти, то треба було продовжити застосування симплекс-методу.

М-метод

Застосування методу штучної цільової функції призводить до того, що задача лінійного програмування розв’язується у два етапи: спочатку розв’язується допоміжна задача, а потім – основна. Сумістити обидва етапи дозволяє так званий М-метод.

У цьому методі уводяться штучні змінні так само, як і у методі штучної цільової функції. Від вихідної задачі переходять до еквівалентної, у якій обмеження – це система рівнянь після уведення штучних змінних, а цільова функція – це сума вихідної цільової функції і виразу

-M xj

j Ni

 

при пошуку максимуму, і виразу

M xj

j Ni

 

при пошуку мінімуму.

У цих виразах Ni - множина індексів штучних змінних, а M – велике абстрактне число, що більше будь-якого конкретного.

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

F = 7x1 + 5x2 - Mx5 - Mx6 ® max,

2x1 + x2 + x3 = 8,

4x1 + 5x2 + + x5 = 20,

3x1 + 8x2 -x4 +x6 = 24,

x1, …, x6 ³ 0.

Запобігання зацикленню симплекс-методу

При застосуванні симплекс-методу поточний опорний план може виявитися виродженим. У цьому випадку існує базисна змінна (можливо і не одна), припустимо, xr, що відповідає рядку s і дорівнює нулю. Це означає, що у поточній симплекс-таблиці bs = 0. Оскільки симплексне відношення є невід’ємною величиною, то у рядку s воно приймає мінімальне значення, і може статися так, що змінна xr, буде вилучена з числа базисних, а замість неї уведена в число базисних змінна xt. Змінна xt очевидно буде мати нульове значення, і наступний опорний план, як і попередній, виявляється виродженим. На наступній ітерації замість xt може бути уведена у число базисних змінна xr, і у результаті виникає зациклення – відбувається повернення до опорного плану, що відповідає одній з попередніх ітерацій. Зациклення може виникнути і у випадку, коли поточний опорний план має декілька нульових базисних змінних, і повторення опорного плану відбувається через декілька ітерацій. Тому необхідні спеціальні засоби запобігання виникненню циклів у послідовності опорних планів, що проглядаються при реалізації симплекс-методу.

Рядки-обмеження довільної симплекс-таблиці належать до множини векторів n+1-вимірного лінійного векторного простору Rn+1. Кожний такий рядок ai можна уявити у вигляді ai = (ai0, ai1, …,ain), де ai0 – права частина обмеження.

Будемо говорити, що довільний вектор a = (a0, a1, …, an) Rn+1 лексикографічно більше нульового вектора 0 Rn+1 (і позначати це як a 0), якщо a 0, і перша ненульова координата вектора a додатня, тобто aq > 0, де q = min {j | aj 0}.

Вектор a лексикографічно більше вектора b (a b), якщо a – b 0. Іншими словами a b, якщо a b, і aq > bq, де q = min {j | aj bj}.

Відмітемо дві важливі властивості відношення:

а) для будь-яких двох векторів a, b Rn+1 має місце одна з трьох можливостей: a b, a = b, b a;

б) відношення транзитивне, тобто якщо a b і b c, то a c.

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

Будемо говорити, що опорний план статечно допустимий, якщо усі рядки-обмеження відповідної симплекс-таблиці лексикографічно більше нуля. Зрозуміло, що коли опорний план невироджений, то він статечно допустимий – у кожному рядку перша координата додатня, оскільки це значення базисної змінної.

Будемо вважати, що початковий опорний план x0 статечно допустимий, бо цього завжди можна досягти вибором порядку змінних.

Нехай на поточній ітерації визначено ведучий стовпець s. Для визначення ведучого рядка будемо розглядати рядки поточної симплекс-таблиці, що містять додатні елементи у стовпчику s. Кожний такий рядок ar поділемо на елемент ars, розташований у цьому рядку і у ведучому стовпчику. Ведучий рядок визначимо як той, якому відповідає лексикографічно найменше значення результату ділення.

Якщо позначити через L множину рядків з додатнім елементом у ведучому стовпчику, а через i шуканий номер ведучого рядка, то правило вибору ведучого рядка приймає вигляд

ar /ars ai /ais, i,r L, i r. (*)

Якщо ведучий стовпець містить додатній елемент, за правилом (*) завжди однозначно визначається ведучий рядок. Дійсно, якби існували два різні рядки з номерами p і q такі, що ap /aps = aq /aqs, це б суперечило лінійній незалежності рядків-обмежень симплекс-таблиці.

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

Доведення. Оскільки ведучий елемент ais > 0, то ведучий рядок після симплексного перетворення більше нуля: a’’i = ai /ais 0.

Якщо індекс r (r i) такий, що ars £ 0, то r-й рядок після симплексного перетворення лексикографічно більше нуля

a’’r = ar - ars ai /ais 0,

бо - ars ³ 0, ai /ais 0 і сума двох векторів ar та -ars ai /ais, що лексикографічно більше нуля, є вектор, що також лексикографічно більше нуля.

Якщо індекс r (r i) такий, що ars > 0, то

ar /ars ai /ais.

Звідки маємо

ar ars ai /ais, або a’’r = ar - ars ai /ais 0.

При цьому індексний рядок перетворюється за формулою

c’’ = c - cs ai /ais,

і оскільки при пошуку мінімуму cs < 0,

- cs ai /ais 0, або c’’ c.

Цим і завершується доведення теореми.

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

Доведення. Якщо застосування симплекс-методу починається зі статечно допустимого плану, то на кожній ітерації утворюється статечно допустимий план. Припустимо, що має місце зациклення. Тоді послідовність отриманих опорних планів можна уявити у вигляді x0, x1, …, xp, …, xq, …, xp, …. Тоді згідно з теоремою 8.1 x0 x1 … xp … xq … xp …, або xp xp, що суперечить властивості а) відношення “ ”. Цим завершується доведення.

 

<== предыдущая лекция | следующая лекция ==>
Лекція 7. Визначення початкового опорного плану | 
Поделиться с друзьями:


Дата добавления: 2014-01-13; Просмотров: 476; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.