- •Вступна лекція
- •Необхідність використання економіко-математичного моделювання і еом в удосконаленні планування і управління сільськогосподарським виробництвом
- •Умови, які допускають застосування методів лінійного програмування
- •Симплексний метод лінійного програмування
- •1. Загальна характеристика симплексного методу
- •2. Математичне формулювання задачі
- •3. Алгоритм симплексного методу
- •Елемент Елементу Відповідний елемент Елемент початко вого
- •4. Особливості алгоритму м -методу
- •1. Постановка і математична модель транспортної задачі
- •2. Метод апроксимації
- •3. Метод потенціалів
- •4. Розподільчий метод
- •2.1. Поняття про моделі і моделювання. Математична модель і моделювання.
- •Етапи економіко-математичного моделювання
- •Постановка економіко-математичної задачі і вибір критерія оптимальності
- •Встановлення переліку змінних та обмежень.
- •Збирання інформації, розроблення техніко-економічних коефіцієнтів, констант і оцінок змінних
- •Побудова числової економіко-математичної моделі
- •Підготовка задачі до розв”язування. Аналіз одержаних результатів розв”язання
- •2.3. Економіко-математичне моделювання задач раціонів годівлі сільськогосподарських тварин Постановка задачі і можливі критерії оптимальності
- •1. Поживних речовин в раціоні повинно міститись не менше необхідної кількості:
- •2.4. Економіко-математичне моделювання задач для розрахунку оптимальної кормосуміші
- •Економіко-математичне моделювання задач використання заготовлених кормів
- •Моделювання оптимальної галузевої структури та спеціалізації Постановка задачі і вибір критерія оптимальності
- •Обгрунтування системи змінних
- •Умови задачі. Їх формалізація. Інформація для формалізації умов задачі
- •Обмеження з використання земельних угідь
- •Обмеження з балансу трудових ресурсів
- •Органічні добрива
- •Мінеральні добрива
- •Обмеження з виробництва і використання кормів
- •Обмеження зі співвідношення площ посівів окремих сільськогосподарських культур та їх груп у сівозмінах
- •Обмеження з дотримання належної структури поголів'я тварин
- •Обмеження із забезпечення необхідного обсягу виробництва валової і товарної продукції
- •Обмеження в використання основних виробничих фондів і капіталовкладень
- •Обмеження з матеріально-грошових затрат
- •Інші обмеження
- •Аналіз і оцінка результатів розв'язку задачі
- •Особливості економіко-математичного моделювання виробничої структури фермерських господарств
3. Метод потенціалів
Алгоритм розв’язування транспортної задачі цим методом проілюструємо на конкретному випадку.
Задача. На трьох складах заводу з виготовлення сільськогосподарських машин є така їх кількість: на першому складі – 30, на другому – 40 і на третьому – 53. Ці машини повинні бути відправлені в чотири райони, потреба яких становить: першого – 22, другого – 35, третього – 25, четвертого – 41 машину.
Затрати на перевезення однієї машини (в грн.) наведені в табл.13.
Необхідно скласти такий план перевезень, щоб загальні транспортні витрати були мінімальними.
Таким чином, перед нами типова задача лінійного програмування, в якій необхідно знайти екстремальне значення цільової функції, тобто мінімум затрат на перевезення.
Для розв’язання даної задачі методом потенціалів спочатку всю інформацію розмістимо в таблиці.
В таблиці 14 вписана вся інформація задачі і, крім того, є ще вільна одна колонка справа і один рядок внизу для розрахунку так званих потенціалів.
Таблиця 13 – Затрати на перевезення однієї машини
Склади заводу |
РАЙОНИ |
|||
1 |
2 |
3 |
4 |
|
І |
23 |
27 |
16 |
18 |
ІІ |
12 |
17 |
20 |
41 |
ІІІ |
22 |
28 |
12 |
32 |
Опорний варіант плану можна складати одним із слідуючих способів:
а) методом апроксимації;
б) способом розподілу по клітинках з найкращими оцінками;
в) за правилом північно-західного кута.
Таблиця 14 – Інформація задачі
Ai |
1 |
2 |
3 |
4 |
Наявність машин на складах |
Ui |
I |
23 |
27 |
16 |
18 |
30 |
U1 |
II |
12 |
17 |
20 |
41 |
40 |
U2 |
III |
22 |
28 |
12 |
32 |
53 |
U3 |
Потреба в машинах |
22 |
35 |
25 |
41 |
123 |
|
Vj |
V1 |
V2 |
V3 |
V4 |
|
|
В нашій задачі опорний варіант плану складемо за правилом північно-західного кута. За цим правилом заповнення кліток проводиться, починаючи з крайньої північно-західної і дальше вправо - вниз в міру потреби і наявності вантажів по відповідних споживачах і постачальниках, тобто заповнення проводиться від клітки К11 (буквою К позначається будь-яка клітка) до клітки Кmn. Наприклад, в клітку К11 можна занести максимальну кількість машин – 22, так як в першому районі потрібно стідьки ж, хоч на першому складі є в наявності 30 машин, а в клітку К12 можна занести 8 машин, тобто стільки, скільки залишилося на першому складі (30-22=8), хоч у другому районі потрібно 35 машин і т.д. в міру наявності і потреби (табл.15).
Після складення опорного плану здійснюється перевірка щодо дотримання умов задачі. Алгоритм задачі вимагає, щоб кількість заповнених кліток дорівнювала m + n - 1, тобто сумі рядків і стовбців без одиниці (m – кількість рядків, n – кількість стовпчиків). Бувають випадки, коли кількість заповнених кліток менша m + n - 1. В такому випадку у відповідні клітки записують нуль і вважають їх заповненими.
Таблиця 15 – Опорний варіант плану
Bj Ai |
1 |
2 |
3 |
4 |
Наявність машин на складах |
Ui |
I |
23 22 |
8 |
16 |
+ |
30 |
0 |
II |
12
|
27 + |
2 1 3 |
41 |
40 |
10 |
III |
22
|
28 |
1 12 + |
32 4 1 |
53 |
U3 |
Потреба в машинах |
22 |
35 |
25 |
41 |
123 |
|
Vj |
23 |
27 |
30 |
50 |
|
|
Дальше перевіряють план на оптимальність. Для перевірки опорного і наступних планів на оптимальність визначають ряд чисел, які називаються потенціалами. Порівняння цих потенціалів з оцінками ефективності ( в нашій задачі з вартостями перевезень) в клітках таблиці лежить в основі ознаки оптимальності розв’язання задачі.
Під потенціалами розуміють довільну систему чисел ( Vj i Ui ), які вираховуються для всіх заповнених кліток за правилом, згідно з яким різниця між потенціалами стовпчиків (споживачів) і рядків (постачальників) повинна дорівнювати величині оцінки у відповідній клітці, тобто
Vj – Ui = Cij, (1)
де Vj – потенціал j-ої колонки (в нашій задачі це потенціал j-го споживача – району);
Ui – потенціал і-го рядка ( в нашій задачі це потенціал і-го постачальника- складу);
Cij – оцінка (вартість перевезення від і-го постачальника до j-го споживача).
В зв’язку з тим, що потенціали визначаються для кожного постачальника і споживача, то загальна їх кількість повинна обов’язкозково дорівнювати величині (m + n). Оскільки кількість заповнених кліток дорівнює (m + n - 1), кількість потенціалів буде на одиницю більша числа заповнених кліток. Тому на першому етапі розрахунку потенціалів одному із них – потенціалу будь-якого рядка чи стовпчика дозволяється присвоювати довільне значення. Для полегшення розрахунків доцільно потенціалу першого рядка присвоювати нульове значення. Значення вирахованих потенціалів записуються у відповідні клітки стовпчиків і рядків потенціалів (табл.15).
Отже, нехай U1 (потенціал першого рядка) дорівнює нулю. В цьому рядку є дві заповнені клітки – К11 з величиною поставки 22 і К12 з величиною поставки 8. Оцінка клітинки К11 (С11) дорівнює 23, а оцінка клітинки К12 (С12) дорівнює 27. Користуючись формулою (1), можна визначити потенціали першого і другого стовпчиків (V1 i V2). Підставивши у формулу (1) значення U1=0 і С11= 23, одержимо, що V1= С11 + U1, тобто V1= 23 +0 = 23. Аналогічно вираховуємо потенціали останніх рядків і стовпчиків.
V2= С12 + U1 = 27 + 0 = 27;
U2 = V2 – С22 = 27 – 17 = 10;
V3 = U1 + С23 + 10 +20 = 30;
U3 = V3 – С33 = 30 – 12 = 18
V4 = U3 + С34 = 18 + 32 = 50.
Після вирахування значень потенціалів їх необхідно використати для дослідження характеристик незаповнених кліток К13, К14, К21, К24, К31, К32. План вважається оптимальним тоді, коли для всіх незаповнених кліток виконується вимога:
Vj – Ui <=Cij. (2)
Якщо хоча б для однієї незаповненої клітки дана вимога не виконується - план не оптимальний і необхідно продовжувати ітеративний процес.
Розрахуємо за формулою (2) всі характеристики для незаповнених кліток таблиці 15.
Для К13 30 – 0 = 30 > 16
для К14 50 – 0 = 50 > 18
для К21 23 – 10 = 13 >12
для К24 50 – 10 = 40 < 41
для К31 23 – 18 = 5 < 22
для К32 27 – 18 = 9 < 28
Три клітки - К13, К14, К21 не підходять під ознаку оптимальності. Отже, план завезень машин, який представлений в таблиці 15, не оптимальний і загальну вартість перевезень можна зменшити.
Для вибору напрямку покращення плану необхідно вирахувати для тих кліток, для яких порушується вимога (2), різницю між потенціалами і оцінками за формулою:
dij = V1 – Ui – Cij (3)
Підставимо конкрентні дані:
d13 = V3 – U1 – C13 = 30 – 0 – 16 = 14;
d14 = V4 – U1 – C14 = 50 – 0 – 18 = 32;
d21 = V1 – U2 – C21 = 23 – 10 – 12 = 1.
Клітку, в якій є найбільше значення dij, називають ключовою. З неї і починають поліпшення плану. В нашому випадку найбільше значення dij (32) має клітка К14. Для поліпшення плану будують замкнутий цикл (многокутник), який повинен з’єднати ключову клітку з іншими заповненими клітками, але так, щоб загальна кількість охоплених циклом кліток завжди була парною. Цикл може проходити через заповнені і незаповнені клітки, однак повороти вершин обов’язково необхідно робити в заповнених клітках під прямим кутом. В нашому випадку такий замкнутий цикл буде проходити по клітках К14 →К12 →К22 →К23 →К33 →К14 (таблиця 15), охопивши 6 кліток, із яких одна незаповнена і 5 заповнених.
Після побудови многокутника в клітки з вершинами проставляють почергово знаки плюс і мінус, починаючи з ключової клітки. Кількість додатніх і від’ємних вершин многокутника повинна бути одинаковою.
Знаходять найменше значення Хij у клітках з від’ємними вершинами. Це число додають до всіх значень Хij у клітках із додатними і віднімають від значень Хij у клітках із від’ємними вершинами. Найменшим значенням Хij буде 8 у клітці К12. В клітку К14, яка була не заповненою, заносимо число 8, у клітці К12, в якій було 8 машин, після віднімання 8 нічого не залишиться і вона буде не заповненою. Подібним чином до числа 27 в клітці К22 додаємо 8 і в ній буде 35 машин, а із клітки К23 заберемо 8 машин і в ній залишиться 5 машин. В клітку К33 додамо 8 машин і в ній стане 20 машин, а з клітки К34 заберемо 8 машин і в ній залишиться 33 машини. Після такого переміщення одержимо новий план завезень машин, наведений у таблиці 16.
Транспортні витрати при такому плані завезень машин будуть дорівнювати 2641 грн. (22х23) + (8х18) + (35х17) + (5Х20) + (20Х12) + (33х32) = 2641 грн., що на 256 грн. менше в порівнянні з попереднім (опорним) варіантом плану.
Дальше вся вирахувальна процедура повторюється. Для того, щоб перевірити на оптимальність новий варіант плану (табл.16), знову вираховують потенціали, використовуючи при цьому формулу (1) і записують їх у відповідні клітки стовпчика і рядка потенціалів. Використовуючи формулу (2),
Таблиця 16 – Другий варіант плану
Bj Ai |
1 |
2 |
3 |
4 |
Наявність машин на складах |
Ui |
I |
22 |
27
|
16 |
18 8 + |
30 |
0 |
II |
12 |
17 35 |
20 5 - |
41 |
40 |
-22 |
III |
22
|
28 |
1 2 20 + |
32 33 - |
53 |
-14 |
Потреба в машинах |
22 |
35 |
25 |
41 |
123 |
|
Vj |
23 |
-5 |
-2 |
18 |
|
|
розраховують для незаповнених кліток характеристики.
Для К12 -5 – 0 = -5 < 27
для К13 -2 – 0 = -2 < 16
для К21 23 – (-22) = 45 >12
для К24 18 – (-22) = 40 < 41
для К31 23 – (-14) = 37 >22
для К32 -5 – (14) = 9 < 28
Ознака оптимальності не дотримується для двох кліток – К21 і К31. Tому даний план завезень машин не є оптимальним, значить загальну вартість перевезень можна зменшити.
За формулою (3) вираховуємо різницю між потенціалами і оцінками:
d21 = 23 – (-22) – 12 = 33
d31 = 23 – (-14) – 22 = 15.
Найбільше значення dij (d21 = 33) знаходиться в клітці К21, яка і буде ключовою. З цієї клітки за вище описаним правилом будуємо замкнутий цикл, який пройде по клітках: К21→К11→К14→К34→К33→К23→К21 (табл.16). Після побудови замкнутого циклу в клітки, починаючи із ключової, проставляємо почергово знаки плюс і мінус. Найменшим значенням Xij, яке знаходиться в клітці із знаком мінус, буде 5 (клітка К23). Це значення Xij (число 5) додаємо до значень Xij в клітках із знаком плюс і віднімаємо від значень Xij в клітках із знаком мінус. Після такого переміщення знову одержимо новий план завезень машин, який наведений в таблиці 17.
Загальні транспортні витрати при цьому плані завезень машин будуть дорівнювати 2476 грн., або на 165 грн. менше від попереднього плану і на 421 грн. менше від опорного плану.
Однак результати вирахувальних процедур показують, що цей варіант
плану не оптимальний. Поліпшення його за описаною вище методикою і наведемо в таблиці 18.
Таблиця 17 – Третій варіант плану
Bj Ai |
1 |
2 |
3 |
4 |
Наявність машин на складах |
Ui |
I |
17 |
27
|
16 |
23 |
30 |
0 |
II |
12 5 |
17 35 |
20
|
41 |
40 |
11 |
III |
22 + |
28 |
12 25 |
32 28 - |
53 |
-14 |
Потреба в машинах |
22 |
35 |
25 |
41 |
123 |
|
Vj |
23 |
28 |
-2 |
18 |
|
|
При такому плані перевезень машин загальні транспортні витрати будуть дорівнювати 2221 грн., що на 255 грн. менше в порівнянні із попереднім варіантом плану.
Таблиця 18 – Четвертий (оптимальний) варіант плану
Bj Ai |
1 |
2 |
3 |
4 |
Наявність машин на складах |
Ui |
I |
23 |
27
|
16 |
18 30 |
30 |
0 |
II |
12 5 |
17 35 |
20
|
41 |
40 |
-4 |
III |
22 17 |
28 |
12 25 |
32 11 |
53 |
-14 |
Потреба в машинах |
22 |
35 |
25 |
41 |
123 |
|
Vj |
8 |
13 |
-2 |
18 |
|
|
Використавши формулу (1) вираховуємо нові потенціали, які запишемо у відповідні клітки стовпчика і рядка потенціалів.
За формулою (2) перевіримо план на оптимальність.
Для К11 8 - 0 = 8 < 23
для К12 13 - 0 = 13 < 27
для К13 -2 – 0 = -2 <16
для К23 -2 – (-4) = 2 < 20
для К24 18 – (-4) = 22 < 41
для К32 13 – (-14) = 27 < 28
Оскільки, ознака оптимальності дотримується для всіх незаповнених кліток, одержаний план завезень машин є оптимальним. Згідно оптимального плану необхідно: із першого складу всі машини направити в 4-й район, із другого складу 5 машин необхідно направити в 1-й район і 35 – в 2-й, із третього складу – 17 машин в 1-й район, 25 – в 3-й і 11 – в 4-й район. Тільки при такому плані перевезень машин загальні транспортні витрати будуть мінімальними.
Примітка. Методом потенціалів можна успішно розв’язувати транспортні задачі не тільки на мінімум, але й на максимум лінійної функції. Для цього необхідно змінити знак (поставити знак “мінус”) усіх оцінок змінних невідомих і розв’язувати задачу аналогічно як на мінімум.
При складанні опорного плану способом розподілу по клітках з найкращими оцінками, найкращі оцінки можна вибирати: по рядках, по колонках, одночасно по всіх клітках таблиці. Цей спосіб зрозумілий і логічний. Алгоритм побудови опорного плану цим способом розглянемо на тому ж прикладі (таблиця 19).
Згідно з цим способом вибираємо клітки з найкращими оцінками і з врахуванням обсягів обмежень записуємо відповідне значення Хij. Розподіл проводимо до того часу, поки не будуть розподілені всі наявні у постачальників товари і задоволені потреби всіх споживачів.
Таблиця 19 – Опорний варіант плану
Ai |
1 |
2 |
3 |
4 |
Наявність машин на складах |
Ui |
І |
23 |
27 |
16 25 - |
18 |
30 |
0 |
ІІ |
12 22 |
17 18 |
20 |
41 |
40 |
-3 |
ІІІ |
22
|
28 17 |
12 |
32 - - 36 |
53 |
-14 |
Потреба в машинах |
22 |
35 |
25 |
41 |
123 |
|
Vj |
9 |
14 |
16 |
18 |
|
|
При цьому необхідно дотримуватись вимоги, щоби кількість заповнених кліток дорівнювала величині m+n-1, де m – кількість постачальників - 3, n – кількість споживачів – 4. Таким чином кількість заповнених кліток на будь-якій стадії розрахунків повинна бути рівна: 3 + 4 – 1 = 6.
Початковий (опорний) варіант плану буде такий:
в клітку К13 записуємо 25;
в клітку К14 - 5;
в клітку К21 - 22;
в клітку К22 - 18;
в клітку К32 - 17;
в клітку К34 - 36.
Згідно цього плану заповнено 6 кліток, що відповідає вимогам m+n-1. Якби кількість заповнених кліток була меншою цієї вимоги, тоді потрібно було б умовно перейти до такого плану, при якому було б заповнено 6 кліток. Цього досягаємо шляхом заповнення однієї із незаповнених кліток нулем.
Кожна заповнена клітка повинна мати зв’язок з іншою заповненою кліткою по горизонталі або по вертикалі. При виявленні заповненої клітки, яка не має зв’язку з іншими заповненими клітками, в одну із незаповнених кліток по горизонталі або по вертикалі записуємо нуль. Нуль, як правило, записуємо в клітку з кращою оцінкою. Це стосується і перерозподілу величин по відповідних клітках.
Загальні транспортні витрати при такому плані перевезень машин будуть становити:
25*16 + 5*18 + 22*12 + 18*17 + 17*28 + 36*32 = 2688 грн.
Далі перевіряємо план на оптимальність. Для цього визначаємо потенціали за формулою Vj – Ui = Cij. Вся процедура вирахування потенціалів проводиться так само, як було здійснено вище.
U1 = 0;
V3 = 0+16= 16;
V4 = 0+18= 18;
U3 = 18-32= -14;
V2 = -14+28= 14;
U2 = 14-17= -3;
V1 = -3+12= 9
За формулою Vj – Ui <= Cij перевіряємо план на оптимальність.
Отже для К11 9 – 0 = 9 < 23
для К31 9 – (-14) = 23 > 22
для К12 14 – 0 = 14 <= 27
для К23 16 – (-3) = 19 <= 20
для К33 16 – (-14) = 30 > 12
для К24 18 – (-3) = 21 <= 41
Ознака оптимальності не виконується для двох кліток: К31 і К33. Ключовою кліткою буде клітка К33, з якої й починають поліпшення плану. Замкнутий цикл буде проходити по клітках: К33 → К13 → К14 → К34. Знаходимо найменше значення Xij(25) і додаємо його до всіх значень Xij у клітках з додатніми вершинами і віднімаємо від значень Xij у клітках з від”ємними вершинами. На основі цього одержимо новий варіант плану (таблиця 20).
Дальше вся вирахувальна процедура повторюється.
Таблиця 20 – Другий варіант плану
Bj Ai |
1 |
2 |
3 |
4 |
Наявність машин на складах |
Ui |
І |
23 |
27 |
16
|
18 30 |
30 |
0 |
ІІ |
- 12 |
17 1 8 + |
20 |
41 |
40 |
-3 |
ІІІ |
22 |
28 17 - |
12 25 |
32 11 |
53 |
-14 |
Потреба в машинах |
22 |
35 |
25 |
41 |
123 |
|
Vj |
9 |
14 |
-2 |
18 |
|
|
Розраховуємо потенціал за формулою Vj – Ui = Cij.
U1 = 0;
V4 = 0+18= 18;
U3 = 18-32= -14;
V3 = -14+28= 14;
U2 = -14 + 22 = 8;
V1 = 13-17 =-4.
Таблиця 21 – Третій варіант плану
Bj Ai |
1 |
2 |
3 |
4 |
Наявність машин на складах |
Ui |
І |
23 |
27 |
16
|
18 30 |
30 |
0 |
ІІ |
12 5 |
17 35 |
20 |
41 |
40 |
-4 |
ІІІ |
22 17 |
28
|
12 25 |
32 11 |
53 |
-14 |
Потреба в машинах |
22 |
35 |
25 |
41 |
123 |
|
Vj |
8 |
13 |
-2 |
18 |
|
|
Перевіряємо план на оптимальність за формулою Vj – Ui <= Cij.
для К11 8- 0 = 8 < 23
для К12 13 – 0 = 13 <= 27
для К32 13 – (-14) = 27 > 28
для К13 -2 – 0 = -2 < 16
для К23 -2 – (-4) = 2 <= 20
для К24 18 – (-4) = 22 < 41
Як видно із розрахунків, умова оптимальності (Vj – Ui <= Cij) виконується для всіх незаповнених кліток. Отже план оптимальний.
Отже: X11 = 0; X12 = 0; X13=0; X14 = 30; X21 = 5; X22 = 35; X23 = 0;
X24 = 0; X31 = 17; X32 = 0; X33 =25; X34 = 11
Zmin = 30*18 +5 *12 + 35*17 + 17*22 + 25*12 + 11*32 = 540 +60 +595 +374 +300 +352 = 2221 грн.

Bj
27
18
17
0
2
-
23
+
-
23
+
18
Bj
+
5
+
- 22
+