Транспортная задача линейного программирования. 3
СОДЕРЖАНИЕ
ВВЕДЕНИЕ…………………………………………………………
1.ТРАНСПОРТНАЯ ЗАДАЧА………………………
1.1 Общая постановка задачи…………………
1.2 Нахождение исходного опорного решения……………………... 8
1.3 Проверка найденного
опорного решения на
1.4 Переход от одного
опорного решения к другому…………
2. РЕШЕНИЕ ТРАНСПОРТНЫХ ЗАДАЧ…………………………………. 10
2.1 Пример решения задачи транспортным методом………………. 10
2.2 Экономический вывод задачи……………………………………. 19
ЗАКЛЮЧЕНИЕ……………………………………………………
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ ………………………………………………...21
ВВЕДЕНИЕ
Я выбрал эту тему курсовой
работы, потому что каждый человек,
ежедневно не всегда осознавая это
решает проблему: как получить наибольший
эффект, обладая ограниченными
Актуальность выбранной тематики курсовой работы заключается в том, что к задачам транспортного типа сводятся многие другие задачи линейного программирования-задачи о назначениях, сетевые, календарного планирования.
Целью данной работы является рассмотрение транспортной задачи и метода потенциала как метода решения.
Для реализации данной цели в работе необходимо решить следующие задачи;
-рассмотреть транспортную задачу, общую постановку, цели, задачи;
-изучить основные типы, виды моделей;
-охарактеризовать методы решения транспортной задачи;
-проанализировать метод потенциалов как метод решения транспортных задач.
1.ТРАНСПОРТНАЯ ЗАДАЧА
1.1 Общая постановка задачи
Транспортная задача-одна из
В общем виде задачу можно
представить следующим образом:
Требуется составить план
В зависимости от соотношения
между суммарными запасами
Если
то задача называется закрытой. Если
то открытой.
Обозначим через хij количество груза, перевозимого из пункта Ai в пункт Bj. Рассмотрим закрытую транспортную задачу. Ее условия запишем в распределительную таблицу которую будем использовать для нахождения решения.
Bj Ai |
B1 |
B2 |
… |
Bj |
… |
Bn |
b1 |
b2 |
… |
bj |
… |
bn | |
|
A1 a1 |
c11 x11 |
c12 x12 |
… |
c1j x1j |
… |
c1n x1n |
|
A2 a2 |
c21 x21 |
c22 x22 |
… |
c2j x2j |
… |
c2n x2n |
… |
… |
… |
… |
… |
… |
… |
|
Ai ai |
ci1 xi1 |
ci2 xi2 |
… |
cij xij |
… |
cin xin |
… |
… |
… |
… |
… |
… |
… |
|
Am am |
cm1 xm1 |
cm2 xm2 |
… |
cmj xmj |
… |
cmn xmn |
Таблица 1
Математическая модель закрытой транспортной задачи имеет вид
при ограничениях:
Оптимальным решением задачи является матрица
удовлетворяющая системе ограничений и доставляющая минимум целевой функции. Транспортная задача как задача линейного программирования может быть решена симплексным методом, однако наличие большого числа переменных и ограничений делает вычисления громоздкими. Поэтому для решения транспортных задач разработан специальный метод, имеющий те же этапы, что и симплексный метод, а именно:
- нахождение исходного опорного решения
- проверка этого решения на оптимальность
- переход от одного опорного решения к другому
Рассмотрим каждый из этих этапов.
1.2 Нахождение исходного опорного решения
Условия
задачи и ее исходное опорное
решение будем записывать в
распределительную таблицу.
Рассмотрим один из них
– метод минимального тарифа (элемента).
Согласно этому методу, грузы распределяются
в первую очередь в те клетки,
в которых находится
Нулевые поставки помещают
в незанятые клетки с учетом наименьшего
тарифа таким образом, чтобы в
каждых строке и столбце было не
менее чем по одной занятой
клетке.
1.3 Проверка найденного опорного решения
на оптимальность
Найденное исходное опорное решение проверяется на оптимальность методом потенциалов по следующему критерию: если опорное решение транспортной задачи является оптимальным, то ему соответствует система m+n действительных чисел ui и vj, удовлетворяющих условиям ui + vj= cij, для занятых клеток и ui +vi – cij ≤ 0 для свободных клеток. Одному из потенциалов дается произвольное значение, например u1 = 0, тогда остальные потенциалы определяются однозначно. Так, если известен потенциал vj, то ui = cij - vj.
Обозначим ∆ij = ui+vj-cij. Эту оценку называют оценкой свободных клеток. Если ∆ij ≤ 0, то опорное решение является оптимальным. Если хотя бы одна из оценок ∆ij > 0, то опорное решение не является оптимальным и его можно улучшить перейдя от одного опорного решения к другому.
1.4 Переход от одного опорного решения к другому
Наличие положительной оценки свободной клетки ( ∆ij > 0) при проверке опорного решения на оптимальность свидетельствует о том, что полученное решение не оптимально и для уменьшения значения целевой функции надо перейти к другому опорному решению. Свободная клетка становится занятой становится занятой, а одна из ранее занятых - свободной.
Для свободной клетки с ∆ij > 0 строится цикл (цепь, многоугольник), все вершины которого кроме одной находятся в занятых клетках; углы прямые, число вершин четное. Около свободной клетки цикла ставится знак (+), затем поочередно проставляют знаки (-) и (+). У вершин со знаком (-) выбирают минимальный груз, его прибавляют к грузам, стоящим у вершин со знаком (+), и отнимают от грузов у вершин со знаком (-). В результате перераспределения груза получим новое опорное решение. Это решение проверяем на оптимальность, и т.д. с тех пор, пока не получим оптимальное решение.
2. РЕШЕНИЕ ТРАНСПОРТНЫХ ЗАДАЧ
2.1 Пример решения задачи транспортным методом
В качестве примера возьмём следующую задачу:
Четыре предприятия данного технологического района для производства продукции используют три вида сырья, потребности в сырье каждого из предприятий соответственно равны 150, 120, 80, 50 единиц. Сырьё сосредоточено в трёх местах его получения, а запасы соответственно 100, 130, 170 единиц. Тарифы перевозок известны и заданы матрицей:
2 |
1 |
8 |
12 |
5 |
3 |
7 |
5 |
3 |
7 |
14 |
4 |
Для начала выясним, какая это задача, а для этого сравним общее количество сырья на складах и общее количество потребления:
А = 100+130+170=400
В = 150+120+80+50 = 400
А = В – из этого следует, что задача является закрытой.
Шаг 1.
Составим таблицу, расставим тарифы и сделаем распределение:
Ai |
Bj |
b1 |
b2 |
b3 |
b4 |
Ui | ||||
|
150 |
120 |
80 |
50 | |||||||
a1 |
100 |
2 |
100 |
1 |
8 |
12 |
||||
a2 |
130 |
5 |
50 |
3 |
80 |
7 |
5 |
|||
a3 |
170 |
3 |
7 |
40 |
14 |
80 |
4 |
|||
Vg |
||||||||||
Таблица 2
Распределение выполнили. Можно найти коэффициент затрат на перевозки сырья F. С ходом решения этот коэффициент должен только уменьшаться, по сравнению с предыдущим.
F = 2*100+5*30+3*80+7*40+14*80 = 2290 единиц.
Коэффициент высокий, и нам нужно выяснить, сможем ли мы уменьшить его, а для этого проанализируем это, но для начала нам нужно сделать оценку свободных клеток, а для этого сделаем следующее: в столбце Vj в первой строчки поставим 0. А дальше напротив этого нуля найдём заполненную клетку и производим вычисления по формуле:
cij=ui+vj
В итоге у нас получится вот такая таблица:
Ai |
Bj |
b1 |
b2 |
b3 |
b4 |
Ui | ||||
|
150 |
120 |
80 |
50 | |||||||
a1 |
100 |
2 |
1 |
8 |
12 |
0 | ||||
a2 |
130 |
5 |
3 |
7 |
5 |
3 | ||||
a3 |
170 |
3 |
7 |
14 |
4 |
7 | ||||
Vg |
2 |
0 |
7 |
-3 |
||||||
Таблица 3
Теперь мы можем выяснить, можем ли мы уменьшить коэффициент F, а для этого теперь работает с пустыми клетками.
Стоило сказать, что поля данных идентифицируются как на координатной плоскости, то есть к примеру самая левая верхняя ячейка данных будет иметь координату (1:1), чуть правее ячейка (1:2), а если ячейка а 1 ниже первой, то координаты (2:1).
Теперь производим оценку свободных клеток. Для этого мы находим пустую клетку, далее складываем потенциалы из полей Ai и Bg , А затем из тарифа вычитаем полученную сумму потенциалов. Если видно, что результат получится меньше нуля, то вычисления можно опустить и сделать запись об этом. Это действие нужно произвести со всеми пустыми клетками:
∆12 = 0+0-1=(-1)
∆13 = 0+7-8=(-1)
∆14 = 0-3-12=(-15)
∆23 = 3+7-7=3
∆24 = -3+3-5=(-5)
∆31 = 2+7-3=6
Мы получили положительные и отрицательные потенциалы. Если есть положительный потенциал, то коэффициент F можно улучшить (уменьшить). Если положительных потенциалов не останется, задача решена верно и коэффициент F уменьшить уже нельзя. Поскольку у нас положительные коэффициенты, выберем из них самый максимальный.
Вернёмся к самой таблице и возьмём выбранную нами клетку как 1 из вершин прямоугольника. Теперь перед нами стоит задача: составить прямоугольник, у которого 3 вершины будут являться заполненными клетками, но наша 1 выбранная вершина будет, как очевидно, принадлежать пустой клетке. Согласно их физическому расположению, вырисуем для удобства этот прямоугольник и вынесем на его вершины значения выбранных клеток. Присвоим вершине со значением 0 и вершине, противоположной вершине со значением 0 – знак «+», что означает, что вершины положительные, а остальным вершинам знак «-», что значит вершины отрицательные, т. е. получится вот так:
50 |
80 | |||
- |
+ |
|||
+ |
- | |||
0 |
40 | |||
Среди 2 отрицательных
вершин находим наименьшее
50-40 |
80+40 | |||
- |
+ |
|||
+ |
- | |||
0+40 |
40-40 | |||
Далее необходимо в таблицу
внести изменения, согласно изменениям,
проделанным ранее. То есть полученные
значения нужно вернуть в таблицу,
а другие данные первой таблицы оставить
нетронутыми (потенциалы стираются). Потом
нам останется лишь проверить
оптимальность найденного решения,
и повторять шаги до тех пор, пока
не будет найдено самое
Шаг 2.
Опираясь на полученные значения из предыдущего шага, необходимо составить новое распределение.
Составим таблицу, расставим тарифы и сделаем распределение:
Ai |
Bj |
b1 |
b2 |
b3 |
b4 |
Ui | ||||
|
150 |
120 |
80 |
50 | |||||||
a1 |
100 |
2 |
100 |
1 |
8 |
12 |
0 | |||
a2 |
130 |
5 |
3 |
120 |
7 |
10 |
5 |
2 | ||
a3 |
170 |
3 |
50 |
7 |
14 |
70 |
4 |
50 |
1 | |
Vg |
2 |
1 |
5 |
3 |
||||||
Таблица 4
Найдём коэффициент F:
F = 2*100+3*120+7*10+3*50+14*70+4*
Находим потенциалы занятых клеток. Их я уже вписал в таблицу сразу.
Теперь выясним оптимальность этого решения, оценив свободные клетки.
∆12 = 0+0-1=(-1)
∆13 = 13+0-8=5
∆14 = 3+0-12=(-9)
∆21 = 2+3-5 =0
∆24 =3+3-5=1
∆32 = 0+1-7=(-6)
Положительное значение у клетки (1;3) – с ним и станем производить цикл.
Составим цикл и произведём над ним действия перераспределения, то есть найдём минимальное отрицательное и, соответствуя знакам, сделать простые математические действия.
100-70 |
0+70 | |||
- |
+ |
|||
+ |
- | |||
50+70 |
70-70 | |||
В следующем шаге вносим значения в таблицу согласно данным, полученным только что.
Шаг 3.
Опираясь на полученные значения из предыдущего шага, необходимо составить новое распределение.
Составим таблицу, расставим тарифы и сделаем распределение:
Ai |
Bj |
b1 |
b2 |
b3 |
b4 |
Ui | ||||
|
150 |
120 |
80 |
50 | |||||||
a1 |
100 |
2 |
30 |
1 |
8 |
70 |
12 |
0 | ||
a2 |
130 |
5 |
3 |
120 |
7 |
10 |
5 |
-1 | ||
a3 |
170 |
3 |
120 |
7 |
14 |
4 |
50 |
1 | ||
Vg |
2 |
4 |
8 |
3 |
||||||
Таблица 5
Найдём коэффициент F:
F = 2*30+3*120+8*70+3*120+7*10+3*
Находим потенциалы занятых клеток. Их я уже вписал в таблицу сразу.
Теперь выясним оптимальность этого решения, оценив свободные клетки.
∆12 = 4+0-1=3
∆14 = 3+0-12=(-9)
∆21 = 2+(-1)-5=(-4)
∆24 = 3+(-1)-5=(-3)
∆32 =4+1-7=(-2)
∆33 = 8+1-14=(-5)
Положительное значение у клетки (1;2) – с ним и станем производить цикл.
Составим цикл и произведём над ним действия перераспределения, то есть найдём минимальное отрицательное и, соответствуя знакам, сделать простые математические действия.
0+70 |
70-70 | |||
+ |
- |
|||
- |
+ | |||
120 |
10+70 | |||
В следующем шаге вносим значения в таблицу согласно данным, полученным только что.
Шаг 4.
Опираясь на полученные значения из предыдущего шага, необходимо составить новое распределение.
Составим таблицу, расставим тарифы и сделаем распределение:
Ai |
Bj |
b1 |
b2 |
b3 |
b4 |
Ui | ||||
|
150 |
120 |
80 |
50 | |||||||
a1 |
100 |
2 |
30 |
1 |
70 |
8 |
12 |
0 | ||
a2 |
130 |
5 |
3 |
50 |
7 |
80 |
5 |
2 | ||
a3 |
170 |
3 |
120 |
7 |
14 |
4 |
50 |
1 | ||
Vg |
2 |
1 |
5 |
3 |
||||||
Таблица 6
Найдём коэффициент F:
F = 2*30+1*70+3*50+7*80+3*120+4*
Находим потенциалы занятых клеток. Их я уже вписал в таблицу сразу.
Теперь выясним оптимальность этого решения, оценив свободные клетки.
∆13 = 5+0-8=(-3)
∆14 = 3+0-12=(-9)
∆21 = 2+2-5=(-1)
∆24 = 3+2-5=0
∆32 =1+1-7=(-5)
∆33 = 5+1-14=(-8)
Положительных чисел нет, мы нашли оптимальное решение этой задачи.
2.2 Экономический вывод задачи
В ходе проведенных решений мы нашли оптимальную цену перевозок, сумма которого равняется 1400 условных единиц, она будет минимальной исходя из цен на перевозку заданных матрицей.
На целых 39% снизили стоимость перевозки:
- Потребителю b1, потребовалось взять 30 единиц сырья со склада a1 и 120 единиц сырья со склада a3;
- Потребителю b2, потребовалось взять 70 единиц сырья со склада a1 и 50 единиц сырья со склада a2;
- Потребителю b3, потребовалось взять 80 единиц сырья со склада a2;
- Потребителю b4, потребовалось взять 50 единиц сырья со склада a3.
ЗАКЛЮЧЕНИЕ
Необходимость решения задач
линейного программирования на современных
предприятиях очевидна. Построение и
решение экономико-
В данной курсовой работе были систематизированы
теоретические положения по теме применения
методов линейного программирования при
решении экономических задач, рассмотрена
сущность задач линейного программирования,
выявлены основные методы решения задач
линейного программирования, а также приведён
пример решения задачи транспортной задачи
закрытого типа.
При составлении данной использовались
знания в следующих дисциплинах «Математические
методы» и «Пакеты прикладных программ».
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
- Апатенок Р.Ф. Математика для экономистов. М, Просвещение, 2004.
- Баумоль. У. Экономическая теория и исследование операций. – М.; Наука, 2004.
- Большев Л.Н., Смирнов Н.В. Таблицы математической статистики. М.: Наука, 2004.
- Боровков А.А. Математическая статистика. М.: Наука, 2004.
- Акулич И.Л. Математическое программирование в примерах и задачах: учебное пособие для ВУЗов. – М.: Высшая школа, 2004.