КАТЕГОРИИ: Архитектура-(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) |
Визначення початкового опорного плану
Метод потенціалів При застосуванні методу потенціалів використовується спеціальна форма запису умови задачі і кожного поточного плану. Ця форма називається транспортною матрицею, і будується вона таким чином. Рядки матриці взаємно однозначно відповідають постачальникам, стовпчики взаємно однозначно відповідають споживачам. На перетинанні i-го рядка і j-го стовпчика записують дві величини: ціну і об’єм перевезення. Розв’язування транспортної задачі методом потенціалів складається з 2-х етапів. На першому етапі визначають початковий опорний план. На другому за допомогою ітераційної процедури переходять від поточного опорного плану до наступного, доки можливе зменшення цільової функції. Розглянемо побудову початкового опорного плану на прикладі. Нехай початкова транспортна матриця має вигляд як у табл.11.1, де у верхніх частинах клітинок вказані ціни перевезень.
Для визначення початкового опорного плану скористаємося так званим методом найкращого перевезення. Цей метод складається з m + n – 1 кроку, на кожному з яких вибирається перевезення з найменшею ціною і для нього береться найбільший можливий об’єм. На першому кроці вибираємо клітинку (1, 2) і визначаємо максимальний можливий об’м перевезення від першого постачальника до другого споживача. Запас першого постачальника складає 20 одиниць продукції, а потреби другого споживача – 15. Об’єм перевезення від першого постачальника до другого споживача, очевидно, не перевищує мінімальної з цих двох величин. Тому визначаємо x12 = 15. Оскільки при цьому потреби другого споживача задовольняються повністю, другий стовпець у транспортній матриці при подальшому визначенні початкового опорного плану можна не розглядати. Викреслемо цей стовпець. Невикористаний запас продукції у першого
постачальника тепер складає 20 – 15 = 5 одиниць, і транспортна матриця приймає вигляд табл.11.2.
На наступному кроці вибираємо перевезення (1, 3). Тепер максимальний об’єм перевезення складає 5 одиниць, бо у першого постачальника поточний запас дорівнює 5. Продовжуючи аналогічно, отримуємо транспортну матрицю з усіма викресленими елементами (табл.11.3). Остання таблиця визначає початковий опорний план x’, у якому x’12 = 15, x’13 = 5, x’23 = 10, x’24 = 30, x’31 = 10, x’33 = 0, а усі інші об’єми перевезення нульові. Сумарна вартість усіх перевезень дорівнює F(x’) = 1*15 + 2*5 + 6*10 + 2*30 + 3*10 + 4* 20 = 255. Оскільки при визначенні початкового опорного плану на кожному кроці, крім останнього, викреслюється тільки один стовпчик або тільки один рядок, а на останньому, коли залишається невикресленою лише одна клітинка, - і стовпчик, і стовпець, кількість змінних, що можуть прийняти ненульове значення, дорівнює m + n – 1. Ці змінні утворюють множину базисних змінних. Необов’язково у опорному плані транспортної задачі усі базисні змінні мають ненульові значення. Якщо на деякому кроці для поточних значень запасів і потреб має місце рівняння b’i = p’j, і змінній xij присвоюється значення b’i, то викреслюється тільки один рядок, а стовпчик j залишається з нульовою потребою. Тому на наступному кроці базисна змінна у j-му стовпчику отримає нульове значення. Тобто у цьому разі виникає вироджений опорний план. Вибір клітинки з найменшою ціною на кожному кроці є евристичним принципом і тільки дає підстави для сподівання на швидше отримання розв’язку задачі. Можна вибирати клітинку довільним чином у невикресленому рядку і невикресленому стовпчику, і це не впливає на можливість отримання розв’язку задачі. Ітераційна процедура поліпшення опорного плану Для того, щоб визначити, чи є оптимальним поточний опорний план, скористаємося ознакою оптимальності симплекс-таблиці – невід’ємність коефіцієнтів індексного рядку. Визначити знак цих коефіцієнтів можна за допомогою матриці A коефіцієнтів системи рівнянь (11.6). Індексний рядок поточної симплекс-таблиці дорівнює сумі індексного рядка і лінійної комбініції рядків-обмежень початкової симплекс-таблиці. Оскільки початкова симплекс-таблиця може бути утворена вилученням довільного рівняння системи (11.6), коефіцієнти індексного рядку поточної симплекс-таблиці можна отримати як суму рядка коефіцієнтів цільової функції і лінійної комбінації рядків матриці A. При цьому довільному коефіцієнту лінійної комбінації можна присвоїти нульове значення, що відповідає вилученню відповідного рівняння з системи (11.6). Оскільки значення коефіцієнтів лінійної комбінації залежать від того, якому з коефіцієнтів присвоюється нульове значення, вони називаються потенціалами, по аналогії з потенціалами у потенційному полі. Потенціали, аналогічно симплекс-множникам для задачі з лінійно незалежними обмеженнями, визначаються з умови, що коефіцієнти при базисних змінних у індексному рядку дорівнюють нулю. Будемо позначати потенціали, що відповідають першим m рядкам матриці A, як ui, i = 1, m, а останнім n рядкам - як vj, j = 1, n. Тоді для коефіцієнтів c’ij індексного рядку поточної симплекс-таблиці мають місце рівняння c’ij = cij + ui + vj, i = 1, m, j = 1, n, (11.8) де cij - коефіцієнти індексного рядка початкової симплекс-таблиці, або коефіцієнти цільової функції. Для базисних змінних c’ij = 0, і це означає, що потенціали задовольняють однорідній системі рівнянь cij + ui + vj = 0, (i, j) NB, (11.9)
де NB - множина пар індексів (i, j), відповідаючих базисним змінним. Визначивши з цієї системи потенціали, можна підрахувати коефіцієнти індексного рядка для небазисних змінних, і таким чином дізнатися, чи оптимальний поточний план. Тепер повернемося до прикладу. Отриманий початковий опорний план можна уявити у скороченій (без вказаних запасів і потреб) транспортній матриці (табл.11.4). Для того, щоб відрізняти базисні клітинки від небазисних, у останніх не будемо вказувати об’єм перевезення. Для табл.11.4 система (11.9) приймає вигляд c12 + u1 + v2 = 1 + u1 + v2 = 0, c13 + u1 + v3 = 2 + u1 + v3 = 0, c23 + u2 + v3 = 6 + u2 + v3 = 0, c24 + u2 + v4 = 2 + u2 + v4 = 0, c31 + u3 + v1 = 3 + u3 + v1 = 0, c33 + u3 + v3 = 4 + u3 + v3 = 0. Оскільки потенціал v3 входить у найбільшу кількість рівнянь, для спрощення обчислень доцільно йому присвоїти нульове значення. Тоді отримуємо v3 = 0, u1 = -2, u2 = -6, u3 = -4, v1 = 1, v2 = 1, v4 = 4. Визначимо коефіцієнти для небазисних змінних, використовуючи рівняння (11.8). c’11 = c11 + u1 + v1 = 5 – 2 + 1 = 4 > 0, c’14 = c14 + u1 + v4 = 7 – 2 + 4 = 9 > 0, c’21 = c21 + u2 + v1 = 4 – 6 + 1 = -1 < 0. Від’ємне значення c’21 вказує на те, що змінну x21 доцільно зробити базисною. Для визначення максимального допустимого значення x21 позначимо збільшення об’єму перевезення від другого постачальника до першого споживача через w і запишемо цю величину у клітинку (2, 1) поточної транспортної матриці. Зберігання незмінної суми об’ємів перевезень у рядку 2 вимагає зменшення об’єму перевезення у деякій базисній клітинці цього рядка. Якщо зменшити об’єм перевезення у клітинці (2, 4), то порушиться сумарний об’єм перевезень у четвертому стовпчику. Тому зменшуємо об’єм у клітинці (2, 3) на величину w. Далі збільшуємо об’єм перевезення у базисній клітинці (3, 3) і зменшуємо – у (3, 1). У результаті отримуємо цикл, що містить визначену небазисну клітинку (2, 1) і базисні – (2, 3), (3, 3), (3, 1). Сусідні клітинки цього циклу знаходяться у одному стовпчику або у одному рядку. При цьому у одній з двох сусідніх клітинок об’єм перевезення збільшується на w, а у іншій зменшується на w. Тому сумарний об’єм перевезень у кожному стовпчику і у кожному рядку не змінюється (табл.11.5.
Оскільки об’єм перевезення повинен мати невід’ємне значення, максимальне допустиме значення w дорівнює мінімальному об’єму перевезення у базисних клітинках циклу, де відбувається віднімання w. Для табл.11.5 w = 10, і у двох клітинках (2, 3) і (3, 1) об’єм перевезення приймає нульове значення, але тільки одна з цих клітинок, наприклад, (2, 3) стає небазисною. Транспортна матриця для нового опорного плану x’’ показана у табл.11.6. Відповідна сумарна вартість усіх перевезень - F(x’’) = 1*15 + 2*5 + 4*10 + 2*30 + 4* 30 = 245.
За таблицею 11.6 для визначення потенціалів отримуємо систему 1 + u1 + v2 = 0, 2 + u1 + v3 = 0, 4 + u2 + v1 = 0, 2 + u2 + v4 = 0, 3 + u3 + v1 = 0, 4 + u3 + v3 = 0. Розв’язком цієї системи є u1 = 0, v2 = -1, v3 = -2, u3 = -2, v1 = -1, u2 = -3, v4 = 1. Коефіцієнти індексного рядку при небазисних змінних отримують значення c’11 = 5 + 0 – 1 = 4 > 0, c’14 = 7 + 0 + 1 = 8 > 0, c’22 = 1 – 3 – 1 = -3 < 0. Тому змінна x22 стає базисною, і як можна бачити з табл.11.6, x21 стає небазисною, а w = 10. Наступна транспортна матриця з опорним планом x’’’ показана у табл.11.7. Відповідна сумарна вартість усіх перевезень - F(x’’’) = 1*5 + 2*15 + 1*10 + 2*30 + 3*10 + 4* 20 = 215.
Тепер для потенціалів отримуємо систему 1 + u1 + v2 = 0, 2 + u1 + v3 = 0, 1 + u2 + v2 = 0, 2 + u2 + v4 = 0, 3 + u3 + v1 = 0, 4 + u3 + v3 = 0. Розв’язок системи - u1 = 0, v2 = -1, v3 = -2, u3 = -2, v1 = -1, u2 = 0, v4 = -2. Для коефіцієнтів індексного рядку при небазисних змінних маємо c’11 = 5 + 0 – 1 = 4 > 0, c’14 = 7 + 0 - 2 = 8 > 0, c’21 = 4 + 0 – 1 = 3 > 0, c’23 = 6 + 0 – 2 = 3 > 0, c’32 = 7 - 2 – 1 = 4 > 0, c’34 = 5 - 2 – 2 = 1 > 0, що свідчить про оптимальність останнього плану. Отже, Fmin(x) = 215, а розв’язок задачі – x12 = 5, x13 = 15, x22 = 10, x24 = 30, x31 = 10, x33 = 20, і усі інші змінні дорівнюють нулю.
Дата добавления: 2014-01-13; Просмотров: 556; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |