Смекни!
smekni.com

Линейное и динамическое программирование (стр. 3 из 8)

Транспортная задача

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

Обозначим через xij количество груза, планируемого к перевозке от i-ro поставщика j-му потребителю. При наличии баланса производства и потребле­ния

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

найти план перевозок

X=(xij), xij³0, iÎNm, jÎNn

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

при условии, что из любого пункта производства вывозится весь продукт

, iÎNm

и любому потребителю доставляется необходимое количество груза

, jÎNn

Для решения транспортной задачи чаще всего применяется метод потен­циалов. Пусть исходные данные задачи имеют вид

А(а123)=(40;45;70); В(b1,b2,b3)=(48;30;29;40); 3 6 4 3

С= 2 3 1 3

6 5 1 4

Общий объем производства Sai=40+45+70=155 больше, чем требуется всем потребителям Sbj=48+30+29+40=147, т.е. имеем открытую модель транспортной задачи. Для превращения ее в закрытую вводим фиктивный пункт потребления с объемом потребления 155-147=8 единиц, причем тари­фы на перевозку в этот пункт условимся считать равными нулю, помня, что пе­ременные, добавляемые к левым частям неравенств для превращения их в уравнения, входят в функцию цели с нулевыми коэффициентами.

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

Таблица 1
Потребл

Произв

b1=48

b2=30

b3=29

b4=40

b5=8

a1=40

40 3

6

4

* 3

0

p1=0

a2=45

8 2

30 3

7 1

3

0

p2=-1

a3=70
6 5

22 1

40 4

8 0

p3=-1

q1=3

q2=4

q3=2

q4=5

q5=1

Обозначим через m(p1, p2,…, pm, q1, q2,…, qn) вектор симплексных множителей или потенциалов. Тогда Dij=mAij-cij , iÎNm, jÎNn, откуда следует

Dij=pi+qj-cij , iÎNm, jÎNn

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

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

D21=0, p2+q1-c21=0, p2+3-2=0, p2= -1

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

аналогично, получим: q2=4, р3=-1, q4=5, q5=1.

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

D12=p1+q2-c12=0+4-6= -2

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

D14=2; D15=1; D24=1; D25=0; D31= -4; D32= -2

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

mах(Dij >0)=2=D14,

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

40

*

40-r

r

33

7

8

30

7

®

8+r

7-r

®

15

30

22

40

22+r

40-r

29

33

rmax=7

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

Таблица 2

Потребл

Произв

b1=48

b2=30

b3=29

b4=40

b5=8

a1=40

33 3

6

4

7 3

0

p1=0

a2=45

15 2

30 3

1

3

0

p2=-1

a3=70
6

* 5

29 1

33 4

8 0

p3=1

q1=3

q2=4

q3=0

q4=3

q5= -1

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

D12= -2; D13= -4; D15= -1; D23= -2; D24= -1; D25= -2; D31= -2; D32=0. Поскольку все Dij£0 решение является оптимальным:

33 0 0 7

Xоpt1 = 15 30 0 0

0 0 29 33

Однако, так как оценка клетки D32=0, делаем вывод о наличие другого возможного оптимального решения. Для его нахождения строим цикл пересчета клетки 32: 32-22-21-11-14-34, производим перераспределение:

Таблица 3

Потребл

Произв

b1=48

b2=30

b3=29

b4=40

b5=8

a1=40

3 3

6

4

37 3

0

p1=0

a2=45

45 2

3

1

3

0

p2=-1

a3=70

6

30 5

29 1

3 4

8 0

p3=1

q1=3

q2=4

q3=0

q4=3

q5= -1

Находим новые потенциалы. Получаем рi и qj соответственно равные потенциалам первого базисного оптимального решения (см. табл. 2). Исходя из этого Dmax=D32, однако элемент с индексом 32 уже присутствует в базисе, поэтому пересчет не имеет смысла. Таким образом получаем второе и последнее базисное оптимальное решение:

3 0 0 37

Xоpt2 = 45 0 0 0

0 30 29 3

Оптимальное распределение инвестиций