Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

АмГУ. Методички к лабораторным работам по имитационному моделированию - файл ЛАБОРАТОРНАЯ РАБОТА 4 - СМО.doc


Загрузка...
АмГУ. Методички к лабораторным работам по имитационному моделированию
скачать (552 kb.)

Доступные файлы (6):

ЛАБОРАТОРНАЯ РАБОТА 1 - ЛОЗ.doc123kb.12.02.2008 00:51скачать
ЛАБОРАТОРНАЯ РАБОТА 2 - МК.docx111kb.04.02.2008 22:00скачать
ЛАБОРАТОРНАЯ РАБОТА 3 - УП.docx125kb.02.02.2008 20:33скачать
ЛАБОРАТОРНАЯ РАБОТА 4 - СМО.doc133kb.25.03.2008 22:56скачать
ЛАБОРАТОРНАЯ РАБОТА 5 - ОР.doc484kb.20.03.2008 17:16скачать
ЛАБОРАТОРНАЯ РАБОТА 6 - ОР.doc592kb.15.03.2008 12:38скачать

ЛАБОРАТОРНАЯ РАБОТА 4 - СМО.doc

Реклама MarketGid:
Загрузка...
ЛАБОРАТОРНАЯ РАБОТА №4

Имитационное моделирование для

исследования систем массового обслуживания


  1. Подготовительная часть.

Для выполнения лабораторной работы необходимо повторить следующие вопросы:

  1. Понятия входного и выходного потоков СМО.

  2. Определение основных операционных характеристик СМО.




  1. Теоретическая часть.

  1. Моделирование входного потока

Входной и выходной потоки СМО можно задавать различными способами:

  1. Задавая количество поступающих заявок в единицу времени (λ), например:

Таблица 1

Количество клиентов, прибывающих в час

1

2

3

4

Процент часов

40

30

20

10

  1. Задавая интервал времени между поступившими заявками, например:

Таблица 2

Время между двумя последовательными прибытиями (мин)

1

2-10

11-20

21-30

31-40

>40

Процент клиентов

5

20

20

30

10

15


Хотя эта информация и имеет одинаковую ценность, все же при моделировании лучше фиксировать время между прибытием клиентов (интервал между пос­ледовательными поступлениями требований), а не число прибытии за опре­деленный период. Из таблицы видно, что после прибытия клиента имеется 5%-ная вероятность того, что следующий клиент прибудет через минуту, и 20%-ная вероятность того, что следующий клиент подъедет в течение следующих 9 минут.
Пример 1. Пусть в некой системе массового обслуживания входной поток описывается в соответствие с таблицей 2. Тогда можно смоделировать следующую систему прибытия заявок (с учетом начала отсчета в 8:00 и усреднив интервал между поступлениями заявок):

Таблица 3.

случ. число

интервал

Интервал (в минутах)

время прибытия заявки

67

25

0:25

8:25

10

5

0:05

8:30

72

25

0:25

8:55

38

15

0:15

9:10

68

25

0:25

9:35

94

45

0:45

10:20

25

5

0:05

10:25

70

25

0:25

10:50

66

25

0:25

11:15

97

45

0:45

12:00

60

25

0:25

12:25

100

45

0:45

13:10

43

15

0:15

13:25

43

15

0:15

13:40


Примечание: В редакторе Excel для получения интервала в минутах можно воспользоваться функцией ВРЕМЯ(ч;м;с), преобразующей заданные в виде чисел часы, минуты и секунды в формат времени Excel.


  1. Моделирование СМО в Excel

Пример 2. Пусть моделируется СМО без отказов с 1 прибором обслуживания, в которой интервал времени между поступившими заявками и время обслуживания заявок – случайная величина, имеющая равномерное распределение в интервале (1;10) и (1;8) соответственно. В этом случае таблица имитационной модели будет выглядеть так:
Таблица 4

A

B

C

D

E

B

G

H

I

J

5

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

продджительность
обслуживания


начало обслуживания

время пребывания
в системе


время в очереди

время выбытия

номер клиента

номер
обслужившегося


