Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Оперативная очередь операций
Последовательность выполнения всех технологических, информационных и управляющих операций в имитационной системе устанавливает оператор управления. В зависимости от сложившейся ситуации оператор управления определяет момент времени начала выполнения каждой операции модели. В зависимости от отображаемых процессов операции модели условно можно разделить на внешние и внутренние. Внешние моделируют процессы, поступающие в систему из внешней среды, например, прием поезда. Внутренние – процессы, возникающие непосредственно в моделируемой системе. Потоки внешних и внутренних операций формируются по разным алгоритмам. Последовательность внешних операций формируется до начала расчета. Времена выполнения внешних операций могут задаваться детерминированным расписанием либо формироваться с использованием случайных законов. В первом случае поток представляет отсортированный по возрастанию времени выполнения и с учетом приоритетов список операций. Во втором способе с помощью случайных чисел определяются интервалы между моментами поступления операций. Для каждой операции формируется массив моментов поступления по правилу , где - определенный с помощью датчика случайных чисел интервал между моментами поступления операций; - последовательный номер из общего числа операций, для которых определяются моменты времени; - интервал времени, на котором необходимо разместить требуемое количество операций.
После этого массивы внешних операций объединяются и полученное множество отсортировывается по возрастанию времени и с учетом приоритетов. Моменты выполнения внутренних операций определяются в зависимости от состояния модели. Если операция , поступившая в , обслужена и имеет продолжение, а в момент окончания ее обслуживания состояние модели соответствует ситуации , то формируется одна или несколько новых операций с временем поступления и приоритетом . В отдельных случаях время поступления новой операции может быть меньше или больше времени окончания обслуживания предыдущей на заданную величину. Возникающие операции записываются в массив, именуемый оперативной очередью, где они ожидают выполнения. Среди операций выделяются, так называемые, диспетчерские, которые включаются в очередь тогда, когда не была обслужена некоторая предыдущая. Диспетчерские операции имитируют действия диспетчера в критической обстановке. После каждой новой записи операции оперативная очередь пересортировывается по времени возрастания поступления операций и с учетом приоритетов. Для выполнения из оперативной очереди выбирается всегда первая по списку операция. Время поступления на расчет первой в оперативной очереди операции будем называть модельным временем. Если операция из очереди не может быть выполнена, то выбирается следующая по списку и т.д.
Приоритеты, которые могут присваиваться операциям, в общем случае отображают преимущество на выполнение одних технологических процессов над другими. Например, прием поезда на станцию перед маневровыми передвижениями и т.п. Более «важным» операциям присваивается более высокий приоритет. Приоритеты характеризуются глубиной действия. Под глубиной действия приоритета понимается интервал времени, в течении которого операция с данным приоритетом будет иметь преимущество на выполнение (другими словами, будет выполняться раньше) перед операциями с низшим приоритетом. Глубина действия откладывается от момента поступления данной операции в обратную по оси времени сторону. За пределами такого интервала времени приоритет не учитывается. Рассмотрим это на примере. Пусть первой в оперативной очереди находятся операция - с модельным временем и приоритетом и записывается в очередь операция с временем поступления , и приоритетом , . Для приоритета задана глубина действия . Если момент поступления операции попадет в зону действия приоритета , т.е. (рис. 11), то первой из двух рассматриваемых операций будет выполняться операция .
Рис. 11. Действие приоритетов
В случае если операция не будет попадать в зону действия приоритета , т.е. (рис. 11), то первой будет выполняться операция несмотря на то, что операция имеет более высокий приоритет.
|