Курсовая работа: Имитационное моделирование системы массового обслуживания

SysCondition currentSystemCondition; // Текущее состояние системы

Задание состояний системы. Выделим у данной 2-х канальной системы 7 различных состояний: S0 , S1 . S6 . СМО находится в состоянии S0 , когда система свободна; S1 – хотя бы один канал свободен; в состоянии S2 , когда все каналы заняты, и есть место в очереди; в состоянии S6 – все каналы заняты, и очередь достигла максимальной длины (queueLength = 4).

Определяем текущее состояние системы с помощью функции GetCondition()

SysCondition GetCondition()

{

SysCondition p_currentCondit = SysCondition.S0;

int k = 0;

int busyChannelCount = 0;

for (int i = 0; i < channelCount; i++)

{

if (timeOfFinishProcessingReq[i] > 0)

{

k = 1;

busyChannelCount++;

}

else

{k = 0;}

p_currentCondit += k * (i + 1);

}

if (busyChannelCount > 1)

{p_currentCondit ++;}

return p_currentCondit + (int) QueueLength;

}

Изменение времени пребывания СМО в состояниях с длиной очереди 1, 2,3,4. Это реализуется следующим программным кодом:

if (queueLength > 0)

{

timeInQueue[queueLength– 1] += timeStep;

if (queueLength > 1)

{timeInQueue [queueLength – 2] += timeStep;}

К-во Просмотров: 462
Бесплатно скачать Курсовая работа: Имитационное моделирование системы массового обслуживания