длина очереди

6

8:08:00

0:06

8:08

0:06

0,00

8:14:00

1

0

0

7

8:10:00

0:01

8:14

0:05

4,00

8:15:00

2

0

1

8

8:14:00

0:03

8:15

0:04

1,00

8:18:00

3

1

1

9

8:18:00

0:06

8:18

0:06

0,00

8:24:00

4

3

0

….

49

11:36:00

0:07

11:36

0:07

0,00

11:43:00

43

42

0

50

11:40:00

0:06

11:43

0:09

3,00

11:49:00

44

42

1

51

Среднее

0:04




0:08

4,11










0,533333



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

Шаблон листа Excel представлен в Таблице 5.

Столбец B формируется путем прибавления случайного временного интервала (СЛУЧМЕЖДУ (1;10)) к времени прибытия предыдущей заявки. Так как этот интервал является количеством минут, то случайное число необходимо преобразовать в значение времени в минутах с помощью функции ВРЕМЯ.

Столбец С представляет собой случайный интервал времени – время обслуживания заявки.

Столбец D – время начала обслуживания. В случае, если предыдущая заявка к моменту поступления текущей уже закончила обслуживаться, то есть время поступления текущей заявки больше времени выбытия предыдущей заявки, начало обслуживания совпадает со временем прибытия, иначе – со временем выбытия предыдущей заявки.

Столбец G – время выбытия заявки – равен сумме времени начала обслуживания (столбец D) и продолжительности обслуживания (столбец С).

Столбец Е – время пребывания в системе – равен разности между временем выбытия и временем поступления заявки.

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

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

Функция ВПР (<искомое значение>;<таблица>;<требуемый столбец>) ищет значение, равное или меньшее <искомого значения> в левом столбце <таблицы> и возвращает значение, находящееся в <требуемом столбце> той же строки. В данном случае <искомое значение> представляет собой время поступления заявки, <таблица> состоит из столбцов Время выбытия и Номер клиента, а так как <требуемый столбец>=2, то функция возвращает номер клиента, обслуживаемого на момент поступления текущей заявки.

Столбец J – длина очереди на момент поступления заявки – разница между номером обслужившегося на данный момент клиентом и номером текущего клиента, с вычетом клиента, обслуживаемого на данный момент.

Таблица 5

A

B

C

D

E

F

G

H

I

J

5

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

продджительность
обслуживания


начало обслуживания

время пребывания
в системе


время в очереди

время выбытия

номер клиента

номер
обслужившегося


длина очереди

6

=ВРЕМЯ(8;0;0)+ВРЕМЯ(0;СЛУЧМЕЖДУ(1;10);0)

=ВРЕМЯ(0;СЛУЧМЕЖДУ(1;8);0)

=B6

=G6-B6

=ЕСЛИ(МИНУТЫ(E6)<>МИНУТЫ(C6);МИНУТЫ(E6-C6);0)

=D6+C6

1

0

=H6-I6-1

7

=B6+ВРЕМЯ(0;СЛУЧМЕЖДУ(1;10);0)

=ВРЕМЯ(0;СЛУЧМЕЖДУ(1;8);0)

=ЕСЛИ(B7>G6;B7;G6)

=G7-B7

=ЕСЛИ(МИНУТЫ(E7)<>МИНУТЫ(C7);МИНУТЫ(E7-C7);0)

=D7+C7

2

=ЕСЛИ(B7<G6;0;1)

=H7-I7-1

8

=B7+ВРЕМЯ(0;СЛУЧМЕЖДУ(1;10);0)

=ВРЕМЯ(0;СЛУЧМЕЖДУ(1;8);0)

=ЕСЛИ(B8>G7;B8;G7)

=G8-B8

=ЕСЛИ(МИНУТЫ(E8)<>МИНУТЫ(C8);МИНУТЫ(E8-C8);0)

=D8+C8

3

=ВПР(B8;G$6:H8;2)

=H8-I8-1

9

=B8+ВРЕМЯ(0;СЛУЧМЕЖДУ(1;10);0)

