Моделирование торгового центра

Министерство Образования

Республики Таджикистан

Таджикский Технический Университет





Кафедра «АСОИ и У»

















Лабораторная работа

на тему: «Моделирование торгового центра»



























Душанбе – 2007


Теоретические сведения



Основные элементы СМО



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



Структуру СМО можно представить таким образом:





Входной поток

Очередь 

Прибор обслуживания

Выходной поток



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

Любая система включает в себя 4 основные элемента:

входной поток

очередь и дисциплины обслуживания

прибор и канал обслуживания

выходной поток



Входной поток



В процессе функционирования, на вход обслуживающего прибора в неизвестные заранее моменты времени поступают заявки, которые обслуживаются в течение некоторого случайного отрезка времени, после чего прибор освобождается и может принять следующую заявку. Если заявка пришла, когда прибор занят, то она получает отказ в обслуживании и встает в очередь. Из-за случайного характера потока заявок в какие-то моменты времени в системе могут возникать большие очереди, а в другие система может работать с недогрузкой или вообще простаивать. Поэтому возникают задачи количественной оценки эффективности таких систем, обеспечивающих минимизацию суммарных затрат, связанных с ожиданием и потерями со стороны средств обслуживания.

Входной поток может быть одномерным и многомерным. Если на вход системы подается несколько разных потоков, то он является многомерным. Любой входной поток представляется последовательностью однородных событий, следующих одно за другим в случайные моменты времени. Интервал между двумя событиями называется интервалом поступления заявок.

Если интервал поступления заявок является случайной величиной, т.е. изменяется по случайному закону распределения, то поток называется случайным.

Поток называется простейшим или стационарным Пуассоновским потоком, если он обладает 3 свойствами:

1) стационарность

2) безпоследействие

3) ординарность

Стационарность означает, что все вероятностные характеристики потока не зависят от времени. Безпоследействие означает, что события не зависят от предыстории. Ординарность – все заявки проходят по одиночке.




Очередь и дисциплины ее обслуживания



Под очередью понимают линейную цепочку, выстраивающихся в ряд заявок в том или ином виде обслуживания. В зависимости от наличия очереди, СМО разделяются на системы без очереди и системы с ожиданием.

СМО без очереди – это системы, в которых поступившая заявка получает отказ в случае занятости прибора обслуживания.

СМО с ожиданием бывают ограниченными и неограниченными ожиданием. В системах с неограниченным ожиданием поступившая заявка рано или поздно будет обслужена. В системах с ограниченным ожиданием на время пребывания заявок в системе накладывается ряд ограничений, касающихся времени пребывания заявок в очереди, времени пребывания заявок в системе и т.д.

Для регулирования и координации работы очереди используются дисциплины:

1) дисциплина заполнения очереди

2) дисциплина выбора заявок из очереди

К дисциплинам заполнения очереди относятся:

1) естественная форма заполнения

2) кольцевая форма заполнения

3) поисковая форма

4) приоритетная форма заполнения, со сдвигом других заявок

Дисциплины выбора заявок из очереди включают 3 типа:

1) первым пришел – первым обслужен

2) последним пришел – первым обслужен

3) выбор заявок по приоритету




Приборы или каналы обслуживания



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

Основной характеристикой приборов обслуживания является интенсивность обслуживания μ-количество заявок, обслуживаемых в единицу времени.



Выходной поток



В качестве выходного потока рассматривается количество обслуженных и не обслуженных заявок. Для их оценки используются вероятностные характеристики:

1. вероятность отказа

2. вероятность обслуживания заявок

3. относительная пропускная способность-доля обслуженных заявок от общего количества поступивших заявок

4. абсолютная пропускная способность системы – это количество заявок, обслуженных в единицу времени

5. среднее время ожидания заявок в очереди

6. среденее время пребывания заявок в системе

7. средняя длина очереди

8. среднее количество занятых приборов (для многоканальной системы)

9. коэффициент простоя




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



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

1. принцип ∆t

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

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

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



∆t t tmax



t1 t2 t5 tn



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





БООС

БАС

БАС

БАС

БИС

БИС

БИС

БИС

БИС

БИС


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

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

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

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





1                Блок ввода начальных параметров

2                Блок управления вариантами моделирования

5                Блок формирования очереди

6                Блок вывода заявки из очереди

7                Блок обслуживания заявок

8                Блок отказа в обслуживании

9                Блок определения выходных потоков

3                Блок управления входным потоком

4                Блок анализа состояний системы

конец

0                Условие окончания моделирования



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



Имеется торговый центр, в котором имеется 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