Транспортная задача линейного программирования




Содержание

Линейная производственная задача 3

2. Двойственная задача 4

Задача о "расшивке узких мест производства" 6

3. Транспортная задача линейного программирования 7

4. Динамическое программирование. Распределение капитальных вложений 11

5. Анализ доходности и риска финансовых операций 13

6. Матричная игра как модель конкуренции и сотрудничества 15

7. Задача о кратчайшем пути 20

8. Задача о максимальном потоке в сети 21

Линейная производственная задача

Задача о рациональном использовании производственных мощностей является одной из первых задач, для решения которой были применены методы линейного программирования. В общем виде математическая модель задачи об использовании производственных мощностей может быть получена следующим образом.

Предприятие может использовать m групп ресурсов для выпуска n видов изделий. Известны нормы расхода ресурсов для выпуска каждого изделия и общий объем ресурсов, которые могут быть использованы для выпуска продукции в определенный период времени. Пусть, кроме того известна удельная прибыль на единицу продукции каждого вида. Требуется составить план производства, который обеспечивает получение максимальной суммарной прибыли за определенное время (месяц, квартал, год).

Примем следующие обозначения:

i – номер ресурса (i =1,2, …, m);

j – номер вида изделия (j =1,2, …, n);

aij – норма расхода ресурса вида j - на единицу i -го изделия;

bi общий объем ресурса вида j, который может быть использован для выпуска продукции в определенный период времени;

с j удельная прибыль на единицу j-го изделия.

Для построения формальной модели введем переменные xi, значения которых будут показывать планируемое количество единиц j -го изделия. По смыслу задачи все переменные могут принимать только неотрицательные значения. Набор значений переменных (x1, x2, …, xn) будет представлять искомый план производства.

 

Исходные параметры задачи представлены в виде технологической матрицы A затрат ресурсов на единицу продукции каждого вида, вектора B объемов ресурсов и вектора C удельной прибыли:

 

2 3 4 1 103

A = 4 2 0 2 B= 148 C= (36 32 10 13)

2 8 7 0 158

 

При этом x1 ³ 0, x2 ³ 0, x3 ³ 0, x4 ³ 0.

 

Составим функция прибыли (целевую функцию):

 

Z=36x1+32x2+10x3+13x4

Необходимо составить производственную программу (х1, х2, …, хn) так, чтобы функция Z приняла наибольшее значение при выполнении всех других условий:

 

2 x1 + 3x2 + 4x3 + 1x4 £103 1 вид ресурса

4x1 + 2x2 + 0x3 + 2x4 £ 148 2 вид ресурса (1)

2x1 + 8x2 + 7x3 + 0x4 £ 158 3 вид ресурса

 

Неравенства (1) нужно превратить в равенства. Для этого вводим дополнительные неотрицательные неизвестные x5 ³ 0, x6 ³ 0, x7 ³ 0.

Решим задачу с помощью симлексной таблицы:

 

 

      X1 X2 X3 X4 X5 X6 X7  
