О САЙТЕ
Добро пожаловать!

Теперь вы можете поделиться своей работой!

Просто нажмите на значок
O2 Design Template

ФЭА / АИТ / Лабораторная работа №2 по дисциплине: «Структура и математическое обеспечение систем управления» на тему: «Потоковые модели» Вариант №13

(автор - student, добавлено - 8-01-2014, 01:04)

 

СКАЧАТЬ:  lr313.zip [52,21 Kb] (cкачиваний: 32)

 

 

Лабораторная работа №2

 

по дисциплине: «Структура и математическое обеспечение

систем управления»

 

на тему: «Потоковые модели»

 

Вариант №13

 

 

 

 

Цель и содержание работы

Изучение потоковых моделей.

Основные сведения из теории

Потоковые модели объединяют ряд разнородных задач, общей чертой которых является наличие потоков, циркулирующих между пунктами производства и потребления. Например, потоки продукции, потоки товаров, финансовые потоки, информационные потоки. Наиболее удобной формой представления этих моделей является графовая форма.

Рассмотрим типичный пример потоковой модели - задачу, получившую название в классике «Транспортная задача».

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

Пусть в р пунктах отправления находятся соответственно а1, а2, … , ар единиц однородного груза, который должен быть доставлен q потребителям в количествах b1, b2, …, bq единиц.

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

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

 


 

Метод минимальной стоимости

Построение плана начнем с клетки с наименьшей стоимостью  перевозок. Пусть это будет клетка с координатами (i; j). При наличии нескольких клеток с одинаковыми стоимостями выберем любую из них. Запишем в эту клетку элемент xij = min(ai, bj). Если ai < bj, то запасы поставщика Ai исчерпаны, а потребителю Bj требуется еще bj = bj-ai единиц груза. Поэтому, исключая i-ю строку, снова ищем клетку с наименьшей стоимостью перевозок и заполняем ее с учетом изменившихся потребностей. В случае ai > bj из рассмотрения исключается j-й столбец, а запасы Ai полагаются равными ai = ai-bj. Продолжаем этот процесс до тех пор, пока все запасы не будут исчерпаны, а все потребности удовлетворены.

 

Метод «северо-западного угла»

Заполним таблицу, начиная с левого верхнего угла, двигаясь далее или по строке вправо, или по столбцу вниз. В клетку (1, 1) занесем меньшее из чисел ai и bj, т.е. х11 = min(a1; b1). Если a1 > b1 , то х11 = b1 и первый столбец закрыт, т.е. потребности первого потребителя удовлетворены полностью. Двигаемся дальше по первой строке, записывая в соседнюю клетку (1, 2) меньшее из чисел a1-b1 и b2 , т.е. х12 = min(a1-b1, b2). Если b2 > a1, то аналогично закрывается первая строка и далее переходим к заполнению соседней клетки (2, 1), куда заносим х21 = min(a2 , b1-a1). Будем продолжать этот процесс до тех пор, пока на каком-то этапе не исчерпываются ресурсы аm и потребности bn. Клетки таблицы, в которые записаны отличные от нуля перевозки, называются базисными, а пустые - свободными. План называется вырожденным, если количество базисных клеток в нем меньше, чем m+n-1. Если на каком-то этапе решения получился вырожденный план, то его необходимо пополнить, проставив в недостающем числе клеток нулевую перевозку и превратив эти клетки в базисные. Общий баланс и суммарная стоимость перевозок плана при этом не изменятся. Однако проводить пополнение плана, выбирая клетки произвольно, нельзя. Циклом в транспортной таблице называется несколько клеток, соединенных замкнутой ломаной линией так, чтобы две соседние вершины ломаной были расположены либо в одной строке, либо в одном столбце. Ломаная линия может иметь точки самопересечения, но не в клетках цикла. План называется ациклическим, если его базисные клетки не содержат циклов.

 

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

Правила вычислений по методу потенциалов сводятся к следующему.

1. Находим потенциалы uк и vl всех пунктов отправления Ак и назначения Вl. Сопоставим каждому поставщику Ai и каждому потребителю Bj величины ui и vj соответственно так, чтобы для всех базисных клеток плана были выполнены соотношения ui+vj = cij. Поскольку число базисных клеток в плане равно m+n‑1, то для определения потенциалов получается система из m+n-1 уравнений с m+n неизвестными. Обычно для простоты полагают один из потенциалов равным нулю и затем вычисляют остальные. В транспортной таблице для потенциалов v заводится дополнительные строка, а для потенциалов u – дополнительный столбец, куда проставляются найденные значения.

2. Для каждой свободной клетки плана вычислим разности Δcij = cij-(ui+vj) и запишем полученные значения в левых нижних углах соответствующих клеток. План является оптимальным, если все разности Δcij ≥ 0. В противном случае план можно улучшить следующим способом. Найдем клетку с наибольшей по абсолютной величине отрицательной разностью Δcij и построим цикл, в котором, кроме этой клетки, все остальные являются базисными. В свободной клетке значение будет увеличено, проставим в ее правом нижнем углу знак +. Теперь пройдем по всей ломаной цикла, проставляя в правых нижних углах клеток поочередно знаки + и -. Груз будет перераспределен по клеткам цикла на величину Δx = min(xij) следующим образом. В клетках со знаком + значение перевозки нужно увеличить на величину Δx, а в клетках со знаком – уменьшить на величину Δx.

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

