моделирующего алгоритма СМО




Очередное событие Состояние прибора

Свободен Занят Ремонт

Начало моделирования а11 а12 а13

Поступление заявок а21 а22 а23

Начало ремонта а31 а32 а33

Освобождение прибора после ремонта

А41

А42

А43

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

А51

А52

А53

Окончание моделирования а62 а62 а63

 

Тогда в зависимости от события и состояния в СМО производится соответствующее изменение состояния.

Принцип последовательной проводки заявок является наиболее экономичным из всех принципов. Он заключается в том, что судьба каждой заявки прослеживается в порядке ее поступления в систему до ее выхода из нее. Заявка проходит все этапы обработки: она может поступить в очередь или на обслуживание; покинуть прибор полностью или частично быть обслуженной; перейти вновь в очередь или к другому прибору обслуживания и т.д. В соответствии с данным принципом моделирующий алгоритм должен отказать работу всех элементов СМО. Дополняя его блоками управления и анализа состояний, получим следующую блок- схему моделирующего алгоритма (Рис.5)

 


       
 
 
   

 

 


 
Рисунок 5. Обобщенная блок- схема
 
 

 


моделирующего алгоритма СМО

 


III.Задание на выполнение работы

 

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

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

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

2. Относительную и абсолютную пропускную способности;

3. Среднее число покупателей стоящих в очереди;

4. среднее число занятых продавцов;

5. Коэффициент простоя занятых продавцов;

6. Среднее время пребывания покупателей в торговом центре;

Исходные данные к заданию приведены в Таблице 1. Варианты задания выбираются в соответствии с порядковым номером студента по групповому журналу.

 


IV Порядок выполнения работы

 

Для выполнения задания необходимо:

1. Представить торговый центр в виде системы массового обслуживания. Для чего следует произвести постановку задачи, проанализировать условия задачи, определить параметры (элементы) СМО и сформулировать цель решения задачи.

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

3. Разработать моделирующий алгоритм и составить блок - схему имитации торгового центра на ПЭВМ.

4. Составить программу моделирования торгового центра на одном из языков программирования.

5. Получить результаты моделирования на ПЭВМ и дать их физическую интерпретацию

6. Привести листинг программы с полученными результатами моделирования.

7. Оформить отчет.

 


 

           
   
 
 
 
   

 


Да

       
   
 
 

 


Нет


 

 


 

                       
   
 
 
 
   
 
   
     
 
     
 
   
 

 

 

 

 

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

 

 

Private Sub Command1_Click()

Dim l As Integer, m As Integer, tzad As Integer, Kmax As Integer

Dim Tobs As Variant

Dim Tosv() As Double

Dim Toch() As Double

Dim Potk As Double

Dim q As Double

SumL = 0

n = 1

5: SumP = SumP + Pmin

n = n + 1

x = 0.5

k = 0

Kotk = 0

Noch = 0

Toj = 0

Tsis = 0

Kobs = 0

Tnezan = 0

Tpost = 0

l = Val(Text1.Text)

Tobss = Val(Text2.Text)

m = Val(Text3.Text)

tzad = Val(Text4.Text)

Kmax = Val(Text5.Text)

ReDim Toch(m) As Double

ReDim Tosv(n) As Double

For i = 1 To n

Tosv(i) = 0

Next i

10: x = Rnd(x)

T = -1 / l * Log(x)

Tpost = Tpost + T

k = k + 1

If k > Kmax Then

GoTo 100

End If

30: Pmin = 1

Tmin = Tosv(1)

For i = 1 To n

If Tosv(i) < Tmin Then

Pmin = i

Tmin = Tosv(i)

End If

Next i

If Tpost < Tosv(Pmin) Then

GoTo 20

Else

GoTo 40

End If

20: If Noch = m Then

Kotk = Kotk + 1

GoTo 10

Else

Noch = Noch + 1

SumL = SumL + Noch

Toch(Noch) = Tpost

GoTo 10

End If

40: If Noch = 0 Then

Kobs = Kobs + 1

Tnezan = Tpost - Tosv(Pmin)

x = Rnd(x)

Tobs = -1 / (1 / Tobss) * Log(x)

Tosv(Pmin) = Tpost + Tobs

Tsis = Tsis + Tobs

GoTo 10

Else

Voj = Tosv(Pmin) - Toch(1)

For i = 1 To Noch - 1

Toch(i) = Toch(i + 1)

Next i

Noch = Noch - 1

Toj = Toj + Voj

x = Rnd(x)

Tobs = -1 / (1 / Tobss) * Log(x)

Tsis = Tsis + Tobs + Voj

If Tsis > tzad Then GoTo 5

Tosv(Pmin) = Tosv(Pmin) + Tobs

Kobs = Kobs + 1

oTo 30

End If

100: Potk = Kotk / Kmax

q = 1 - Potk

A = q * l

Ls = SumL / Kmax

Ps = SumP / n

Kpr = Tnezan / Tsis

Text6.Text = Str(Potk)

Text7.Text = Str(q)

Text8.Text = Str(A)

Text9.Text = Str(Ls)

Text10.Text = Str(Ps)

Text11.Text = Str(Kpr)

Text12.Text = Str(Tsis)

Text13.Text = Str(n)

End Sub



Поделиться:




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

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


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