Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral

|
5. Распечатка программы.
|
6. Выходные данные программы.
|
7. Обсуждение. Логика моделирования. Обратим внимание, каким образом во втором сегменте модели осуществляется задержка первого прибытия предлагаемых дополнительных танкеров. Время пребывания в блоке ADVANCE, осуществляющем задержку прибытия (блок 9 на рис. 6А.2), определяется посредством переменной SPACE, вычисляемой как 48*N$HERE. В свою очередь, HERE — есть имя самого блока ADVANCE. Когда первый транзакт-танкер поступает в этот блок, N$HERE равно нулю; таким образом, время пребывания в блоке также равно нулю. (Вспомним, что счетчик числа вхождений в блок подсчитывается в последнюю очередь при выполнении подпрограммы блока. Это означает, что при нахождении произведения 48*N$HERE значение N$HERE остается равным нулю.) При входе в этот блок второго транзакта-танкера N$HERE равно единице (благодаря первому транзакту-танкеру), время пребывания равно 48 ч и т. д. (см. упражнение 5,а параграфа 6.4).
Блок ASSIGN в 3-м сегменте модели (блок 19, рис. 6А.2) является в некотором смысле лишним. Второй параметр транзактов дополнительно предлагаемых танкеров после их первого захода в порт уже несет в себе правильную величину размаха времени заправки. В упражнении 5 в параграфе 6.4 предлагается уменьшить число выполняемых блоков.
Распечатка результатов. (Общее время занятости процессора при моделировании на ЭВМ IBM 360/67 составило 21,6 с.) На рис. 6А. З даны таблицы времени пребывания в порту различных танкеров. Среднее время пребывания танкера типов 1—3 составляет соответственно 48,7; 54,4 и 69,3ч (MEAN ARGUMENT в табл. рисунка 1, 2, 3). Сравнивая эти величины с их средними общими временами подхода к стоянке, заправки и ухода со стоянки, составляющими соответственно 20, 26 и 38 ч (в предположении отсутствия каких-либо задержек), можно сказать, что их задержки при заходе в порт возрастают примерно на 30 ч. Задержку на 30 ч можно сопоставить с задержкой на 5 ч, возникающей для этих танкеров при отсутствии соперничества со стороны дополнительных танкеров (как было указано в постановке задачи). В неприведенной в тексте части распечатки результатов указано, что занятость стоянки подскочила примерно до 97% при использовании дополнительных танкеров против 80%, как это было раньше (что следует из постановки задачи).
Предлагаемые дополнительные танкеры проводят в порту в среднем около 2 дней (50,6 ч, табл. 4 на рис. 6А. З). Без учета задержек время их подхода к стоянке, заправки и отхода от стоянки должно было составлять в среднем 23 ч. Следовательно, по прибытии в порт они имеют задержку на 27 ч. В упражнении 6 параграфа 6.4 проведено дальнейшее исследование задержек танкеров.
Модель автобусной остановки
1. Постановка задачи. По расписанию автобус должен приходить на остановку каждые 30 мин, однако возможно его опоздание на 1,5±1,5 мин. Опоздание автобуса никак не зависит от опоздания предыдущего автобуса и не влияет на опоздание следующего. Приход людей на автобусную остановку подчиняется закону Пуассона с интенсивностью 12 человек каждые 30 мин. Автобус вместимостью 50 человек в момент своего прибытия везет 35±15 человек. После того, как от трех до семи пассажиров выйдут (распределение равномерное), в автобус входят столько ожидающих, сколько возможно. Те, кто не смог сесть после того, как автобус заполнился, уходят и больше не возвращаются.
Для высадки пассажира требуется 4±3 с, а для посадки — 8±4 с. Пассажиры выходят и входят один за другим. Ожидающие не начинают посадки до тех пор, пока из автобуса не выйдут все желающие. Посадка производится в соответствии с правилом «первым пришел — первым обслужен». Все пришедшие на остановку во время посадки имеют право войти при условии, что для них есть место. В случае временного узла между событиями «автобус закончил посадку» и «прибыл еще один пассажир» прибывший пассажир садится в автобус (при условии, конечно, что для него есть место).
Построить GPSS-модель, имитирующую события на автобусной остановке. Приспособить модель для сбора следующей информации.
1. Собрать статистику очереди, в которой находятся люди, ожидающие автобуса, включая распределение времени ожидания в очереди.
2. Найти распределение случайной переменной «число необслуженных пассажиров на один прибывающий автобус».
Выполнить прогон модели до 25 прибытий и уходов автобуса.
2. Метод построения модели. Модель состоит из двух сегментов: 1-й сегмент моделирует пассажиров, приходящих на автобусную остановку, ждущих автобуса и затем либо уезжающих, либо уходящих; 2-й сегмент моделирует автобус и алгоритм, по которому происходит высадка из автобуса.
1-й сегмент модели. Каждый транзакт-пассажир, поступивший в модель, входит в блок «QUEUE WAIT», где остается до тех пор, пока не придет автобус и пока не подойдет очередь этого транзакта-пассажира попытаться сесть в автобус. Если эти условия выполнены, двери автобуса (BUS) открыты для транзакта-пассажира. Транзакт выходит из очереди и в блоке TEST, работающем в режиме передачи, проверяет, будет ли значение сохраняемой величины NOWON меньше 50. (Эта сохраняемая величина используется в качестве счетчика числа людей в автобусе, находящемся на остановке.) Если мест нет, транзакт-пассажир добавляет единицу к сохраняемой величине МAD и уходит из модели. (Сохраняемая величина MAD используется для подсчета числа людей, которым не удалось попасть в пришедший автобус.)
Если в автобусе есть место, транзакт-пассажир переходит в блок, следующий за блоком TEST, и закрывает вход в автобус (ВUS). (Это сделано для того, чтобы следующий пассажир не пытался совершить посадку до пор, пока не сел рассматриваемый.) После задержки в 8±4 с транзакт-пассажир подсчитывает значение сохраняемой величины NOVON, затем открывает BUS для следующего ожидающего транзакта-пассажира и уходит из модели.
2-й сегмент модели. Транзакт-автобус вводится в модель каждые 30 мин. Затем он переходит в блок ADVANCE, где моделируется задержка. (Время задержки в блоке ADVANCE может быть равно нулю, и в этом случае автобус прибывает во-время.) Выходя из блока ADVANCE, транзакт-автобус выбирает число из распределения числа пассажиров в автобусе и заносит результат в сохраняемую величину NOWON. Затем он производит выборку из распределения числа пассажиров, желающих выйти, и заносит этот результат в параметр 1. Используя затем параметр 1 в качестве параметра цикла, транзакт-автобус выпускает всех желающих, моделируя соответствующую задержку времени и корректируя при этом сохраняемую величину NOWON. После выхода из цикла транзакт-автобус открывает BUS и затем ждет до тех пор, пока последний пассажир из тех, кто может сесть в автобус, не закончит посадку. Затем транзакт-автобус записывает в GPSS-таблицу число необслуженных людей и обнуляет сохраняемую величину MAD (для того, чтобы назначить этому счетчику его начальное значение для следующего автобуса). Наконец, транзакт-автобус закрывает BUS и выходит из модели.
В качестве упражнения попытайте построить блок-схему этой модели. Затем посмотрите на блок-схему, приведенную на рис.5E.1, и сравните ее с построенной.
3. Таблица определений. Единица времени: 1 с.
Таблица 5Е.1. Таблица определений примера моделирования 5Е (модель автобусной остановки)
Элемент GPSS | Интерпретация |
Транзакты: 1-й сегмент модели 2-й сегмент модели | Пассажир Автобус: Р1 — сначала число людей, желающих выйти; затем число людей в автобусе, которым еще необходимо выйти |
Функции: XPDIS ONBUS OFF | Экспоненциальная функция распределения Функция распределения числа пассажиров в автобусе в момент прибытия на остановку Функция распределения числа выходящих из автобуса пассажиров |
Логические переключатели: BUS | Логический переключатель; в положении «сброшено» указывает на одновременное выполнение следующих условий: 1) автобус находится на остановке и 2) следующему пассажиру можно попытаться произвести посадку |
Очереди: LINE | Очередь ожидающих автобуса |
Сохраняемые величины: MAD NOWON | Счетчик для определения числа людей, не сумевших сесть в находящийся на остановке автобус Счетчик для определения числа пассажиров в прибывшем на остановку автобусе |
Таблицы: INQUE MAD | Таблица для оценки распределения времени пребывания в очереди Таблица для оценки распределения случайной переменной «необслуженные люди на один автобус» |
4. Блок-схема
|
|
5. Распечатка программы
|
6. Выходные данные
|
7. Обсуждение. Логика моделирования. Как указывалось в постановке задачи, перед тем, как пассажир попытается сесть в автобус, должно быть выполнено несколько условий: на остановку должен прийти автобус и должна подойти очередь этого пассажира на посадку. Тем не менее, в модели используется только один логический переключатель. Положение этого переключателя управляется обоими сегментами модели. Во 2-м сегменте модели транзакт-автобус может установить логический переключатель, тем самым открыв BUS и указав на то, что автобус прибыл и можно начинать посадку. Транзакт-автобус может также “сбросить” переключатель BUS, что будет означать, что на остановке автобуса больше нет. Однако BUS не остается открытым на протяжении всего времени стоянки автобуса. В 1-м сегменте модели транзакт-пассажир, начавший посадку в автобус, «сбрасывает» переключатель, закрывая тем самым вход и заставляя других пассажиров ждать своей очереди. Аналогичным образом, транзакт-пассажир может «установить» переключатель, открывая тем самым доступ и указывая на то, что следующему пассажиру в очереди пора пытаться производить посадку. Конечно, транзакт-пассажир не может управлять переключателем до тех пор, пока автобус не прибыл на остановку. Логика задачи такова, что состоянием единственного логического переключателя можно описывать сложное условие.
Необходимо сделать замечание относительно условий, при которых автобус покидает остановку. Было бы ошибкой сделать так, чтобы автобус мог уехать, как только очередь опустеет. Причина этого заключается в том, что человеку, совершающему посадку, требуется для этого ненулевое время. Выход из очереди на посадку еще не означает, что посадка совершена. Поэтому во 2-м сегменте модели транзакт-автобус сначала ждет в блоке «TEST Е Q$LINE,0», пока не опустеет очередь, а в следующем блоке проверяет, не находится ли последний пассажир в процессе посадки. Только после того, как очередь пуста и последний пассажир сел, автобус может уезжать с остановки. (В задачах следующего параграфа будет предложено дальнейшее исследование этого вопроса.)
Распечатка результатов. (Общее время моделирования на ЭВМ IBM 360/67 составило 4,6 с.) На рис. 5Е. З, а приведена статистика для очереди. Всего было 288 вхождений в очередь. (Ожидаемое значение было чуть более 300.) Наибольшее число людей, находившихся в очереди одновременно и ожидавших посадки в автобус, равнялось 16. Один человек имел нулевое время пребывания в очереди.
На рис. 5Е. З, б показано распределение времени пребывания в очереди. Среднее время ожидания составило 889 с, или около 15 мин. Однако 42 пассажира ждали от 25 до 30 мин. Обе части статистики согласуются с данными, указанными в постановке задачи.
На рис. 5Е. З, б дано распределение людей, не обслуженных остановившимся автобусом. Все желающие имели возможность сесть в автобус в 21 случае из 25, т. е. в 84% случаев. Ни разу не было так, чтобы необслуженным остался один человек. В трех случаях не смогли сесть в автобус двое и в одном случае — трое.
Моделирование процесса выдачи книг в библиотеке
1. Постановка задачи. Рассмотрим библиотеку без открытого доступа. В такой библиотеке любой желающий получить книгу должен представить библиотекарю, работающему у стола выдачи, листок запроса. После этого библиотекарь идет в книгохранилище, ищет там книгу и возвращается с ней к столу. Затем происходит процедура выдачи, после чего посетитель уходит с книгой.
Если обслуживания ожидают несколько человек, то библиотекарь часто экономит время, необходимое для хождения от стола выдачи до хранилища, забирая листки запроса сразу у нескольких читателей. Поскольку число книг, которое библиотекарь может нести одновременно, ограничено, то и число листков, забираемых библиотекарем одновременно, будет ограничено.
Построить GPSS-модель для имитации процедуры выдачи книг в библиотеке при следующих условиях.
1. Лица, желающие получить книги, приходят к столу по закону Пуассона со средней интенсивностью 30 человек в час.
2. Каждый хочет получить ровно одну книгу. Более того, требуемая книга всегда имеется.
3. Число библиотекарей, работающих у стола выдачи, должно быть переменным.
4. Как только библиотекарь освобождается, он может взять листки запроса не более чем у четырех человек одновременно (если такое число людей ожидает обслуживания).
5. В модели приняты следующие временные характеристики.
а). Время, затрачиваемое на передачу листков запроса, несущественно.
б). Время, необходимое на прохождения в один конец от стола выдачи до хранилища, равно 1 ± 0,5 мин.
в). Время, необходимое на поиск одной, двух, трех или четырех книг, распределено по нормальному закону со средним соответственно 3, 6, 9 и 12 мин и стандартным отклонением, равным 20% от среднего.
г). После возвращения библиотекаря из хранилища время, требуемое на завершение процедуры выдачи, составляет 2 ±1 мин на человека.
6. Листки запросов берут в порядке поступления. По возвращении библиотекаря из хранилища завершение процедуры выдачи осуществляется по этому же принципу.
7. Если свободны два или более библиотекарей и прибывает посетитель, то его обслуживает тот, кто был свободен дольше других.
8. Если свободны два или более библиотекарей и обслуживания ожидают два или более посетителей, то библиотекари не делят работу поровну между собой. Вместо этого, один библиотекарь берет столько листков, сколько сможет (но не более четырех); затем, если остаются еще посетители с листками, то следующий библиотекарь также берет столько листков, сколько сможет, и т. д.
В модели следует определить распределение случайных величин «время, проведенное каждым читателем у стола выдачи» и «число листков, забираемых библиотекарем». Необходимо найти также нагрузку библиотекарей. Получить требуемую информацию для случаев трех, четырех и пяти библиотекарей, работающих у стола выдачи. Для каждого случая продолжать моделирование до тех пор, пока не будут полностью обслужены 100 человек.
|
2. Метод построения модели. По сравнению с упрощенной моделью библиотеки на рис.6.4 в более сложной постановке в настоящем примере существуют пять дополнительных специальных обстоятельств, которые необходимо учесть.
1. Следует найти способ, с помощью которого библиотекарю запрещалось бы брать листки более чем у четырех посетителей одновременно. (В этом состоит отличие от модели рис.6.4, где библиотекарь забирал листки у всех ожидающих, независимо от их числа.)
2. Каждый библиотекарь должен как образом узнать, сколько у него имеется листков, когда он идет в хранилище. (Это необходимо для того, чтобы сделать выборку из распределения времени поиска. Знание числа листков используется также потом, когда библиотекарь должен определить, скольким посетителям необходимо вручить принесенные книги после возвращения из хранилища.) Метод использования счетчика содержимого блока, как на рис. 6.4, в примере неприемлем, поскольку в общем случае какие-то посетители ожидают возвращения первого библиотекаря, другие ожидают (в том же блоке) возвращения второго библиотекаря и т. д.
3. Поскольку у стола выдачи работают несколько библиотекарей, посетители должны иметь возможность опознать именно того, который взял их листки, чтобы впоследствии узнать, что он вернулся из хранилища, и закончить процедуру получения.
4. Поскольку несколько посетителей могут ожидать возвращения из хранилища нескольких различных библиотекарей, библиотекарям необходимо иметь возможность опознать тех посетителей, чьи книги они принесли. Затем библиотекари должны указать свои посетителям, что для них процедура выдачи завершена.
5. Любой библиотекарь завершает процедуру выдачи одновременно только для одного посетителя. Посетители могут уходить от стола выдачи только поодиночке (в отличие от модели на рис. 6.4, где процедура выдачи заканчивалась одновременно для всех посетителей, у которых были взяты листки запроса). Ниже для каждого обстоятельства приведен метод, используемый для его обеспечения
Обстоятельство 1: ограничении числа листков, забираемых библиотекарем. Когда условия модели приводят к событию взятия листков, библиотекарь открывает клапан SLIP. Затем библиотекарь помещается в буфер, вызывая новый просмотр цепи текущих событий интерпретатором. Обрабатываемый транзакт-посетитель, имеющий более высокий приоритет, проходит через открытый клапан и входит в блок SAVEVALUE, увеличивающий сохраняемую величину на единицу. (Сразу перед открытием клапана SLIP транзакт-библиотекарь обнуляет сохраняемую величину. Сохранеяемая величина последовательно подсчитывает число листков, забираемых библиотекарем.) Затем транзакт-посетитель переходит в блок TEST, где вычисляется булевская переменная, определяющая, является ли истиной одно из двух условий: 1) или библиотекарь уже взял четыре листка и 2) или посетителей, желающих отдать свой листок, больше нет. Если булевская переменная имеет значение “истина”, то транзакт-посетитель сам закрывает клапан SLIP; в противном случае посетитель обходит блок LOGIC, закрывающий этот клапан. При этом транзакт-посетитель останавливается у другого клапана (соответствующего клапану BOOK модели на рис. 6.4), где и будет ожидать, пока библиотекарь не вернется из хранилища и не закончит процедуру выдачи. Между тем интерпретатор GPSS, продолжая просмотр ЦТС, либо пропустит еще несколько транзактов-посетителей через клапан SLIP (если он еще открыт), либо оставит их заблокированными у клапана SLIP (если он был закрыт предыдущим транзактом-посе-тителем).
В модели на рис. 6.4 клапан SLIP закрывает библиотекарь. Это отличается от модели настоящего примера, где клапан SLIP закрывает транзакт-посетитель.
Обстоятельство 2: как узнать, сколько у библиотекаря листков. Как указывалось при рассмотрении обстоятельства 1, транзакты-посетители подсчитывают число листков, забираемых библиотекарем, с помощью сохраняемой величины. Как только транзакт-библиотекарь выходит из блока BUFFER, он поступает в блок ASSIGN, записывающий значение этой сохраняемой величины во второй параметр. Это все, что требуется библиотекарю для того, чтобы знать, сколько у него листков.
Обстоятельство 3: обеспечение индивидуальности каждому библиотекарю. В начале, когда
каждый транзакт-библиотекарь поступает в модель, он входит в блок ASSIGN, где его первому параметру назначается значение 1, 2, 3 и т. д. в зависимости от того, является ли он первым, вторым, третьим библиотекарем и т. д. Это означает, что транзакты-библиотекари отличаются один от другого значением своего первого параметра.
Для того чтобы сказать посетителям, кто их обслуживает, транзакт-библиотекарь начинает обслуживание входом в блок «SAVEVALUE CLERK, P1», записывая тем самым свой отличительный номер в сохраняемую величину CLERK. Затем транзакт-библиотекарь открывает клапан SLIP и помещается в буфер. После того, как транзакт-посетитель во время нового просмотра проходит через клапан, он поступает в блок «ASSIGN 1,X$CLERK», помещая таким образом номер библиотекаря в первый параметр. Таким образом, каждый транзакт-посетитель с помощью величины своего первого параметра знает, какой библиотекарь его обслуживает.
Рассмотрим теперь часть модели, логически соответствующую клапану BOOK в модели на рис. 6.4. Поскольку в этой модели у стола выдачи работал только один библиотекарь, там требовался только один клапан BOOK. В данной модели для каждого библиотекаря требуется эквивалентный клапан BOOK. Поскольку у транзактов-посетителей, ожидающих книг, в Р1 записан отличительный номер библиотекаря, то в качестве клапана BOOK для каждого библиотекаря может служить единственный блок «GATE LS Р1». Число необходимых клапанов равно числу значений, которое может принимать первый параметр транзакта-посетителя. Оно, в свою очередь, равно числу библиотекарей, работающих у стола выдачи.
Рассмотрим, например, транзакта-посетителя, величина Р1 которого равна 2. Это означает, что его книгу ищет второй библиотекарь. Когда второй библиотекарь готов вручить ему книгу, он может проинформировать об этом, поместив логический переключатель 2 в положение «установлено». Это вызовет открытие клапана для транзакта-посетителя, который теперь может пройти через блок «GATE LS Р1». С точки зрения транзактов-посетителей с величинами Р1, равными 1, 3, 4 и т. д., клапан продолжает быть закрытым (если, конечно, их библиотекарь не вернулся из хранилища и не открыл их клапан).
Обстоятельство 4: как библиотекарю узнать своих посетителей. Библиотекарю просто отличить своих посетителей, поскольку в их первом параметре записан его номер. Вспомним, что у транзакта-библиотекаря также записан его номер в качестве величины Р1. Когда транзакт-библиотекарь заканчивает поиск, он информирует об этом посредством входа в блок «LOGIC S Р1», после чего открывается его клапан BOOK (а именно, логический переключатель, номер которого равен величине Р1 этого транзакта, переходит в положение «установлено»). Затем транзакт-библиотекарь помещается в буфер, давая возможность интерпретатору GPSS попытаться продвинуть дальше в модели транзакты-посетители. Для того чтобы продвинуться через блок «GATE LS Pl», транзакт-посетитель должен иметь соответствующий номер библиотекаря в качестве величины Р1. Только тот транзакт, который обслуживается данным библиотекарем, может пройти через этот клапан.
Обстоятельство 5: как обеспечить однократное завершение процедуры выдачи. После того, как транзакт-библиотекарь возвращается из хранилища, он входит в блок ADVANCE, где задерживается на время, необходимое для того, чтобы закончить процедуру выдачи для одного посетителя. Затем транзакт-библиотекарь открывает свой клапан BOOK и помещается в буфер, позволяя интерпретатору подвинуть транзакт-посетитель, для которого процедура закончена, через этот клапан. Затем сам транзакт-посетитель входит в блок «LOGIC R Р1», закрывая тем самым этот клапан за собой. Это предотвращает продвижение других транзак-тов-посетителей (если они есть), обслуживаемых этим же библиотекарем, через клапан BOOK, соответствующий этому библиотекарю. (Они еще по логике модели не могут пройти через этот клапан, поскольку процедура выдачи для них не закончилась.) После этого транзакт-посетитель табулирует свое время, проведенное у стола выдачи, и покидает модель. По мере продолжения просмотра вновь обрабатывается помещенный в буфер транзакт-библиотекарь. Выйдя из блока BUFFER, библиотекарь входит в следующий блок LOOP, где определяет, ждет ли его хотя бы еще один посетитель, чтобы закончить процедур выдачи. Если это так, то библиотекарь идет назад в блок ADVANCE, где имитируется следующее время завершения выдачи; если нет, то библиотекарь переходит назад для определения, есть ли посетители, ожидающие сдачи своих листков запроса, и т. д. В модели на рис 6.4 клапан BOOK закрывал транзакт-библиотекарь. Это отличается от модели примера, где транзакт-посетитель закрывает тот клапан BOOK, который соответствует его библиотекарю.
Теперь следует изучить блок-схему, приведенную на рис. 6В.1. Затем нужно вновь просмотреть только что сделанные замечания, причем в процессе их чтения следует смотреть почаще смотреть на блок-схему. Необходимо понять, что модель, приведенная на рис. 6В.1, несмотря: на свою кажущуюся вначале сложность, является просто логическим расширением модели, приведенной на рис. 6.4.
3. Таблица определений. Единица 1 с.
Таблица 6В.1. Таблица определений примера моделирования 6В
Элемент GPSS | Интерпретация |
Транзакты: 1-й сегмент модели 2-й сегмент модели | Посетитель у стола выдачи: Р1 — номер, определяющий библиотекаря, который обслуживает этого посетителя Библиотекарь, работающий у стола выдачи: Р1 — номер, определяющий этого библиотекаря; Р2 — вначале число листков, которое взял этот библиотекарь; затем число посетителей, которым еще необходимо закончить процедуру выдачи |
Функции: SNORM XPDIS | Функция нормированного нормального распределения Функция экспоненциального распределения |
Логические переключатели: 1, 2, 3 и т. д. SLIP | Связаны с 1, 2, 3-м и т. д. библиотекарем; каждый библиотекарь использует свой логический переключатель для информации своих посетителей о том, что его книга найдена. Каждый посетитель соответственно проверяет логический переключатель своего библиотекаря, чтобы определить, готова ли его книга Используется библиотекарем для информации о том, что он готов начать собирать листки; для этой цели все библиотекари используют один и тот же логический переключатель |
Сохраняемые величины: CLERK COUNT | Полнословная сохраняемая величина, используемая в качестве канала связи между отличительным номером библиотекаря и посетителями, чьи листки этот библиотекарь забрал Полнословная сохраняемая величина, используемая для подсчета числа листков, взятых библиотекарем на этапе сбора листков |
Многоканальные устройства: BUSY | Используется для подсчета нагрузки библиотекаря |
Таблицы: DELAY SLIPS | Используется для нахождения распределения времени, проводимого посетителями у стола выдачи Используется для нахождения распределения числа листков, забираемых библиотекарем |
4. Блок-схема


