Сделай Сам Свою Работу на 5

Понятие имитационного моделирования





Имитационное моделирование— метод, позволяющий строить модели, описывающие процессы так, как они проходили бы в действительности

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

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

Объекты GPSSW

Объекты GPSSW :

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

· Операционные объекты. Они формируют логику модели, давая транзактам указания: куда идти и что делать дальше.

· Аппаратные объекты — соответствуют обслуживающим приборам в СМО.

· Статистические объекты - служат для сбора и обработки статистических данных о функционировании модели.

· Вычислительные объекты - Они используются для вычисления некоторых величин, заданных арифметическими или логическими выражениями либо табличными зависимостями.



· Запоминающие объекты - обеспечивают хранение в памяти ПК отдельных величин, используемых в модели, а также массивов таких величин.

 

Управление последовательностью выполнения программы GPSSW

Работа GPSSW-модели под управлением симулятора заключается в перемещении транзактов от одних блоков к другим аналогично тому, как в моделируемой СМО перемещаются заявки.

В начальный момент времени в GPSS-модели нет ни одного транзакта. В процессе моделирования симулятор генерирует транзакты в определенные моменты времени в соответствии с теми логическими потребностями, которые возникают в моделируемой системе. Подобным же образом транзакты покидают модель в определенные моменты времени в зависимости от специфики моделируемой системы. В общем случае в модели одновременно существует большое число транзактов, однако в каждый момент времени симулятор осуществляет продвижение только какого-либо одного транзакта. Центральной задачей, выполняемой симулятором, является определение того, какой транзакт надо выбрать следующим для продвижения в модели, когда его предшественник прекратил свое продвижение. Продвижение транзактов на обслуживание организуется в порядке убывания приоритетов транзактов, а в пределах каждого уровня приоритета — в порядке поступления транзактов.



Если транзакт начал свое движение, он перемещается от блока к блоку по пути, предписанному блок-схемой. В тот 'момент, когда транзакт входит в некоторый блок, на исполнение вызывается подпрограмма симулятора, соответствующая типу этого блока, а после ее выполнения, при котором реализуется функция данного блока, транзакт «пытается» войти в следующий блок. Такое продвижение транзакта продолжается до тех пор, пока не произойдет одно из следующих возможных событий:

1) транзакт входит в блок, функцией которого является удаление транзакта из модели;

2) транзакт входит в блок, функцией которого является задержка транзакта на некоторое определенное в модели время;

3) транзакт «пытается» войти в следующий блок, однако блок «отказывается» принять его. В этом случае транзакт остается в том блоке, где находился, и позднее будет повторять свою попытку войти в следующий блок. Когда условия в модели изменятся, такая попытка может оказаться успешной, и транзакт сможет продолжить свое перемещение по блок-схеме.

Если возникло одно из описанных выше условий, обработка данного транзакта прекращается, и начинается перемещение другого транзакта. Таким образом, выполнение моделирования симулятором продолжается постоянно. Каждое продвижение транзакта в модели является событием, которое должно произойти в определенный момент модельного времени. Для того чтобы поддерживать правильную временную последовательность событий, симулятор имеет таймер модельного времени, который автоматически корректируется в соответствии с логикой, предписанной моделью.



Таймер GPSS/PC имеет следующие особенности:

1) регистрируются только целые значения

2) единица модельного времени определяется разработчиком модели, который задает все временные интервалы в одних и тех же, выбранных им единицах;

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

Центральной задачей, выполняемой симулятором, является определение того, какой транзакт надо выбрать следующим для продвижения в модели, когда его предшественник прекратил свое продвижение. С этой целью симулятор рассматривает каждый транзакт как элемент некоторого списка. В относительно простых моделях используются лишь два основных списка: список текущих событий (включает в себя те транзакты, планируемое время продвижения которых равно или меньше текущего модельного времени и список будущих событий (включает в себя транзакты, планируемое время продвижения которых больше текущего времени, т.е. события, связанные с продвижением этих транзактов, должны произойти в будущем)

Симулятор GPSS/PC помещает транзакты в зависимости от условий в модели в тот или иной список и переносит транзакты из списка в список, просматривает списки, выбирая следующий транзакт для обработки, корректирует таймер модельного времени после обработки всех транзактов в списке текущих событий

 

Операторы, связанные с транзактами. Блоки, связанные с аппаратными объектами

Исходная программа на языке GPSSW, как и программа на любом языке программирования, представляет собой последовательность операторов. Операторы исходного текста GPSSW записываются и вводятся в ПК в следующем формате (в скобках указаны необязательные части):

GENERATE ─ генерировать,

SEIZE ─ занять,

RELEASE ─ освободить,

ADVANCE ─ задержать,

QUEUE ─ стать в очередь,

DEPART ─ покинуть очередь,

TRANSFER ─ передать,

TERMINАTE ─ завершить,

Пояснения к некоторым терминам стандартного отчета.

Общая информация:

START TIME ─ начальное время моделирования.

END TIME ─ конечное время моделирования.

BLOKS ─ количество блоков в модели.

Информация об устройстве

FACILITY ─ номер ли имя устройства.

ENTRIES ─ количество транзактов входивших в устройство.

UTIL ─ коэффициент использования устройства.

AVE.TIME ─ среднее время занятости устройства одним

транзактом.

AVAILABLE ─ состояние доступности устройства в конце

моделирования (0 – недоступно, 1 – доступно).

Информация об очереди

QUEUE ─ имя или № устройства.

MAX ─ максимальное количество транзактов, входивших в очередь.

CONT ─ текущее содержимое очереди.

ENTRIES ─ количество транзактов, находившихся в очереди.

ENTRIES(0) ─ количество транзактов, входивших в очередь с

«нулевым» временем задержки.

AVE.CONT ─ средняя длина очереди.

AVE.TIME ─ среднее время пребывания в очереди одного

транзакта.

AVE.(-0) ─ среднее время пребывания в очереди одного транзакта

без учета «нулевых» входов.

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

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

Блок TRANSFER (передать) служит для передачи входящих в него транзактов в блоки, отличные от следующего. Блок имеет девять режимов работы, из которых рассмотрим здесь лишь три наиболее часто используемых. В этих трех режимах блок имеет следующий формат:

имя TRANSFER A, B, C Смысл операндов в полях A, B и C зависит от режима работы блока.

В режиме безусловной передачи поля A и C пусты, а в поле B указывается имя блока, к которому безусловным образом направляется транзакт, вошедший в блок TRANSFER. Например: TRANSFER, FINAL

 

 

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.