Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 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