русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Принцип последовательной проводки заявок


Дата добавления: 2013-12-23; просмотров: 2455; Нарушение авторских прав


Принцип особых состояний

Назовем состояние, в котором обычно находится система, обычным состоянием. Такие состояния интереса не представляют, хотя занимают большую часть времени.

Особые состояния — это такие состояния в изолированные моменты времени, в которых характеристики системы изменяются скачкообразно. Для изменения состояния системы нужна определенная причина, например, приход очередного входного сигнала. Ясно, что с точки зрения моделирования интерес представляет именно изменение характеристик системы, то есть принцип требует от нас отслеживать моменты перехода системы из одного особого состояния в другое.

По сравнению с предыдущим случаем, мы не будем проверять изменение состояния системы в каждый момент времени. Выберем среди будущих моментов только те, в которые происходит поступление или уход изделий со склада, ближайший к текущему моменту времени (блок 7 — здесь и далее см. блоки на рис. 32.3). Определив такой момент, сразу перейдем в него скачком, изменив значение счетчика времени на величину (–Ln(r)/λi) (блок 18). В остальном, алгоритм похож на предыдущий. Заметим только, что цикл опроса входных сигналов ликвидирован, поскольку блок 7 четко отвечает на вопрос, какой из i-ых сигналов имел место.

Все это существенно экономит время моделирования.

Блок-схема алгоритма показана на рис. 32.3.

 

Рис. 32.3. Блок-схема алгоритма, реализованного по принципу особых состояний. Пример — моделирование производственного склада

Принцип состоит в том, что каждая заявка отслеживается от момента поступления ее в систему до момента ее выхода из системы. И только потом рассматривается следующая заявка.

Рассмотрим работу алгоритма на примере двухканальной системы массового обслуживания заявок с двумя местами в общей очереди с дисциплиной FIFO и отказами при переполнении очереди (см. рис. 32.4), см. также лекцию 30.



 

Рис. 32.4. Схема системы массового обслуживания с двумя каналами и ограниченной очередью

Обозначим: λ — интенсивность прихода заявки; μi — интенсивность обслуживания заявки.

Построим алгоритм, определяющий вероятности обслуживания заявок и отказа заявок, а также пропускную способность системы.

Чтобы понять работу алгоритма, представьте себе для наглядности параллельные линейки — оси времени для каждого из мест, в которых может оказаться заявка в процессе обслуживания — так, как мы это делали ранее (см. лекцию 30).

Генерируем заявку (блоки 3, 4 — здесь и далее см. блоки на рис. 32.6). Случайный момент времени, когда заявка пришла в систему, равен Tс. Время между двумя случайными заявками имитируется формулой τ := –1/λ · Ln(r), которое прибавляется к Tс предыдущей заявки Tс := Tс – 1/λ · Ln(r). Учтем этот факт в счетчике пришедших заявок N (блок 4).

Последовательно сравниваем Tс в порядке приоритетов (блоки 5, 6, 7, 8) с временами освобождения T1 канала 1, канала 2 — T2, места в очереди 1 — T3, места в очереди 2 — T4. Как только обнаруживается факт того, что место в системе свободно (см. рис. 30.5): Tс > T1, или Tс > T2, или Tс > T3, или Tс > T4, так немедленно переводим заявку на свободное место и имитируем обработку ее на этом месте.

 

Рис. 32.5. Механизм определения освобождения канала (иллюстрация)

Допустим, что освободилось место в первом канале. Обработка состоит в том, что вычисляется время простоя этого канала до прихода заявки (например, TсT1), и это время прибавляется в счетчик времен простоя (блок 15). Вычисляется следующее время изменения состояния канала — модифицируется переменная T1, которая укажет нам в дальнейшем, когда снова освободится канал. Величина T1 изменяется на величину τ := –1/μ1 · Ln(r) — время обслуживания, отсчитываемую от начала обслуживания Tс. Счетчик обслуженных заявок Nоб увеличивается на единицу.

Аналогично обработка происходит и во втором канале, если заявка попадет именно туда (блок 14).

Особенность обработки заявки в очереди состоит в том, что первое место в очереди освобождается, когда освобождается место в одном из каналов, конечно, заявка уходит туда, где место освобождается раньше (блоки 5, 6). Второе место в очереди освобождается одновременно с первым, так как заявка в очереди передвигается на первое освободившееся место (блок 12).

Далее алгоритм генерирует в цикле следующую заявку (блоки 3, 16). Остановка моделирования происходит тогда, когда каждая линейка будет заполнена до момента Tk (блок 16). После этого происходит обработка статистических результатов, накопленных в счетчиках (блок 17). Вероятность оценивается частостью появления события, которая вычисляется как отношение количества появившихся событий к количеству возможных таких появлений.

Блок-схема алгоритма показана на рис. 30.6.

 

Рис. 32.6. Блок-схема алгоритма, реализованного по принципу последовательной проводки заявок. Пример — моделирование системы массового обслуживания

И, конечно, надо помнить, что чем больше время моделирования, тем точнее будет вычисленный результат.

Имеет смысл напомнить еще раз, что необходимо наблюдать за поведением статистической характеристики, какой, например, является Pоб. Ранее (см. лекцию 21, лекцию 34) мы отмечали, что статистическая величина меняется в зависимости от времени наблюдения. Как только статистическая величина перестает меняться в пределах объявленной точности, то есть кривая входит в коридор, отведенный ей точностью, то это сигнализирует о достаточности количества экспериментов.

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

Для повышения эффективности алгоритма (уменьшения времени его работы) можно отбросить нехарактерную часть реализации — обычно это начальный участок работы системы, «выход ее на режим».

Заметим также, что не важно, имеем ли мы дело с одной длинной реализацией или с большим количеством коротких реализаций (у которых, конечно, вырезан участок «выход на режим»), в сумме дающих реализацию такой же длины — статистический результат будет тем же. Это рассуждение устанавливает равенство усреднений по ансамблю реализаций усреднениям по времени.

Примечание. На практике обычно применяют комбинации всех трех методов.



<== предыдущая лекция | следующая лекция ==>
Синтез СМО | Объектный принцип моделирования


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.