Расчетная часть

 

Задание

Найти опорный план с помощью методов минимальной стоимости (минимального элемента), "северо-западного угла"; оптимальный план с помощью метода потенциалов.

 

Исходные данные

bj 

ai

1

2

3

360 

260 

500 

400 

16

12

14

180 

10

11

13

360 

9

6

4

180 

8

12

7

 

 

Порядок выполнения работы 

1. Метод минимальной стоимости

 

1)

1

2

3

a\b

360

260

500

400

16

12

14

180

10

11

13

360

9

6

4

180

8

12

7

 

с33 = 4 - наименьшая стоимость перевозок в исходной таблице.

 

2)

1

2

3

a\b

360

260

140

400

16

12

14

180

10

11

13

0

 

 

360

180

8

12

7

 

a3 < b3 => x33 = 360; b3 = b3-a3=140; a3 = 0. Исключаем 3 строку.

с43 = 7 - наименьшая стоимость перевозок в полученной таблице.

3)

1

2

3

a\b

360

260

0

400

16

12

 

180

10

11

 

0

 

 

360

40

8

12

140

 

a4 > b3 => x43 = 140; a4 = a4-b3=40; b3 = 0. Исключаем 3 столбец.

с41 = 8 - наименьшая стоимость перевозок в полученной таблице.

 

4)

1

2

3

a\b

320

260

0

400

16

12

 

180

10

11

 

0

 

 

360

0

40

 

140

 

a4 < b1 => x41 = 40; b1 = b1-a4=320; a4 = 0. Исключаем 4 строку.

с21 = 10 - наименьшая стоимость перевозок в полученной таблице.

 

5)

1

2

3

a\b

140

260

0

400

16

12

 

0

180

 

 

0

 

 

360

0

40

 

140

 

a2 < b1 => x21 = 180; b1 = b1-a2=140; a2 = 0. Исключаем 2 строку.

с12 = 12 - наименьшая стоимость перевозок в полученной таблице.

 

6)

1

2

3

a\b

140

0

0

140

16

260

 

0

180

 

 

0

 

 

360

0

40

 

140

 

a1 > b2 => x12 = 260; a1 = a1-b2=140; b2 = 0. Исключаем 2 столбец.

с11 = 16 - наименьшая стоимость перевозок в полученной таблице. 


 

7)

1

2

3

a\b

0

0

0

0

140

260

 

0

180

 

 

0

 

 

360

0

40

 

140

 

a1 = b1 => x11 = 140; a1 = a1-b1=0; b1 = 0. Исключаем 1 столбец. 

Опорный план составлен.

 

 8) 

2240

3120

0

 

1800

0

0

 

0

0

1440

 

320

0

980

 

 

Сумма:

9900

 

Суммарная стоимость перевозок:

 

 

2. Метод "северо-западного  угла"

 

1)

1

2

3

a\b

360

260

500

400

16

12

14

180

10

11

13

360

9

6

4

180

8

12

7

 

Начнем заполнение таблицы с левого верхнего угла.  Клетка (1; 1).

 

2)

1

2

3

a\b

0

260

500

40

360

12

14

180

 

11

13

360

 

6

4

180

 

12

7

 

x11 = min(a1; b1) = 360; a1 = a1-b1=40; b1 = 0. Исключаем 1 столбец.

Переходим по столбцу вправо в клетку (1; 2).

 3)

1

2

3

a\b

0

220

500

0

360

40

 

180

 

11

13

360

 

6

4

180

 

12

7

 

x12 = min(a1; b2) = 40; b2 = b2-a1=220; a1 = 0. Исключаем 1 строку.

Переходим по строке вниз в клетку (2; 2).

 

4)

1

2

3

a\b

0

40

500

0

360

40

 

0

 

180

 

360

 

6

4

180

 

12

7

 

x22 = min(a2; b2) = 180; b2 = b2-a2=40; a2 = 0. Исключаем 2 строку.

Переходим по строке вниз в клетку (3; 2).

 

5)

1

2

3

a\b

0

0

500

0

360

40

 

0

 

180

 

320

 

40

4

180

 

 

7

 

x32 = min(a3; b2) = 40; a3 = a3-b2=320; b2 = 0. Исключаем 2 столбец.

Переходим по столбцу вправо в клетку (3; 3).

 

6)

1

2

3

a\b

0

0

180

0

360

40

 

0

 

180

 

0

 

40

320

180

 

 

7

 

x33 = min(a3; b3) = 320; b3 = b3-a3=180; a3 = 0. Исключаем 3 строку.

Переходим по строке вниз в клетку (4; 3).

 

 

7)

1

2

3

a\b

0

0

0

0

360

40

 

0

 

180

 

0

 

40

320

0

 

 

180

 

x43 = min(a4; b3) = 180; b3 = b3-a4=0; a4 = 0. Исключаем 4 строку.

