
- •Понятие системы. Элементы систем.
- •Экономические системы и методы исследования и моделирования
- •Общая постановка и задачи линейного программирования (злп)
- •Симплекс-метод решения задач линейного программирования
- •Двойственность в злп
- •Задачи целочисленного программирования
- •Транспортная задача линейного программирования (тз)
- •Теория Игр
Транспортная задача линейного программирования (тз)
Транспортная задача линейного программирования получила широкое распространение в теоретических разработках и практических применениях на транспорте и промышленности. Особое значение она имеет в деле рационализации поставок важнейших видов промышленной и сельскохозяйственной продукции, а также оптимального планирования груза потоков и работы различных видов транспорта.
Постановка задачи
Некоторый однородный продукт, сосредоточенный у m поставщиков Ai, в количестве ai (i=1,m) единиц соответственно. Необходимо доставить его n потребителям Bj в количестве bj (j=1,n) единиц. Известно стоимость C(I,j) перевозки единицы груза от I поставщика J потребителю. Необходимо составить план перевозок позволяющие вывести все грузы полностью удовлетворив потребности и имеющие минимальную стоимость. Обозначим через x(I,j) количество единиц груза запланированных к перевозке от I поставщика j потребителю. Тогда условие можно записать в виде таблицы, которую называют матрицей планирования.
Поставщики |
Потребители |
Запасы |
||||
Bi |
… |
Bj |
… |
Bn |
||
A1 |
C11 |
|
C1j |
|
C1n |
a1 |
X11 |
X1j |
X1n |
||||
… |
|
|
|
|
|
… |
Ai |
Ci1 |
|
cij |
|
cin |
ai |
Xi1 |
xij |
xin |
||||
… |
|
|
|
|
|
… |
Am |
Cm1 |
|
cmi |
|
cmn |
am |
Xm1 |
xmi |
xmn |
||||
Потребности |
bi |
… |
bj |
… |
bn |
|
Составим математическую модель задачи: т.к. объем перевозки от I поставщика j потребителю запланировано в объеме x(I,j) единиц, то стоимость перевозки составляет Z=mEi*nEj*c(I,j)*x(I,j)min. Ограничения следуют из условия задачи:
Все грузы должны быть вывезены – mEj=1*x(I,j)=ai(i=1,n) (сумма по строке таблицы).
Все потребности должны быть удовлетворены – nEi=1*x(I,j)=bj(j=1,m) (сумма по столбцу).
X(I,j)>=0 (i=1,n) (j=1,m).
Предполагается, что суммарные запасы равны суммарным потребностям.
nEi=1*ai=nEj=1*bj – такая модель называется закрытой.
Теорема
Любая транспортная задача, у которой суммарный объем запасов совпадает с суммарным объемом потребности, имеет решение.
Построение начального опорного плана
Из ограничений a и b можно определить общее количество неизвестных n*m и n+m уравнений связанных соотношением (4), то есть количество независимых переменных с не нулевыми значениями n+m-1. Клетки с не нулевыми значениями x(I,j) называют занятыми, а остальными не занятыми. То есть опорный план ТЗ содержит максимально m+n-1 занятых клеток. План транспортной задачи является опорным, если он не содержит циклов. Циклом называется набор клеток построенных строка-столбец, строка-столбец и последняя клетка совпадает с первой.
Метод северо-западного угла.
Поставщики |
Потребители |
Запасы |
|||||
B1 |
B2 |
B3 |
B4 |
B5 |
|||
A1 |
10 |
7 |
4 |
1 |
4 |
100 |
|
100 |
- |
- |
- |
- |
|||
A2 |
2 |
7 |
10 |
6 |
11 |
250 |
|
100 |
150 |
- |
- |
- |
|||
A3 |
8 |
3 |
3 |
2 |
2 |
200 |
|
- |
50 |
100 |
50 |
- |
|||
A4 |
11 |
8 |
2 |
10 |
13 |
300 |
|
- |
- |
- |
50 |
250 |
|||
Потребности |
200 |
200 |
100 |
100 |
250 |
850 |
850 |
Z=100*10+2*100+150*7+5*50+3*100+2*50+16*50+13*250=6950
Алгоритм
В ячейку первой строки первого столбца заносим максимально возможный объем перевозки (min из a1 и b1). Затем, если выбраны все запасы переходим в ячейку a2-b1 если удовлетворены все потребности в ячейку a1-b2.
Вычеркиваем из рассмотрения удовлетворенные потребности и выбранные запасы.
Алгоритм повторяем.
Метод минимальной стоимости.
Поставщики |
Потребители |
Запасы |
|||||
B1 |
B2 |
B3 |
B4 |
B5 |
|||
A1 |
10 |
7 |
4 |
1 |
4 |
100 |
|
- |
- |
- |
100 |
- |
|||
A2 |
2 |
7 |
10 |
6 |
11 |
250 |
|
200 |
50 |
- |
- |
- |
|||
A3 |
8 |
3 |
3 |
2 |
2 |
200 |
|
- |
- |
- |
- |
200 |
|||
A4 |
11 |
8 |
2 |
10 |
13 |
300 |
|
- |
150 |
100 |
- |
50 |
|||
Потребности |
200 |
200 |
100 |
100 |
250 |
850 |
850 |
Z=1*100+200*2+7*50+200*2+8*150+12*100+13*50=4300
Суть метода: Из всей таблицы стоимости выбирают клетку с наименьшей, и в нее размещают минимум из ai и bj. Исключат из рассмотрения либо строку, либо столбец. В оставшейся части опять выбирают минимальную стоимость и так до полного распределения.
Метод двойного предпочтения
Если таблица стоимостей достаточно большая, то перебор всех элементов затруднен. В этом случае используют метод двойного предпочтения: в каждом столбце отмечают клетку с наименьшей стоимостью, затем тоже самое делают в каждой строке. В результате некоторые клетки могут иметь 2 отметки. Эти клетки заполняются в первую очередь, затем клетки с одной отметкой, а потом по методу минимальной стоимости.
Алгоритм
Метод потенциала. Нахождение оптимального плана ТЗ.
Алгоритм
Проверка оптимальности плана
Один из потенциалов задается произвольно, например u1=0.
Рассматривается система линейных уравнений вида ui+vj=c(I,j) для занятых клеток проверяется система уравнений и находится потенциалы ui и vj для всех складов и пунктов потребления.
Для всех остальных клеток проверяется условие ui+vj<=c(I,j). Если это условие выполняется для всех не занятых клеток, план является оптимальным. В противном случае переходим к шагу 2.
Алгоритм улучшения опорного плана
Найти клетку, для которой ui+vj-c(I,j)max.
Построить цикл из этой клетки.
Перебросить по этому циклу максимально возможное количество грузов, которое определяется минимальной перевозкой среди всех отрицательных вершин цикла, и получить новый допустимый план. Затем переходим к пункту 1.
|
|
V1=3 |
V2=5 |
V3=7 |
V4=4 |
|
|
|
|
B1 |
B2 |
B3 |
B4 |
Запасы |
|
U1=0 |
A1 |
3 |
5 |
4 |
5 |
5,1 |
|
2 |
3,1 |
- 3 |
- |
||||
U2=-3 |
A2 |
1 |
2 |
4 |
3 |
8,1 |
|
- |
3,9 |
4,2 |
- |
||||
U3=-1 |
A3 |
1 |
5 |
6 |
3 |
9,1 |
|
- 1 |
- |
2,8 |
6,3 |
||||
|
|
2 |
7 |
7 |
6,3 |
22,3 |
22,3 |
|
|
V1= |
V2= |
V3= |
V4= |
|
|
|
|
B1 |
B2 |
B3 |
B4 |
Запасы |
|
U1= |
A1 |
3- |
5 |
4+ |
5 |
5,1 |
|
0 |
|
5,1 |
|
||||
U2= |
A2 |
1 |
2 |
4 |
3 |
8,1 |
|
|
7 |
1,1 |
|
||||
U3= |
A3 |
1+ |
5 |
6- |
3 |
9,1 |
|
2 |
|
0,8 |
6,3 |
||||
|
|
2 |
7 |
7 |
6,3 |
22,3 |
22,3 |
F1=81.8
F2=79.8
F3=64.5