=ВРЕМЯ(0;СЛУЧМЕЖДУ(1;8);0)

=ЕСЛИ(B9>G8;B9;G8)

=G9-B9

=ЕСЛИ(МИНУТЫ(E9)<>МИНУТЫ(C9);МИНУТЫ(E9-C9);0)

=D9+C9

4

=ВПР(B9;G$6:H9;2)

=H9-I9-1

….

49

=B48+ВРЕМЯ(0;СЛУЧМЕЖДУ(1;10);0)

=ВРЕМЯ(0;СЛУЧМЕЖДУ(1;8);0)

=ЕСЛИ(B49>G48;B49;G48)

=G49-B49

=ЕСЛИ(МИНУТЫ(E49)<>МИНУТЫ(C49);МИНУТЫ(E49-C49);0)

=D49+C49

44

=ВПР(B49;G$6:H49;2)

=H49-I49-1

50

=B49+ВРЕМЯ(0;СЛУЧМЕЖДУ(1;10);0)

=ВРЕМЯ(0;СЛУЧМЕЖДУ(1;8);0)

=ЕСЛИ(B50>G49;B50;G49)

=G50-B50

=ЕСЛИ(МИНУТЫ(E50)<>МИНУТЫ(C50);МИНУТЫ(E50-C50);0)

=D50+C50

45

=ВПР(B50;G$6:H50;2)

=H50-I50-1

51

Среднее

=СРЗНАЧ(C6:C50)




=СРЗНАЧ(F6:F50)










=СРЗНАЧ(J7:J50)

2. Моделирование СМО в MathCad

Задачу из Примера 2 можно решить аналогичным образом в MathCad. Для упрощения модели можно задавать время не в формате времени, а в количестве минут (модельного времени), прошедших с начала запуска модели. В таком случае модуль MathCad может выглядеть следующим образом:





В данном модуле также используется таблица (K), строки которой соответствуют обслуживаемым заявкам (n строк – n заявок), а столбцы распределены следующим образом (нумерация начинается с 1, что задано свойством ORIGIN=1):

1 – номер клиента (заявки)

2 – время поступления (число минут с начала работы)

3 – время обслуживания (в минутах)

4 – время начала обслуживания

5 – время окончания обслуживания

6 - длина очереди

7 – время пребывания в очереди

8 – время пребывания в системе

Задав количество заявок (n=45) получаем следующие результаты:




















Поскольку обычно время между соседними заявками и время обслуживания заявки – случайные величины, распределенные по экспоненциальному закону, то можно использовать генератор случайных чисел с соответствующим распределением.
^ 3. Моделирование СМО в MATLAB

Пример 3. Пусть моделируется СМО без отказов с 1 прибором обслуживания, в которой интервал времени между поступившими заявками и время обслуживания заявок – случайная величина, имеющая экспоненциальное распределение в интервале со средними 12 и 10 мин. соответственно. Модуль в MATLAB будет выглядеть следующим образом: (нумерация и распределение столбцов такое же, как и в предыдущем примере)


n=20;

K(1,1)=1;

K(1,2)=round(Random('exp',12))

K(1,3)=round(Random('exp',10))

K(1,4)=K(1,2)

K(1,5)=K(1,4)+K(1,3)

K(1,6)=0

K(1,7)=K(1,4)-K(1,2)

K(1,8)=K(1,5)-K(1,2)

for i=2:n

K(i,1)=i;

K(i,2)=K(i-1,2)+round(Random('exp',12))

K(i,3)=round(Random('exp',10))

if K(i,2)<K(i-1,5)

K(i,4)=K(i-1,5)

else K(i,4)=K(i,2)

end;

K(i,5)=K(i,4)+K(i,3)

K(i,7)=K(i,4)-K(i,2)

K(i,8)=K(i,5)-K(i,2)

m=0;

for j=1:i-1

if K(j,5)<K(i,2)

m=m+1;

end;

end;

K(i,6)=i-m-1

end;


Результат моделирования представлен в таблице:

ъхъх

ъ\/




Скачать файл (552 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации