Gpss для mac os

What is aGPSS?

aGPSS is the most modern version of GPSS, running on both Windows and the Macintosh. It is available on a USB, a CD, or downloadable from the Web. aGPSS is a streamlined version of GPSS, a General Purpose Simulation System. aGPSS is intended to be the starting point in learning simulation. It is used thus at many colleges and universities in Northern Europe, the US, Japan and India, at both business and engineering schools, and also in self-studies in over 60 other countries.

aGPSS is regarded to have several advantages.

One first constructs a block diagram by choosing building blocks from a symbol menu by the point-and-click method.

For each block symbol in this block diagram, one can then open a dialog for inputting the operands of the block. The dialog reveals the main syntax of the block operands. The text program developed in this way on the client computer is then executed by GPSS.EXE, the simulation engine used by aGPSS. The output files are then presented in tables, histograms and graphs.

You can here free of charge download a student version (limited to 150 blocks and 1500 transactions).

There are two larger versions of aGPSS on sale, starting at the price of $90.00. You can read more information about this here.

For the start of learning aGPSS we recommend the paper on The First Two Hours of Simulation Education.

For continued studies of aGPSS, we recommend three aGPSS books.

Источник

Gpss для mac os

Current GPSS World Downloads

See General Information for the latest features and fixes. The Current Version Number is 5.2.2.

