Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Системный анализ и исследование операций. Теория принятия решений

.pdf
Скачиваний:
6
Добавлен:
15.11.2022
Размер:
519.04 Кб
Скачать

№ 30

bj

56

74

100

ai

 

 

 

70

8

14

6

84

18

10

26

40

22

16

18

150

14

24

40

№ 31

ai

bj

56

74

60

54

 

 

 

 

 

 

 

 

 

 

 

 

30

 

8

14

6

4

84

 

7

10

9

7

20

 

12

16

18

6

110

 

14

24

10

9

№ 32

 

 

 

№ 33

 

 

 

№ 34

 

 

 

bj

27

10

31

 

bj

78

37

50

 

bj

58

37

60

ai

 

 

 

 

ai

 

 

 

 

ai

 

 

 

15

9

5

11

 

60

6

7

3

 

35

10

7

3

35

4

7

9

 

42

9

5

13

 

42

9

5

13

20

10

6

8

 

20

11

8

9

 

20

11

8

9

10

5

3

4

 

75

7

12

5

 

75

7

12

11

№ 35

ai

bj

35

30

45

15

 

 

 

 

 

 

20

 

4

3

3

8

20

 

8

6

2

6

40

 

9

7

3

8

45

 

5

2

4

5

№ 37

ai

bj

10

20

20

10

 

 

 

 

 

 

 

 

 

 

 

 

15

 

10

9

15

8

20

 

25

10

18

5

10

 

14

25

12

10

№ 36

ai

bj

35

80

25

70

 

 

 

 

 

 

30

 

1

4

7

2

45

 

3

1

5

5

75

 

6

8

3

4

60

 

2

3

1

3

№ 38

ai

bj

65

30

50

40

 

 

 

 

 

 

 

 

 

 

 

 

70

 

8

7

4

7

40

 

3

5

6

4

20

 

9

2

5

3

№ 39

 

 

 

 

№ 40

 

 

 

№ 41

 

 

 

bj

27

12

31

 

bj

72

37

51

 

bj

 

48

37

60

ai

 

 

 

 

ai

 

 

 

 

ai

 

 

 

 

19

9

5

11

 

60

4

7

3

 

35

 

6

7

3

35

4

7

9

 

42

9

5

13

 

42

 

9

5

13

20

10

6

8

 

20

10

8

9

 

20

 

11

8

9

10

5

3

4

 

75

7

12

5

 

75

 

7

12

11

21

№ 42

 

 

 

 

№ 43

 

 

 

№ 44

 

 

 

bj

 

37

10

30

 

bj

23

37

50

 

bj

 

25

37

50

ai

 

 

 

 

 

ai

 

 

 

 

ai

 

 

 

 

18

 

8

5

6

 

55

4

7

3

 

31

 

4

7

3

35

 

6

4

9

 

42

9

5

13

 

42

 

9

5

13

20

 

10

12

8

 

20

11

8

9

 

20

 

11

8

9

10

 

5

3

4

 

75

7

12

10

 

75

 

6

12

7

Краткая теория и пояснения к решению. Модель сбалансированной Т-задачи.

 

m

n

 

 

Критерий: L = ∑∑Cij Xij min,

(1)

 

i=1 j=1

 

 

n

 

 

 

 

 

 

 

Xij = ai ,i =

 

 

 

,

(2)

 

1,m

 

j=1

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

Xij = bj , j =1, n,

(3)

 

i=1

 

 

 

 

 

 

 

Xij

0,

(4)

где n число пунктов отправления (ПО);

 

m число пунктов назначения (ПН);

 

Cij

затраты на перевозку единицы груза;

 

ai количество груза в пункте отправления (производственная

мощность);

 

 

 

 

 

 

bj

потребность в грузе в пункте назначения;

 

X ij

– количество груза, перевозимого из i-го пункта отправления

в j-й пункт назначения.

Задача сбалансирована, если суммарные потребности равны суммарным возможностям:

n

m

 

ai

= bj .

(5)

i=1

j=1

 

Особенности модели:

1. Переменныевусловияхзадачивходяттолькоскоэффициентом1.

22

