Файл: Методические указания по выполнению курсовой работы по дисциплине (модулю) Методы оптимальных решений.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 05.12.2023

Просмотров: 180

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
v1 = 6 и v4 =5 соответственно. Для неизвестного потенциала u3 нулевую поставку можно разместить в клетках (3, 1) и (3, 4), для которых известны те же потенциалы v1 = 6 и v4 =5 соответственно. Для неизвестного потенциала v2 нулевую поставку можно разместить в клетках (1, 2) и (4, 2), для которых известны потенциалы u1 = 0 и u4 = 1 соответственно. Для неизвестного потенциала v3 нулевую поставку можно разместить в клетках (1, 3) и (4, 3), для которых известны те же потенциалы u1 = 0 и u4 = 1 соответственно.

Среди клеток (2, 1), (2, 4), (3, 1), (3, 4), (1, 2), (4, 2), (1, 3) и (4, 3), в которых может быть размещена нулевая поставка, наименьший тариф имеет клетка (4, 3) с c43 = 6. Следовательно, нулевую поставку размещаем в клетку (4, 3), и она становится условно занятой и для нее выполняется условие u4 + v3 = c43, откуда v3 = c43u4 = 6 – (1) = 7:


bj

ai

1

2

3

4

ui

15

16

15

20

1

14

6

14

10

-

7

-

5

-

0

2

11

10

-

7

11

6

-

9

-




3

20

13

-

14

5

5

15

7

-




4

21

5

1

10

-

6



4

20

1

vj

6




7

5





Для клетки (3, 3): u3 +
v3 = c33, откуда u3 = c33v3= 5 – 7 = –2:


bj

ai

1

2

3

4

ui

15

16

15

20

1

14

6

14

10

-

7

-

5

-

0

2

11

10

-

7

11

6

-

9

-




3

20

13

-

14

5

5

15

7

-

–2

4

21

5

1

10

-

6



4

20

1

vj

6




7

5





Для клетки (3, 2): u3 + v2 = c32, откуда v2 = c32u3 = 14 – (–2) = 16:



bj

ai

1

2

3

4

ui

15

16

15

20

1

14

6

14

10

-

7

-

5

-

0

2

11

10

-

7

11

6

-

9

-




3

20

13

-

14

5

5

15

7

-

–2

4

21

5

1

10

-

6



4

20

1

vj

6

16

7

5






Для клетки (2, 2): u2 + v2 = c22, , откуда u2 = c22v2= 7 – 16 = –9. Таким образом, найдены все значения потенциалов:


bj

ai

1

2

3

4

ui

15

16

15

20

1

14

6

14

10

-

7

-

5

-

0

2

11

10

-

7

11

6

-

9


–9

3

20

13


14

5

5

15

7

-

–2

4

21

5

1

10

-

6



4

20

1

vj

6

16

7

5






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

12 = u1 + v2c12 = 0 + 16 – 10 = 6 > 0,

13 = u1 + v3c13 = 0 + 7 – 7 = 0,

14 = u1 + v4c14 = 0 + 5 – 5 = 0,

21 = u2 + v1c21 = – 9 + 6 – 10 = –13 < 0,

23 = u2 + v3c23 = – 9 + 7 – 6 = –8 < 0,

24 = u2 + v4c24 = – 9 + 5 – 9 = –13 < 0,

31 = u3 + v1c31 = – 2 + 6 – 13 = –9 < 0,

34 = u3 + v4c34 = – 2 + 5 – 7 = –4 < 0,

42 = u4 + v2c42 = – 1 + 16 – 10 = 5 > 0.
В распределительной таблице оценки клеток проставлены в нижнем левом углу в скобках:



bj

ai

1

2

3

4

ui

15

16

15

20

1

14

6

14

10

(6)

7

(0)

5

(0)

0

2

11

10

(–13)

7

11

6

(–8)

9

(–13)

–9

3

20

13

(–9)

14

5

5

15

7

(–4)

–2

4

21

5

1

10

(5)

6



4

20

1

vj

6

16

7

5






Получили две положительные оценки свободных клеток: 12 = 6 > 0 42 = 5 > 0. Следовательно, исходное опорное решение не является оптимальным и его можно улучшить.

Методика перехода к лучшему опорному решению

Наличие положительной оценки свободной клетки (ij ≥ 0) при проверке опорного решения на оптимальность свидетельствует о том, что полученное решение не оптимально, и для уменьшения значения целевой функции надо перейти к другому опорному решению. При этом надо перераспределять грузы, перемещая их из занятых клеток в свободные. Свободная клетка становится занятой, а одна из ранее занятых – свободной.

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



Но для клетки с положительной оценкой он является единственным.

Около свободной клетки цикла ставится знак (+), затем, используя правило чередования знаков, поочередно проставляют знаки (–) и (+). У вершин со знаком (–) выбирают минимальный груз  = min[xij()], его прибавляют к грузам, стоящим у вершин со знаком (+), и отнимают от грузов у вершин со знаком (–). В результате перераспределения груза получим новое опорное решение. Это решение проверяем на оптимальность, и т.д. до тех пор, пока не получим оптимальное решение.

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

Если при перераспределении поставки по циклу поставка обращается в нуль сразу в нескольких заполненных клетках, то свободной следует считать только одну (любую) из них. Остальные клетки, поставка в которых стала равной нулю, следует считать заполненными нулевой поставкой
.

Переход к следующему опорному решению.

Выбираем клетку, от которой начнем построение цикла перераспределения поставок, по правилу , или , т.е. максимальную величину оценки имеет свободная клетка (1, 2). Для этой клетки можно построить следующий цикл: 0*141 1550* (все вершины цикла, кроме первой, находятся в занятых клетках, углы прямые, число вершин четное). У вершин цикла с соответствующими значениями поставок по правилу чередования знаков ставим знаки (+) и (–).У вершин со знаком (–) выбираем минимальный груз  = min[14, , 5] = . Поскольку перемещаемый по циклу груз имеет нулевое значение, то произойдет только перемещение нулевой поставки в клетку(1, 2), а клетка (4, 3), где ранее была нулевая поставка, станет свободной.


Фактически решение задачи (план перевозок) не изменилось, однако необходимо пересчитать потенциалы и найти новые оценки свободных клеток, учитывая, что клетка (1, 2) теперь занята, а клетка (4, 3) свободна:

.

Проверка решения Х1 на оптимальность выполняется аналогично предыдущему шагу. Расчет потенциалов для занятых клеток:

u1 = 0;

клетка (1, 1): v1 = c11u1 = 6 – 0 = 6;

клетка (4, 1): u4 = c41v1 = 5 – 6 = 1;

клетка (1, 2): v2 = c12u1 = 10 – 0 = 10;

клетка (2, 2): u2 = c22v2 = 7 – 10 = 3;

клетка (3, 2): u3 = c32v2 = 14 – 10 = 4;

клетка (3, 3): v3 = c33u3 = 5 – 4 = 1;

клетка (4, 4): v4 = c44u4 = 4 – (1) = 5.

Расчет оценок свободных клеток:

13 = u1