Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
транспортная задача пример.docx
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
121.33 Кб
Скачать

2.3 Методы нахождения начального решения. Метод минимальной стоимости

bj

ai

b1

b2

b3

b4

50

/20/0

80

/40

20

/0

40

/30/3

A1

90

/70/10/0

20

2

40

3

4

30

3

A2

30

/10/0

5

3

20

1

2

A3

40

/0

2

40

1

4

2

a4

30

/0

30

0

0

0

30

0

X0=

20

40

0

30

0

0

20

10

0

40

0

0

30

0

0

0

fo(xo) = 2·20 + 3·40 + 3·30 + 20·1 + 2·10 + 1·40 + 0·30 = 330

Начальные решения не вырождены, так как количество ненулевых элементов в них равно m + n – 1 = 4 + 4 – 1 = 7

В противном случае, т.е. если количество ненулевых элементов < 7, то решение называется вырожденным.

Если метод минимальной стоимости дает вырожденное решение, то можно найти решение методом северо-западного угла.

Если в обоих методах решение вырожденно, то вводится значимый ноль (Õ)

    1. Метод потенциалов. Обоснование метода потенциалов.

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

Если переменная Xij≠0, то соответствующее решение двойственной задачи:

Xij≠0 Ui + Vj = Cij =› Ui  0

xlk = 0 Ul + Vk < Clk Clk - Ul - Vk > 0

lk > 0, если нет, то строим новое начальное решение и т.д.

Если lk = 0, то имеет место альтернативный оптимум и выполняется еще одна операция и этот элемент выбирается за разрешающий.

Vj

Ui

V1

V2

V3

V4

2

3

2

3

U1

0

20

2

40

3

2

4

30

3

U2

-1

4

5

1

3

20

1

10

2

U3

-2

2

2

40

1

4

4

1

2

U4

-2

30

0

-1

0

0

0

-1

30

0

U1 + V1 = 2 U1 = 0

U1 + V2 = 3 V1 = 2

U1 + V3 = 1 V4 = 3

U1 + V4 = 3 V2 = 3

U2 + V3 = 1 U2 = -1

U2 + V4 = 2 V3 = 2

U3 + V2 = 1 U3 = -2

U4 + V1 = 0 U4 = -2

Ui + Vj = Cij

Ui = Cij - Vj

Vj = Cij – Ui, U1  0

Ui + Vj < Cij

Vxij* = 0

Ui + Vj < Cij

lk = Clk - Ui - Vi > 0

lk = 0

Решение не оптимальное, находим следующее решение.

(r, s) = {l; k │ min lk < 0} = (4,2)

min lk = -1

X0=

+20

40-

0

30

0

0

20

10

0

40

0

0

-30

0*+

0

0

Строим цикл, начиная с разрешающего элемента 0*, таким образом, чтобы в вершинах его были ненулевые элементы.

Помечаем вершины, начиная с разрешающего нуля, чередованием знаков + -.

Θ1 = min {xlk-}= min {40,30} = 30

X1=

50

+10

0

30-

0

0

20

10

0

40

0

0

0

-30

0

0*+

fo(x1) = 2·50 + 3·10 + 3·30 + 1·20 + 2·10 + 1·40 + 0·30 = 300

fo(x1) = fo(x0) + Θ1 (∑Cpq+ - ∑Cef-) = 330 + 30 · (2 + 0 – 3 + 0) = 300

Vj

Ui

V1

V2

V3

V4

2

3

2

3

U1

0

50

2

10

3

2

4

30

3

U2

-1

4

5

1

3

20

1

10

2

U3

-2

2

2

40

1

4

4

4

2

U4

-3

-1

0

30

0

1

0

-1

0

На каждом этапе необходимо делать проверку:

Cij = Ui + Vj – проверка.

lk = Clk – Ul - Vk

44 = 0, то имеет место альтернативный оптимум.

Q2 = min [30-; 30-] = 0

X2*=

50

40

0

0

0

0

20

10

0

40

0

0

0

0-

0

30

fo(x2*) = 2·50 + 3·40 + 1·20 + 2·10 + 1·40 + 0·30 = 300

fo(x2*) = fo(x1*) + 30*(3 + 0 – 3 – 0)

Vj

Ui

V1

V2

V3

V4

2

3

2

3

U1

0

50

2

40

3

2

4

30

3

U2

-1

4

5

1

3

20

1

10

2

U3

-2

2

2

40

1

4

4

1

2

U4

-3

1

0

30

0

1

0

0

Ответ: fo(x*) = 300

X2*=

50

10

0

30

0

0

20

10

0

40

0

0

0

30

0

0

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