2. В условиях мы имеем две системы ограничений: (2) и (3). Каждая переменная входит в первую группу условий один

и только один раз и во 2-ю группу условий один и только один раз. 3. Число переменных равно m n.

Для разрешимости Т-задачи необходимо и достаточно, чтобы она была сбалансированной. Если условие (5) выполняется, то в задаче заведомо имеется хотя бы одно оптимальное решение.

Решение Т- задачи методом потенциалов. Т-задача должна быть сбалансирована. Если она не сбалансирована, то добавляется фиктивный поставщик (строка) или фиктивный потребитель (столбец) снулевыми затратами иколичеством груза, равным дебалансу.

Сначала строится начальное базисное решение. Базисные решения называют также планами перевозок. Размерность базисного решения равна m + n – 1.

Способы построения начального плана:

правило северо-западного угла;

правило минимального элемента;

метод Фогеля.

Общий принцип определения значений базисных переменных в начальном плане: на каждом шаге необходимо очередной базисной переменной присваивать максимально допустимое значение, а оно определяется как минимум из того, что не довезли в пункт назначения (ПН), и того, что не вывезли из пункта отправления (ПО).

Правило северо-западного угла

Заполняем таблицу, начиная с левого верхнего (северо-западного) угла, двигаясь далее по строке вправо, если полностью удовлетворили потребностьПН, илипо столбцу вниз, если все забрали из ПО.

Занесем в клетку (1,1) меньшее значение из a1 и b1, т.е. x11 = min( a1 ,b1 ).

Если a1 > b1, то x11 = b1 и первый столбец «закрыт» для заполнения остальных его клеток, т.е. xi1 =0 для i = 2, 3, ..., m (потребности первого потребителя удовлетворены полностью).

23

Двигаясь далее по первой строке, записываем в соседнюю клетку (1,2) меньшее из чисел a1 b1 и b2, т.е.

x12 = min(a1 b1 ;b2 ).

Если же b1 > a1, то аналогично «закрывается» первая строка, т.е. x1k = 0 для k = 2, 3, ..., n . Переходим к заполнению соседней клетки (2,1), куда заносим x21 = min(a2 ;b1 a1 ).

Заполнив вторую клетку (1,2) или (2,1), переходим к заполнению следующей клетки либо по второй строке, либо во втором столбце. Этот процесс продолжается до полного исчерпания груза у поставщиков или полного удовлетворения потребностей. Заполнение последней клетки (m,n) одновременно «закроет» столбец n и строку m.

План, полученный по правилу северо-западного угла, будет опорным планом системы ограничений задачи.

Пример:

Найти опорный план транспортной задачи по правилу северозападного угла.

Поставщик (ПО)

 

Потребитель (ПН)

 

Запасы

B1

 

B2

B3

B4

груза

 

 

A1

6

 

7

3

5

100

A2

1

 

2

5

6

150

A3

3

 

10

20

1

50

Потребность в грузе

75

 

80

60

85

300/300

Как видно из правой нижней клетки, потребности равны возможностям (300), т.е. задача сбалансированная. Ход построения начального плана показан стрелками.

Поставщик

 

Потребитель

 

 

 

Запасы

B1

B2

B3

 

B4

 

груза

 

 

 

A1

6

7

 

3

 

5

100

75

25

 

 

 

 

 

 

 

 

 

 

A2

1

2

 

5

 

6

150

 

55

60

35

 

 

 

 

 

A3

3

10

 

20

50

1

50

 

 

 

 

 

 

 

 

 

 

 

 

Потребность в грузе

75

80

60

 

85

 

300

24

Тарифы (удельные затраты) перевозок размещены в правом верхнем углу каждой клетки таблицы, а значения перевозимого по плану груза показаны серым цветом. Как видно, получено 6 положительных переменных, т.е. их число равно m + n – 1 = 3 + 4 – 1 = 6. Суммарные затратыпоэтому плану

6·75 + 7·25 + 2·55 + 5·60 + 6·35 + 1·50 = 1295.

Правило минимального элемента

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

Пример:

 

 

 

 

 

 

 

 

Найти опорный план по правилу минимального

элемента

