Имитационное моделирование процесса работы Интернет-кафе

a b

Математическое ожидание

Для вычисления дисперсии вначале вычислим математическое ожидание квадрата этой случайной величины:

Теперь:

=

1.6 Моделирование СМО с N обрабатывающими устройствами без очереди с отказами

Рис.4. Моделирование СМО с N обрабатывающими устройствами без очереди с отказами

Первый этап моделирования состоит в определении происходящих в системе событий и логики их обработки. В нашей системе происходят события двух типов. Первый - поступление в систему очередного требования. Второй - завершение обслуживания требования устройством. Логическая последовательность обработки событий этих двух типов следующая - сначала обрабатывается завершение обслуживания требования устройством, затем - распределение очередного поступившего в систему требования обрабатывающему устройству. Эта последовательность диктуется логикой обслуживания требований в системе. Если в какой-либо дискретный момент времени в систему поступает очередное требование и одновременно с этим завершается обработка какого-либо из уже находящихся в системе, то вначале необходимо обработать завершение обслуживания, и лишь затем поступление нового требования в систему. Это диктуется тем, что вновь поступившему требованию требуется свободное устройство, которое появится, возможно, лишь в результате завершения обслуживания какого-либо из уже обрабатывающихся системой требований. В самом общем виде завершение обработки состоит в высвобождении занятого устройства и увеличении на единицу счётчика числа обработанных требований. Точно так же, обработка поступления состоит в выборе свободного устройства и передаче ему требования на обработку, или, в случае отсутствия такового устройства, в отказе в обработке данного требования. Указанные два обработчика событий включаются в основной цикл отсчёта дискретных моментов времени периода моделирования, как показано ниже:

//инициализация:

{ .}

//основной цикл:

for (t=0; t<T; t++)

{

//обработка завершения обслуживания требования :

{ .}

//обработка поступления нового требования в систему:

{ .}

// завершение : { .}

В качестве параметров модели используем следующие константы и макроопределения:

· Т - время моделирования (в сек.);

• N - число обрабатывающих устройств в системе;

• RIN - генератор случайного потока поступающих в систему требований;

• RON - генератор интервалов времени обработки требования обрабатывающим устройством;

Программная реализация алгоритма и результат её выполнения приведены ниже. Исходный текст программы начинается с определения параметров модели и прочих исходных данных. Все они определяются с помощью директивы препроцессора "#define". Макросы RIN и RON определяют вызовы функций, моделирующих распределение интервалов времени между событиями входного потока требований и интервалов времени от начала до завершения обслуживания требования обрабатывающим устройством, соответственно. Сами функции моделирования случайных последовательностей, распределенных по различным законам, определены в файле Rand.срр, текст которого подключается к тексту модели процесса с помощью директивы препроцессора "#include" в первой строке текста программной реализации модели. Константа "Т" определяет длительность периода моделирования в единицах дискретного времени моделирования. Константа "N" задаёт число обрабатывающих устройств. Константа "VACANCY" определяет специальное значение для элемента массива ton[ ], означающее, что обрабатывающее устройство, сопоставленное данному элементу массива свободно. Поскольку массив ton[ ] предназначен для хранения моментов времени завершения обслуживания требования соответствующим устройством, которые могут принимать лишь неотрицательные значения, то в качестве такого, сигнализирующего о незанятости устройства значения, взято первое неиспользуемое отрицательное число - "-1". Программа начинается с описания типов следующих используемых переменных:

• i, j, k - используются для хранения вспомогательных индексных значений;

• n - число обработанных требований;

• m - число отказов в обслуживании;

• t - дискретные отсчёты времени периода моделирования;

• tin - момент поступления в систему следующего требования;

• ton[ ] - моменты завершения обработки требований соответствующими элементам массива обрабатывающими устройствами.

Все переменные определяются как беззнаковые длинные целочисленные переменные. Это связано с тем, что диапазона значений простого типа int - от -32768 до 32767 может быть недостаточно для представления используемых значений данных модели. Далее следует собственно моделирующий алгоритм:

1 .Инициализация переменных:

1.1. Инициализация массива ton[ ] - все обрабатывающие устройства поме-

чаются как свободные присваиванием элементам массива метки

"VACANCY": “ for (i=0; i<N; i++) ton[i]= VACANCY; ”;

1.2. Инициализация числа обработанных требований "n" и отказов "m" нулевыми значениями: "n=о ; m=о ;";

1.3. Генерация момента времени поступления в систему первого требования и сохранение его значения в переменной tin: “tin=RIN;”

2. Цикл перебора дискретных отсчётов времени периода моделирования:

2.1. Определение числа итераций цикла перебора дискретных отсчётов пе-

риода моделирования: "for (t=0; t<T; t++)" и вход в тело цикла "{";

2.1.1 .Обработка завершения обслуживания требования:

2. 1.1.1. Определение числа итераций цикла перебора устройств:

“ for (i=0; i<N; i++) ” и вход в тело цикла “{”;

2.1.1.2. Если текущий момент времени t совпадает с моментом, ус-

тановленным для завершения обслуживания требования i-м

устройством ton[i]: “if (ton[i]==t)”, TO

2. 1.1. 2.1. освобождение 1-го устройства: "ton[i]= VACANCY;";

2. 1.1. 2. 2. увеличение на единицу числа обработанных требова-

ний: "n++;";

2. 1.1.3. Конец цикла перебора устройств 2.1.1.1.: "}".

2.1.2. Обработка очередного поступающего в систему требования:

2.1.2.1. Поиск первого свободного обрабатывающего устройства:

"i = 0; while (ton[i]!= VACANCY && i<N) i + +;"

2.1.2.2. Если свободное устройство найдено: “if (i<N)”,

2. 1.2.2.1. то передача требования на обработку этому устройству,

которая в нашем случае заключается просто в генерации

Страница:  1  2  3  4  5  6 


Другие рефераты на тему «Экономико-математическое моделирование»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы