Исследование системы управления конфликтными потоками в классе алгоритмов с дообслуживанием

Представление системы управления конфликтными потоками как системы массового обслуживания с переменной структурой. Вероятностные свойства процесса управления. Построение имитационной модели системы массового обслуживания, математический аппарат.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.