c` Базис H                
  X5                  
  X6                  
  X7                  
  Z-Z0   D1 = -36 D2 = -32 D3 = -10 D4 = -13 D5 = 0 D6 = 0 D7 = 0  
  X5             -0.5    
  X1     0.5   0.5   0.25    
  X7         -1   -0.5    
  Z-Z0   D1 = 0 D2 = -14 D3 = -10 D4 = 5 D5 = 0 D6 = 9 D7 = 0  
  X5         0.29   -0.36 -0.29  
  X1       -0.5 0.57   -0.29 -007  
  X2         -0.14   -0.07 0.14  
  Z-Z0   D1 = 0 D2 = 0 D3 = 4 D4 = 3 D5 = 0 D6 = 8 D7 = 2  

 

Рассчитываем таблицу до тех пор пока все Dj не станут неотрицательными.

 

 

Двойственная задача

 

Ранее мы рассмотрели конкретную линейную производственную задачу по выпуску четырех видов продукции с использованием трех видов ресурсов по заданным технологиям.

Теперь представим себе, что возникла новая ситуация. Некий предприниматель, занимающийся производством каких-то других видов продукции, но с использованием трех таких же видов ресурсов, какие имеются у нас, предлагает нам "уступить" по определенным ценам все имеющиеся у нас ресурсы и обещает платить у1 рублей за каждую единицу первого ресурса, у2 руб – второго, у3 руб – третьего. Возникает вопрос: при каких ценах у1, у2, у3 мы можем согласиться с предложением.

Величины у1, у2, у3 принято называть расчетными, или двойственными, оценками ресурсов. Они прямо зависят от условий, в которых действует наше предприятие.

В моей задаче технологическая матрица А, вектор объемов ресурсов В и вектор удельной прибыли С имеют вид:

 

2 3 4 1 103

A = 4 2 0 2 B= 148 C= (36 32 10 13)

2 8 7 0 158

 

 

Для производства единицы продукции первого вида необходимо затратить, как видно из матрицы А, 2 единицы ресурса первого вида, 4 единицы ресурса второго вида и 2 единиц третьего (элементы первого столбца матрицы). В ценах у1, у2, у3 затраты составят 2 у1 + 4у2 + 2у3, т.е. столько заплатит предприниматель за все ресурсы, идущие на производство единицы первой продукции. На рынке за единицу первой продукции мы получили бы прибыль 36 руб. Следовательно, мы можем согласиться с предложением П только в том случае, если он заплатит не меньше

1 + 4у2 + 2у3 ³ 36

 

Аналогично, во втором столбце матрицы А указаны затраты различных ресурсов на производство единицы продукции второго вида. Эти затраты составят 3 у1 + 2у2 + 8у3, а на рынке за единицу продукции второго вида мы получили бы прибыль 32 руб. Поэтому перед предпринимателем ставится условие

1 + 2у2 +8у3 ³ 32

и так далее по всем видам продукции.

За все имеющиеся у нас ресурсы нам должны заплатить 103у1 + 148у2 + 158у3 рублей. При поставленных нами условиях предприниматель будет искать такие значения величин у1, у2, у3, чтобы эта сумма была как можно меньше. Подчеркнем, что речь идет не о ценах, по которым мы когда-то приобретали эти ресурсы, а об этих ценах, которые существенно зависят от применяемых нами технологий, объемов ресурсов и от ситуации на рынке.

Таким образом, проблема определения расчетных оценок ресурсов приводит к задаче линейного программирования: найти вектор двойственных оценок:

 

y1, y2, y3)

 

минимизирующий общую оценку всех ресурсов

 

W= 103у1 + 148у2 + 158у3 →min (1)

 

при условии, что по каждому виду продукции суммарная оценка всех ресурсов, затрачиваемых на производство единицы продукции, не меньше прибыли, получаемой от реализации единицы этой продукции

1 + 4у2 + 2у3 ³ 36

1 + 3 + 2у3 ³ 32 (2)

1 + 0у2 + 7у3 ³ 10

1 + 2у2 + 0у3 ³ 13

 

причем оценки ресурсов не могут быть отрицательными

 

y1 0, y2 0, y3 0 (3)

 

Решение полученной задачи легко найти с помощью второй основной теоремы двойственности, согласно которой для оптимальных решений

=(х1, х2, х3, х4) и =(y1, y2, y3 )

пары двойственных задач необходимо и достаточно выполнение условий

 

х1 (2у1 + 4у2 + 2у3 – 36) = 0

х2 (3у1 + 2 + 2у3 – 32) = 0

х3 (4у1 + 0у2 + 7у3 - 10) = 0

х4 (1у1 + 2у2 + 0у3 – 13) = 0

 

 

y1 (2у1 + 3у1+ 4у1 +1у1 - 103) = 0

y2 (4у2 + 2у3+0у2 + 2у2 - 148) = 0

y3 (2у3 + 2у3 +7у3 + 0у3 - 158) = 0

 

Так как x1 > 0 и x2 > 0, то

1 + 4у2 + 2у3 – 36 = 0

1 + 2 + 2у3 – 32 = 0

 

Если учесть, что первый ресурс был избыточным, то у2 = 0, и мы приходим к системе уравнений

1 + 2у3 – 36 = 0

1 + 2у3 – 32 = 0

 

откуда следует у1=-4, у3=22.

 

Таким образом, получили двойственные оценки ресурсов

 

у1=-4; у2=8; у3=2, (4)

 

причем общая оценка всех ресурсов равна 1500.

Решение (4) содержалось в последней строке последней симплексной таблицы исходной задачи. Важен экономический смысл двойственных оценок. Например, двойственная оценка второго ресурса у1=4 показывает, что добавление одной единицы 1-го ресурса обеспечит прирост прибыли в 4 единицы.

 

 

Задача о "расшивке узких мест производства"

При выполнении оптимальной производственной программы второй и третий ресурсы используются полностью, т.е. образуют ²узкие места производства². Будем их заказывать дополнительно. Пусть T (t1, t2, t3) – вектор дополнительных объемов ресурсов. Так как мы будем использовать найденные двойственные оценки ресурсов, то должно выполняться условие:

H + Q -1T 0.

Задача состоит в том, чтобы найти вектор T (0, t2, t3), максимизирующий суммарный прирост прибыли

W = 8t2 + 2t3 (1)

 

при условии сохранения двойственных оценок ресурсов (и, следовательно, структуры производственной программы)

 

(2)

 

предполагая, что можно надеяться получить дополнительно не более 1/3 первоначального объема ресурса каждого вида

 

t1 316

0 <=1/3* 216 (3)

t3 199

 

По смыслу задачи t1 ³ 0, t3 ³ 0

 

 

28 + 1/28*t1 ³ 0

7 - 4/7*t1 - 1/7*t3 ³ 0

23 –3/28*t1 + 2/7 t3 ³ 0

t1 £ 316/3

t3 £ 199/3

 

t1 ³ -784

4/7*t1 + 1/7*t3 £ 7

–3/28*t1 + 2/7 t3 ³ 23

t1 £ 316/3

t3 £ 199/3

t1 ³ 0, t3 ³0

 

 

 

 

 

 

Находим координаты точки А(t1,t2). t1 = 0, t2 =49, и прирост прибыли составляет 0*4+49*3=147 рублей.

 

 

cj         b x4+i yi ti  
aij             -3/28    
                 
            2/7    
xj                
Dj                      
                         

 

 

Транспортная задача линейного программирования

 

Транспортная задача формулируется следующим образом. Однородный продукт, сосредоточенный в m пунктах производства (хранения) в количествах а1, а2,... аm единиц, необходимо распределить между n пунктами потребления, которым необходимо соответственно b1, b2,... bn единиц. Стоимость перевозки единицы продукта из i-го пункта отправления в j-ый пункт назначения равна сij и известна для всех маршрутов. Необходимо составить план перевозок, при котором запросы всех пунктов потребления были бы удовлетворены за счет имеющихся продуктов в пунктах производства и общие транспортные расходы по доставке продуктов были минимальными.

Для решения транспортной задачи чаще всего применяется метод потенциалов.

 

Пусть исходные данные задачи имеют вид:

 
 


2 3 4 1

А(40, 60, 70) В (36; 32; 40; 53); С = 4 2 1 2

2 7 7 1

 

Общий объем производства åа i = 40+60+70 = 170; требуется всем потребителям åbi = 36+32+40+53 = 161, т.е. имеем открытую модель транспортной задачи. Для превращения ее в закрытую вводим фиктивный пункт потребления с объемом потребления 170-161 = 9 единиц, причем тарифы на перевозку в этот пункт условимся считать равными нулю, помня, что переменные, добавляемые к левым частям неравенств для превращения их в уравнения, входят в функцию цели с нулевыми коэффициентами.

Первое базисное допустимое решение легко построить по правилу ²северо-западного угла².

 

Потребление b1 = 36 b2 = 32 b3 = 40 b4 = 53 b5 = 9          
Производство                    
а1 = 40         * p1 =0  
a2 = 60           p2  
a3 = 70           p3  
  q1 q2 q3 q4 q5    

 

Следует иметь в виду, что по любой транспортной таблице можно восстановить соответствующий предпочитаемый эквивалент системы уравнений, в таблице записаны лишь правые части уравнений, причем номер клетки показывает, какая неизвестная в соответствующем уравнении является базисной. В любой транспортной таблице должно быть m + n - 1 занятых клеток.

 

Обозначим через m ) вектор симплексных множителей или потенциалов. Тогда Dij = mAij - сij

       
   


i = 1,m; j = 1,n

 

откуда следует

Dij = pi + qj - cij i = 1,m; j = 1,n

Один из потенциалов можно выбрать произвольно. Положим, что р1 = 0. Остальные потенциалы находим из условия, что для базисных клеток . В данном случае получаем

D11 = 0, p1 + q1 - c11 = 0, 0 + q1 - 2 = 0, q1 = 2

D12 = 0, p1 + q2 - c12 = 0, 0 + q2 -3 = 0, q2 = 3

D22 = 0, p2 + q2 - c22 = 0, р2 +3 - 2 = 0, р2 = 1

D23 = 0, p2 + q3 – c23 = 0, 1 + q3 - 1 = 0, q3 = 0

D33 = 0, p3 + q3 – c33 = 0, р3 + 0 - 7 = 0, p3 = 7

D34 = 0, p3 + q4 – c34 = 0, 7 + q4 - 1 = 0, q4 = 6

D35 = 0, p3 + q5 – c35 = 0, 7 + q5 - 0 = 0, q5 = -7

 

Затем по формуле

Dij = pi + qj - cij i = 1, m; j = 1, n

 

 

вычисляем оценки всех свободных клеток:

 

D21 = p2 + q1 - c21 = 1 + 2 - 2 = 1

D31 = p3 + q1 - c31 = 7 + 2 - 2 = 7

D32 = p3 + q2 - c32 = 7 + 3 - 7 = 3

D13 = p1 + q3 – c13 = 0 + 0 - 4 = -4

D14 = p1 + q4 – c14 = 0 + 6 - 1 = 5

D24 = p2 + q4 – c24 = 1 + 6 - 2 = 5

D15 = p1 + q5 – c15 = 0 - 7 - 0 = -7

D25 = p2 + q5 – c25 = 1 - 7 - 0 = -6

 

Находим наибольшую положительную оценку

max () = 7 =D31

Для найденной свободной клетки 31 строим цикл пересчета - замкнутую ломаную линию, соседние звенья которой взаимно перпендикулярны, сами звенья параллельны строкам и столбцам таблицы, одна из вершин находится в данной свободной клетке, а все остальные - в занятых клетках. Это будет 31-11-12-22-23-33. Производим перераспределение поставок вдоль цикла пересчета

 

        36-r 4+r            
          28-r 32+r          
        r   8-r          

 

rMAX = 8

Получаем второе базисное допустимое решение:

 

Потребление b1 = 36 b2 = 32 b3 = 40 b4 = 53 b5 = 9          
Производство                    
а1 = 40         * p1 =0  
a2 = 60           p2  
a3 = 70           p3  
  q1 q2 q3 q4 q5    

 

Находим новые потенциалы, новые оценки.

 

D11 = 0, p1 + q1 – c11 = 0, 0 + q1 – 2 = 0, q1 = 2

D12 = 0, p1 + q2 – c12 = 0, 0 + q2 – 3 = 0, q2 = 3

D22 = 0, p2 + q2 – c22 = 0, р2 + 3 – 2 = 0, р2 = 1

D23 = 0, p2 + q3 – c23 = 0, 1 + q3 – 1= 0, q3 = 0

D33 = 0, p3 + q3 – c33 = 0, р3 + 0 – 7 = 0, p3 = 7

D34 = 0, p3 + q4 – c34 = 0, 7 + q4 - 1 = 0, q4 =-6

D15 = 0, p1 + q5 – c15 = 0, 0 + q5 - 0 = 0, q5 = 0

 

D21 = p2 + q1 - c21 = 1 + 2 – 4 = -1

D31 = p3 + q1 - c31 = 7 + 2 – 2 = 7

D32 = p3 + q2 - c32 = 7 + 3 – 7 = 3

D13 = p1 + q3 – c13 = 0 + 0 – 4 = -4

D14 = p1 + q4 – c14 = 0 - 6 – 1 = -7

D24 = p2 + q4 – c24 = 1 - 6 – 2 = -7

D25 = p2 + q5 – c25 = 1 + 0 – 0 = 1

D35 = p3 + q5 – c35 = 7 + 0 – 0 = 7

 

Находим наибольшую положительную оценку

max () = 7 =D31

 

 

Для найденной свободной клетки 31 строим цикл пересчета 11-31-14-34. Производим перераспределение поставок вдоль цикла пересчета

 

      28-r r        
      8+r 53-r        

 

rMAX = 28

 

Потребление b1 = 36 b2 = 32 b3 = 40 b4 = 53 b5 = 9          
Производство                    
а1 = 40         * p1 =0  
a2 = 60           p2  
a3 = 70           p3  
  q1 q2 q3 q4 q5    

 

Находим новые потенциалы, новые оценки.

 

D11 = 0, p1 + q1 – c11 = 0, 0 + q1 – 2 = 0, q1 = 2

D12 = 0, p1 + q2 – c12 = 0, 0 + q2 – 3 = 0, q2 = 3

D22 = 0, p2 + q2 – c22 = 0, р2 + 3 – 2 = 0, р2 = 1

D24 = 0, p2 + q4 – c24 = 0, 1 + q4 – 2 = 0, q4 = 1

D34 = 0, p3 + q4 – c34 = 0, p3 + 1 - 1 = 0, p3 = 0

D33 = 0, p3 + q3 – c33 = 0, 0 + q3 – 7 = 0, q3 = 7

D15 = 0, p1 + q5 – c15 = 0, 0 + q5 - 0 = 0, q5 = 0

 

D21 = p2 + q1 - c21 = 1 + 2 – 4 = -1

D31 = p3 + q1 - c31 = -2 + 2 – 2 = -2

D32 = p3 + q2 - c32 = 0 + 3 – 7 = -4

D13 = p1 + q3 – c13 = 0 + 7 – 4 = -3

D14 = p1 + q4 – c14 = 0 - 1 – 1 = -2

D23 = p2 + q3 – c23 = 1 + 7 – 1 = -7

D25 = p2 + q5 – c25 = -3 + 0 – 0 = -3

D35 = p3 + q5 – c35 = 0 + 0 – 0 = 0

 

Я получил таблицу, для которой все Dij £ 0 i = 1,m; j = 1,n

Оценки удовлетворяют условию оптимальности, следовательно решение

 

оптимально.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2018-02-24 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: