Министерство Российской Федерации по атомной энергии
Саровский Государственный Физико-Технический Институт
Политехникум СарФТИ
КУСОВАЯ РАБОТА
По специальности– «Программное обеспечение»
Тема: Решение транспортной задачи методом потенциалов
Студент:
Группа:
Преподаватель:
Дата: 05 Мая
Оценка:…
г. Саров
2005 г.
Содержание
Введение.. 3
1. Транспортная задача.. 4
1.1 Составление опорного плана. 7
1.2 Метод потенциалов. 9
2. Практическая часть.. 16
2.1 Обоснование выбора языка программирования. 16
2.2 Разработка. 16
2.3 Руководство пользователей. 16
Заключение.. 18
Литература.. 19
Данный курсовой проект представляет собой программу для решения транспортной задачи методом потенциалов. Программа предоставляет пользователю возможность пошагового нахождения оптимального решения. Все промежуточные результаты выводятся на экран, пользователь может следить за ходом решения.
Транспортная задача заключается в нахождении такого плана поставок, при котором его цена минимальна.
Условия задачи задаются в виде таблицы:
поставщик | потребитель | Запас груза | |||
В1 | В2 | … | Вn | ||
А1 | C11 X11 | C12 X12 | … | C1n X1n | a1 |
А2 | C21 X21 | C22 X22 | … | C2n X2n | a2 |
… | … | … | … | … | … |
Аm | Cm1 Xm1 | Cm2 Xm2 | … | Cmn Xmn | am |
Потребность в грузе | b1 | b2 | … | bn |
Матрица (cij)m*n называется матрицей тарифов. Планом транспортной задачи называется матрица х=(xij)m*n, где каждое число обозначает количество единиц груза, которое надо доставить из i–го пункта отправления в j–й пункт назначения.
Транспортная задача ставится следующим образом: имеется m пунктов отправления, в которых сосредоточены запасы каких-то однородных грузов. Имеется n пунктов назначения подавшие заявки соответственно на груза. Известны стоимости рij перевозки единицы груза от каждого пункта отправления до каждого пункта назначения. Все числа рij, образующие прямоугольную таблицу заданы. Требуется составить такой план перевозок (откуда, куда и сколько единиц поставить), чтобы все заявки были выполнены, а общая стоимость всех перевозок была минимальна.
Далее, предполагается, что
(1)где bi есть количество продукции, находящееся на складе i, и aj – потребность потребителя j.
Замечание. Если
то количество продукции, равное остается на складах. В этом случае мы введем "фиктивного" потребителя n +1 с потребностью и положим транспортные расходы pi,n+1 равными 0 для всех i.Если
то потребность не может быть покрыта. В этом случае начальные условия должны быть изменены таким образом, чтобы потребность в продукции могла быть обеспечена.Обозначим через xij количество продукции, поставляемое со склада i потребителю j. В предложении (1) нам нужно решить следующую задачу (математическая модель транспортной задачи):
(2)Транспортную задачу мы можем характеризовать транспортной таблицей и таблицей издержек:
а1 | … | аn | ||||
b1 . . . bm | . | |||||
. | ||||||
. | ||||||
. | ||||||
. | ||||||
. |
p11 | … | p1n |
. | . | |
. | . | |
. | . | |
pm1 | … | pmn |
Допустимый план перевозок будем представлять в виде транспортной таблицы:
а1 | … | аn | |
b . . . bm | … | ||
. | . | ||
. | . | ||
. | . | ||
… |
Cумма элементов строки i должна быть равна bi, а сумма элементов столбца j должна быть равна aj, и все должны быть неотрицательными.
Пример 1.
20 | 5 | 10 | 10 | 5 | |
15 | |||||
15 | |||||
20 |
5 | 6 | 3 | 5 | 9 |
6 | 4 | 7 | 3 | 5 |
2 | 5 | 3 | 1 | 8 |
Мы получаем следующую задачу:
х11+х12+х13+х14+х15 =15,
х21+х22+х23+х24+х55 =15,
х31+х32+х33+х34+х35 =20,
х11 +х21 +х31=20,
х12+х22 +х32=5,
х13+х23 +х33 =10,
х14 +х24 +х34 =10,
х15+х25+х35=5;
хij
0 для i = 1,2,3; j = 1,2,3,4,5;Кmin=5х11+6х12+3х13+5х14+9х15+6х21+4х22+7х23+3х24+5х25+2х31+5х32+3х33+х34+8х35;
Такие задачи целесообразно решать при помощи особого варианта симплекс-метода – так называемого метода потенциалов.
Все транспортные задачи имеют оптимальное решение. Если все значение aj и bi в условиях транспортной задачи целочисленные, то переменные xij во всех базисных решениях (а так же и в любом оптимальном базисном решении) имеют целочисленные значения.
Решение транспортной задачи начинается с нахождения опорного плана. Для этого существуют различные способы, рассмотрим простейший, так называемый способ северо-западного угла. Пояснить его проще всего будет на конкретном примере:
Условия транспортной задачи заданы транспортной таблицей.
а b | 20 | 5 | 10 | 10 | 5 |
15 | 5 | 6 | 3 | 5 | 9 |
15 | 6 | 4 | 7 | 3 | 5 |
20 | 2 | 5 | 3 | 1 | 8 |
Будем заполнять таблицу перевозками постепенно начиная с левой верхней ячейки ("северо-западного угла" таблицы). Будем рассуждать при этом следующим образом. Пункт а1подал заявку на 20 единиц груза. Удовлетворим эту заявку за счёт запаса 15, имеющегося в пункте b 1 , и запишем перевозку 15 в клетке (1,1). После этого дополним заявку за счет заявка пункта b 2, и запишем 5 в клетке (1,2), теперь заявка удовлетворена, но в пункте b 2 осталось ещё 10 единиц груза. Удовлетворим за счёт них заявку пунктов а2(5 единиц клетка 2,2) и а3 (5 единиц клетка 2,3). На складе b3 есть запас в 20 единиц, за счет его мы удовлетворим оставшиеся заявки а3 (оставшиеся 5 единиц клетка 3,3), а3 (10 единиц клетка 3,4) и а5 (5 единиц клетка 3,5).
5 | ||||
6 | 4 | 7 | ||
3 | 1 | 8 |
На этом распределение запасов закончено; каждый пункт назначения получил груз, согласно своей заявки. Это выражается в том, что сумма перевозок в каждой строке равна соответствующему запасу, а в столбце - заявке. Таким образом, нами сразу же составлен план перевозок, удовлетворяющий балансовым условиям. Полученное решение является опорным решением транспортной задачи. Составленный нами план перевозок, не является оптимальным по стоимости, так как при его построении мы совсем не учитывали стоимость перевозок Сij .