m+n-1=4+3-1=6 - соответствует числу базисных клеток.

Опорный план составлен.

 

 8)

5760

480

0

 

0

1980

0

 

0

240

1280

 

0

0

1260

 

 

Сумма:

11000

 

Суммарная стоимость перевозок:

 

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

 

опорный план

1

2

3

a\b

360

260

500

400

360

40

 

180

 

180

 

360

 

40

320

180

 

 

180

 

Для составления оптимального плана воспользуемся опорным планом из метода "северо-западного угла".

 

1)

1

2

3

 

a\b

360

260

500

u

400

16

12

4

10

180

-5

11

4

9

360

-1

6

4

4

180

-5

3

7

7

v

6

2

0

 

Найдем потенциалы vl  и uk (где  и ) используя базисные клетки опорного плана.

cij = ui+vj. Пусть v3 = 0, тогда:

1) u4 = c43-v3 = 7;

2) u3 = c33-v3 = 4;

3) v2 = c32-u3 = 2;

4) u2 = c22-v2 = 9;

5) u1 = c12-v2 = 10;

6) v1 = c11-u1 = 6.

Заполним свободные клетки.  ∆cij = cij - (ui+vj), тогда:

1) ∆c13 = c13 - (u1+v3) = 4;

2) ∆c21 = c21 - (u2+v1) = -5;

3) ∆c23 = c23 - (u2+v3) = 4;

4) ∆c31 = c31 - (u3+v1) = -1;

5) ∆c41 = c41 - (u4+v1) = -5;

6) ∆c42 = c42 - (u4+v2) = 3.

∆c21, ∆c31, ∆c41 < 0 => план не является оптимальным.

min(∆cij) = ∆c41 = -5.

 

2)

1

2

3

 

 

a\b

360

260

500

 

 

400

360

40

 

 

+

180

 

180

 

 

-

360

 

40

320

 

 

180

 

 

180

 

 

 

Требуется переместить часть продукции в клетку (4; 1). Для этого обозначим (4; 1) знаком "+" и компенсируем перемещение продукции в опорном плане, тогда:

1) (4; 3) - "-";

2) (3; 3) - "+";

3) (3; 2) - "-";

4) (1; 2) - "-";

5) (1; 1) - "-".

 

3)

1

2

3

a\b

360

260

500

400

320

80

 

180

 

180

 

360

 

 

360

180

40

 

140

 

Для составления новой транспортной таблицы, освободим загруженную клетку (3; 2) с минимальным значением x32 = 40 и изменим количество продукции  в таблице согласно знакам "+" или "-", получим:

1) x11 = x11-40 = 320;

2) x12 = x12+40 = 80;

3) x33 = x33+40 = 360;

4) x43 = x43-40 = 140.

 

4)

1

2

3

 

a\b

360

260

500

u

400

16

12

-1

15

180

-5

11

-1

14

360

4

5

4

4

180

8

8

7

7

v

1

-3

0

 

 

Рассчитаем потенциалы для новой таблицы.

∆c21, ∆c13, ∆c23 < 0 => план не является оптимальным.

min(∆cij) = ∆c21 = -5.

 

5)

1

2

3

a\b

360

260

500

400

320

80

 

180

 

180

 

360

 

 

360

180

40

 

160

 

Определим ячейки для перемещения продукции.

 

6)

1

2

3

a\b

360

260

500

400

140

260

 

180

180

 

 

360

 

 

360

180

40

 

160

 

Для ячеек со знаком "-" min(xij) = x22 = 180.

Для получения новой транспортной таблицы изменим количество продукции  согласно знакам "+" или "-" .

 

 

7)

1

2

3

 

a\b

360

260

500

u

400

16

12

-1

15

180

10

5

4

9

360

4

5

4

4

180

8

8

7

7

v

1

-3

0

 

 

Рассчитаем потенциалы для новой таблицы.

∆c13 < 0 => план не является оптимальным.

min(∆cij) = ∆c13 = -1.

 

8)

1

2

3

a\b

360

260

500

400

140

260

 

180

180

 

 

360

 

 

360

180

40

 

140

 

Определим ячейки для перемещения продукции.

 

9)

1

2

3

a\b

360

260

500

400

 

260

140

180

180

 

 

360

 

 

360

180

180

 

0

 

Для ячеек со знаком "-" min(xij) = x11 = 140.

Для получения новой транспортной таблицы изменим количество продукции  согласно знакам "+" или "-" .

 

10)

1

2

3

 

a\b

360

260

500

u

400

1

12

14

14

180

10

4

4

9

360

4

4

4

4

180

8

7

7

7

v

1

-2

0

 

 

Рассчитаем потенциалы для новой таблицы.

∆cij > 0 => план является оптимальным.

 

 11)

0

3120

1960

 

1800

0

0

 

0

0

1440

 

1440

0

0

 

 

Сумма:

9760

 

Суммарная стоимость перевозок:

 


Ключевые слова -


ФНГ ФИМ ФЭА ФЭУ Яндекс.Метрика
Copyright 2021. Для правильного отображения сайта рекомендуем обновить Ваш браузер до последней версии!