Норенков И.П. - Автоматизированное производство (1054022), страница 31
Текст из файла (страница 31)
Уравнения Колмогорова для установившегося режима имеют видM:BD+=: 3.)0λP0 + µP1 = 0,СостояниеS0S1S2S3S4...λP0 - (l+µ)P1 + µP2 = 0,S0000...-λλµP1 - (l+µ)P2 + λP3 = 0,µP2 - (l+µ)P3 + λP4 = 0,S100...-λ-µµλ.....S200...-λ-µµλ%+,.3.)8. Граф состоянийS300µ-λ-µλ...S4000µ-λ-µ........................Используя уравнения Колмогорова, можно выразить все PW, i = 1,2,3..., через P0. ПолучимP1 = λP0/µ = aP0,P2 = ((l+µ)P1 - λP0) / µ = (1+a)P1 - aP0 = a2P0;P3 = (1+a)P2 - aP1 = a 2P1 = a3P0 и т.д.Здесь введено обозначение ) = λ/µ. Отметим также, что установившийся режим возможен только при) < 1.&.+.)$(*),$" .
!"#$%!#&'&($"!))$*+($*,#&($"!)&*805@!"! 3%!#*%!#&F*:,$*$I*:+*F*)&* !)!@&'! +($*,#)KH (*L*)&M∞Так как ∑ Pi = 1, тоi=0∞P0 = 1 - ∑ Pi = 1 - P0 (a + a2 + a3 + ...) = 1 / (1 + a + a2 + a3 +...) = 1 - a.i=0Теперь нетрудно получить и остальные требуемые результаты:∞Nav = ∑Pk k = P1 + 2P2 + 3P3 +... = a (1-a) (1 + 2a + 3a2 +...) = a (1-a) / (1-a)2 = a / (1-a).k=1∞Qav = P2 + 2P3 + 3P4 +... = ∑ (k-1)Pk = P0 a2 ( 1 + 2a + 3a2 +...) = a2 / (1-a).k=2Времена пребывания в системе и очереди находятся из соотношений:Nav = λTav ,Qav = λTorкоторые называют формулами Литтла:Tav = a / (1-a) / λ = 1 / (µ - λ),Tor = a2 / (1-a) / λ = a / (µ - λ).!/+-:=+4004. /45.D+849:0+. *E$. Для представления имитационных моделей можно использовать языки программирования общего применения, однако такие представления оказываютсядовольно громоздкими.
Поэтому обычно применяют специальные языки имитационного моделирования на системном уровне. Среди языков имитационного моделирования различают языки, ориентированные на описание событий, средств обслуживания или маршрутов движения заявок (процессов).Выбор языка моделирования определяет структуру модели и методику ее построения.Ориентация на устройства характерна для функционально-логического и более детальных иерархических уровней описания объектов.Для описания имитационных моделей на системном уровне (такие модели иногда называют +$&$(./' '/'&)='#**./' /#-$49/' — СИМ) чаще используют языки, ориентированные на событияили процессы.
Примерами первых могут служить языки Симскрипт, SMPL и ряд других. К числу вторых относятся языки Симула, SOL, а также популярный язык GPSS.Языки имитационного моделирования реализуются в программно-методических комплексах моделирования СМО, имеющих ту или иную степень специализации. Так, комплексы на базе языкаGPSS можно использовать во многих приложениях, но есть специализированные комплексы для моделирования вычислительных сетей, систем управления предприятиями и т.п.При использовании языков, ориентированных на процессы, в составе СИМ выделяются элементарные части и ими могут быть источники входных потоков заявок, устройства, накопители и узлы.D+*'% (,#-*#8# 0#%) 6)9(#% представляет собой алгоритм, в соответствии с которым вычисляются моменты tk появления заявок на выходе источника. Источники могут быть зависимыми и независимыми.
В зависимых источниках моменты появления заявок связаны с наступлением определенных событий, например, с приходом другой заявки на вход некоторого устройства. Типичным независимым источником является алгоритм выработки значений tk случайной величины с заданным законом распределения.Q+&"#;+&() в имитационной модели представлены алгоритмами выработки значений интервалов (длительностей) обслуживания. Чаще всего это алгоритмы генерации значений случайных величин с заданным законом распределения.
Но могут быть устройства с детерминированным временемобслуживания или временем, определяемым событиями в других частях СИМ. Модель устройстваотображает также заданную дисциплину обслуживания, поскольку в модель входит алгоритм, управляющий очередями на входах устройства.G)%#0'&$4' моделируются алгоритмами определения объемов памяти, занимаемых заявками,приходящими на вход накопителя. Обычно объем памяти, занимаемый заявкой, вычисляется как зна&.+.)$(*),$" . !"#$%!#&'&($"!))$*+($*,#&($"!)&*815@!"! 3%!#*%!#&F*:,$*$I*:+*F*)&* !)!@&'! +($*,#)KH (*L*)&Mчение случайной величины, закон и (или) числовые характеристики распределения может зависеть оттипа заявки.Q64.
выполняют связующие, управляющие и вспомогательные функции в имитационной модели, например, для выбора направлений движения заявок в СИМ, изменения их параметров и приоритета, разделения заявок на части, их объединения и т.п.Обычно каждому типу элементарной модели, за исключением лишь некоторых узлов, в программной системе соответствует определенная процедура (подпрограмма).
Тогда СИМ можно представить как алгоритм, состоящий из упорядоченных обращений к этим процедурам, отражающим поведение моделируемой системы.В процессе моделирования происходят изменения модельного времени, которое чаще всего принимается дискретным, измеряемым в тактах. Время изменяется после того, как закончена имитацияочередной группы событий, относящихся к текущему моменту времени tk. Имитация сопровождаетсянакоплением в отдельном файле статистики таких данных, как количества заявок, вышедших из системы обслуженными и необслуженными, суммарное время занятого состояния для каждого из устройств, средние длины очередей и т.п.
Имитация заканчивается, когда текущее время превысит заданный отрезок времени или когда входные источники выработают заданное число заявок. После этогопроизводят обработку накопленных в файле статистики данных, что позволяет получить значениятребуемых выходных параметров.*4B1-+2012 /.-45 /45.D+849:0+>. В программах имитационного моделирования СМО преимущественно реализуется +#2.&';*.; /$- организации вычислений. Сущность событийного метода заключается в отслеживании на модели последовательности событий в том же порядке, в какомони происходили бы в реальной системе. Вычисления выполняют только для тех моментов времени итех частей (процедур) модели, к которым относятся совершаемые события.
Другими словами, обращения на очередном такте моделируемого времени осуществляются только к моделям тех элементов(устройств, накопителей), на входах которых в этом такте произошли изменения. Поскольку изменения состояний в каждом такте обычно наблюдаются лишь у малой доли ОА, событийный метод может существенно ускорить моделирование по сравнению с инкрементным методом, в котором на каждом такте анализируются состояния всех элементов модели.Рассмотрим возможную схему реализации событийного метода имитационного моделирования.Моделирование начинается с просмотра операторов генерирования заявок, т.е.
с обращения к моделям источников входных потоков. Для каждого независимого источника такое обращение позволяетрассчитать момент генерации первой заявки. Этот момент вместе с именем — ссылкой на заявку — заносится в список будущих событий (СБС), а сведения о генерируемой заявке — в список заявок (СЗ).Запись в СЗ включает в себя имя заявки, значения ее параметров (атрибутов), место, занимаемое в данный момент в СИМ. В СБС события упорядочиваются по увеличению моментов наступления.Затем из СБС выбирают совокупность сведений о событиях, относящихся к наиболее раннемумоменту времени.
Эта совокупность переносится в список текущих событий (СТС), из которого извлекаются ссылки на события. Обращение по ссылке к СЗ позволяет установить место в СИМ заявкиА, с которой связано моделируемое событие. Пусть этим местом является устройствоХ. Далее программа моделирования выполняет следующие действия ( рис. 3.19):1) изменяет параметры состояния устройства Х; например, если заявка А освобождает Х, а очередь к Х не была пуста, то всоответствии с заданной дисциплиной обслуживания из очереди к Х выбирается заявка В и поступает на обслуживание в Х;2) прогнозируется время наступленияследующего события, связанного с заявкой%+,. 3.)9.
Иллюстрация событийного моделированияВ, путем обращения к модели устройства Х,&.+.)$(*),$" . !"#$%!#&'&($"!))$*+($*,#&($"!)&*82ГЛАВА 3МАТЕМАТИчЕСКОЕОБЕСПЕчЕНИЕ АНАЛИЗА ПРОЕКТНЫХ РЕШЕНИЙв которой рассчитывается продолжительность обслуживания заявки В; сведения об этом будущем событии заносятся в СБС и СЗ;3) происходит имитация движения заявки А в СИМ по маршруту, определяемому заданной программой моделирования, до тех пор, пока заявка не придет на вход некоторого ОА; здесь либо заявказадерживается в очереди, либо путем обращения к модели этого ОА прогнозируется наступление некоторого будущего события, связанного с дальнейшей судьбой заявки А; сведения об этом будущемсобытии также заносятся в СБС и СЗ;4) в файл статистики добавляются необходимые данные.После отработки всех событий, относящихся к моменту времени tk, происходит увеличение модельного времени до значения, соответствующего ближайшему будущему событию, и рассмотренныйпроцесс имитации повторяется.Краткое описание языка GPSS.
Язык GPSS (General Purpose Simulation System), ориентированный на процессы, реализован в ряде программ имитационного моделирования. Модель (программа) на языке GPSS представляет собой последовательность операторов ( их называют блоками), отображающих события, происходящие в СМО при перемещениях транзактов. Поскольку в интерпретаторах GPSS реализуется событийный метод, и в СМО может быть одновременно много транзактов, то интерпретатор будет попеременно исполнять разные фрагменты программы, имитируя продвижения транзактов в текущий момент времени до их задержки в некоторых устройствах или очередях.Операторы GPSS имеют следующий формат:<метка> <имя оператора> <поле операндов> [<комментарий>]причем метка может занимать позиции, начиная со второй, имя оператора — с восьмой, поле операндов — с девятнадцатой, комментарий обязательно отделяется от поля операндов пробелом.Поле операндов может быть пусто, иметь один или более операндов, обозначаемых ниже при описании блоков символами А, B, C,...
Операндами могут быть идентификаторы устройств, накопителей, служебные слова и стандартные числовые атрибуты (СЧА). К СЧА относятся величины, часто встречающиеся в разных задачах. Это, например, АС1 — текущее время, FN — функция, P — параметр транзакта (каждый транзакт может иметь не более L параметров, обычно L =12),K — константа, RN1 — случайная величина, равномерно распределенная в диапазоне [0, 1], S — объем занятой памяти внакопителе, F — состояние устройства, Q — текущая длина очереди и др. При этом ссылки на идентификаторы записываются в виде<СЧА>$<идентификатор>например, Q$ORD означает очередь ORD или FN$COS — ссылка на функцию COS.Рассмотрим наиболее часто встречающиеся операторы, сопровождая знакомство с ними простыми примерами моделей.Источники заявок обычно описываются блокомGENERATE A,B,C,D,Eгде А и В служат для задания интервалов между появлениями заявок, при этом можно использовать один из следующихвариантов: 1) интервал — равномерно распределенная в диапазоне [А-В, А+В] случайная величина; 2) интервал — значение функции, указанной в В, умноженной на А; С — задержка в выработке первого транзакта; D — число вырабатываемых источником заявок; Е — приоритет заявок.