для задачи, представленной в следующей таблице:

 

 

 

 

 

 

 

 

 

 

 

 

 

Поставщик

 

 

 

Потребитель

 

 

Запасы

 

B1

B2

 

B3

 

B4

 

груза

 

 

 

 

 

A1

 

6

7

 

3

 

5

 

100

A2

 

1

2

 

5

 

6

 

150

A3

 

3

10

 

20

 

1

 

50

Потребность

 

75

80

 

60

 

85

 

300/300

Решение:

Наименьшие тарифы соответствуют клеткам (2,1), (3,4): С21 = С34 = 1. Поместим максимально возможное количество груза, например, в клетку (2,1) – x21 = 75, остаток груза помещаем в клетку (2,2), в которой тариф С22 = 2 наименьший из всех в этой строке, т.е. x22 = min(80;75) = 75. Второму потребителю еще необходимо

5 единиц груза (80 – 75). В клетку (1,2) от поставщика А1 помещаем

25

x 12 = min(5;100) =5 единиц груза.

Далее по первой строке в клетку (1,3), имеющую наименьший тариф, заносим необходимое количество груза

x13 =min(60;95) =60 единиц груза.

Остаток груза от поставщика А1 заносим в клетку (1,4), т.е. x14 = min(85;35) = 35 единиц груза.

Спрос четвертого потребителя удовлетворен не полностью, поэтому находим в этом столбце клетку (3,4) с наименьшим тарифом

ипомещаем в нее количество груза x34 = 50 ед.

Врезультате проведенных назначений получаем опорный план:

Поставщик

 

 

 

 

Потребитель

 

Запасы

B1

 

 

 

B2

 

 

B3

B4

груза

 

 

 

 

 

 

A1

6

 

 

 

7

 

 

3

5

100

 

 

5

 

 

60

35

 

 

 

 

 

 

 

A2

1

 

 

 

2

 

 

5

6

150

75

 

 

75

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A3

3

 

 

 

10

 

 

20

1

50

 

 

 

 

 

50

 

 

 

 

 

 

 

 

 

 

Потребность в грузе

75

 

 

 

80

 

 

60

85

300

или в матричном виде

 

 

 

 

 

 

 

 

 

 

0

5

60

35

 

 

 

X =

75

75

0 0

.

 

 

 

 

0

0

0

50

 

 

 

 

 

 

 

 

Этому плану соответствуют суммарные затраты 7·5 + 3·60 + 5·35 + + 1·75 + 2·75 + 50·1 = 665, что существенно меньше, чем в предыдущем плане.

Замечание: Может оказаться, что при построении плана перевозок занятых клеток (xij > 0) будет меньше, чем m + n – 1. В этом случае задача называется вырожденной (присутствуют нулевые базисные переменные). Вырожденность может иметь место как в начальном плане, так и в последующих. Если столкнетесь с таким планом, имейте в виду, что клетка с базисным нулем обладает всеми «правами» базисной клетки.

26

Метод потенциалов

Данный метод называют также модифицированным распределительным методом (МОДИ).

После того как найден исходный опорный план перевозок, каждому поставщику Ai (каждой строке) ставится в соответствие неко-

торое число ui ( i =1, m ), а каждому потребителю B j (каждому столб-

цу) – некоторое число v j . Числа ui и v j называют потенциалами соответственно поставщика Ai и потребителя B j . Они выбираются так, чтобы в каждой базисной клетке их разность равнялась тарифу этой клетки, т.е. из равенства v j ui = Сij .

Количество потенциалов m + n, а занятых (базисных) клеток m + n – 1, следовательно, для определения значений ui и v j при-

ходится решать систему из m + n – 1 уравнений v j ui = Сij с m + n неизвестными. В этом случае одной из неизвестных можно присвоить произвольное значение, и тогда система будет иметь единственное решение, т.е. все остальные m + n – 1 неизвестных определятся однозначно сточностью до постоянной величины. Потенциалы нужны для вычисления оценок, которые позволяют определять статус текущего плана. Оценки вычисляются только для небазисных (свободных) клеток по формуле ij = v j ui cij (для базисных клеток оценки заведомо

равны нулю). План оптимален, если для всех небазисных переменных ij 0.

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

