Исследование системы управления конфликтными потоками в классе алгоритмов с дообслуживанием
Представление системы управления конфликтными потоками как системы массового обслуживания с переменной структурой. Вероятностные свойства процесса управления. Построение имитационной модели системы массового обслуживания, математический аппарат.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 27.01.2016 |
Размер файла | 1,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
dis = (dis * NObsl + Tcur * Tcur)/ (NObsl + 1);
Gamma = (Gamma * NObsl + Tcur) / (NObsl + 1);
NObsl = NObsl + 1;
i = i + 1;
Tm = Tm + c;
}
else
{
Tm = T1 [i];
}
}
else
{
kappa = 0;
delete[] mompost;
delete[] T1;
mompost = NULL;
T1 = NULL;
return Gamma;
}
}
for (int j = kappa; j < kappa + m; j++) // считаем сколько заявок на [T - c, T]
{
if (T1 [j] > t - c)
{
s++;
}
}
p = m - s - i + kappa;
if (s > 0)
{
for (int k = i; k < i + p; k++)
{
if (mompost [k - kappa] > Tm)
{
Tm = mompost [k - kappa];
}
Tcur = Tm - mompost [k - kappa] + c;
dis = (dis * NObsl + Tcur * Tcur)/ (NObsl + 1);
Gamma = (Gamma * NObsl + Tcur) / (NObsl + 1);
NObsl = NObsl + 1;
}
for (int k = i + p; k < kappa + m; k++)
{
Tcur = c;
dis = (dis * NObsl + Tcur * Tcur)/ (NObsl + 1);
Gamma = (Gamma * NObsl + Tcur) / (NObsl + 1);
NObsl = NObsl + 1;
}
kappa = 0;
delete[] mompost;
delete[] T1;
mompost = NULL;
T1 = NULL;
return Gamma;
}
else
{
if (p == 1)
{
if (mompost [i - kappa] > Tm)
{
Tm = mompost [i - kappa];
}
Tcur = Tm - mompost [i - kappa] + c;
dis = (dis * NObsl + Tcur * Tcur)/ (NObsl + 1);
Gamma = (Gamma * NObsl + Tcur) / (NObsl + 1);
NObsl = NObsl + 1;
kappa = 0;
delete[] mompost;
delete[] T1;
mompost = NULL;
T1 = NULL;
return Gamma;
}
else
{
for (int k = i; k < i + p; k++)
{
if (mompost [k - kappa] > Tm)
{
Tm = mompost [k - kappa];
}
Tcur = Tm - mompost [k - kappa] + c;
dis = (dis * NObsl + Tcur * Tcur)/ (NObsl + 1);
Gamma = (Gamma * NObsl + Tcur) / (NObsl + 1);
NObsl = NObsl + 1;
}
for (int k = i + p; k < kappa + m; k++)
{
Tcur = c;
dis = (dis * NObsl + Tcur * Tcur)/ (NObsl + 1);
Gamma = (Gamma * NObsl + Tcur) / (NObsl + 1);
NObsl = NObsl + 1;
}
kappa = 0;
delete[] mompost;
delete[] T1;
mompost = NULL;
T1 = NULL;
return Gamma;
}
}
}
else if (kappa < ksi && kappa + m >= ksi)
{
i = 0;
Tm = 0;
double *T2 = new double [kappa + m - ksi];
while (i < ksi)
{
while (i < kappa)
{
tmp = T1 [i];
T1 [i] = T1 [i] + Tm + c;
tmp = T1 [i]; // вспомогательная операция
dis = (dis * NObsl + T1 [i] * T1 [i])/ (NObsl + 1);
Gamma = (Gamma * NObsl + T1 [i]) / (NObsl + 1);
i = i + 1;
NObsl = NObsl + 1;
Tm = Tm + c;
}
if (Tm + c <= t - c)
{
if (mompost [i - kappa] <= Tm)
{
Tcur = Tm - mompost [i - kappa] + c;
dis = (dis * NObsl + Tcur * Tcur)/ (NObsl + 1);
Gamma = (Gamma * NObsl + Tcur) / (NObsl + 1);
i = i + 1;
NObsl = NObsl + 1;
Tm = Tm + c;
}
else
{
Tm = mompost [i - kappa];
}
}
else
{
for (int j = 0; j < m; j++) // считаем сколько заявок на [T - c, T] // тут были
{
if (mompost[j] > t - c)
{
s++;
}
}
p = m - s - i + kappa;
if (s > 0)
{
if (i + p <= ksi)
{
for (int k = i; k < i + p; k++)
{
Tcur = t - mompost [k - kappa];
dis = (dis * NObsl + Tcur * Tcur)/ (NObsl + 1);
Gamma = (Gamma * NObsl + Tcur) / (NObsl + 1);
NObsl = NObsl + 1;
}
for (int k = i + p; k < ksi; k++)
{
Tcur = c;
dis = (dis * NObsl + Tcur * Tcur)/ (NObsl + 1);
Gamma = (Gamma * NObsl + Tcur) / (NObsl + 1);
NObsl = NObsl + 1;
}
for (int k = ksi; k < kappa + m; k++)
{
tmp = T1 [k]; // вспомогательная операция
T1 [k] = t - T1 [k]; // + tOzh;
tmp = T1 [k]; // вспомогательная операция
T2 [k - ksi] = T1 [k];
}
kappa = kappa + m - ksi;
delete[] mompost;
delete[] T1;
mompost = NULL;
T1 = NULL;
T = T2;
return Gamma;
}
else
{
for (int k = i; k < ksi; k++)
{
Tcur = t - T1 [k];
dis = (dis * NObsl + Tcur * Tcur)/ (NObsl + 1);
Gamma = (Gamma * NObsl + Tcur) / (NObsl + 1);
NObsl = NObsl + 1;
}
for (int k = ksi; k < kappa + m; k++)
{
tmp = T1 [k]; // вспомогательная операция
T1 [k] = t - T1 [k]; // + tOzh;
tmp = T1 [k]; // вспомогательная операция
T2 [k - ksi] = T1 [k];
}
kappa = kappa + m - ksi;
delete[] mompost;
delete[] T1;
mompost = NULL;
T1 = NULL;
T = T2;
return Gamma;
}
}
else
{
if (p == 1)
{
if (mompost [i - kappa] > Tm)
{
Tm = mompost [i - kappa];
}
Tcur = Tm - mompost [i - kappa] + c;
dis = (dis * NObsl + Tcur * Tcur)/ (NObsl + 1);
Gamma = (Gamma * NObsl + Tcur) / (NObsl + 1);
NObsl = NObsl + 1;
for (int k = ksi; k < kappa + m; k++)
{
tmp = T1 [k]; // вспомогательная операция
T1 [k] = t - T1 [k]; // + tOzh;
tmp = T1 [k]; // вспомогательная операция
T2 [k - ksi] = T1 [k];
}
kappa = kappa + m - ksi;
delete[] mompost;
delete[] T1;
mompost = NULL;
T1 = NULL;
T = T2;
return Gamma;
}
else
{
if (i + p <= ksi)
{
for (int k = i; k < i + p; k++)
{
Tcur = t - T1 [k];
dis = (dis * NObsl + Tcur * Tcur)/ (NObsl + 1);
Gamma = (Gamma * NObsl + Tcur) / (NObsl + 1);
NObsl = NObsl + 1;
}
for (int k = i + p; k < ksi; k++)
{
Tcur = c;
dis = (dis * NObsl + Tcur * Tcur)/ (NObsl + 1);
Gamma = (Gamma * NObsl + Tcur) / (NObsl + 1);
NObsl = NObsl + 1;
}
for (int k = ksi; k < kappa + m; k++)
{
tmp = T1 [k]; // вспомогательная операция
T1 [k] = t - T1 [k]; // + tOzh;
tmp = T1 [k]; // вспомогательная операция
T2 [k - ksi] = T1 [k];
}
kappa = kappa + m - ksi;
delete[] mompost;
delete[] T1;
mompost = NULL;
T1 = NULL;
T = T2;
return Gamma;
}
else
{
for (int k = i; k < ksi; k++)
{
Tcur = t - T1 [k];
dis = (dis * NObsl + Tcur * Tcur)/ (NObsl + 1);
Gamma = (Gamma * NObsl + Tcur) / (NObsl + 1);
NObsl = NObsl + 1;
}
for (int k = ksi; k < kappa + m; k++)
{
tmp = T1 [k]; // вспомогательная операция
T1 [k] = t - T1 [k]; // + tOzh;
tmp = T1 [k]; // вспомогательная операция
T2 [k - ksi] = T1 [k];
}
kappa = kappa + m - ksi;
delete[] mompost;
delete[] T1;
mompost = NULL;
T1 = NULL;
T = T2;
return Gamma;
}
}
}
}
}
for (int k = ksi; k < kappa + m; k++)
{
tmp = T1 [k]; // вспомогательная операция
T1 [k] = t - T1 [k]; // + tOzh;
tmp = T1 [k]; // вспомогательная операция
T2 [k - ksi] = T1 [k];
}
kappa = kappa + m - ksi;
T = T2;
}
delete[] mompost;
delete[] T1;
mompost = NULL;
T1 = NULL;
return Gamma;
}
MerchantDevice:~MerchantDevice()
{
}
Приложение В
Результаты работы программы
Результаты работы программы для потоков Пуассона
Результаты работы программы для потоков Бартлетта
Результаты работы программы для потоков Бартлетта
Размещено на Allbest.ru
Подобные документы
Общая характеристика системы массового обслуживания, исходные данные для ее создания. Особенности построения алгоритма имитационной модели задачи о поступлении заявок (клиентов) в канал (парикмахерскую). Описание функционирования математической модели.
курсовая работа [154,1 K], добавлен 19.05.2011Построение имитационной модели системы массового обслуживания, список и содержание ее активностей. Блок-схема алгоритма моделирования и текст процедуры. Моделирование случайных независимых величин и процессов. Оптимизация системы массового обслуживания.
курсовая работа [4,0 M], добавлен 28.05.2013Практические навыки системного исследования реальной динамической сложной системы на основе построения ее имитационной модели. Автоматизация работы по расчету эффективности системы массового обслуживания с понятным интерфейсом. Выбор алгоритма решения.
курсовая работа [1,0 M], добавлен 18.08.2009Построение имитационной модели системы массового обслуживания с дисциплиной обслуживания FIFO, варьируемыми входными факторами (число устройств, емкость накопителя) и возможностью визуализации процесса функционирования системы. Построение генераторов.
курсовая работа [852,1 K], добавлен 07.06.2013Характеристика системы массового обслуживания, куда поступают заявки обслуживания. Особенности моделирования системы массового обслуживания. Имитация работы системы массового обслуживания с относительными приоритетами. Отчеты полного факторного плана.
курсовая работа [1,1 M], добавлен 14.07.2012Методика системного исследования реальной динамической сложной системы посредством разработки ее имитационной модели. Разработка программы реализации алгоритма имитационного моделирования системы массового обслуживания "Интернет-провайдерская фирма".
курсовая работа [2,0 M], добавлен 20.01.2010Определение назначения и описание функций имитационных моделей стохастических процессов систем массового обслуживания. Разработка модели описанной системы в виде Q-схемы и программы на языке GPSS и C#. Основные показатели работы имитационной модели.
курсовая работа [487,4 K], добавлен 18.12.2014Построение имитационной модели системы массового обслуживания в среде Borland Delphi 7.0 с учетом того, что параметры модели – детерминированные величины. Моделирование случайных независимых величин и процессов. Оптимизация системы массового обслуживания.
курсовая работа [1,4 M], добавлен 28.05.2013Системы, описывающие массовое обслуживание. Разработка системы массового обслуживания для магазинов. Постановка в очередь, порядок обслуживания, выбывание из очереди, периодичность попадания в нее. Описание программного модуля, листинг программы.
курсовая работа [171,8 K], добавлен 20.01.2010Проблемы и этапы построения имитационной модели системы массового обслуживания. Оценка результатов схем, построенных на Visual Basic и GPSSV. Анализ исходных данных и выбор недостающих, составление таблицы определений и построение блок-схем и диаграмм.
курсовая работа [204,1 K], добавлен 24.06.2011