( To make the installation automatic your browser should have cookies and JavaScript enabled. )

  • GPSS World Commercial Version. Full speed. All features. HTML manuals and printed manual set. Includes license and 30 days support. For more information please contact Info@minutemansoftware.com.

    GPSS World Student Version. Full speed. Limited to 180 Blocks. HTML documentation (No hardcopy). Support is not included. The Student Version is provided free of charge.

    Microsoft Windows Installer (msi) File Download Instructions

    The msi files for GPSS World are over 5MB in size. For a pre-paid Personal Version, click on the «Buy Now» Button and record the Minuteman Invoice Number.

    After the download, double click on the msi file to install the software.

    The Student Version does not require an activation step, but the Personal and Commercial Versions do. That is normally done when you start the program for the first time. If you have not used the «Buy Now» Button, you will need to contact Minuteman Software for payment, before your activation will be successful.

    Using the «Buy Now» Button for the Personal Version is even easier. If you have cookies enabled, activation takes only a few clicks of the mouse. The processing of a prepayment takes a little time, so it is best to wait 24 hours before doing this.

    Product support for GPSS World includes email response to inquiries and problems, and free licensed reinstallation and updates. Out-of-support licensed reinstallations, and support contracts, are available for a fee. Sorry, we are unable to provide support for the Student Version.

    Источник

    «СЛАВА ЖПСС!» или вспоминаем про GPSS World

    Почти семь лет назад я набросал на «Хабре» статью про GPSS-World. И к моему удивлению, время от времени я получаю различные вопросы, связанные с ней.

    Как же так на дворе уже 2020 год, GPSS World безнадежно устарела, неужели ей кто-то до сих пор пользуется?!

    Оказывается, пользуются и еще как.

    Достаточно вбить поисковый запрос на «Киберленинке», настроить для удобства фильтры и убедиться, что есть актуальные статьи как минимум за 2019 год.

    Сфера образования тоже не отстаёт, в 2019 году выпустили свеженькое учебное пособие пусть и для средне-профессионального уровня образования.

    GPSS World у меня совсем не ассоциируется с инновационным подходами к образованию. При виде учебной программы на базе GPSS World мне сразу представляется кошмар, в котором я делаю лабораторную работу по моделированию, сидя в компьютерном классе за ЭВМ с «трубчатым» монитором и шариковой мышкой, а после «лабораторки» бегу в столовую, чтобы накалывать котлету на грязную и гнутую алюминиевую вилку.

    Но раз уж GPSS в узких кругах по-прежнему популярна, то почему бы не поддаться приступу ностальгии? В этой статье мы кратко вспомним о том, что из себя представляет бесплатная версия системы имитационного моделирования «GPSS World Student Version», а также познакомимся с некоторыми её близкими родственниками.

    Если вы любите анализировать очереди и любоваться на «древние» скриншоты, тогда милости прошу под кат.

    Часть I: Введение

    Я не буду подменять собой Википедию, а только в двух словах напомню, что GPSS – это система моделирования общего назначения, которая зародилась в 60-е годы прошлого столетия, где-то в недрах IBM, однако в наших учебных заведениях наибольшую популярность получила её реализация от компании Minuteman Software, в частности — GPSS World.

    Часть II: Различные реализации GPSS

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

    Возможно, вы думали, что я начну в хронологическом порядке? Как бы не так!

    Я сразу «зайду с козырей».

    Если верить информации на сайте, то разработчик делает нам предложение, от которого нельзя отказаться:

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

    Я честно не стал разбираться, как это чудо работает. Однако, разработчик не врал. В демоверсии есть отдельная вкладка, на которой могла бы быть ваша фотография, но вы не заплатили 100$ поэтому там фото разработчика (или то которое он захотел иметь).

    Теперь давайте серьезно.

    На рисунке № 2 (figure 2) взятом из статьи «GPSS 50 years old, but still young» показан процесс развития GPSS и его ответвлений.

    К сожалению, сайт Wolverine Software похоже приказал, долго жить.

    Увидеть, как сейчас поживает наследник GPSS их производства у меня не получилось. Но не расстраивайтесь, общее представление об SLX можно составить, пролистав статью «AN INTRODUCTION TO SLX»

    Но давайте хотя бы рассмотрим их реализацию GPSS под DOS, а именно GPSS/H.

    Программа меня слегка расстроила отсутствием интерактивного режима. При запуске сразу необходимо загрузить файл модели .GPS.

    После моделирования (на рисунке ниже слева) программа сохраняет отчет в файл с именем модели и расширением .LIS (на рисунке ниже справа)

    Перейдем от левой части вышеуказанной схемы (figure 2) к правой.

    Посмотрим на aGPSS — дальнейшее развитие WebGPSS и WinGPSS. Демонстрационную версию, выпущенную в 2015 году, можно скачать с официального сайта.
    Правда у меня симуляция так и не запустилась, выдавая следующую ошибку:

    Хотя сама система выглядела не так уж и плохо.

    Еще стоит упомянуть о GPSS Studio — это отечественная разработка, также как и aGPSS обладающая возможностью графического построения моделей. Данной системе моделирования я планирую в будущем посвятить отдельный обзор, поэтому не будем на ней сейчас концентрироваться.

    Поскольку все рассмотренные в статье версии GPSS проприетарные я напоследок упомяну о попытке сделать аналог GPSS с открытым исходным кодом на языке GO. Подробней об этом можно прочесть на «Хабре».

    Часть III: запускаем GPSS/PC с помощью эмулятора DOS на смартфоне

    Ну вот и пришло время рассмотреть творения от Minuteman Software.

    Начнем мы с GPSS/PC. Это старая версия программы для DOS.

    При моем первом знакомстве с ней программа запустилась, задумалась, издала звук с помощью «Пищалки» (PC speaker) и на секунду мне показалось, что сейчас появиться логотип Sierra и я как в детстве «залипну» в любимые Space Qurst и Leisure Suit larry.

    Но наваждение быстро прошло. После стартовой заставки нас будет ожидать лишь интерактивная консоль.

    В данную консоль можно сразу вводить команды не создавая файл.

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

    В нашем случае простота GPSS/PC имеет один большой плюс.

    Она легко запускается на любом эмуляторе MS-DOS. Так почему бы нам не проверить её работоспособность на смартфоне (в моем случае на платформе Android)?

    Устанавливаем эмулятор. Я установил aFreeBox (Free DOSbox), но вы можете выбрать любой другой.

    В моем случае корневой папкой эмулятора стала папка загрузок в корне файловой системы смартфона. В эту папку я и перенес файлы с GPSS/PC.

    Запускаем программу (не забудьте для антуража включить симуляцию PC-Speaker).

    Теперь можно вводить команды.

    Вначале необходимо ввести номер строки, нажать пробел, если нет метки для команды, то нажать еще раз пробел и ввести название команды.

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

    После ввода команды остается ввести ее параметры и нажать Enter.

    Примерная иллюстрация процесса представлена ниже:

    Запустим симуляцию командой START 10 .

    Выйдем из симуляции командой END .

    Осталось только просмотреть отчёт, для этого необходимо запустить отдельную программу GPSSREPT.EXE.

    Часть IV: Простейшая модель в GPSS World

    Ну а теперь сам GPSS-world.

    Лично я своё знакомство с GPSS World начал с учебника «Комплексная механизация строительства» Кудрявцева Е.М., от одного воспоминания о котором, меня до сих пор настигает уныние.

    Но в сети есть и другие учебные материалы, в том числе официальный туториал и вариации его перевода.

    Прежде чем перейти к моделированию, нам необходимо скачать бесплатную студенческую версию программы. Правда вы могли бы купить персональную лицензию, за 600 с лишним долларов. Но зачем выкидывать такие деньжищи, если в программе даже не будет вашей фотографии (как в случае с Object GPSS)? Оно явно того не стоит.

    Прежде чем мы попробуем запустить какую-нибудь модель. Просто посмотрите на это:

    Да, да, в GPSS World есть свой собственный интернет браузер. Правда, к сожалению, верстка Хабра в нем плывет, но это и не удивительно в 2020 году.

    Зато сайт Minuteman Software открывается идеально. Ну, а как же иначе ведь он сверстан с применением таких передовых технологий как Microsoft FrontPage. Кто-нибудь еще помнит это чудо?

    Давайте перейдем непосредственно к моделированию.

    Важно помнить, что при использовании GPSS ключевым компонентом является ваше воображение.

    Например, эта простейшая модель:

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

    Мы с вами оправдаем заглавную картинку статьи и представим, что вышеуказанный код моделирует очередь в ларек.

    Единицы времени будем интерпретировать как минуты.

    На всякий случай напомню вам значения блоков:

    GENERATE 4,1 – создает объект в системе. В нашем случае это человек идущий к ларьку чтобы встать в очередь. Люди приходят к ларьку один раз в 4 минуты с отклонением в диапазоне от -1 до +1 минуты;
    QUEUE – человек встал в очередь в ларек;
    SEIZE – человек подошел к окошку ларька;
    DEPART – человек сунул голову в окошко ларька, а значит из очереди его уже необходимо вычеркнуть;
    ADVANCE 5,2 – время на выбор товара составляет 5 ± 2 минуты
    RELEASE – человек освободил продавщицу (продавца);
    TERMINATE 1 – человек покинул очередь и бежит домой с дефицитным товаром.

    Пришло время начать симуляцию.

    Выбираем команду START

    Введем значение 100. В данном случае это значит, что как только мы «отоварим» 100 покупателей наша симуляция завершится.

    По завершении симуляции появится окно с отчетом.

    Как видим среднее время пребывания одного человека в очереди составило 57 с лишним минут, очередь в среднем состоит из 14 человек, а обслуживание 100 покупателей заняло почти 9 часов (517 минут)

    Источник

    GPSS-WORLD основы имитационного моделирования на живых примерах

    Доброй пятницы уважаемые читатели Хабра.
    В данном посте я предлагаю вам бегло ознакомиться с возможностью создания имитационной модели процессов в программе GPSS-WORLD. Данный пост нельзя считать полноценным туториалом, но я поделюсь с Вами теми крупицами, что знаю и вполне возможно что уже через пол часа после прочтения статьи Вы проявив фантазию создадите свою собственную имитационную модель. Как говориться в народе: «Тяжело в учении легко в бою».
    И пусть местами, данный «туториал» придерживается принципа: «битый не битого везет», но я всё же донесу до вас те знания, которые у меня есть, ну а вы уж сами вольны решать, стоить ли мне доверять или лучше проверять. В любом случае я буду рад аудиту кода от знатоков GPSS-WORLD. Все материалы статьи размещены на GItHub
    Изучать самые азы будем сразу на живых примерах — доступных, понятных и близких сердцу многим сотрудникам проводящим свои законные 8 часов в офисах.
    От конкретики перейдем к лирике, пятница традиционно располагает задаваться безумными вопросами, и в этот раз мы с моим коллегой DrZugrik задались вопросом: «Сколько нужно сотрудников тех поддержки, чтобы рассказать, как вкрутить лампочку?».
    За подробностями сего мысленного эксперимента прошу под кат.

    Написание этого мини туториала вместе с разработкой моделей заняло 6 часов чистого времени.
    буду признателен если статья доберется до потенциально заинтересованных читателей.

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

    Для начала нам понадобиться сам GPSS-World.

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

    Итак необходимым инструментарием мы запаслись, теперь осталось подключить фантазию и придумать первую модель.
    Меня никак нельзя назвать гуру имитационного моделирования в целом и GPSS-World в частности, подосновой для примеров приведенных тут служили материалы из этой книги . Но думаю, что составляемые модели имеют право на жизнь.
    Давайте для начала рассмотрим такой случай.
    Дано:
    Офис в котором работает 10 сотрудников, Кулер в конце коридора до которого «шкваркать 4 минуты», сотрудники которые желают испить чаю и совершают путешествие к кулеру один раз в час. Время наполнения чаши с пакетиком живительной влагой составляет примерно 2 минуты. Рабочий день составляет 480 минут (8 часов без перерыва на обед так сказать)
    Определить:
    Коэффициент использования кулера сотрудниками офиса.
    Создадим имитационную модель

    Поскольку комментарии я оставлял на своем ломаном английском, то безусловно вижу смысл детально рассказать о функционировании модели.
    Строка 1 — GENERATE . 10 — сам по себе блок GENERATE задает нам количество входящих требований (в данном случае сотрудников офиса), запись операторов вида . 10 говорит нам о том что первые три параметра пропущены, а четвертый параметр указывает на максимальное количество входящих требований. Блок GENERATE. Можно задать и с другими параметрами, но об этом я расскажу немного позже.
    Как вы догадались » ;» — отделяет поле комментария. Еще немного о конструкции оформления кода, код читается слева направо, есть несколько блоков, которые желательно разделять табуляцией. Самый левый блок это метка (аналогична метке в др. языках программирования), затем идет сам блок (например generate) затем обычно идут его параметры, затем комментарии. Когда-то давно нас учили разделять эти блоки табуляцией, но это скорее вопрос эстетики. 1 пробела кажется тоже достаточно что бы все запустилось. Кстати там где написано все БОЛЬШИМИ буквами, лучше так и писать, а то может вылететь ошибка при исполнении.
    Строка 2 — ADVANCE 4,0.8; Отвечает за временные характеристики процесса, чтобы было понятней в данном случае это значит, что работник идет к кулеру 4 минуты ± 0.4 минуты.
    Таким образом первая цифра означает затраченные единицы времени (итерации), вторая цифра означает половину отклонения в большую или меньшую сторону, в книгах написано что значение отклонения генерируется случайным образом, может это и так, но каждый перезапуск система выдает одинаковые значения (не знаю может быть есть аналог randomize из старого доброго паскаля, но я его не нашел). Блок ADVANCE также можно задать с другими значениями, но об этом чуть позже.
    Строка 3 — DRINK QUEUE STAND; — вот тут мы встречаем нашу первую метку DRINK, после которой следует блок QUEUE, который создает очередь в эту очередь у нас будут попадать все кто направляется к кулеру промочить горло,. STAND – это скажем так идентификатор очереди.
    Строка 4 — SEIZE COOLER – блок SEIZE определяет свободно ли наше устройство, в данном случае идентификатор устройства COOLER (ну или попросту кулер).
    Строка 5 DEPART STAND — если прошлый блок дал нам положительный результат (кулер свободен), то срабатывает следующий за ним блок DEPART, который обеспечивает выход человека из очереди STAND.
    Строка 6 — ADVANCE 2,0.8 человек, который вышел из очереди будет наливать себе примерно 2 минуты кипяток в кружку (ну плюс успеет поболтать с людьми в очереди к кулеру)
    Строка 7 — RELEASE COOLER, сделав свое «мокрое» дело, человек освободит устройство COOLER, для следующего страждущего.
    Строка 8 — ADVANCE 60,10 – данный блок учитывает время. Которое человек испивший воды, затратит на то чтобы собраться с силами и прийти к кулеру еще раз (по крайней мере я надеюсь, что моделируется именно это).
    Строка 9 — TRANSFER ,DRINK – «И повторится все, как встарь» — сказал бы А. Блок, если бы был знаком с программированием. Данный оператор обеспечивает переход на метку DRINK.
    Строка 10 – GENERATE 480 казалось бы с точки зрения программирования после перехода на метку в прошлом блоке, все что лежит ниже не имеет смысла, но это не так.(а почему так, я если честно не сильно вникал, но судя по опыту и выпадающим ошибкам, этот кусок воспринимается немного вне контекста предыдущих 8 блоков). Главное, что данный блок задает нам время выполнения всей модели, а именно 480 минут (8 часов)
    Строка 11 — TERMINATE 1 – Этот бок вычитает из каждой счетчика итераций единицу. Без этого блока можно уйти в бесконечный цикл.
    Строка 12 — START 1 – Говорит программе с какого момента цикла начать, мы начинаем с первой минуты.

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

    проанализируем результаты
    Итак мы видим, что в среднем наш кулер загружен на 33%, то есть в нашей команде из 10 сотрудников получается примерно так как если бы к нему постоянно прикладывался Администратор Петр, Марья Васильевна из бухгалтерии и Менеджер проекта Василий Чуфыркин, ну и еще 0.33 человека, или например — кот. На самом деле этот блок текста не несет смысловой нагрузки, мне просто очень хотелось нарисовать кота и кулер и Марью Васильевну из бухгалтерии (все кроме кота личности сугубо выдуманные)

    Хотя черт побери после того как я прочел это, могу смело утверждать, что кулер мог бы напоить 12 милых котиков =)

    Но вернемся к теме.

    Давайте рассмотрим, результаты выдачи.

    Facility – это список всех наших работающих устройств, в данном случае только кулер.
    Entries 79 – означает число подходов на обслуживание к устройству, в данном случае число человек с пустыми чашками составило 79 – за всю рабочую смену.
    Util – коэффициент использования оборудования, Он говорит нам о том, что кулер бездествовал (1-0.33)*100%=67% всего времени.
    AVE. TIME – среднее время использования кулера 1 человеком 2.002 минуты
    AVAIL. – Доступность кулера, не знаю что это значит видимо еденица говрит, что он был доступен
    DELAY = 0 – говрит нам о том, что чсло людей которые просто подошли к кулеру, расстроились и ушли с пустыми руками (кружкой), равно нулю.

    Теперь переедем к нашей очереди (QUEUE)
    Как видите тут указано имя созданной нами ранее очереди,
    В которой максимально находилось 9 человек, в которую было 79 входов, и 48 нулевых входов (по всей видимости входов без ожидания в очереди), среднее время проведенное человеком в очереди равно 1.5 минуты. Cont. = 0 говорит нам о том, что на момент окончания моделирования в очереди никого не было.

    Ну вот вроде бы все не плохо, но что будет если мы вернемся в сытый 2006
    Год и наймем еще 30 сотрудников в наш офис?

    Как видно из модели, наш кулер почти перестанет простаивать, а среднее время в очереди составит аж 20 минут, что наводит на мысли либо о том, что нужен второй кулер, либо о том, что пора всех лишать премии за долгие чаепития.
    Может быть данная модель, простовата, но даже она при проявлении некоторой фантазии позволяет нам оценить количество кулеров которое необходимо на этаже.
    Но на текущий момент мы с вами еще не умеем, разрабатывать многоканальные модели обслуживания. Так убьем же двух зайцев, научимся многоканальному обслуживанию и заодно ответим на вопросов, которым мы с коллегой задались в самом начале статьи. (кто внимательный и помнит — молодец, тому счастья добра и безпохмельных выходных: )

    При создании модели операторы call центра и абоненты, зададимся такими условиями
    Дано:
    2 оператора техподдержки обслуживают пользовталей, которые звонят пимерно раз в две минуты, Если один оператор занят трубку берет другой. Рабочий день составляет 480 минут (8 часов без перерыва на обед так сказать)
    Определить:
    Коэффициент загруженности сотрудников службы поддержки.

    Как и в прошлый раз опишу построчно

    Строка 1 — HELPDESK STORAGE 2 – Создаем накопитель Служба поддержки емкостью 2 сотрудника
    Строка 2 — GENERATE 6,3; вот мы и подошли к другому способу задачи блока генерации, в даннмо случае цифра 6 означает что примерно раз в 6 мнут появляется 1 звонок, цифра 3 означает что отклонения от шести минут составлят ± 1.5 минуы. Еще блок GENERATE можно было задать так
    (Exponential(1,0,6)), вообще то что справедливо для ADVANCE, во многом справедливо и для GENERATE.
    Строка 3 – ADVANCE (Exponential(1,0,2)),, — говорит нам о том сколько времени у звонящего уходит на то чтобы вспомнить телефон тех поддержки и набрать номер, а уходит у нас в среднем 2 минуты по экспоненциальному распределению. цифра 1 – выбирает генератор случайных чисел (от 1-7 как с ними работать я не разобрался), цифра 0 – определяет смещение (пока для меня тоже загадка), цифра 2 собственно минуты. Хочу добавить что существуют и другие законы распределения, по которым можно задать временной промежуток, но о них лучше почитать в учебнике. Который я указал вначале статьи.
    Строка 4 — ENTER HELPDESK – вход в накопитель (входящий звонок)
    Строка 5 — TRANSFER ALL,OPR1,OPR2,3 – говорит нам что данное событие обрабатывается для всех входящих вызовов (ALL), что операторы обработки начинаются с метки OPR1 и движутся с шагом в 3 блока пока не доберутся до метки OPR2
    Строка 6 — OPR1 SEIZE OP1 — вот и наш первая метка, на которой происходит проверка занятости первого оператора службы поддержки (OP1)
    Строка 7 — ASSIGN 1,OP1 – В случае если оператор 1 свободен. То мы передаем входящий звонок ему, если нет то через три строки (от 6-й) идем на строку 9
    Строка 8 — TRANSFER ,COME — нет нужды узнавать о занятости второго оператора, переходим на метку COME
    Строка 9 OPR2 SEIZE OP2 — если первый оператор был занят, проверяем второго
    Строка 10 — — ASSIGN 1,OP2 – и отдаем звонок ему.
    Строка 11 — COME LEAVE HELPDESK – звонок покидает накопитель служб поддержки
    Строка 12 — ADVANCE 10,8 – время которое оператор затрачивает на то чтобы дать человеку совет как правильно вкрутить лампочку.
    Строка 13 — RELEASE P1; — оператор помог человеку и освободился. P1 в данном случае это ссылка на некий указатель (или параметр ), этот момент я не могу объяснить, но он работает.
    Строка 14 – TERMINATE – (ноль можно не писать по умолчанию и так ноль), если верить справки то в данном случае этот блок расскажет системе о том, что пора выводить эту итерацию из активного цикла и переходить к следующей. В любом случае без него система выдаст нам ошибку.
    Строки 15- 17 аналогичны строкам первой модели.

    В результате получим следующие данные

    Структура вывода похожа на структуру вывода первой модели, разве что вместо очереди — накопитель предлагаю вам с ней разобраться самостоятельно. Кстати параметры генерации отчета можно настроить (на этом компьютере у меня не установлен GPSS и нет желания его ставить, поэтому поверьте пока на слово, что в настройках программы есть такая возможность ну, а я если не забуду допишу в понедельник сюда, как это сделать)
    Итак, мы видим, что наши операторы вполне приемлемо загружены примерно на 75% и 87 % соответственно. Будем считать, что двух операторов вполне достаточно, чтобы посоветовать людям как правильно вкрутить лампочку. Но мы же с вами — народ любопытный, давайте посмотрим, что будет если к ребятам подсадить еще одно нахлебника с телефоном.
    Для этого рассмотрим немного модифицированную модель. Предлагаю вам разобраться с ней самостоятельно.

    Результат под спойлером

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

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

    Давайте опять построчно

    Строка 1 — INITIAL X$APPLES,3 ;1 задаем значение переменной, X$ в данном случае нам как-то указывает на название переменной, а цифра три это значение которое мы запишем в переменю APPLES (кстати я не фанат продукции APPLE просто в тот момент на общем столе лежало 3 яблока, а одно я забрал себе, прям как в детсадовских задачах по математике)
    Строка – 2 GENERATE 1 – создадим 1 итерацию
    Строка 3 — SAVEVALUE APPLES-,1; – сохраним в переменную яблоки ее значение минус один.
    Строки 4-5 помогут нам закончить программу.

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

    Ну что же теперь вы знаете об одном из инструментов с помощью, которого можно создать имитационную модель процесса, инструмент не самый удобный и уже похоже не дорабатываемый разработчиками, но тем не менее если вы проявите фантазию то за один два дня сможете провести исследование какой-нибудь модели и например опубликовать его в научном журнале или на конференции (об этом я уже писал раньше )
    В любом случае теперь у вас есть еще 1 инструмент, чтобы творить, развиваться и делать мир лучше. Право слово это интереснее чем лопать шарике на смартфоне, сидя в общественном транспорте.
    Всем хороших выходных, счастья добра и удачи 🙂

    Источник

    Читайте также:  Windows file permissions access denied
Оцените статью