Имитационное моделирование процесса работы Интернет-кафе
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. то передача требования на обработку этому устройству,
которая в нашем случае заключается просто в генерации
Другие рефераты на тему «Экономико-математическое моделирование»:
Поиск рефератов
Последние рефераты раздела
- Выборочные исследования в эконометрике
- Временные характеристики и функция времени. Графическое представление частотных характеристик
- Автоматизированный априорный анализ статистической совокупности в среде MS Excel
- Биматричные игры. Поиск равновесных ситуаций
- Анализ рядов распределения
- Анализ состояния финансовых рынков на основе методов нелинейной динамики
- Безработица - основные определения и измерение. Потоки, запасы, утечки, инъекции в модели