TransportnaZadacha
.pdfМІНІСТЕРСТВО ТРАНСПОРТУ ТА ЗВ’ЯЗКУ УКРАЇНИ
Дніпропетровський національний університет залізничного транспорту імені академіка В. Лазаряна
Львівська філія
Кафедра транспортних технологій
МЕТОДИЧНІ ВКАЗІВКИ ТА ЗАВДАННЯ ДО ЛАБОРАТОРНОЇ РОБОТИ “РОЗВ’ЯЗУВАННЯ ТРАНСПОРТНИХ ЗАДАЧ” З ДИСЦИПЛІНИ “КОМП’ЮТЕРНІ ТЕХНОЛОГІЇ НА ЗАЛІЗНИЧНОМУ ТРАНСПОРТІ”
Укладач: Ю. М. Гнатів
Львів 2008
Укладач: Ю. М. Гнатів
УДК 681.3
Методичні вказівки та завдання до лабораторної роботи “Розв’язування транспортних задач” з дисципліни “Комп’ютерні технології на залізничному транспорті” / Львівська філія Дніпропетровського національного університету залізничного транспорту ім. акад. В. Лазаряна; укладач: Ю. М. Гнатів. – Львів, 2008. – 20 с.
Наводяться постановка транспортної задачі та методика її розв’язування у середовищах Excel і Mathcad. Пропонуються завдання для лабораторної роботи.
Для студентів денної та безвідривної від виробництва форм навчання спеціальності “Організація перевезень і управління на залізничному транспорті”.
Друкується за рішенням методичної комісії Львівської філії.
Рецензенти:
канд. фіз.-мат. наук, доцент Б. Р. Монцібович – керівник Львівського відділення Центру прикладної інформатики НАН України; канд. фіз.-мат. наук, доцент М. Д. Грилицький – доцент кафедри
фундаментальних дисциплін Львівської філії Дніпропетровського національного університету залізничного транспорту ім. академіка В. Лазаряна
©Гнатів Ю. М., укладання, 2008
©Видавничо-поліграфічний відділ Львівського центру науково - технічної і економічної інформації, 2008
2
ЛАБОРАТОРНА РОБОТА “РОЗВ’ЯЗУВАННЯ ТРАНСПОРТНИХ ЗАДАЧ”
Мета роботи. Отримати розв’язок транспортної задачі за допомогою табличного процесора Excel і пакета Mathcad.
1.ПОРЯДОК ВИКОНАННЯ РОБОТИ
1.Отримайте у викладача завдання для лабораторної роботи.
2.Ознайомтеся з методичними вказівками до виконання завдань.
3.Виконайте завдання у середовищах Excel і Mathcad.
4.Надрукуйте результати роботи.
5.Оформіть звіт про лабораторну роботу та здайте викладачу на перевірку.
2.ПОСТАНОВКА ТРАНСПОРТНОЇ ЗАДАЧІ
Транспортна задача – це задача про найбільш економний план перевезень однорідних продуктів з пунктів постачання в пункти споживання.
Нехай у m постачальників Ai зосереджені деякі однорідні продукти в
кількостях ai (i = |
1, m |
) |
одиниць відповідно. Ці продукти необхідно перевезти |
||||||||||||
до n споживачів Bj |
у кількостях bj ( j = |
|
) одиниць. |
Відомі вартості |
cij |
||||||||||
1, n |
|||||||||||||||
перевезень одиниці вантажу від постачальників Ai |
до споживачів B j . |
|
|||||||||||||
Необхідно скласти такий план перевезень, який дозволяє вивезти всі |
|||||||||||||||
вантажі, повністю задовольнити потреби та має мінімальну вартість. |
|
||||||||||||||
Нехай xij |
– кількість одиниць вантажу, які перевозитимуться від i -го |
||||||||||||||
постачальника |
до j -го |
споживача. |
Тоді умову |
задачі |
можна |
записати |
у |
||||||||
вигляді таблиці (табл. 1). |
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Ai \ Bj |
|
|
B1 |
|
B2 |
|
|
… |
|
|
Bn |
Запаси |
|
||
A1 |
|
|
|
|
c |
c |
|
|
… |
|
|
c1n |
a1 |
|
|
|
|
|
|
11 |
12 |
|
|
|
x1n |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
x |
|
|
|
|
x |
|
|
|
|
|
|
|
|
|
|
11 |
|
|
|
|
12 |
|
|
|
|
|
|
|
|
|
A2 |
|
|
|
|
c |
c |
|
|
|
|
|
|
c2n |
a2 |
|
|
|
|
|
21 |
22 |
|
|
… |
|
x2n |
|
|
|||
x |
|
|
|
|
x |
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
21 |
|
|
|
|
22 |
|
|
|
|
|
|
|
|
|
|
|
|
… |
|
… |
|
|
… |
|
|
… |
|
|
||
Am |
|
|
|
|
cm1 |
cm2 |
|
|
… |
|
|
cmn |
am |
|
|
xm1 |
|
xm2 |
|
|
|
xmn |
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
||||||
Потреби |
|
|
b1 |
|
b2 |
|
|
… |
|
|
bn |
Σai = Σbj |
|
||
|
|
|
|
|
|
Табл |
. 1 |
|
|
|
|
|
|||
Вартість всього плану перевезень виражається подвійною сумою |
|
||||||||||||||
|
|
|
|
|
|
m |
|
n |
|
|
|
|
|
||
|
|
|
|
|
|
L = ∑∑cij xij . |
|
|
|
|
|
i=1 j=1
Математична модель транспортної задачі має наступний вигляд.
3
Знайти найменше значення лінійної (цільової) функції
m |
n |
||||
L = ∑∑cij xij |
|||||
i=1 j=1 |
|||||
за обмежень |
|
|
|
|
|
n |
|
|
|
|
|
(i =1, m), |
|||||
∑xij = ai |
|||||
j=1 |
|
|
|
|
|
m |
|
|
|
|
|
∑xij =bj |
( j = |
|
), |
||
1, n |
|||||
|
|
|
|
|
|
i=1 |
|
|
|
|
xij ≥ 0 (i =1, m; j =1, n).
У цій моделі припускається, що сумарні запаси дорівнюють сумарним потребам, тобто
m
∑ai
i=1
Така модель називається закритою.
n
= ∑bj .
j=1
3. РОЗВ’ЯЗУВАННЯ ЗАДАЧІ У СЕРЕДОВИЩІ EXCEL
Нехай умова транспортної задачі задана таблицею 2.
Ai \ Bj |
B1 |
|
B2 |
|
B3 |
|
B4 |
|
Запаси |
A1 |
x |
5 |
x |
7 |
x13 |
4 |
x |
8 |
140 |
|
|
|
|
||||||
|
11 |
|
12 |
|
|
|
14 |
|
|
A2 |
x |
4 |
x |
9 |
x23 |
3 |
x |
6 |
90 |
|
|
|
|
||||||
|
21 |
|
22 |
|
|
|
24 |
|
|
A3 |
x31 |
2 |
x32 |
5 |
x33 |
8 |
x34 |
3 |
170 |
|
|
|
|
||||||
|
|
|
|
|
|
||||
Потреби |
100 |
|
150 |
|
80 |
|
70 |
|
400 |
|
|
|
|
Табл |
. 2 |
|
|
|
|
Для розв’язування цієї задачі на персональному комп’ютері з використанням табличного процесора Excel достатньо:
1)увести вихідні дані в комірки робочого листа;
2)розмітити діапазони комірок, необхідні для моделювання обсягів перевезень і формування елементів математичної моделі та цільової функції;
3)сформувати на робочому листі елементи математичної моделі та цільову функцію;
4)налаштувати програму Пошук розв’язку та виконати її.
Уведення вихідних даних. Вихідними даними для розв’язування транспортної задачі є матриця вартостей перевезень, запаси постачальників і потреби споживачів. Фрагмент робочого листа з уведеними даними поданий на мал. 1.
4
Мал. 1
Розмітка діапазонів комірок. На робочому листі для розв’язування транспортної задачі необхідно передбачити:
1)діапазон комірок „Матриця обсягів перевезень”, в якому будуть моделюватися об’єми перевезень;
2)діапазон комірок „Фактично реалізовано”, в якому моделюватиметься фактична реалізація продукту;
3)діапазон комірок „Фактично отримано”, в якому буде моделюватися фактичне задоволення потреб;
4)діапазон комірок „Вартості перевезень за споживачами”, в якому будуть обчислюватися транспортні витрати за кожним споживачем;
5)комірку „Вартість усіх перевезень”, в якій будуть моделюватися транспортні витрати за всіма споживачами.
Для розмітки перелічених діапазонів достатньо обвести їх рамками.
Фрагмент робочого листа з розміченими діапазонами комірок показаний на мал. 2.
Мал. 2
Формування елементів математичної моделі та цільової функції.
Елементами математичної моделі транспортної задачі є наступні суми:
5
n |
|
|
|
|
|
∑xij |
– обсяг фактичної реалізації продукту i -м постачальником (i = |
1, m |
) , |
||
j=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;
6
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);
7
Мал. 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;
8
Мал. 7
16)клацнути лівою клавішею миші по кнопці Додати;
17)виділити діапазон комірок „Матриця обсягів перевезень” (D10:G12);
18)вибрати операцію >=;
19)переконатися, що курсор уведення розташований у полі Обмеження;
20)увести цифру 0 і переконатися, що діалогове вікно Додавання обмеження має вигляд, показаний на мал. 8;
Мал. 8
21)клацнути лівою клавішею миші по кнопці OK;
22)переконатися, що діалогове вікно Пошук розв’язку набуде вигляду, показаного на мал. 9;
Мал. 9
23)клацнути лівою клавішею миші по кнопці Параметри;
24)у діалоговому вікні Параметри пошуку розв’язку (мал. 10), яке появиться, встановити прапорець Лінійна модель;
9
Мал. 10
25)клацнути лівою клавішею миші по кнопці ОК;
26)у вікні Пошук розв’язку, яке появиться, клацнути лівою клавішею миші по кнопці Виконати;
27)переконатися, що в діапазоні комірок „Матриця обсягів перевезень” появиться розв’язок задачі, поданий на мал. 11;
Мал. 11
28)у діалоговому вікні Результати пошуку розв’язку (мал. 12), яке появиться, ввімкнути перемикач Зберегти знайдений розв’язок або перемикач Відновити вихідні значення;
10