Лабораторна робота транспортна задача
.pdfЛАБОРАТОРНА РОБОТА “РОЗВ’ЯЗУВАННЯ ТРАНСПОРТНИХ ЗАДАЧ”
Мета роботи. Отримати розв’язок транспортної задачі за допомогою табличного процесора Excel і
пакета Mathcad.
1.ПОРЯДОК ВИКОНАННЯ РОБОТИ
1.Отримайте у викладача завдання для лабораторної роботи.
2.Ознайомтеся з методичними вказівками до виконання завдань.
3.Виконайте завдання у середовищах Excel і Mathcad.
4.Надрукуйте результати роботи.
5.Оформіть звіт про лабораторну роботу та здайте викладачу на перевірку.
2.ПОСТАНОВКА ТРАНСПОРТНОЇ ЗАДАЧІ
Транспортна задача – це задача про найбільш економний план перевезень однорідних продуктів з пунктів постачання в пункти споживання.
Нехай у m постачальників Ai зосереджені деякі однорідні продукти в кількостях |
ai |
(i = |
|
|
) |
|||||||||||||
1, m |
||||||||||||||||||
одиниць відповідно. Ці продукти необхідно перевезти до n споживачів |
Bj |
|
|
bj |
( j = |
|
) |
|||||||||||
у кількостях |
1, n |
|||||||||||||||||
одиниць. Відомі вартості cij |
перевезень одиниці вантажу від постачальників Ai |
до споживачів B j . |
||||||||||||||||
Необхідно скласти такий план перевезень, який дозволяє вивезти всі вантажі, повністю |
||||||||||||||||||
задовольнити потреби та має мінімальну вартість. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
Нехай |
xij – кількість одиниць вантажу, які перевозитимуться від |
i -го постачальника до j -го |
||||||||||||||||
споживача. Тоді умову задачі можна записати у вигляді таблиці (табл. 1). |
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ai \ Bj |
B1 |
|
B2 |
|
K |
|
|
|
Bn |
|
Запаси |
|
|
|
|
|
|
|
A1 |
c |
|
c |
|
|
|
|
|
|
c1n |
|
a1 |
|
|
|
|
|
|
11 |
|
12 |
|
K |
|
|
x1n |
|
|
|
|
|
|
|
||||
x |
|
x |
|
|
|
|
|
|
|
|
|
|
||||||
|
11 |
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A2 |
c |
|
c |
|
K |
|
|
|
c2n |
|
a2 |
|
|
|
|
|
|
|
x |
|
x |
|
|
|
x2n |
|
|
|
|
|
|
|
|||||
|
21 |
|
22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M |
K |
|
K |
|
K |
|
|
|
K |
|
M |
|
|
|
|
|
|
|
Am |
cm1 |
|
cm2 |
|
K |
|
|
|
cmn |
|
am |
|
|
|
|
|
|
|
xm1 |
|
xm2 |
|
|
|
xmn |
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
Потреби |
b1 |
|
b2 |
|
K |
|
|
|
bn |
Σai = Σbj |
|
|
|
|
|
|
||
|
|
|
|
|
Табл. 1 |
|
|
|
|
|
|
|
|
|
|
|||
Вартість всього плану перевезень виражається подвійною сумою |
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
m |
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
L = ∑∑cij xij . |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
i=1 j=1 |
|
|
|
|
|
|
|
|
|||||
Математична модель транспортної задачі має наступний вигляд. |
|
|
|
|
|
|
|
|
||||||||||
Знайти найменше значення лінійної (цільової) функції |
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
m |
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
L = ∑∑cij xij |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
i=1 j=1 |
|
|
|
|
|
|
|
|
|||||
за обмежень |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= ai |
|
(i =1, m), |
|
|
|
|
|
|
|
|
|||||
|
|
|
∑xij |
|
|
|
|
|
|
|
|
|
||||||
|
|
|
j=1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
m |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
∑xij |
=bj |
|
( j = |
|
), |
|
|
|
|
|
|
|
|
||
|
|
|
|
1, n |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i=1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xij ≥ 0 (i =1, m; j =1, n).
У цій моделі припускається, що сумарні запаси дорівнюють сумарним потребам, тобто
m |
n |
∑ai = ∑bj . |
|
i=1 |
j=1 |
Така модель називається закритою.
3. РОЗВ’ЯЗУВАННЯ ЗАДАЧІ У СЕРЕДОВИЩІ EXCEL
Нехай умова транспортної задачі задана таблицею 2.
Ai \ Bj |
B1 |
B2 |
B3 |
B4 |
|
Запаси |
A1 |
5 |
7 |
4 |
|
8 |
140 |
x |
x |
x13 |
x |
|
||
|
11 |
12 |
|
14 |
|
|
A2 |
4 |
9 |
3 |
|
6 |
90 |
x |
x |
x23 |
x |
|
||
|
21 |
22 |
|
24 |
|
|
A3 |
2 |
5 |
8 |
|
3 |
170 |
x31 |
x32 |
x33 |
x34 |
|
||
|
|
|
||||
Потреби |
100 |
150 |
80 |
70 |
|
400 |
Табл. 2 Для розв’язування цієї задачі на персональному комп’ютері з використанням табличного процесора
Excel достатньо:
1)увести вихідні дані в комірки робочого листа;
2)розмітити діапазони комірок, необхідні для моделювання обсягів перевезень і формування елементів математичної моделі та цільової функції;
3)сформувати на робочому листі елементи математичної моделі та цільову функцію;
4)налаштувати програму Пошук розв’язку та виконати її.
Уведення вихідних даних. Вихідними даними для розв’язування транспортної задачі є матриця вартостей перевезень, запаси постачальників і потреби споживачів. Фрагмент робочого листа з уведеними даними поданий на мал. 1.
Мал. 1 Розмітка діапазонів комірок. На робочому листі для розв’язування транспортної задачі необхідно
передбачити:
1)діапазон комірок „Матриця обсягів перевезень”, в якому будуть моделюватися об’єми перевезень;
2)діапазон комірок „Фактично реалізовано”, в якому моделюватиметься фактична реалізація продукту;
3)діапазон комірок „Фактично отримано”, в якому буде моделюватися фактичне задоволення потреб;
4)діапазон комірок „Вартості перевезень за споживачами”, в якому будуть обчислюватися транспортні витрати за кожним споживачем;
5)комірку „Вартість усіх перевезень”, в якій будуть моделюватися транспортні витрати за всіма споживачами.
Для розмітки перелічених діапазонів достатньо обвести їх рамками. Фрагмент робочого листа з розміченими діапазонами комірок показаний на мал. 2.
Мал. 2
Формування елементів математичної моделі та цільової функції. Елементами математичної
моделі транспортної |
задачі є наступні суми: ∑n |
xij – обсяг фактичної реалізації продукту i -м |
|||
|
|
j=1 |
|
|
|
|
|
m |
|
|
|
постачальником (i = |
1, m |
) , ∑xij – обсяг фактичного отримання продукту j -м споживачем ( j = |
1, n |
). |
i=1
Для розглядуваної задачі m =3, n = 4.
Для формування сум ∑4 xij (i =1, 3) достатньо:
j=1
1)заповнити комірки діапазону „Матриця обсягів перевезень” (D10:G12) числом 0,01;
2)виділити першу комірку (I10) діапазону „Фактично реалізовано”;
3)клацнути лівою клавішею миші по кнопці Автосума;
4)натиснути на клавішу Delete;
5)виділити перший рядок (D10:G10) діапазону „Матриця обсягів перевезень”;
6)натиснути на клавішу Enter;
7)скопіювати формулу =СУММ(D10:G10) із першої комірки діапазону „Фактично реалізовано” до решти комірок цього діапазону.
Щоб сформувати суми ∑3 xij ( j =1, 4), достатньо:
i=1
1)виділити першу комірку (D14) діапазону „Фактично отримано”;
2)клацнути лівою клавішею миші по кнопці Автосума;
3)натиснути на клавішу Delete;
4)виділити перший стовпець (D10:D12) діапазону „Матриця обсягів перевезень”;
5)натиснути на клавішу Enter;
6)скопіювати формулу =СУММ(D10:D12) із першої комірки діапазону „Фактично отримано” до решти комірок цього діапазону.
Для формування цільової функції спочатку доцільно ввести формули, які відображають вартості
перевезень за кожним споживачем, тобто вартості ∑3 cij xij ( j =1, 4). Щоб увести ці формули, достатньо:
i=1
1)виділити першу комірку (D17) діапазону „Вартості перевезень за споживачами”;
2)клацнути лівою клавішею миші по кнопці Автосума;
3)натиснути на клавішу Delete;
4)виділити перший стовпець (D2:D4) діапазону „Матриця вартостей перевезень”;
5)натиснути на клавішу *;
6)виділити перший стовпець (D10:D12) діапазону „Матриця обсягів перевезень”;
7)клацнути лівою клавішею миші по рядку формул;
8)натиснути комбінацію клавіш Ctrl + Shift + Enter;
9)скопіювати формулу {=СУММ(D2:D4*D10:D12)} із першої комірки діапазону „Вартості перевезень за
споживачами” до решти комірок цього діапазону.
3 4
Щоб сформувати цільову функцію L = ∑∑cij xij , достатньо:
i=1 j=1
1)виділити комірку „Вартість усіх перевезень” (I17);
2)клацнути лівою клавішею миші по кнопці Автосума;
3)натиснути на клавішу Delete;
4)виділити діапазон комірок „Вартості перевезень за споживачами” (D17:G17);
5)натиснути на клавішу Enter.
Після формування елементів математичної моделі та цільової функції відповідний фрагмент робочого листа набуде вигляду, показаного на мал. 3.
Мал. 3
Налаштовування та виконання програми пошуку розв’язку. Для налаштовування програми
Пошук розв’язку на розв’язування транспортної задачі та виконання цієї програми достатньо:
1)виділити цільову комірку „Вартість усіх перевезень” (I17);
2)клацнути лівою клавішею миші по пункті Пошук розв’язку меню Сервіс і переконатися, що в полі Установити цільову комірку діалогового вікна Пошук розв’язку вказана адреса комірки $I$17 (мал. 4);
Мал. 4
3)увімкнути перемикач Рівною мінімальному значенню;
4)клацнути лівою клавішею миші по полі Змінюючи комірки;
5)виділити діапазон комірок „Матриця обсягів перевезень” (D10:G12);
6)клацнути лівою клавішею миші по кнопці Додати (діалогове вікно Додавання обмеження, яке появиться, подане на мал. 5);
Мал. 5
7)виділити діапазон комірок „Фактично реалізовано” (I10:I12);
8)вибрати операцію відношення =;
9)переконатися, що курсор уведення розташований у полі Обмеження;
10)виділити діапазон комірок „Запаси” (I2:I4) та переконатися, що діалогове вікно Додавання обмеження має вигляд, показаний на мал. 6;
Мал. 6
11)клацнути лівою клавішею миші по кнопці Додати;
12)виділити діапазон комірок „Фактично отримано” (D14:G14);
13)вибрати операцію відношення =;
14)переконатися, що курсор уведення розташований у полі Обмеження;
15)виділити діапазон комірок „Потреби” (D6:G6) і переконатися, що вигляд діалогового вікна
Додавання обмеження такий, як на мал. 7;
Мал. 7
16)клацнути лівою клавішею миші по кнопці Додати;
17)виділити діапазон комірок „Матриця обсягів перевезень” (D10:G12);
18)вибрати операцію >=;
19)переконатися, що курсор уведення розташований у полі Обмеження;
20)увести цифру 0 і переконатися, що діалогове вікно Додавання обмеження має вигляд, показаний на мал. 8;
Мал. 8
21)клацнути лівою клавішею миші по кнопці OK;
22)переконатися, що діалогове вікно Пошук розв’язку набуде вигляду, показаного на мал. 9;
Мал. 9
23)клацнути лівою клавішею миші по кнопці Параметри;
24)у діалоговому вікні Параметри пошуку розв’язку (мал. 10), яке появиться, встановити прапорець
Лінійна модель;
Мал. 10
25)клацнути лівою клавішею миші по кнопці ОК;
26)у вікні Пошук розв’язку, яке появиться, клацнути лівою клавішею миші по кнопці Виконати;
27)переконатися, що в діапазоні комірок „Матриця обсягів перевезень” появиться розв’язок задачі,
поданий на мал. 11;
Мал. 11
28)у діалоговому вікні Результати пошуку розв’язку (мал. 12), яке появиться, ввімкнути перемикач
Зберегти знайдений розв’язок або перемикач Відновити вихідні значення;
Мал. 12 29) клацнути лівою клавішею миші по кнопці ОК.
Виконання пунктів 17 – 21 можна замінити установленням прапорця Невід’ємні значення в
діалоговому вікні Параметри пошуку розв’язку.