Основные принципы моделирования СМО на ЭВМ




При моделировании СМО алгоритм должен учитывать все рабочие режимы системы. При моделировании СМО используют 3 основных принципа:

1. принцип ∆t

2. принцип особых состояний

3. принцип последовательной проводки заявок

1. по принципу ∆t переход системы из одного состояния в другое рассматривается (анализируется) с интервалом ∆t

 

∆t t tmax

t1 t2 t5 tn

 

2. принцип особых состояний – система анализируется в момент, когда она меняет своё состояние. При этом включаются (анализируются) холостые проходы принципа ∆t

 


БООС-блок определения очередного события – определяет моменты времени наступления события

БАС-блок анализа состояния – определяет, в каком состоянии находится в данный момент система

БИС – блок измерения состояния – измеряет состояние СМО, переводя ее в следующее или предыдущее

3. Третий принцип наиболее экономичен. По этому принципу судьба любой заявки, поступившей в систему, прослеживается в порядке ее поступления до ее выхода из нее. Заявка проходит все этапы обработки состояний:

 

Постановка задачи

 

Имеется торговый центр, в котором имеется n продавцов. Центр обслуживает поток покупателей, приходящих с интенсивностью λ (чел./мин). Среднее время обслуживания покупателя одним продавцом составляет τ (мин). Помещение, в котором располагается торговый центр, может поместить (во время образования очереди) не более m покупателей. Покупатель, пребывающий, когда все m мест очереди заняты, покидает торговый центр, т.е. получает отказ в обслуживании.

Необходимо определить количество продавцов в торговом центре, чтобы среднее время пребывания покупателей в торговом центре не превышало заданного времени. Также необходимо определить вероятностные характеристики обслуживания в торговом центре.

 

Листинг программы

 

Private Sub Command1_Click()

Dim lam As Integer, Tzad As Single, m As Byte

Dim x As Single, Tobshvr As Integer

Dim Noch As Integer, Kotk As Integer, i As Integer

Dim Kprod As Integer, Tvrobs As Double

Dim Potk As Single, Pobs As Single, A As Single

Dim Tobshoj As Integer, Kmax As Integer

Dim Tvrochr, K As Integer

Dim Tnezan As Double, Tsroj As Single

Dim Kobs As Integer, Tobs As Single

Dim Tvrpost As Double, Tosv As Double

Dim Tpr As Single

lyamda = Val (Text1. Text)

myu = Val (Text2. Text)

m = Val (Text3. Text)

Tzad = Val (Text4. Text)

Kmax = Val (Text5. Text)

x = 500

K = 0

Kobs = 0

Kotk = 0

Tsys = 0

Noch = 0

Toj = 0

Tosv = 0

Tnezan = 0

For i = 1 To Kmax

x = Rnd(x)

tau = -1 / lyamda * Log (x / 100)

Tobs = -1 / 0.3 * Log (x / 100)

tpost = tpost + tau

K = K + 1

If K > Kmax Then

Exit For

Else

Tosv = tau + Tobs

If tpost >= Tosv Then

If Noch = 0 Then

Kobs = Kobs + 1

Tnezan = Tnezan + tau

Tobs = -1 / 0.3 * Log (x / 100)

Tosv = tau + Tobs

Tpr = Tpr + Tobs

Else

ReDim Boj(i)

ReDim toch(i)

toch (i – 1) = toch(i)

Boj(i) = Boj(i) + Tosv

If Boj(i) > Tzad Then

n = n + 1

End If

Noch = Noch – 1

Toj = Toj + Boj(i)

x = Rnd(x)

Tobs = -1 / 0.1 * Log (x / 100)

Tpr = Tpr + Boj(i)

Tosv = Tosv + Tobs

Kobs = Kobs + 1

End If

Else

If Noch > m Then

Kotk = Kotk + 1

Else

Noch = Noch + 1

ReDim toch(Noch)

toch(Noch) = tpost

End If

End If

End If

Next

Potk = Kotk / Kmax

Pobs = 1 – Potk

A = lyamda * Pobs

tauoj = Toj / Kmax

Kpr = Tnezan / Tosv

List1. AddItem «Вероятност отказа системы (Ротк)=» & Potk

List1. AddItem «Вероятность обслуживания (Робс)=» & Pobs

List1. AddItem «Среднее время ожидания в очереди (Тож)=» & tauoj

List1. AddItem «Общее время (Тобщ)=» & tpost

List1. AddItem «Коэфицент простоя системы (Кпр)=» & Kpr

List1. AddItem «Абсолютная пропускная способность (A)=» & A

List1. AddItem «Количество продовцов (n)=» & n

End Sub

Private Sub Command2_Click()

List1. Clear

End Sub



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-03-31 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: