Механики
Скачать 4.29 Mb.
|
TRANSFER ,Met_1; безусловная передача транзакта в узел 1 ********************************************************************* START 100000; запуск модели Раздел 6. Имитационное моделирование 313 мое единичное время ожидания заявок в узле СеМО , то есть время , соот - ветствующее одному попаданию заявки в узел В отличие от единичного , полное время ожидания заявки в узле СеМО учитывает , сколько раз заявка попала в данный узел за время ее нахождения в СеМО Как уже отмечалось , выбор длин и числа частотных интервалов , задаваемых в качестве операндов операторов QTABLE и TABLE, является непростой задачей , если мы хотим получить гистограмму приемлемого вида , дающего достаточно хорошее представление о законе ( плотности ) распределения Обычно их значения подбираются экспериментальным путем в процессе нескольких реализаций имитационной модели В частности , для рассматриваемой модели таким способом были подобраны операнды B=0, C=1 и D=20 в операторе : Tw_1 QTABLE 1,0,1,20 . Значение операнда B, определяющего длину первого частотного класса , было выбрано равным 0, поскольку в узле 1 почти 80% заявок имели нулевое время ожидания Модули 1 и 2 моделируют функционирование соответственно узлов 1 и 2 СеМО В модулях 1 и 2 используется новый оператор – оператор передачи TRANSFER, который реализует передачу активного транзакта к другому блоку ( оператору ) и может работать в 9 режимах Активным является транзакт , поступивший в рассматриваемый момент времени в оператор TRANSFER. В нашей модели оператор TRANSFER используется в двух режимах : статистическом и безусловном. В общем случае оператор TRANSFER в статистическом режиме имеет вид : TRANSFER A,[B],C , где A – частота ( которая может трактоваться как вероятность ) передачи активного транзакта к оператору с именем ( меткой ), указанной в качестве операнда C; может задаваться двумя способами : в виде дробной величины в интервале (0; 1) либо в виде неотрицательного целого числа, которое интерпретируется как доля от тысячи ; B – метка альтернативного оператора , которому будет передан активный транзакт ( с вероятностью p=1- A); если операнд не указан , то транзакт передается следующему по порядку оператору ; C – метка оператора , к которому передается активный транзакт с вероятностью , заданной в операнде A. В нашем случае оператор TRANSFER в статистическом режиме имеет вид : TRANSFER .8,,Met_2 Активный транзакт с частотой ( вероятностью ) 0,8 направляется к оператору с меткой Met_2 и с вероятностью 0,2 – к следующему по порядку оператору 314 Раздел 6. Имитационное моделирование Оператор TRANSFER 800,,Met_2 эквивалентен предыдущему оператору и отличается только тем , что операнд A задан в виде целого числа , которое интерпретируется как доля от тысячи Заметим , что оператор TRANSFER 8,,Met_2 не эквивалентен двум предыдущим , поскольку вероятность перехода в данном случае будет равна 0,008. Если в операторе TRANSFER операнд A отсутствует , то это означает , что оператор применяется в безусловном режиме: активный транзакт всякий раз будет направляться к оператору с меткой , указанной в качестве операнда B. В нашем случае оператор TRANSFER в безусловном режиме имеет вид : TRANSFER ,Met_1 . Активный транзакт всякий раз направляется к оператору с меткой Met_1. Команда START, включённая в состав модели и содержащая в каче - стве операнда A значение 100000, обеспечивает автоматический запуск процесса моделирования сразу же после завершения трансляции GPSS- модели Процесс моделирования завершится после прохождения через систему 100 тысяч заявок ( транзактов ). На рис . 6.16 представлен фрагмент отчёта , из которого могут быть получены основные характеристики функционирования РСеМО ( наиболее интересные и важные результаты выделены жирным шрифтом ). Время моделирования ( END TIME), в течение которого через РСеМО прошло 100000 0 = N заявок , равно 9 994 872.283 секунд , что со - ставляет без малого почти 2 777 часов или более 115 суток работы модели - руемой системы Все 100 тысяч обслуженных заявок , в конечном счете , попали в блок TERMINATE и были удалены из модели В то же время количество сгенерированных транзактов в блоке GENERATE составляет 100 016. Возникает вопрос : почему было сгенерировано транзактов больше 100 000 и где « лишние » 16 транзактов ? Ответ достаточно прост : поскольку процесс моделирования был остановлен по числу покинувших сеть ста тысяч транзактов , то на момент завершения моделирования в РСеМО остались транзакты , которые поступили в сеть , но не успели полностью пройти все этапы обслуживания Где же эти транзакты ? Из представлен - ного отчёта видно , что на момент завершения моделирования в 10- м блоке QUEUE находится 15 транзактов и в 13- м блоке ADVANCE – один транзакт , всего 16 « лишних » транзактов на момент завершения процесса моделирования оказались в узле 2 СеМО : один в приборе и 15 – в очереди Через первый узел ( блок ENTER) транзакты прошли 501310 1 = N раз , через второй ( блок SEIZE) – 401295 2 = N раз Эти значения позволяют рассчитать коэффициенты передач для обоих узлов РСеМО : 5 100000 501310 0 1 1 ≅ = = N N α и 4 100000 401295 0 2 2 ≅ = = N N α , Раздел 6. Имитационное моделирование 315 что соответствует теоретическим значениям , которые могут быть найдены путём решения системы уравнений (4.16), как это описано в п .4.4.2. Загрузки узлов ( UTIL.) соответственно равны : 376 , 0 1 = ρ и 800 , 0 2 = ρ START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 9994872.283 15 1 1 LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY 1 GENERATE 100016 0 0 MET_1 2 QUEUE 501310 0 0 3 ENTER 501310 0 0 4 DEPART 501310 0 0 5 ADVANCE 501310 0 0 6 LEAVE 501310 0 0 7 TRANSFER 501310 0 0 8 TABULATE 100000 0 0 9 TERMINATE 100000 0 0 MET_2 10 QUEUE 401310 15 0 11 SEIZE 401295 0 0 12 DEPART 401295 0 0 13 ADVANCE 401295 1 0 14 RELEASE 401294 0 0 15 TRANSFER 401294 0 0 FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY 2 401295 0.800 19.936 1 99992 0 0 0 15 QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY 1 8 0 501310 398681 0.073 1.457 7.115 0 2 35 15 401310 81329 3.243 80.776 101.307 0 STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY UZ_1 2 2 0 2 501310 1 0.752 0.376 0 0 TABLE MEAN STD.DEV. RANGE RETRY FREQUENCY CUM.% TW_1 1.457 3.795 0 _ - 0.000 398681 79.53 0.000 - 1.000 8939 81.31 18.000 - _ 4203 100.00 TW_2 80.772 98.691 0 _ - 50.000 207020 51.59 50.000 - 100.000 75108 70.30 900.000 - 950.000 5 100.00 T_U 486.446 736.978 0 _ - 150.000 38624 38.62 150.000 - 300.000 17615 56.24 2850.000 - _ 1819 100.00 FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE 99992 0 9994893.688 99992 13 14 100017 0 9994946.528 100017 0 1 Рис.6.16. Фрагмент отчета модели разомкнутой СеМО 316 Раздел 6. Имитационное моделирование Рис.6.17. Трёхузловая РСеМО 2 p 10 «0» 1 p 12 3 p 13 Средние длины очередей ( AVE.CONT.) в узлах СеМО составляют : 073 , 0 1 = l и 243 , 3 2 = l Использование в модели таблиц для построения гистограмм плотностей распределений времён ожидания заявок в узлах СеМО и времени пребывания заявок в сети , кроме средних значений временных характеристик , позволяет получить их среднеквадратические отклонения : c 457 , 1 1 = w ; c 795 , 3 1 = w σ ; c 772 , 80 2 = w ; c 691 , 98 2 = w σ ; c 446 , 486 = U ; c 978 , 736 = U σ Модель__6:_многоузловая_разомкнутая_СеМО_с_однородным_потоком_заявок'>6.7.10. Модель 6: многоузловая разомкнутая СеМО с однородным потоком заявок В данном пункте рассматривается модель , в которой заявки , поки - дающие некоторый узел , должны перемещаться с заданными вероятно - стями по 3- м и более направлениям Реализация соответствующей имита - циионной модели связана с определёнными проблемами , обусловленными особенностями имитационного моделирования Положим , что линейная разомкнутая СеМО с однородным потоком заявок содержит три узла ( рис .6.17). Пусть , как и в предыдущей модели , в РСеМО из внешней среды «0» в узел 1 поступает простейший поток заявок со средним интервалом 100 секунд После обслуживания в узле 1 заявки с вероятностью 1 , 0 12 = p перехо - дят на обслуживание в узел 2, с веро - ятностью 3 , 0 13 = p – на обслуживание в узел 3 и с вероятностью 6 , 0 10 = p поки - дают сеть , причём 1 13 12 10 = + + p p p Положим , что все узлы СеМО – одноканальные , а длительности обслуживания заявок в узлах 1, 2 и 3 представляют собой детерминиро - ванные величины , равные 10, 20 и 30 секундам соответственно Краткое описание рассматриваемой СеМО : • количество потоков ( классов ) заявок : 1 = H ; • количество узлов в сети : 3 = n ; • все узлы одноканальные : 1 3 2 1 = = = K K K ; • емкость накопителей в узлах сети – не ограничена ; • поток заявок – простейший ; • средний интервал между поступающими в сеть заявками : c 100 = a ; • длительности обслуживания заявок в узлах 1, 2 и 3 детерминированные величины , равные соответственно 10 с , 20 с и 30 с Раздел 6. Имитационное моделирование 317 Текст GPSS-модели с комментариями (выделены курсивом): Рассмотрим представленную GPSS- модель , уделив основное внима - ние операторам TRANSFER. В модуле 1, реализующем процесс обслуживания заявки в узле 1 СеМО , используются два оператора TRANSFER. Первый оператор : TRANSFER .6,,Met_0 направляет активный транзакт с заданной вероятностью 0,6 к оператору TERMINATE, что соответствует удалению обслуженной заявки из СеМО , и с вероятностью 0,4 – к следующему по порядку оператору : TRANSFER .75,,Met_3 . Назначение этого оператора – реализация процесса выбора узла , в который будет направлена заявка после завершения обслуживания в узле 1. Активный транзакт с вероятностью 0,75 будет направлен в модуль 3, реализующий процесс обслуживания заявок в узле 3, и соответственно с вероятностью 0,25 – в модуль 2, реализующий процесс обслуживания заявок в узле 2. Естественно , возникает вопрос : почему вероятности равны 0,25 и 0,75, если вероятности передачи в узлы 2 и 3 СеМО заданы равными 0,1 и 0,3? Ответ становится очевидным , если иметь в виду следующее : транзакт , попадающий в статистический TRANSFER, с заданной в операнде А вероятностью р направляется к оператору с меткой , указанной в операнде С , и с вероятностью (1-р), являющейся дополнением до 1, к оператору с меткой , указанной в операнде В , или , по умолчанию , к следующему по порядку оператору , если операнд В опущен Таким ************************************************************************* * Модель 6 линейной разомкнутой однородной СеМО с тремя узлами ************************************************************************* *Модуль 1: моделирование процессов поступления и обслуживания заявок в узле 1 GENERATE (Exponential(10,0,100)); формирование простейшего потока Met_1 SEIZE 1; попытка занять прибор узла 1 ADVANCE 10; обслуживание заявки в узле 1 RELEASE 1; выход обслуженной заявки из узла 1 TRANSFER .6,,Met_0; передача заявки с вероятностью 0,6 в узел «0» TRANSFER .75,,Met_3; передача транзакта с вероятностью 0,75 в узел 3 ************************************************************************* * Модуль 2: моделирование процесса обслуживания заявок в узле 2 Met_2 SEIZE 2; попытка занять прибор узла 2 ADVANCE 20; обслуживание заявки в узле 2 RELEASE 2; освобождение прибора и выход заявки из узла 2 TRANSFER ,Met_1; безусловная передача транзакта в узел 1 ************************************************************************* * Модуль 3: моделирование процесса обслуживания заявок в узле 3 Met_3 SEIZE 3; попытка занять прибор узла 3 ADVANCE 30; обслуживание заявки в узле 3 RELEASE 3; освобождение прибора и выход заявки из узла 3 TRANSFER ,Met_1; безусловная передача транзакта в узел 1 Met_0 TERMINATE 1; удаление из модели (СеМО) обслуженной заявки 318 Раздел 6. Имитационное моделирование образом , если в рассматриваемом операторе TRANSFER в качестве операнда А указать вероятность 0,3, то активный транзакт с вероятностью 0,3 будет направлен в модуль 3, и с вероятностью 7 , 0 ) 3 , 0 1 ( = − – в модуль 2. Это приведёт к тому , что большая часть заявок после обслуживания в узле 1 будет направляться в узел 2, в то время как в соответствии с исходными данными должно быть наоборот – в узел 3 должно направляться в 3 раза больше заявок , чем в узел 2. Итак , каким же образом должны рассчитываться новые значения вероятностей ? Необходимо , чтобы соотношение между вероятностями сохранялось Этого можно достичь путём нормирования вероятностей так , чтобы сумма вероятностей была равна 1. Например , пусть имеется N направлений передачи транзактов с вероятностями N p p p , , , 2 1 K , причём 1 2 1 = + + + N p p p K Указанное вероятностное разветвление потока заявок может быть реализовано в GPSS- модели с помощью последовательности из ) 1 ( − N операторов TRANSFER: TRANSFER 1 p ,,Napravlenie_1 TRANSFER * 2 p ,,Napravlenie_2 TRANSFER * 3 p ,,Napravlenie_3 TRANSFER * 1 − N p ,,Napravlenie_N-1 В первом операторе указывается заданное значение вероятности 1 p для передачи транзакта к оператору с меткой Napravlenie_1. Во втором операторе для передачи транзакта к оператору с меткой Napravlenie_2 указывается нормированное значение вероятности , рассчитываемое как N p p p p p 3 2 2 * 2 + + = или , что то же самое , как 1 2 * 2 1 p p p − = Аналогично , значение вероятности для третьего оператора : 2 1 3 4 3 3 * 3 1 p p p p p p p p N − − = + + = и т д И , наконец , для последнего оператора : 2 1 1 1 1 * 1 1 − − − − − − − − = + = N N N N N N p p p p p p p 6.7.11. Модель 7: замкнутая СеМО с однородным потоком заявок Положим , что рассмотренная выше линейная разомкнутая СеМО с однородным потоком заявок и двумя узлами преобразована в замкнутую Раздел 6. Имитационное моделирование 319 Рис.6.18. Замкнутая СеМО 2 p 10 «0» 1 p 12 СеМО ( рис .6.18), в которой циркулирует постоянное число заявок : 5 = M Как и в предыдущей модели , после обслуживания в узле 1 заявки с вероят - ностью 8 , 0 12 = p переходят на обслужи - вание в узел 2 и с вероятностью 2 , 0 10 = p возвращаются в узел 1, причем 1 12 10 = + p p Пусть нулевая точка выбра - на на дуге , выходящей из узла 1 и входящей снова в узел 1 так , как это показано на рис .6.18. Относительно этой точки будут измеряться такие характеристики сети , как производительность ЗСеМО и время пребывания заявок в сети Длительность обслуживания заявок в двухканальном узле 1 распределена по равномерному закону в интервале от 10 до 20 секунд , а длительность обслуживания заявок в одноканальном узле 2 распределена по экспоненциальному закону со средним значением 20 с Таким образом , краткое описание рассматриваемой замкнутой СеМО имеет следующий вид : • количество потоков ( классов ) заявок : 1 = H ; • количество узлов в сети : 2 = n ; • количество заявок , циркулирующих в замкнутой сети : 5 = M ; • количество обслуживающих приборов в узле 1: 2 1 = K ; • длительность обслуживания заявок в узле 1 распределена равномерно в интервале от 10 до 20 с (15±5 с ); • количество обслуживающих приборов в узле 2: 1 2 = K ; • длительность обслуживания заявок в узле 2 распределена по экспоненциальному закону со средним значением 20 с • ёмкость накопителей в узлах сети достаточна для того , чтобы в сети не было потерь заявок , что обусловливает линейность сети ; в нашем случае можно считать , что ёмкость каждого накопителя совпадает с числом циркулирующих в сети заявок Для того чтобы упростить процесс разработки GPSS- модели замкнутой СеМО , воспользуемся представленной выше GPSS- моделью разомкнутой СеМО Основное отличие замкнутой СеМО от разомкнутой состоит в отсутствии внешнего источника заявок , при этом в GPSS- модели замкнутой СеМО необходимо реализовать циркуляцию в сети постоянного числа заявок ( в нашей модели – пяти заявок ). Рассмотрим представленную ниже |