27

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

Когда среди оценок не окажется отрицательных, полученный план будет оптимальным.

Пример:

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

Поставщик

 

Потребитель

 

Запасы

B1

B2

B3

B4

груза

 

A1

3

8

2

1

10

 

 

 

 

 

 

A2

1

4

3

5

30

 

 

 

 

 

 

A3

7

2

1

6

40

 

 

 

 

 

 

Потребность

20

5

30

25

80

в грузе

 

 

 

 

 

Решение:

Задача сбалансирована. Опорный план перевозок найдем, например, по правилу северо-западного угла. В полученном плане (см. ниже) число занятых клеток r = m + n – 1 = 3 + 4 – 1 = 6, т.е. план не вырожден. Значение критерия в этом начальном плане

L(0) =10 3 +10 1+5 4 +15 3 +15 1+ 25 6 = 270;

28

Поставщик

 

 

Потребитель

 

 

 

 

Запасы

B1

 

B2

 

B3

 

B4

 

 

груза

 

 

 

 

 

 

 

3

 

 

8

 

2

 

1

 

A1

10

 

 

 

 

 

+

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

4

 

3

 

5

 

A2

10

 

5

 

15

 

 

 

 

30

 

+

 

 

 

 

 

 

 

 

A3

7

 

 

2

15

1

25

6

40

 

 

 

 

+

 

 

 

 

 

 

 

 

 

 

Потреб-

20

 

5

 

30

 

25

 

 

Σ = 80

ность

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Определяем потенциалы ui

и v j :

 

 

 

 

 

 

 

 

v1 u1 =3; v3 u2 =3;

 

 

 

 

 

 

v1 u2 =1; v3 u3 =1;

 

 

 

 

 

 

v2 u2 = 4; v4 u3 = 6.

 

 

 

Полагая, например, u1 = 0, находим остальные потенциалы:

 

v1 =3; v2

= 6; v3 =5; v4 =10; u2

= 2; u3 = 4.

 

 

 

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

 

 

 

 

 

12 = v2 u1 c12 = 6 0 8 = −2; ∆13 = v3 u1 c13 =5 0 2 = 3; ∆14 = v4 u1 c14 =10 1 = 9;

24 = v4 u2 c24 =10 2 5 = 3;

31 = v1 u4 c31 =3 4 7 = −8;

32 = v2 u3 c32 = 6 4 2 = 0.

Матрица оценок для начального плана перевозок

 

 

 

2

 

*

 

 

 

 

9

 

 

0

3

9

 

 

 

 

(0)

*

*

*

 

 

 

 

=

3

.

 

0

0

0

 

 

8

0

0*

0*

 

29

Строим цикл на той

клетке, где самая большая оценка.

Это клетка (1,4).

 

Находим

 

θ(0)

= min xij

 

ij нечетн.вершинам

и перемещаем по циклу θ0, добавляя к четным вершинам и вычитая

из нечетных.

 

Так, для построенного цикла

θ(0) = min(10,15,25) = 10.

Переместивэтозначениепоциклу, получаемновыйпланперевозок:

 

 

0

0

0

10

 

(I)

 

 

 

 

 

0

 

x

 

=

20

5

5

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

25

15

 

 

 

Новое значение критерия L(I) = L(0) θ

(0)

= 270 10 9 =180,

 

14

следовательно, первая итерация улучшила критерий на 90 ед. Преобразуя матрицу (0) по решению x(I), находим новую матри-

цу оценок:

 

 

 

11

6

 

 

 

 

9

0

 

(I)

 

 

 

0

 

 

3.

 

=

0

0

3

 

 

 

 

 

 

 

 

 

8

0

 

 

 

 

 

 

0

0

 

 

 

 

 

 

 

 

 

 

 

+3

+3

 

 

 

 

(0) помечались элементы, соответствующие базисным в решении x(I).)

Рассмотрим, как можно преобразовать матрицу (k) в матрицу (k+1) на основе нового решения x(k +1) .

Находим максимальный элемент матрицы (k)

max ij = ∆kr .

30

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]