Всем доброго времени суток. Прошу вашей помощи в следующей задаче (Нет, не очередной ловец халявы: я уже попытался написать код, но мой преподаватель говорит, что не правильно )
Прошу помощи в этом нелегком деле :3
Постановка задачи: Рассмотрим систему массового обслуживания с заданным числом устройств обслуживания п= 5, действующих параллельно и использующих одну общую очередь. Интервалы времени между поступлениями требований экспоненциально распределены со средним значением 5 (все интервалы времени в этой задаче измеряются в минутах). Требование, поступившее, когда в системе есть свободное устройство, немедленно поступает на обслуживание, Требование, поступившее, когда все устройства заняты, становится в очередь. Когда тре-бование (первый раз) попадает на обслуживание, время его обслуживания равномерно распределено между а = 2 и b = 2,8. Но по завершении первого обслуживания может оказаться, что требование не удовлетворено (вероят¬ность возникновения такой ситуации p = 0,2). Если обслуживание было удов-летворительным, требование покидает систему, в противном случае обслу-живание будет продолжаться. Удовлетворено ли требование обслуживанием, следует определять по его завершении. Если требование не удовлетворено завершившимся обслуживанием и в очереди больше нет других требований, начинается повторное обслуживание этого требования на том же устройстве. Если же по завершении неудовлетворительного обслуживания в очереди еще имеются требования, неудовлетворенное требование должно присоединиться к очереди.
В исходном состоянии в системе нет требований и устройства являются свободными. Моделирование должно выполняться в течение 480 мин. Вычислите среднее и максимальное общее время в системе (включая задержки в очереди и время обслуживания требования) и число удовлетворенных об¬служиванием требований, покинувших систему в процессе моделирования. Кроме того, вычислите среднюю и максимальную длину очереди, среднее по времени и максимальное число занятых устройств обслуживания.
Считаете ли вы работу системы рациональной? Если нет, то предложите пути улучшения ее эффективности. Обоснуйте свой ответ.
Ustr storage 5 ;Задаем 5-устройств действующих параллельно
generate (Exponential(1,0,5)) ;поступление требований экспонециально в среднем 5 мин
assign 1,0 ;создадим параметр, чтобы отметить было ли требование в очереди, или нет
gate sf Ustr,ustr1 ;если все устройства заняты, то требования в очередь, если нет - на ustr1
ustr5 queue Ochered ;реалтзация поступления в очередь
assign 1,1 ;отмечаем требование(присваиваем параметру значение 1)
ustr1 enter Ustr ;вход в устройство
test e p1,1,ustr3 ;проверяем параметр если он равен 1 то уменьшаем очередь
depart Ochered ;уменьшаем очередь
ustr3 seize postupl ;задает поступление
advance 2.4,0.4 ;обслуживание равномерно распределено 2.4+/-0.4(от 2 до 2.8))
release postupl ;переход к след. блоку
transfer 0.2,ustr4,ustr2 ;Вероятность не удовлетворенности 0.2, не удовлетворенные требования
;уходят на ustr2,оставшиеся 0.8 на ustr4
ustr2 test E Q$Ochered,0,ustr1 ;Проверка очереди на наличие требований, если в очереди есть требования то присоедениться к очереди (ustr5)
transfer ,ustr3 ;иначе переход на повторное обслуживание в этом же устройстве
ustr4 leave Ustr ;освобождаем устройство
savevalue Koltrebov+,1 ;кол-во требований прошедших через модель
savevalue vremya+,QM1 ;общее время обслуженных требований в модели
terminate ;выход из системы
generate 480 ;генерация в течение 480 мин
terminate 1 ;уменьшение счетчика конца моделирования на 1
start 1 ;задание значения счетчика моделирования равным 1
Изменил(а) Kest, 04-05-2014 17:17 |