Транспортные задачи. 2
ФЕДЕРАЛЬНОЕ
АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО
ПРОФЕССИОНАЛЬНОГО
ОБРАЗОВАНИЯ
«МОРДОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
им.
Н. П. ОГАРЁВА»
Факультет
довузовской подготовки
и среднего профессионального
образования
Курсовая работа
на тему:
“Транспортные
задачи”
Студента 309 группы
Специальность 230105 «Программное обеспечение вычислительной
техники и автоматизированных
систем»
Обозначение курсовой
работы КР-230105-012-2010
Руководитель работы
преподаватель
Саранск 2010
Содержание
Введение . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . .3
1 Транспортная задача. Общая постановка, цели, задачи. Основные типы, виды моделей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Методы составления начального опорного плана . . . . . . . . . . . . .11
3 Методы решения транспортной задачи
3.1Диагональный метод, или метод северо-западного угла . . . . . . 12
3.2 Метод наименьшей стоимости . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3 Метод потенциалов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
4. Транспортная задача с избытком заявок . . . . . . . . . . . . . . . . . . . 22
5. Пример решения транспортной задачи . . . . . . . . . . . . . . . . . . . . .24
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
Список использованных
источников . . . . . . . . . . . . . . . . . . . . . . . .
.32
Введение
Каждый
человек ежедневно, не всегда осознавая
это, решает проблему: как получить
наибольший эффект, обладая ограниченными
средствами. Наши средства и ресурсы
всегда ограничены. Жизнь была бы менее
интересной, если бы это было не так.
Не трудно выиграть сражение, имея армию
в 10 раз большую, чем у противника.
Чтобы достичь наибольшего
Свое
второе рождение линейное программирование
получило в начале пятидесятых годов
с появлением ЭВМ. Тогда началось
всеобщее увлечение линейным программированием,
вызвавшее в свою очередь развитие
других разделов математического
В
автобиографии, представленной в Нобелевский
комитет, Леонид Витальевич Канторович
рассказывает о событиях, случившихся
в 1939 году. К нему, 26-летнему профессору-
Однако
идеи Л.В.Канторовича не встретили
понимания в момент их зарождения,
были объявлены ересью, и его работа
была прервана. Концепции Леонида
Витальевича вскоре после войны
были переоткрыты на западе. Американский
экономист Т.Купманс в течение
многих лет привлекал внимание математиков
к ряду задач, связанных с военной
тематикой. Он активно способствовал
тому, чтобы был организован
1 Транспортная задача. Общая постановка, цели, задачи. Основные типы, виды моделей
Под
названием “транспортная
В
общей постановке транспортная задача
состоит в отыскании
Различают
два типа транспортных задач: но критерию
стоимости (план перевозок оптимален,
если достигнут минимум затрат на
его реализацию) и по критерию времени
(план оптимален, если на его реализацию
затрачивается минимум времени)
Обозначим количество груза, имеющегося на каждой из m баз (запасы), соответственно a1,a2,…am, а общее количество имеющегося в наличии груза – a:
;
заказы каждого из потребителей (потребности) обозначим соответственно b1,b2,…,bn, а общее количество потребностей – b:
,
Тогда при условии
мы имеем закрытую модель, а при условии
– открытую модель транспортной задачи.
Очевидно, в случае закрытой модели весь имеющийся в наличии груз развозится полностью, и все потребности заказчиков полностью удовлетворены; в случае же открытой модели либо все заказчики удовлетворены и при этом на некоторых базах остаются излишки груза (a > b), либо весь груз оказывается израсходованным, хотя потребности полностью не удовлетворены (a < b).
Так же существуют одноэтапные модели задач, где перевозка осуществляется напрямую от, например, базы или завода изготовителя к потребителю, и двухэтапные, где между ними имеется “перевалочный пункт”, например – склад.
План
перевозок с указанием запасов
и потребностей удобно записывать в
виде следующей таблицы, называемой
таблицей перевозок:
| Пункты
Отправления |
Пункты назначения | Запасы | |||
| … | |||||
| … | |||||
| … | |||||
| … | … | … | … | … | … |
| … | |||||
| Потребности | … | или | |||
Очевидно, переменные xij должны удовлетворять условиям:
Система (2.1) содержит m+n уравнений с mn неизвестными. Её особенность состоит в том, что коэффициенты при неизвестных всюду равны единице. Кроме того, все уравнения системы (2.1) могут быть разделены на две группы: первая группа из т первых уравнений (“горизонтальные” уравнения) и вторая группа из п остальных уравнений (“вертикальные” уравнения). В каждом из горизонтальных уравнений содержатся неизвестные с одним и тем же первым индексом (они образуют одну строку матрицы перевозок), в каждом из вертикальных уравнений содержатся неизвестные с одним и тем же вторым индексом (они образуют один столбец матрицы перевозок). Таким образом, каждая неизвестная встречается в системе (2.1) дважды: в одном и только одном горизонтальном и в одном и только одном вертикальном уравнениях.
Такая структура системы (2.1) позволяет легко установить ее ранг. Действительно, покажем, что совокупность неизвестных, образующих первую строку и первый столбец матрицы перевозок, можно принять в качестве базиса. При таком выборе базиса, по крайней мере, один из двух их индексов равен единице, а, следовательно, свободные неизвестные определяются условием i ≥ 2, j≥ 2.Перепишем систему (2.1) в виде
где символы и означают суммирование по соответствующему индексу. Так, например,
При этом легко заметить, что под символами такого суммирования объединяются только свободные неизвестные (здесь i ≥ 2,j ≥ 2).
В рассматриваемой нами системе только два уравнения, а именно первое горизонтальное и первое вертикальное, содержат более одного неизвестного из числа выбранных нами для построения базиса. Исключив из первого горизонтального уравнения базисные неизвестные x12,x13,…,x1n с помощью вертикальных уравнений, мы получаем уравнение
или короче
где символ означает сумму всех свободных неизвестных. Аналогично, исключив из первого вертикального уравнения базисные неизвестные x21,x31,…xm1 с помощью горизонтальных уравнений, мы получаем уравнение
Так как для закрытой модели транспортной задачи a=b, то полученные нами уравнения (2.2) и (2.2’) одинаковы и, исключив из одного из них неизвестное x11, мы получим уравнение-тождество 0=0, которое из системы вычеркивается.
Итак, преобразование системы (2.1) свелось к замене двух уравнений (первого горизонтального и первого вертикального) уравнением (2.2). Остальные уравнения остаются неизменными. Система приняла вид
В системе (2.3) выделен указанный выше базис: базисные неизвестные из первых т уравнений образуют первый столбец матрицы перевозок, а базисные неизвестные остальных уравнений образуют первую строку матрицы перевозок без первого неизвестного x11 [она входит в первое уравнение системы (2.3)]. В системе (2.3) имеется m+n-1 уравнений, выделенный базис содержит m+n-1 неизвестных, а, следовательно, и ранг системы (2.1) r=m+n-1.
Для решения транспортной задачи необходимо кроме запасов и потребностей знать также и тарифы cij, т. е. стоимость перевозки единицы груза с базы Ai потребителю Bj.
Совокупность
тарифов cij также образует матрицу,
которую можно объединить с матрицей перевозок
и данными о запасах и потребностях в одну
таблицу:
| Пункты
Отправления |
Пункты назначения | Запасы | ||||||||
| … | ||||||||||
| … | ||||||||||
| … | ||||||||||
| … | … | … | … | … | … | |||||
| … | ||||||||||
| Потребности | … | или | ||||||||
Сумма всех затрат, т. е. стоимость реализации данного плана перевозок, является линейной функцией переменных xij:
Требуется в области допустимых решений системы уравнений (2.1) и (2.1.1) найти решение, минимизирующее линейную функцию (2.4).
Таким
образом, мы видим, что транспортная
задача является задачей линейного
программирования. Для ее решения
применяют также симплекс-
Для контроля надо проверять, равна ли сумма чисел в заполненных клетках каждой строки таблицы перевозок запасу груза на соответствующей базе, а в каждом столбце — потребности заказчика [этим подтверждается, что данный план является решением системы (2.1)].
Замечание
1. Не исключаются здесь и
Замечание 2. Под величинами cij, очевидно, не обязательно подразумевать только тарифы. Можно также считать их величинами, пропорциональными тарифам, например, расстояниями от баз до потребителей. Если, например, xij выражены в тоннах, а cij в километрах, то величина S, определяемая формулой (2.4), является количеством тонно-километров, составляющих объем данного плана перевозок. Очевидно, что затраты на перевозки пропорциональны количеству тонно-километров и, следовательно, будут минимальными при минимуме S. В этом случае вместо матрицы тарифов мы имеем матрицу расстояний.
- Методы составления начального опорного плана
Как и в общем случае, решение транспортной задачи начинается с отыскания первого опорного плана (исходного базиса). Мы рассмотрим два наиболее распространенных метода построения такого базиса. Суть обоих этих методов состоит в том, что базисный план составляется последовательно, в несколько шагов (точнее, m+n-1 шагов). На каждом из этих шагов заполняется одна клетка, притом так, что, либо полностью удовлетворяется один из заказчиков (тот, в столбце которого находится заполняемая клетка), либо полностью вывозится весь запас груза с одной из баз (с той, в строке которой находится заполняемая клетка).
В первом случае мы можем исключить столбец, содержащий заполненную на этом шаге клетку, и считать, что задача свелась к заполнению таблицы с числом столбцов, на единицу меньшим, чем было перед этим шагом, но с тем же количеством строк и с соответственно измененным запасом груза на одной из баз (на той базе, которой был удовлетворен заказчик на данном шаге).
Во втором случае исключается строка, содержащая заполняемую клетку, и считается, что таблица сузилась на одну строку при неизменном количестве столбцов и при соответствующем изменении потребности заказчика, в столбце которого находится заполняемая клетка.
Начиная с первоначально данной таблицы и повторив m+n-2 раз описанный шаг, мы придем к “таблице”, состоящей из одной строки и одного столбца (иначе говоря, из одной пустой клетки). Другими словами, мы пришли к задаче с одной базой и с одним потребителем, причем потребности этого единственного заказчика равны запасу груза на этой единственной базе. Заполнив последнюю клетку, мы освобождаем последнюю базу и удовлетворяем потребность последнего заказчика. В результате, совершив m+n-1 шагов, мы и получим искомый опорный план.
Замечание. Может случиться, что уже на некотором (но не на последнем!) шаге потребность очередного заказчика окажется равной запасу груза на очередной базе. Тогда после заполнения очередной клетки объем таблицы как бы одновременно уменьшается на одни столбец и на одну строку. Но и при этом мы должны считать, что уменьшение объема таблицы происходит либо на один столбец, а на базе сохраняется “остаток” равный нулю, либо на одну строку, а у заказчика еще осталась неудовлетворенная “потребность” в количестве нуля единиц груза, которая и удовлетворяется на одном из следующих шагов. Этот нуль (“запас” или “потребностью” – безразлично) надо записать в очередную заполняемую клетку на одном из последующих шагов. Так как при этом оказывается равной нулю одна из базисных неизвестных, то мы имеем дело с вырожденным случаем. Различие методов отыскания первого опорного плана состоит в различии способов набора заполняемой клетки.
3 Методы решения транспортной задачи
3.1 Диагональный метод, или метод северо-западного угла
При этом методе на каждом шаге построения первого опорного плана заполняется левая верхняя клетка (северо-западный угол) оставшейся части таблицы. При таком методе заполнение таблицы начинается с клетки неизвестного x11 и заканчивается в клетке неизвестного xmn, т. е. идет как бы по диагонали таблицы перевозок.
Пример.
| Пункты
Отправления |
Пункты назначения | Запасы | |||||||||
| 70 | 50 | 15 | 80 | 70 | 300 | ||||||
| 170 | 110 | 20 | - | - | |||||||
| 80 | 90 | 40 | 60 | 85 | 150 | ||||||
| - | - | 80 | 70 | - | |||||||
| 50 | 10 | 90 | 11 | 25 | 250 | ||||||
| - | - | - | 50 | 200 | |||||||
| Потребности | 170 | 110 | 100 | 120 | 200 | 700 | |||||