5. Распечатка программы
|
6. Выходные данные программы
|
7. Обсуждение. Логика моделирования. Среди всего прочего модель должна быть приспособлена для оценки распределения времени пребывания посетителей у стола выдачи. Одним из способов достичь этого является табулирование величины Ml транзактов-посетителей непосредственно перед их уходом из модели. Другим способом могло быть использование Q-таблицы, что потребовало бы прохождения транзактов-посетителей через блок QUEUE в момент их поступления и через блок DEPART в момент их ухода. В представленной модели был выбран первый способ.
Таким образом, нет смысла вводить в модель блоки QUEUE—DEPART. Заметим, однако, что в 1-м сегменте модели на рис. 6.4 присутствовала пара блоков QUEUE—DEPART; более того, число транзактов, ожидающих в блоке QUEUE, указывало на число транзактов-посетителей, ожидающих, чтобы у них взяли листок. Чтобы получить такую же статистику в модели примера 6В, в 1-м сегменте моде модели используется пустой блок ADVANCE. Этот блок, расположенный сразу же после блока GENERATE для транзактов-посетителей, имеет два назначения: 1) он позволяет транзактам-посетителям немедленно выходить из блока GENERATE, что необходимо для того, чтобы не нарушать последовательность времени между поступлениями; 2) подобно блоку QUEUE, приведенному на рис. 6.4, текущий счетчик числа транзактов в этом блоке равен числу транзактов-посетителей, ожидающих обслуживания. Поля А и В этого блока ADVANCE оставлены пустыми; это означает, что транзакты-посетители задерживаются в этом блоке только в том случае, если следующий за ним клапан SLIP закрыт (см. упражнение 2, а, параграфа 6.7).
Обратим внимание на метод последовательной нумерации транзактов-библиотекарей в первом параметре. Их блок GENERATE имеет имя. В следующем блоке величине первого параметра дается значение счетчика числа поступлений в блок GENERATE. Поскольку транзакты-библиотекари входят в модель через блок GENERATE один за другим, счетчик этого блока последовательно принимает значения 1, 2, 3 и т. д. Таким образом, эта величина является подходящим счетчиком, который можно использовать для пометки транзактов-библиотекарей определяющими их номерами 1, 2, 3 и т. д.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 |












