Разработка программно-методических средств для организации и проведения цикла лабораторных работ по теме: 'Создание имитационных моделей и изучение их свойств и характеристик'

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    2,53 Мб
  • Опубликовано:
    2012-07-06
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка программно-методических средств для организации и проведения цикла лабораторных работ по теме: 'Создание имитационных моделей и изучение их свойств и характеристик'

Министерство образования и науки Российской Федерации

ГОУВПО Рязанский государственный радиотехнический университет

Факультет вычислительной техники

«Информатика и вычислительная техника»

К ЗАЩИТЕ

         Заведующий кафедрой ЭВМ

д.т.н., профессор ________________В.К. Злобин

«____»______________________2010 г.

        

        

         ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

         к квалификационной работе на степень бакалавра

на тему

         Разработка программно-методических средств для организации и проведения цикла лабораторных работ по теме: “Создание имитационных моделей и изучение их свойств и характеристик”



Студент

Устинов А.М.

Руководитель работы

Оборина Т.А.




2011г.

Реферат

Данная выпускная квалификационная работа посвящена разработке программно-методических средств для организации и проведения цикла лабораторных работ по теме: “Создание имитационных моделей и изучение их свойств и характеристик”.

Средства разработки - среда программирования GPSS World Student Version 5.2.2, язык программирования - GPSS World.

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

Пояснительная записка состоит из 127 страниц. В ней имеется 47 рисунков и 5 источников. Данная пояснительная записка содержит материалы разработки ПО методических средств для организации и проведения лабораторных работ. Все подготовленные задания решены, составлены программы и алгоритмы, приведено их тестирование, разработана программная документация в соответствии с ТЗ. В приложении приведены тексты методических указаний к лабораторным работам, а так же листинги всех решенных заданий для каждого варианта.

Abstract

Final qualifying is devoted to the development of software and methodological tools for organizing and conducting the cycle of laboratory work on the topic: "Creating a simulation model and study their properties and characteristics."tools - programming environment GPSS World Student Version 5.2.2, a programming language - GPSS World.designed tools - the study of modeling languages for example the language GPSS World, working out and strengthening of practical skills to use special techniques for simulation models, as well as the study of their properties and characteristics for laboratory work.memorandum consists of 127 pages. There are 47 figures and 5 sources. This explanatory note contains materials of software development methodological tools for organizing and conducting laboratory work. All prepared tasks are solved, made up of programs and algorithms, given their testing, developed the program documentation in accordance with the TOR. The Appendix contains the texts of guidelines for laboratory work, as well as listings of all outstanding tasks for each case.

Оглавление

Реферат

Abstract

Введение

1.      Постановка задачи и технико-экономическое обоснование темы

.        Теоретическая часть

.1      Общая характеристика учебной дисциплины “Компьютерное моделирование”

.2      Язык моделирования GPSS World, его особенности и версии

.3      Разработка заданий для обучения основным и специальным приемам создания имитационных моделей на языке GPSS World

.4      Разработка и написание методических указаний, контрольных вопросов

.        Алгоритмическая и программная части

.1      Разработка алгоритмов

.2      Разработка программ

.        Разработка программной документации

.1      Руководство программиста

.2      Руководство оператора

.        Экспериментальная часть

.1      Программа и методика испытаний

.2      Испытания программы

.3      Выводы по результатам испытаний

Заключение

Список использованных источников

ПРИЛОЖЕНИЕ А Лабораторные работа №1,2

ПРИЛОЖЕНИЕ Б Решение всех заданий лабораторных работ

Введение

Пакет моделирования дискретных систем GPSS World предназначен для имитационного моделирования сложных производственных, вычислительных и информационных систем. Имитационное моделирование обеспечивает возможность испытания, оценки и проведения экспериментов с проектируемой системой без каких-либо воздействий на нее. Эксперимент при имитационном моделировании проводится с программой, которая является моделью системы. Длительные периоды функционирования (дни, часы) исследуемой системы могут быть промоделированы на ЭВМ за несколько минут.

Имитационное моделирование представляет собой один из видов анализа сложных технических систем. Первым шагом при анализе любой конкретной системы являются выделение элементов системы и формулирование логических правил, определяющих порядок взаимодействия этих элементов. Для GPSS World исходным является формальное описание объекта проектирования в виде системы массового обслуживания (СМО). Входным языком является язык GPSS. Необходимо отметить, что средства системы GPSS World ориентированы на построение моделей вычислительных систем и проведение машинного эксперимента с целью их анализа только на самом верхнем (системном) этапе проектирования. Транслятор языка GPSS является транслятором интерпретирующего типа.

Язык GPSS (General Purpose Simulating System - общецелевая система моделирования) относится к классу языков моделирования с транзактами, т.е. ориентирован на описание процессов прохождения заявок, моделируемых транзактами, через элементы вычислительной системы, представленной в виде системы массового обслуживания.

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

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

. Аппаратно-ориентированные объекты представляют в модели ресурсы вычислительной системы. Это устройства, память (многоканальные устройства) и логические переключатели. Устройство может быть свободно или занято определенным транзактом. Состояние памяти характеризуется только количеством свободных и занятых ячеек (их конкретные адреса не фиксируются). Логический переключатель может быть во включенном (S) и выключенном (R) состояниях.

. Вычислительные объекты: арифметические переменные с фиксированной или плавающей точкой, булевские переменные, случайные функции.

. Запоминающие объекты: ячейки.

. Статистические объекты: очереди и таблицы для сбора статистических данных.

. Группирующие объекты: группы и списки.

Программа моделирования, разрабатываемая пользователем, состоит из операционных объектов (блоков, операторов) и управляющих операторов (карт).

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

Управляющие карты управляют работой интерпретатора (пуск, останов, очистка и т.д.).

Интерпретатор автоматически фиксирует для каждого объекта стандартные числовые атрибуты (СЧА). СЧА могут использоваться в качестве операндов, аргументов функций, таблиц, элементов переменных. Некоторые СЧА (параметры транзактов, значения сохраняемых ячеек памяти) можно изменять программно, основная часть СЧА доступна только для чтения, но не для записи.

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

Для достижения поставленных разработка программно-методических средств был выбран язык программирования - GPSS World из-за его широких возможностей имитационного моделирования сложных производственных, вычислительных и информационных систем

Краткое содержание разделов пояснительной записки.

)        Постановка задачи и технико-экономическое обоснование темы. Данный раздел содержит необходимы правила которые надо соблюдать при написании того или иного учебно-информационного средства. Осуществляется постановка задачи квалификационной работы.

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

)        Алгоритмическая и программная части. В данном разделе представлен процесс разработки алгоритмов программ, а так же разработки их программной реализации.

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

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

.       
Постановка задачи и технико-экономическое обоснование темы

Задачей данной квалификационной работы является разработка программно-методических средств для организации и проведения цикла лабораторных работ по теме: “Создание имитационных моделей и изучение их свойств и характеристик”. Для создания имитационных моделей применяют специальные языки программирования, самым распространенным из них является язык GPSS World. Для разработка лабораторных работ мы будем применять последнюю версию этого языка являющейся бесплатной и свободно распространяемой GPSS World Student Version 5.2.2. Разрабатываемые лабораторные работы построим с построим с учетом особенностей данной версии продукта и его возможностями.

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

Обучение есть информационный процесс формирования знаний у субъекта обучения под управлением учителя . Субъект обучения - индивидуум, группа индивидуумов. Знание есть информация, способная генерировать новую информацию.

Ниже приводится декомпозиция процесса обучения на этапы. Это структура процесса обучения с точки зрения учителя. Со стороны обучаемого это структура процесса познания, то есть схема превращения обучения в самообучение, обучаемого - в учителя, движение от знания к новому знанию.

Структура процесса обучения изображена на рис 1. Этап обучения (операция) обозначается прямоугольником, а информация - скруглённым прямоугольником.

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

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

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

Рисунок 1. Структура процесса обучения

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

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

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

Применительно к разрабатываемым электронным средствам необходимо обратить внимание на развитие таких уровней знания, как:

·        владение информацией (содержанием предмета);

·        понимание;

·        умение решать типовые задачи предмета;

·        умение решать прикладные задачи предмета;

·        умение синтезировать междисциплинарные связи.

Формы организации учебного процесса.

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

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

Лекции

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

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

·        проиллюстрировать излагаемый материал видеоизображением, анимационными роликами, аудио-сопровождением;

·        использовать фрагменты лекций или полностью лекции известных педагогов;

·        с помощью «электронной доски» или нескольких цветных телевизоров облегчить процесс восприятия информации благодаря использованию интересных, красочных, запоминающихся образов;

·        хранить, систематизировать, готовить новые демонстрационные материалы.

Лабораторные занятия

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

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

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

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

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

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

Третий подход основан на использовании и исследовании реальных и виртуальных объектов технологии «виртуальная реальность».

При комплексном применении в учебном процессе средств ИКТ решаются следующие задачи:

·        повышается научность, доказательность экспериментов и исследований;

·        обучаемые активно участвуют в учебном процессе, что способствует усилению мотивации обучения;

·        создаются условия для индивидуального и дифференцированного обучения;

·        усиливается информативная емкость и наглядность изучаемого материала;

·        развиваются творческие способности, исследовательские навыки, инженерное мышление;

·        формируется умение моделировать, проектировать, конструировать;

·        создаются условия для индивидуального выбора педагогом наиболее приемлемой для него методики преподавания;

·        повышается объективность контроля знаний.

Практические занятия

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

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

Использование возможностей средств ИКТ при проведении практических занятий в технических вузах способствует:

·        лучшему усвоению знаний, умений, навыков;

·        повышению информативной емкости изучаемого материала;

·        индивидуализации и дифференциации обучения при выборе обучаемым темпа и траектории изучения материала, разделении заданий по уровням сложности;

·        повышению объективности контроля знаний;

·        формированию таких личностных качеств обучаемых, как творческая активность, самостоятельность, ответственность.

Тестирование

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

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

Тестовые задания могут быть следующих основных видов:

) закрытый тест, когда используются только предопределенные ответы, в свою очередь делится на следующие подвиды:

·        задание-выбор, когда выбирается правильный ответ или несколько правильных ответов из списка имеющихся;

·        задание-сопоставление, когда необходимо установить связи или соответствия между двумя списками (например: определить соответствия между списком формул, описывающих закономерности протекания определенных явлений или процессов, и картинками, где изображено протекание этих явлений или процессов);

·        задание-ранжирование, когда необходимо установить правильную последовательность действий, например последовательность проведения лабораторного эксперимента;

) открытый тест, когда обучаемый сам вписывает нужный ответ.

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

Конференции, семинары, круглые столы

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

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

Самостоятельная работа

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

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

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

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

Основной задачей данной квалификационной работы является разработка лабораторных работ по дисциплине «Компьютерное моделирование».

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

Необходимость рассмотрения поставленной задачи обусловлена тем, что в связи с недавним появлением дисциплины «Компьютерное моделирование», для нее не существует достаточно материала для проведения лабораторных работ.

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

.       
Теоретическая часть

2.1    Общая характеристика учебной дисциплины “Компьютерное моделирование”

Данная квалификационная работа посвящена разработке лабораторных работ по дисциплине «Компьютерное моделирование». Эти лабораторные работы разрабатываются в соответствии со стандартом ОПД.Ф.06, который представлен ниже.

Понятие модели; классификация моделей, концептуальное моделирование. Математические предпосылки создания имитационной модели. Границы возможностей классических математических методов в системотехнике и экономике. Метод Монте-Карло. Программные средства имитационного моделирования: модели дискретных систем, модели непрерывных процессов, комплексные (дискретно-непрерывные) модели. Планирование компьютерного эксперимента; масштаб времени; датчики случайных величин; потоки, задержки, обслуживание; проверки гипотез о категориях типа событие ↔ явление ↔ поведение; риски и прогнозы. Объекты имитационных моделей: «процесс», «транзакт», «событие», «ресурс» и др. Различные подходы к созданию моделей: транзактно-ориентированный, объектно-ориентированный, событийный. Структурный анализ процессов при использовании объектно-ориентированного подхода. Функциональная модель и ее диаграммы. Уровни детализации функциональной модели системы. Процесс создания двух взаимосвязанных моделей: функциональной структурной и динамической имитационной. Автоматизированное конструирование моделей. Имитация работы объекта экономики в разных измерениях: материальные, информационные, «денежные» потоки. Имитация основных типов процессов: генераторы, очереди, узлы обслуживания, терминаторы и др. Разомкнутые и замкнутые схемы моделей. Работа с объектами типа ресурс. Стратегии управления ресурсами. Практикумы: модели информационных систем, вычислительных сетей и вычислительных процессов; модели бизнес-процессов и анализ рисков; решение оптимизационных задач.

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

.2 Язык моделирования GPSS World, его особенности и версии

Система GPSS World - мощная универсальная среда моделирования как дискретных, так и непрерывных процессов, предназначенная для профессионального моделирования самых разнообразных процессов и систем. Эта система явилась следующим шагом развития системы GPSS/PC (1984 год), ориентированной на DOS. Обе системы разработаны специалистами фирмы Minuteman Software (основана в 1982 году) под руководством Спрингера Кокса. Сначала система GPSS World появилась в 1994 году с ориентацией на OS/2 фирмы IBM, и только в 2000 году она была реализована под ОС Windows фирмы Microsoft.

В GPSS World появились дополнительные возможности, вот основные из них:

• по всем классам объектов и переменных реализованы динамические графические окна, в которых представляется в реальном времени промежуточная и выходная статистика;

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

• введены средства поддержки факторного анализа, традиционного дисперсионного (ANOVA) и регрессионного анализа, оптимизация на основе методологии оптимального планирования эксперимента;

• стали доступны элементы непрерывного моделирования;

• решены проблемы с целочисленным модельным временем.

С помощью этой системы, например, можно эффективно моделировать как производственные, так и непроизводственные процессы: функционирование торговых и увеселительных заведений, портов, уличное движение, проведение военных

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

Система GPSSW имеет новый высокоскоростной транслятор, работающий в сотни раз быстрее его предшественников. Для быстрого исправления ошибок используется полноэкранный текстовый редактор.

Системы GPSSW и GPSS/PC совместимы и обычно выдают результаты, которые являются статистически неразличимыми. Подобный уровень совместимости доступен простым устранением нескольких различий. Однако с точки зрения функционирования система GPSSW имеет существенное отличие от GPSS/PC. Если система GPSS/PC работает в режиме интерпретатора- построчного выполнения программы,- то GPSSW функционирует в режиме транслятора. Любые ошибки, обнаруженные в течение трансляции, сохраняются в очереди сообщений об ошибках, так что их легко найти и исправить. Курсор автоматически перемещается в местоположение очередной ошибки, и сообщение об ошибке появляется в строке состояния в нижней части главного окна системы.

Другое существенное отличие GPSSW от GPSS/PC заключается в том, что в новой системе нет необходимости нумеровать строки программы. Если же в модели есть нумерация, то система GPSSW ее просто игнорирует. Система включает большое число различных типов окон, упрощающих просмотр и анализ объектов модели. Дружественный интерфейс облегчает работу с системой. В ней имеется библиотека распределений вероятностей, которые можно широко использовать в процессе моделирования. Кроме того, есть библиотека процедур, обеспечивающая манипуляции со строковыми данными и позволяющая выполнять расчеты и широко использовать распределения вероятности.

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

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

.2      Разработка заданий для обучения основным и специальным приемам создания имитационных моделей на языке GPSS World

В данной квалификационной работе необходимо разработать программно-методические средства для обучения основным и специальным приемам создания имитационных моделей на языке GPSS World. Для этого целесообразно разделить процесс обучения практическим приемам моделирования на две части, при изучении основных и специальных средств языка на отдельные лабораторные работы:

.        ЛР - целью которой является знакомство с языком программирования GPSS World, его основными операциями, использование их при создании простых моделей.

.        ЛР - целью которой является обучение специальным приемам создания имитационных моделей на языке GPSS World, более подробное изучение языка и его специальных операторов, и использование их для создания более сложных моделей.

На основе изучения языков моделирования, их особенностей, стандартов по дисциплине «Компьютерное моделирование», требований к качеству целесообразно для обучение практическим приемам использовать язык GPSS моделирования систем и процессов на лабораторных работах проводить поэтапно. Вначале следует рассмотреть отдельные задачи на примере показать процесс создания модели на языке GPSS, объяснив возможности использования отдельных операторов, их особенности, а для закрепления полученных знаний и выработки самостоятельных решений предложены конкретные варианты заданий студентам.

Далее подробнее рассмотрим задания для каждой из лабораторных работ.

Лабораторная работа №1.

Целью данной лабораторной работы является - изучение работы симулятора GPSS World, основных операторов и управляющих карт языка GPSS. Научиться создавать простейшие модели и анализировать статистические данные, полученные в результате моделирования. Для этого необходимо поделить задания на две части.

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

Далее приведем текст этого задания каким его увидит студент.

Задание 1

Изучение симулятора GPSS World

Варианты 1-9

Порядок выполнения задания

Запустите симулятор GPSS World. Загрузите файл LAB1.GPS из директории, указанной преподавателем. Запустите моделирование командой                1

Просмотрите результаты моделирования и запишите их в файл на диске.

Вернитесь к листингу программы и добавьте в него операторы сбора простейшей статистики. Программа примет следующий вид (новые строки выделены жирным шрифтом): 150,10        Q1              P1     Q1     30,10 P1     1

Запустите моделирование. Просмотрите результаты моделирования и запишите их в файл на диске.

Вернитесь к листингу программы и отредактируйте первую строку, чтобы она приобрела вид:   60,15

Запустите моделирование и просмотрите отчет в генераторе отчетов.

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

Далее приведем текст этого задания каким его увидит студент.

Задание 2

Простейшие модели на GPSS

Варианты 1,4,7

Постановка задачи

В парикмахерскую c одним креслом приходят клиенты двух типов. Клиенты первого типа желают только стричься. Клиенты второго типа желают постричься и побриться. Парикмахер обслуживает клиентов в порядке «первым пришел - первым обслужился». Написать GPSS-модель парикмахерской, обеспечив сбор данных об очереди клиентов.

Исходные данные

Все исходные данные по вариантам приведены в табл. 1 (все числовые параметры подчиняются равномерному распределению).

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

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

Таблица 1. Исходные данные

Вариант

Категория запроса

Интервалы времени прихода клиентов, мин

Время обслуживания, с

 1

1 2

35±10 60±20

18±6 10±2

 4

1 2

40¸20 32¸10

27¸6 15¸7

 7

1 2

37¸14 25¸12

24¸10 12¸5


Порядок выполнения задания

1.      Создать модель работы склада в соответствии с приведенными данными для дисциплины обслуживания «первым пришел - первым обслужен».

2.      Провести ее моделирование в течение 8-часового рабочего дня.

.        Проанализировать полученные результаты.

.        Создать модель работы склада в соответствии с приведенными данными для дисциплины обслуживания «первым пришел - первым обслужен внутри одного типа».

.        Провести ее моделирование в течение 8-часового рабочего дня.

.        Проанализировать полученные результаты.

.        Сравнивая результаты моделирования, сделать вывод о целесообразности введения приоритета.

Варианты 2,5,8

Постановка задачи

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

Исходные данные

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

Таким образом, сборщик работает в таком режиме:

) собирает следующую деталь;

) ожидает возможности использования печи по принципу FIFO;

) использует печь;

) возвращается к п. 1.

Время, необходимое на выполнение различных операций, приведено в табл. 2.

Таблица 2. Исходные данные

Вариант

Операция

Необходимое время, мин

2

Сборка Обжиг

30±5 8±2

5

Сборка Обжиг

21±4 10±1

8

Сборка Обжиг

37±7 12±5


Порядок выполнения задания

1.      Напишите на GPSS модель функционирования этого предприятия.

2.      Проведите ее моделирование в течение 40 часов.

.        Проанализируйте полученные статистические данные.

.        Определить оптимальное число сборщиков.

.        Проведите моделирование, изменяя количество сборщиков, в сторону уменьшения и увеличения.

.        Проанализируйте изменения поведения модели.

Замечания

В реальной системе, после того, как сборщик вынимает из печи обожженную деталь, он возвращается и начинает новый этап сборки. В модели после того, как транзакт завершает использование устройства, он должен быть перемещен c помощью блока TRANSFER в блок следующей сборки. Для ограничения общего количества транзактов, циркулирующих в модели, необходимо использовать операнд D блока GENERATE.

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

Варианты 3,6,9

Постановка задачи

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

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

Исходные данные

Таблица 3. Исходные данные

Вариант

Тип корабля

Интервал прибытия, мин

Время входа в порт, мин

Количество доступных причалов

Время погрузки-разгрузки, час

Время выхода из порта, мин

3

1 2

130 ± 30 390 ± 60

30 ± 7 45 ± 12

6 3

12 ± 2 18 ± 4

20 ± 5 35 ± 10

6

1 2

155 ± 21 275 ± 48

34 ± 5 38 ± 10

5 4

15 ± 2 19 ± 5

26 ± 6 39 ± 12

9

1 2

121 ± 32 361 ± 50

28 ± 6 41 ± 14

7 2

13 ± 3 15 ± 2

22 ± 4 30 ± 9


Порядок выполнения задания

1.      Напишите на GPSS модель функционирования порта.

2.      Проведите моделирование работы цеха в течении 100 8-часовых рабочих дней.

.        Проанализируйте полученные статистические данные.

.        Оцените эффективность работы причала.

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

.        Проведите моделирование в новых условиях.

.        Проанализируйте полученные результаты.

.        Сравните их с предыдущими и сделайте выводы.

Замечания

Для установки количества доступных причалов необходимо использовать функцию для определения вместимости накопителя, ее формат записи:

<Имя> STORAGE A

Где в качестве Имени в данном случае может выступать имя прибора обслуживающего транзакт (причал, буксир).

Лабораторная работа №2.

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

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

Далее приведем текст этого задания каким его увидит студент.

Модифицировать пример. Ввести третьего рабочего. Если первый рабочий занят - деталь подается ко второму; если и он занят - то к третьему рабочему. При этом третий рабочий должен обрабатывать все поступающие к нему детали. Детали поступают на обработку через интервал времени, равный 3±1,25 мин. Время изготовления деталей первым, вторым и третьим рабочими соответственно равно 14±1,5, 16±2 и 11±2,5 мин. Требуется смоделировать работу всей линии в течение смены. Надо определить число деталей, обработанных каждым рабочим в течение смены, коэффициенты загрузки (использования) рабочих, максимальную и среднюю длину очередей деталей, ожидающих обработки у третьего рабочего, и среднее время пребывания детали в очереди к третьему рабочему. Результат записать в файл. Изменить графическую модель в соответствии с заданием.

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

Далее приведем текст этого задания каким его увидит студент.

Варианты 1,5,9

Моделирование работы участка цеха

Постановка задачи

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

Задание:

• Создать графическую модель системы

• промоделировать работу участка цеха в течение рабочего дня (8 ч) при двухсменном режиме;

• определить среднюю загрузку каждого вида оборудования, среднее время обработки изделий, длину очередей перед каждым видом оборудования (среднюю и максимальную). Результаты записать в файл.

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

Исходные данные приведены в табл. 4.

Таблица. 4. Исходные данные

Вариант

Категория запроса

Интервалы времени между поступлениями изделий каждого типа на обработку, мин

Время изготовления изделия первого потока, мин

Время изготовления изделия второго потока, мин

 1

1 2 3

40±5 23±4,5

15±2 29±1 24±5

21±2 19±5,5 28±1

 5

1 2 3

38±6 28±3

22±2,9 13±2 48±6

7±1 8±2 15±4

 9

1 2 3

20±5 51±4

30±1,3 22±5 27±2,5

31±3 17±3,75 21±7


Варианты 2,6,10

Моделирование работы автозаправочной станции

Постановка задачи

Необходимо промоделировать работу автомобильной заправочной станции (АЗС), которая имеет две заправочные колонки. Известны следующие параметры работы АЗС:

• поток автомобилей, поступающих на заправку, подчиняется экспоненциальному распределению вероятностей с параметрами λ и β;

• автомобиль подъезжает к колонке, которая не занята обслуживанием другого автомобиля.

Требуется создать графическую модель системы, промоделировать работу АЗС в течение рабочей смены - 8 ч - и определить параметры функционирования АЗС:

• коэффициент загрузки каждой колонки;

• среднее время обслуживания в каждой колонке;

• максимальное, среднее и текущее число автомобилей в очереди к каждой колонке;

• результаты записать в файл

Замечания

Встроенная библиотека процедур GPSS World содержит более 20

вероятностных распределений, в том числе:

• равномерное (Uniform);

• экспоненциальное (Exponential);

• геометрическое (Geometric);

• Пуассона (Poisson);

• Бета (Beta);

• Гамма (Gamma);

• биномиальное (Binomial);

• дискретно-равномерное (Discrete Uniform);

• треугольное (Triangular);

• нормальное (Normal);

• Парето (Pareto); …

Эти распределения имеют широкий диапазон использования.

Функция описывающая экспоненциальный закон распределения:(A,B,C)- номер генератора случайных чисел;- величина сдвига, определяющего местоположение распределения (λ);

C - величина, C>0, B+C - среднее значение, при B=0 С - величина обратная интенсивности обработки (β).

Тогда экспоненциальный закон распределения выглядит:


В этом случае оператор выглядит:

GENERATE (EXPONENTIAL (1, λ, β))

Исходные данные приведены в табл. 5.

Таблица

. Исходные данные

Вариант

Категория запроса

Параметры экспоненциального распределения вероятностей

Время заправки, мин

 2

1 2

0 6,5

15±2 13±1

 6

1 2

0 7

11±3 23±4

 10

1 2

0 5,5

17±1,3 12±2,5

Варианты 3,7,11

Моделирование работы инструментальной кладовой

Постановка задачи

В цехе работает инструментальная кладовая по принципу самообслуживания. Поток рабочих (требований) за инструментами равномерный. Каждый рабочий может взять один или несколько инструментов, лежащих на разных стеллажах. Время, необходимое для поиска инструмента на стеллажах, число инструментов, взятых со стеллажа, и вероятности взятия их приведены в табл. 6.

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

Необходимо определить:

• Создать графическую модель системы

• число посещений рабочими кладовой в течение смены;

• коэффициент использования (загрузки) учетчика;

• максимальную длину очереди в кладовой;

• среднюю длину очереди в кладовой;

• число входов в кладовую без ожидания;

• процент входов в кладовую без ожидания;

• среднее время учета взятого инструмента.

• результаты записать в файл

Замечания

Для расчета времени учета необходимо создать две функции и вещественную переменную. Первая

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

Исходные данные приведены в табл. 6.

Таблица. 6. Исходные данные

Вариант

Интервалы времени между приходами рабочих, мин

Категория запроса

Время, необходимое для поиска инструмента на стеллажах, мин

Число инструментов, взятых со стеллажа

Вероятности взятия инструментов

 3

 9±2

1 2

10±5 11±2,5

5±2 3±1

0,71 0,54

 7

 7±1,5

1 2

12±6 9±4

6±3 4±2

0,92 0,77

 11

 11±3

1 2

15±2 17±4,5

7±3 8±1

0,34 0,29


Варианты 4,8,12

Моделирование системы управления качеством

Постановка задачи

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

• поток изделий, поступающих на обработку, подчиняется экспоненциальному распределению вероятностей с параметрами λ и β;

• время выполнения первой операции определяется с помощью дискретной числовой функции

• время выполнения второй операции определяется с использованием нормального распределения с параметрами μ , σ.

• устранение брака осуществляется путем возвращения изделия на повторную обработку.

Нужно промоделировать работу системы управления качеством в течение рабочей смены - 8 ч. Создать графическую модель системы. Требуется определить параметры функционирования производственного процесса:

• коэффициент загрузки каждого контролера;

• среднее время обслуживания каждым контролером;

• результаты записать в файл

• создать таблицу для сбора информации в процессе моделирования

Замечания

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

Функция описывающая экспоненциальный закон распределения:(A,B,C)- номер генератора случайных чисел;- величина сдвига, определяющего местоположение распределения (λ);

C - величина, C>0, B+C - среднее значение, при B=0 С - среднее значение (β).

В этом случае оператор выглядит:

GENERATE (EXPONENTIAL (1, λ, β))

Функция описывающая нормального закон распределения:(A,B,C)- номер генератора случайных чисел;- математическое ожидание (μ);

C - среднеквадратическое отклонение (σ).

В этом случае оператор выглядит:

GENERATE (NORMAL (1, μ, σ))

Время выполнения первой операции определяется с помощью дискретной числовой функции, задаваемой семью парами чисел (точек):

(0,0),(.04,9),(.20,13),(.35,17),(.60,25),(.85,35),(1.0,50).

Исходные данные приведены в табл. 7.

Таблица. 7. Исходные данные

Вариант

Категория запроса

Параметры экспоненциального распределения вероятностей

Параметры нормального распределения вероятностей

Время контроля операции, мин

Вероятность брака

Вероятность возврата изделия на повторную обработку

 4

1 2

0 25

25 3

2 3

7% 15%;

35% 62%

 8

1 2

0 21

20 2

4 7

10% 5%;

78% 42%

 12

1 2

0 30

28 5

6 4

12% 10%;

45% 82%


.4      Разработка и написание методических указаний, контрольных вопросов

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

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

Далее приведены методические указания и контрольные вопросы какими их увидит студент.

Теоретическая часть

Пакет моделирования дискретных систем GPSS World предназначен для имитационного моделирования сложных производственных, вычислительных и информационных систем. Имитационное моделирование обеспечивает возможность испытания, оценки и проведения экспериментов с проектируемой системой без каких-либо воздействий на нее. Эксперимент при имитационном моделировании проводится с программой, которая является моделью системы. Длительные периоды функционирования (дни, часы) исследуемой системы могут быть промоделированы на ЭВМ за несколько минут.

Имитационное моделирование представляет собой один из видов анализа сложных технических систем. Первым шагом при анализе любой конкретной системы являются выделение элементов системы и формулирование логических правил, определяющих порядок взаимодействия этих элементов. Для GPSS World исходным является формальное описание объекта проектирования в виде системы массового обслуживания (СМО). Входным языком является язык GPSS. Необходимо отметить, что средства системы GPSS World ориентированы на построение моделей вычислительных систем и проведение машинного эксперимента с целью их анализа только на самом верхнем (системном) этапе проектирования. Транслятор языка GPSS является транслятором интерпретирующего типа.

Основные операторы

Оператор языка GPSS содержит 4 поля: метка (необязательное поле), операция, операнды, комментарий (необязательное поле). Комментарием считаются все символы, следующие после символа «;». Количество операндов может достигать 9, операнды обозначаются буквами A, B, C, D, E, F, G, H, I. Часть операндов может быть опущена (берутся по умолчанию), если опускаются не последние операнды (A, B, D, E), запятые сохраняются.

Ниже приведены основные операторы и выполняемые ими действия. Обязательные операнды подчеркнуты.A (занять). A - имя устройства. Занять можно только свободное устройство. Уже занятое устройство не впускает транзакты, перед ним организуется очередь на основе относительных приоритетов.A (освободить). A - имя устройства. Устройство должно быть освобождено тем же транзактом, который его занял.A, B, C, D, E (захватить). A - имя устройства. B - возможность захвата занятого устройства. Если B=PR, возможна любая глубина прерываний на основе абсолютных приоритетов. По умолчанию приоритеты не учитываются, прерывать обслуживание прерывающего транзакта нельзя. C - метка оператора, к которому переходит прерванный транзакт, D - номер параметра, в который запишется остаток времени, оставшегося до конца обслуживания, E - признак снятия с обслуживания прерванного транзакта. Если E=RE, транзакт снимается. По умолчанию прерванный транзакт дообслуживается после обслуживания прерывающего.A ( вернуть ). A - имя захваченного устройства. Освобождать устройство должен тот же транзакт, который его захватил.A1, B1/A2, B2/…/AN, BN (объявление многоканальных устройств). Ai - имя i-го устройства, Bi - объем i-го устройства.A, B (войти в многоканальное устройство A, занять в нем B ячеек). По умолчанию B=1. Если в многоканальном устройстве нет требуемого количества ячеек, транзакт задерживается на входе оператора.A, B (выйти, т.е. освободить в многоканальном устройстве A и B ячеек). Освобождать можно любым транзактом, не обязательно тем, который занимал!A, B, C, D, E, F, G, H, I (генерировать транзакты).

A - среднее значение интервала; B - модификатор разброса или модификатор функции (GENE 10, 5 - интервал от 5 до 15 единиц равновероятен, GENE 10, 1 - средний интервал 10 единиц, распределение интервалов - по функции FN 1); C - время появления первого транзакта (по умолчанию 1); D - число выработанных транзактов (по умолчанию ); E - приоритет (по умолчанию 0); FчI - число и тип параметров (10PF, 7PH, ...) (по умолчанию 12 PH). При генерации транзактов значения всех параметров нулевые.A (завершить). Оператор ликвидирует вошедший в него транзакт, вычитает A единиц из счетчика завершений. По умолчанию A=0.A, B (задержать). A - среднее время задержки; B - модификатор разброса или модификатор функции. Оператор может впускать сколько угодно транзактов.A, B, C (передать). A - режим выбора; B и C - метки операторов, к которым происходит переход. Основные варианты использования оператора следующие:=BOTH - транзакт повторяет попытки войти сначала в оператор B, а в случае неудачи - в оператор C и т.д. до тех пор, пока какой-либо из операторов его не впустит.=.XXX - транзакт случайным образом, с вероятностью 0.XXX передается в оператор C, с вероятностью 1-0.XXX - в оператор B (или в следующий за TRANSFER по порядку оператор, если операнд B опущен).

Если опущены операнды A и C, транзакт безусловно передается в оператор, метка которого задана операндом B.X A, B, C (проверить).X - оператор отношения. Транзакт переходит в следующий по порядку оператор, если выполняется условие A X B, в противном случае пересылается на оператор C (по умолчанию остается на входе оператора TEST).

Вспомогательный оператор отношения X(E, G, L, GE, LE, NE) имеет соответственно смысл "равно", "больше", "меньше", "больше или равно", "меньше или равно", "не равно". X можно писать после TEST без пробела.X A,B (впустить). Транзакт переходит в следующий блок, если для оборудования с именем A выполняется логическое условие X, в противном случае пересылается на оператор B (по умолчанию остается на входе оператора GATE). Возможные виды условий:

Для устройств

Для памяти

Для переключателей

NU - свободно U - занято I - обслуживает прерывания NI - работает без прерываний

SE - пуста SNE - не пуста SF - полна SNF - не полна

LS - включен LR - выключен

QUEUE A, B (отметить вход в очередь).A - имя очереди, B - количество занимаемых единиц (по умолчанию B=1).A, B (отметить выход из очереди). Смысл операндов тот же, что для QUEUE. Оператор ставится после операторов SEIZE, PREEMT, ENTER.A, B (назначить приоритет). A - назначаемый транзакту приоритет. B=BUFFER означает, что транзакт должен остановиться после изменения приоритета.

ИМЯ FUNCTION RNj, CK,Y1/X2,Y2/…/XK,YK

Описание непрерывной случайной функции .

Здесь j - номер используемого датчика случайных чисел генерирующий числа с плавающей точкой в диапазоне [0,1], K - количество точек, по которым выполняется кусочно-линейная аппроксимация функции.

ИМЯ FUNCTION RNj, DK

X1,Y1/X2,Y2/…/XK,YK

Описание дискретной случайной функции.

Значения X должны лежать в пределах (0,1) и быть записаны в порядке увеличения.

Пример. Случайная дискретная функция RAND, описанная следующим образом:FUNCTION RN1, D3

.5,2/.8,1/1,4

принимает значение 2 с вероятностью 0.5, 1 - с вероятностью 0.3, 4 - c вероятностью 0, 2.

Основные управляющие операторы (карты)A, B, C, D (старт). Оператор уведомляет интерпретатор, что ввод программы закончен, можно начинать моделирование. A - начальное значение кода в счетчике завершений ( TG1); B=NP - признак подавления стандартной печати (по умолчанию распечатывается статистика в конце счета); C - счетчик снимков, показывающий, через какой интервал уменьшения TG1 надо распечатывать промежуточные результаты (по умолчанию не печатать); D=1 - признак распечатки списков в конце моделирования.XLj, XFj, XHj, HBj, MXj, MLj, MBj (очистить). Обнуляет все переменные модели, кроме указанных в нем ячеек и матриц ячеек, перед следующим прогоном модели с другими параметрами.Fj, Qj, Sj, CHj, TBj (сбросить). Сбрасываются вся статистика, кроме собранной для указанных в операторе устройств, очередей, памяти, списков пользователя, таблиц, и относительное время C1. Абсолютное время AC1 , ячейки, переключатели на этот оператор не реагируют, транзакты из модели не удаляются. Оператор служит для сброса искаженной переходным процеcсом статистики.

Краткое описание среды моделирования GPSS World

Для запуска приложения необходимо в меню установленных программ выбрать GPSS World Student Version.

После запуска приложения из строки меню выбрать File->New, из открывшегося списка выбрать Model и нажать Ok, при этом создастся новая модель и откроется поле ввода текста программы «Untitled Model 1.gps».


Для создания выполняемой модели необходимо из строки меню выбрать Command->Create Simulation, после этого если нет ошибок то сформируется журнал «Untitled Model 1.1.sim».


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

Для запуска программы необходимо из строки меню выбрать Command->START, в открывшемся диалоговом окне Start Command команде START задаются аргументы, после нажатия на Ok происходит выполнение программы и формирование отчета «Untitled Model 1.1.1.gpr».


Описание других команд в меню Command:(Перетранслировать) или нажатие комбинации клавиш Ctrl+Alt+R обеспечивает перетранслирование модели;Last Command (Повторить последнюю команду) или нажатие комбинации клавиш Ctrl+Alt+L обеспечивает повторение выполнения последней команды;(Управление) дает возможность проведения эксперимента;(Шаг 1) или нажатие комбинации клавиш Ctrl+Alt+1 обеспечивает пошаговое выполнение оттранслированной программы;(Останов) прерывает процесс моделирования;(Продолжить) обеспечивает продолжение процесса моделирования;(Очистить) - возвращение моделирования в первоначальное состояние;(Сброс) - сброс статистики в начальное состояние;… (Показать) вызывает диалоговое окно Show Command (Показать команду), которое обеспечивает возможность просмотра искомых параметров в окне JOURNAL;… (Пользователь) вызывает диалоговое окно Simulation Command

(Команда моделирования) для ввода команд управления пользователем во время моделирования.

Содержание стандартной распечатки результатов моделирования GPSS World

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

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

Таблица перекрестных ссылок формируется в случае использования в модели символических имен объектов GPSS PC, для которых определяются числовые значения.

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

) показания модельного (относительного и абсолютного) времени на момент завершения процесса моделирования;

) статистику по использованию блоков;

) статистику по всем видам аппаратных объектов модели.

Стандартный набор информации об использовании блоков модели состоит из трех колонок: номера блока, его текущего содержимого и общего числа входов в него.

Стандартный набор статистической информации о приборах включает следующие данные (по колонкам):

) Имя (номер) прибора (FACILITY);

) Общее число входов в прибор за время моделирования (ENTRIES);

) Коэффициент использования в течение всего времени моделирования (UTIL.);

) Среднее время пребывания транзакта в приборе (AVE._TIME);

) Номер транзакта, занявшего прибор (AVAIL.);

) Номер транзакта, захватившего прибор (OWNER).

Стандартный набор статистической информации об очередях включает следующие данные (по колонкам):

) Имя (номер) очереди (QUEUE);

) Максимальное содержимое очереди за время моделирования (MAX);

) Текущее содержимое очереди (CONT.).

) Общее число входов в очередь (ENTRIES);

) Количество "нулевых" входов в очередь (ENTRIES 0);

) Среднее содержимое очереди (AVE.CONT.);

) Среднее время пребывания транзакта в очереди (AVE.TIME);

) Среднее время пребывания без учета "нулевых" входов (AVE.(-0)).

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

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

 

Распечатка для приборов

FACILITY

Имя (номер) прибора

 


ENTRIES

Общее число входов в прибор за время моделирования

 


UTIL.

Коэффициент использования в течение всего времени моделирования

 


AVE_TIME

Среднее время пребывания транзакта в приборе

 


AVAIL

Номер транзакта, занявшего прибор

 


OWNER

Номер транзакта, захватившего прибор

 


PEND

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

 


INTER

Количество прерывающих устройство транзактов

 


RETRY

Количество транзактов, ожидающих специальных условий

 


DELAY

Количество транзактов, ожидающих занятия устройства

 

Распечатка для многоканальных устройств

STORAGE

Имя (номер) прибора

 


CAP.

Емкость многоканального устройства

 


REMAIN.

Текущее содержимое(в момент остановки моделирования)

 


MIN

Минимальное содержимое

 


MAX

Максимальное содержимое

 


ENTRIES

Общее число занятий приборов

 


AVL.


 


AVE.C.

Среднее содержимое

 


UTIL.

Средняя загрузка

 


RETRY

Количество транзактов, ожидающих специальных условий

 


DELAY

Количество транзактов, ожидающих занятия устройства

Распечатка для очередей

QUEUE

Имя (номер) очереди


MAX

Максимальное содержимое очереди за время моделирования


CONT.

Текущее содержимое очереди


ENTRIES

Общее число входов в очередь


ENTRIES(0)

Количество "нулевых" входов в очередь


AVE.CONT.

Среднее содержимое очереди


AVE.TIME

Среднее время пребывания транзакта в очереди


AVE.(-0)

Среднее время пребывания без учета "нулевых" входов


RETRY

Количество повторных входов


Контрольные вопросы

1.      Назовите основные отличия GPSS World от его предыдущей версии GPSS PC.

2.      Дайте краткую характеристику операторам GENERATE, TERMINATE и START, поясните назначение их операндов.

.        Перечислите команды в меню Command и опишите их назначение.

.        Расскажите о назначении операторов GATE и TEST, задании условий в приведенных операторах.

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

.        Расскажите о назначении и особенностях применения оператора TRANSFER.

.        Опишите работу управляющих карт RESET и CLEAR.

.        Расскажите о назначении оператора STORAGE.

.        Раскройте назначение операторов сбора статистической информации об очередях и особенности их применения.

. Объясните значение полей в файле отчета.

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

Далее приведены методические указания и контрольные вопросы какими их увидит студент.

Типы данных

Арифметические целые переменные - VARIABLE

Пример:VARIABLE (P3 + P4)/5

Арифметические переменные с фиксированной точкой - FVARIABLE

Булевы переменные - ВVARIABLE

Вычислительные выражения

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

^        - Возведение в степень

#       - Умножение

/         - Деление

\        - Целочисленное деление. Возвращает результат целочисленного деления А на B

@      - Целочисленный остаток. Возвращает целочисленный остаток от деления А на В

          - Вычитание

+       - Сложение

Вычисления выражений выполняются в такой последовательности:

^ - возведение в степень;

#, /, \ - умножение, деление, целочисленное деление;

@ - целочисленный остаток;

Некоторые полезные операторыA,B,C - Модифицировать сохраняемое значениеA,B - Модифицировать параметр требованияA,B - Определить эквивалентность(Связать)- возвратить копию двух строк, объединенных в одну;A,B - Инициализировать- Закрыть поток данных- Открыть поток данных- Разместить текстовую строку в потоке данныхA,B - Собрать табличные данные элемента

<Имя> TABLE A,B,C,D,E - Определить таблицу

Стандартные числовые атрибуты (СЧА) GPSS

·        P$ Текущее значение параметра формата полуслово или слово

·        PR$1 Приоритет

·        M$1 Транзитное время

·        MP$ Параметрическое транзактное время

·        XN$1 Номер транзакта

·        N$ Счетчик входов в блок

·        W$ Счетчик текущего содержимого блока

·        V$ Арифметическая и логическая переменная

·        FN$ Функции

·        TB$ Среднее значение аргумента таблицы

·        TC$ Счетчик входов в таблицу

·        TD$ Среднее квадратическое отклонение аргумента

·        XH$, X$ ,XF$ Текущее содержимое ячейки (формата полуслово-XH$, слово-XF$, X$)

·        MH$(a,b) Элемент строки "а", столбца "b". Полуслово.

·        MX$(a,b) Элемент строки "а", столбца "b". Полное слово.

·        CA$ Среднее число элементов в списке

·        CH$ Текущее число элементов в списке

·        CM$ Максимальное число элементов в списке

·        CC$ Общее число входов

·        LR$ Ключ сброшен (логическое 1) или ключ установлен (логическое 0)

·        Q$ Текущая длина очереди

·        QA$ Средняя длина очереди

·        QM$ Максимальная длина очереди

·        QC$ Общее число входов

·        QZ$ Количество нулевых входов

·        QT$ Среднее время пребывания транзакта в очереди

·        QX$ Среднее время пребывания транзакта в очереди без учета нулевых входов

·        S$ Текущее содержимое памяти

·        R$ Число свободных единиц памяти

·        SR$ Коэффициент использования

·        SA$ Среднее содержимое памяти

·        SM$ Максимальное содержимое памяти

·        SC$ Общее число входов

·        ST$ Среднее время занятости единицы памяти

·        SE$ Память пуста (логические 0 или 1)

·        SNE$ Память не пуста (логические 0 или 1)

·        SF$ Память заполнена(логические 0 или 1)

·        SNF$ Память не заполнена (логические 0 или 1)

·        F$ Состояние устройства (логические 0 или 1)

·        FI$ Прибор находится в состоянии прерывания (логические 0 или 1)

·        FNI$ Прибор не находится в состоянии прерывания (логические 0 или 1)

·        FNU$ Прибор не используется (логические 0 или 1)

·        FS$ Номер транзакта, занимающего прибор

·        FP$ Номер прерывающего транзакта

·        FR$ Коэффициент использования устройства

·        FT$ Среднее время пребывания транзакта в устройстве

·        AC$1 Абсолютное время

·        C$1 Относительное время

·        TG$1 Содержимое счетчика завершения

·        RN$j Случайное число в интервале [0, 1], и используемое как аргумент функции, и случайное число в интервале [0, 999] в карте f[variable]

Контрольные вопросы

1.      Какие типы переменных существую в языке GPSS World. Приведите описание.

.        Опишите последовательность вычисления выражений и их вид в GPSS World.

.        Опишите параметры выдаваемые очередью в отчете и приведите пример СЧА для их получения.

.        Опишите назначение параметра NP в операторе START.

.        Опишите назначение третьего параметра в операторах OPEN, WRITE и CLOSE.

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

.       
Алгоритмическая и программная части

.1      Разработка алгоритмов

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

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

Так как GPSS World является специализированным языком, то есть языком имитационного моделирования, то для него неприменимы блоки, которые обычно используют при описании алгоритма в универсальных языках. Далее представим вид и описание блоков используемых в языке GPSS World (рис 2-6).

Алгоритмы решений представленных в этих работах задач будут нумероваться «Алгоритм 1.1», «Алгоритм 1.2», и.т.д.; и «Алгоритм 2.1», «Алгоритм 2.2» , и.т.д., соответственно. А их графическое представление как «Модель 1.1», «Модель 1.2», и.т.д.; и «Модель 2.1», «Модель 2.2» , и.т.д., соответственно. Где первая цифра номер лабораторной работы, а вторая ее порядковый номер в каждой из них.

Рисунок 2

Рисунок 3

Рисунок 4

Рисунок 5

Рисунок 6

Модель 1.1 приведен на рис. 7.

В данном задании необходимо разработать модель парикмахерскую с бесконечной очередью в которую приходят клиенты двух типов: которые хотят подстричься и которые хотят подстричься и побриться. Источники заявок (клиенты) обозначим как G1 и G2, соответственно. Общая очередь PARQ и два оборудования PAR1 и PAR2, то есть стрижка у парикмахера и бритьё у парикмахера.

Рисунок 7. Модель 1.1.

Алгоритм 1.1 приведен на рис. 8.

Далее разработаем детальный алгоритм программы осуществляющей моделирование. Сначала разработаем часть алгоритма отвечающую за стрижку клиентов желающих только стричься. Для генерирования заявок (клиентов) используем блок GENERATE с необходимыми расшифровка которых предложена ниже. После генерации заявки помещаем ее в очередь PARQ блоком QUEUE. После подхода очереди заявки помещаем ее в обслуживающее устройство PAR, и освобождаем ее из очереди PARQ блоком DEPART. В этом устройстве задерживаем заявку на время необходимое для стрижки, делаем это блоком ADVANCE с соответствующими параметрами. По истечении времени задержки освобождаем устройство PAR от этой заявки блоком RELEASE и завершаем эту часть алгоритма блоком TERMINATE с параметром 0. Часть алгоритма отвечающая за обслуживание клиентов желающих подстричься и побриться разрабатывается аналогично за исключением того что в нем будет еще один блок ADVANCE который задержит клиента на время бритья.

Модели и алгоритмы для других заданий разрабатывались аналогично.

Рисунок 8. Алгоритм 1.1.

Где, X2 - Интервалы времени прихода клиентов для стрижки, X4 - Время стрижки, X6 - Интервалы времени прихода клиентов для стрижки и бритья, X8 - Время бритья

Модель 1.2 приведен на рис. 9.

язык моделирование программный имитационный

Рисунок 9. Модель 1.2.

Алгоритм 1.2 приведен на рис.10.

Рисунок 10. Алгоритм 1.2.

Где- количество сборщиков, X3 - время сборки, X5 - время обжига

Модель 1.3 приведен на рис. 11.

Рисунок 11. Модель 1.3.

Алгоритм 1.3 приведен на рис. 12.

Рисунок 12. Алгоритм 1.3.

Где, X2 - Интервал прибытия судов первого типа, X4 - Время буксирования до причала судов первого типа, X6 - Время погрузки-разгрузки судов первого типа, X8 - Время буксирования от причала судов первого типа, X10 - Интервал прибытия судов второго типа, X12 - Время буксирования до причала судов второго типа, X14 - Время погрузки-разгрузки судов второго типа, X16 - Время буксирования от причала судов второго типа

Модель 2.1 приведен на рис. 13.

Рисунок 13. Модель 2.1.

Алгоритм 2.1 приведен на рис. 14.

Рисунок 14. Алгоритм 2.1.

Где, X2 - Время поступления деталей на обработку, X4 - Время выполнения операции 1-м рабочим, X6 - Время выполнения операции 2-м рабочим, X8 - Время выполнения операции 3-м рабочим

Модель 2.2 приведен на рис. 15.

Рисунок 15. Модель 2.2.

Алгоритм 2.2 приведен на рис. 16 и рис 17.

Рисунок 16. Алгоритм 2.2 часть 1.

Рисунок 17. Алгоритм 2.2 часть 2.

Где, X2 - Интервалы времени между поступлениями изделий первого типа на обработку, X4 - Время изготовления изделия первого потока первым видом оборудования, X6 - Время изготовления изделия первого потока вторым видом оборудования, X8 - Время изготовления изделия первого потока третьим видом оборудования, X10 - Интервалы времени между поступлениями изделий второго типа на обработку, X12 - Время изготовления изделия второго потока первым видом оборудования, X14 - Время изготовления изделия второго потока вторым видом оборудования, X16 - Время изготовления изделия второго потока третьим видом оборудования

Модель 2.3 приведен на рис. 18.

Рисунок 18. Модель 2.3.

Алгоритм 2.3 приведен на рис. 19.

Рисунок 19. Алгоритм 2.3.

Где, X2 - Параметры экспоненциального распределения вероятностей (λ и β)

X3, X4 - Время заправки на первой колонке, X6 - Время заправки на второй колонке

Модель 2.4 приведен на рис. 20.

Рисунок 20. Модель 2.4.

Алгоритм 2.4 приведен на рис. 21.

Рисунок 21. Алгоритм 2.4.

Где, X2 - Интервалы времени между приходами рабочих- Вероятности взятия инструментов с первого стеллажа, X5 - Время, необходимое для поиска инструмента на первом стеллаже- Вероятности взятия инструментов со второго стеллажа, X8 - Время, необходимое для поиска инструмента на втором стеллаже$T_OBSL - Время учета взятых инструментов

Модель 2.5 приведен на рис. 22.

Рисунок 22. Модель 2.5.

Алгоритм 2.5 приведен на рис. 23.

Рисунок 23. Алгоритм 2.5.

Где, X2 - Параметры экспоненциального распределения вероятностей (λ и β)

X3 - Время контроля первой операции- Вероятность брака после первой операции, X6 - Параметры нормального распределения вероятностей (μ и σ.)

X7 - Время контроля второй операции- Вероятность брака после второй операции- Вероятность возврата изделия на повторную обработку после первой операции- Вероятность возврата изделия на повторную обработку после второй операции- время выполнения первой операции

.2      Разработка программ

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

Для реализации разработанных ранее алгоритмов будем использовать операторы языка GPSS World представленные далее с подробным оптсанием их аргументов.

Оператор языка GPSS содержит 4 поля: метка (необязательное поле), операция, операнды, комментарий (необязательное поле). Комментарием считаются все символы, следующие после символа «;». Количество операндов может достигать 9, операнды обозначаются буквами A, B, C, D, E, F, G, H, I. Часть операндов может быть опущена (берутся по умолчанию), если опускаются не последние операнды (A, B, D, E), запятые сохраняются.A, B, C, D, E, F, G, H, I (генерировать транзакты).

A - среднее значение интервала; B - модификатор разброса или модификатор функции (GENE 10, 5 - интервал от 5 до 15 единиц равновероятен, GENE 10, 1 - средний интервал 10 единиц, распределение интервалов - по функции FN 1); C - время появления первого транзакта (по умолчанию 1); D - число выработанных транзактов (по умолчанию ); E - приоритет (по умолчанию 0); FчI - число и тип параметров (10PF, 7PH, ...) (по умолчанию 12 PH). При генерации транзактов значения всех параметров нулевые.

SEIZE A (занять). A - имя устройства. Занять можно только свободное устройство. Уже занятое устройство не впускает транзакты, перед ним организуется очередь на основе относительных приоритетов.A (освободить). A - имя устройства. Устройство должно быть освобождено тем же транзактом, который его занял.A1, B1/A2, B2/…/AN, BN (объявление многоканальных устройств). Ai - имя i-го устройства, Bi - объем i-го устройства.A, B (войти в многоканальное устройство A, занять в нем B ячеек). По умолчанию B=1. Если в многоканальном устройстве нет требуемого количества ячеек, транзакт задерживается на входе оператора.A, B (выйти, т.е. освободить в многоканальном устройстве A и B ячеек). Освобождать можно любым транзактом, не обязательно тем, который занимал!A, B (задержать). A - среднее время задержки; B - модификатор разброса или модификатор функции. Оператор может впускать сколько угодно транзактов.A, B, C (передать). A - режим выбора; B и C - метки операторов, к которым происходит переход. Основные варианты использования оператора следующие:=BOTH - транзакт повторяет попытки войти сначала в оператор B, а в случае неудачи - в оператор C и т.д. до тех пор, пока какой-либо из операторов его не впустит.=.XXX - транзакт случайным образом, с вероятностью 0.XXX передается в оператор C, с вероятностью 1-0.XXX - в оператор B (или в следующий за TRANSFER по порядку оператор, если операнд B опущен).

Если опущены операнды A и C, транзакт безусловно передается в оператор, метка которого задана операндом B.X A, B, C (проверить).X - оператор отношения. Транзакт переходит в следующий по порядку оператор, если выполняется условие A X B, в противном случае пересылается на оператор C (по умолчанию остается на входе оператора TEST).

Вспомогательный оператор отношения X(E, G, L, GE, LE, NE) имеет соответственно смысл "равно", "больше", "меньше", "больше или равно", "меньше или равно", "не равно". X можно писать после TEST без пробела.A, B (отметить вход в очередь).A - имя очереди, B - количество занимаемых единиц (по умолчанию B=1).A, B (отметить выход из очереди). Смысл операндов тот же, что для QUEUE. Оператор ставится после операторов SEIZE, PREEMT, ENTER.A (завершить). Оператор ликвидирует вошедший в него транзакт, вычитает A единиц из счетчика завершений. По умолчанию A=0.

ИМЯ FUNCTION RNj, CK,Y1/X2,Y2/…/XK,YK

Описание непрерывной случайной функции .

Здесь j - номер используемого датчика случайных чисел генерирующий числа с плавающей точкой в диапазоне [0,1], K - количество точек, по которым выполняется кусочно-линейная аппроксимация функции.

ИМЯ FUNCTION RNj, DK

X1,Y1/X2,Y2/…/XK,YK

Описание дискретной случайной функции.

Значения X должны лежать в пределах (0,1) и быть записаны в порядке увеличения.

А так же управляющую картуA, B, C, D (старт). Оператор уведомляет интерпретатор, что ввод программы закончен, можно начинать моделирование. A - начальное значение кода в счетчике завершений ( TG1); B=NP - признак подавления стандартной печати (по умолчанию распечатывается статистика в конце счета); C - счетчик снимков, показывающий, через какой интервал уменьшения TG1 надо распечатывать промежуточные результаты (по умолчанию не печатать); D=1 - признак распечатки списков в конце моделирования.

В соответствии с этими операторами, разработанными ранее алгоритмами и исходными данными представленными в задании разработаем программы, листинги которых представлены ниже и будут нумероваться «Программа 1.1», «Программа 1.2», и.т.д.; и «Программа 2.1», «Программа 2.2» , и.т.д., соответственно. Где первая цифра номер лабораторной работы, а вторая ее порядковый номер в каждой из них.

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

Программа 1.1

Вариант 1

;Клиенты для стрижки35,10          ; Приход клиентовPARQ                         ; Присоединение к очередиPAR                         ; Переход в кресло парикмахераPARQ                     ; Уход из очереди18,6                    ; Стрижка у парикмахераPAR                         ; Освобождение парикмахера0                         ; Уход из парикмахерской

; Клиенты для стрижки и бритья60,20             ; Приход клиентовPARQ                        ; Присоединение к очередиPAR                       ; Переход в кресло парикмахераPARQ                            ; Уход из очереди10,2                    ; Бритье у парикмахера18,6                   ; Стрижка у парикмахераPAR                         ; Освобождение парикмахера0                         ; Уход из парикмахерской

;Моделирование480                       ; Время моделирования1                         ; Завершение моделирования1                           ; Начало моделирования

Программа 1.2

Вариант 2,,,4                         ;Определение количества сборщиковADVANCE 30,5                   ;Сборка следующей деталиOBG                      ;Занятие печи8,2                   ;Использование печиOBG                       ;Освобождение печи,BACK1                  ;Переход к сборке следующей детали2400               ;Моделирование 5 дней работы1                            ;Завершение работы1                     ;Начало прогона модели

Программа 1.3

Вариант 3STORAGE 6                  ;6 причалов для кораблей первого типаSTORAGE 3                 ;2 причала для кораблей второго типаSTORAGE 2                   ;2 буксира

;Корабль первого типа130,30                 ;Подход к портуTYPE1                          ;Занятие очередиPRCH1                         ;Получение причалаBUKS                     ;Получение буксираTYPE1           ;Освобождение очереди30,7                   ;Буксирование до причалаBUKS                     ;Освобождение буксира720,120             ;Погрузка-разгрузкаBUKS                    ;Получение буксираPRCH1                    ;Освобождение причала20,5                            ;Буксирование (отчаливание)BUKS                            ;Освобождение буксира                          ;Завершение модели

;Корабль второго типа390,60TYPE2PRCH2BUKS,2TYPE245,12BUKS,21080,240BUKS,2PRCH235,10BUKS,20

;Моделирование48000                   ;Моделирование времени работы1                           ;Завершение моделирования1                          ;Начало моделирования

Программа 2.1

**************************************************X1,3                                                     ;Ср. время поступления деталей на обработкуX2,1.25                                          ;Отклонение от ср. времениX3,14           ;Ср. время выполнения операции 1-м рабочимX4,1.5                                         ;Отклонение от ср. времениX5,16           ;Ср. время выполнения операции 2-м рабочимX6,2                                               ;Отклонение от ср. времениX7,11              ;Ср. время выполнения операции 3-м рабочимX8,2.5                                            ;Отклонение от ср. времени

**************************************************X1,X2                      ;Интервал поступления деталейALL,RAB_1,RAB_3,4                        ;Передача деталей 1-му, 2-му или 3-му рабочему_1 SEIZE RAB1     ;Занимаем устройство RAB1 (1-й рабочий)X3,X4            ;Задерживаем деталь на время обработкиRAB1                                           ;Освобождение 1-го рабочего                                                      ;Завершение операции

**************************************************RAB2             ;Занимаем устройство RAB2 (2-й рабочий)X5,X6            ;Задерживаем деталь на время обработкиRAB2                                      ;Освобождение 2-го рабочего                                                      ;Завершение операции

**************************************************_3 QUEUE RAB3                                        ; Занятие очередиRAB3                 ; Занимаем устройство RAB3 (3-й рабочий)RAB3                                                  ; Освобождение очередиX7,X8               ; Задерживаем деталь на время обработкиRAB3                                             ; Освобождение 3-го рабочего                                                    ; Завершение операции

**************************************************480                          ;Время моделирования системы (8 часов)G TG1,1,Fin         ;Если счетчик TG1 > 1, то запись в файл данных

**************************************************OPEN ("File.txt"),,Met1            ;Открытие файла, в случае ошибки завершить(Catenate ("Facility=         ",FC$RAB1)),,Met        ;Запись в файл, в случае ошибки завершить(Catenate ("Util. Facility=     ",FR$RAB1/1000)),,Met(Catenate ("Facility=   ",FC$RAB2)),,Met(Catenate ("Util. Facility=   ",FR$RAB2/1000)),,Met(Catenate ("Max=         ",QM$RAB3)),,Met(Catenate ("CONT.=  ",Q$RAB3)),,Met(Catenate ("ENTRY=         ",QC$RAB3)),,Met(Catenate ("AVE.TIME=     ",QT$RAB3)),,MetProb,,Met2                                              ; Закрытие файла, в случае ошибки завершить1                                                     ; Завершение операцииTERMINATE 1                                        ; Завершение операцииTERMINATE 1TERMINATE 11,NP                                                       ;Начало моделирования

**************************************************

Программа 2.2

Вариант 1

**************************************************

;Первый поток40,5                         ;Интервал поступления изделий 1-го типаOCHER1                                           ;Занятие очереди 1OBOR1                                        ;Занимаем оборудование 1OCHER1                                  ;Освобождение очереди 115,2                   ;Задерживаем изделие на время обработкиOBOR1                    ;Освобождение   оборудования 1OCHER2                                           ;Занятие очереди 2OBOR2                                              ;Занимаем оборудование 2OCHER2                                  ;Освобождение очереди 229,1                          ;Задерживаем изделие на время обработкиOBOR2                         ;Освобождение   оборудования 2OCHER3                                 ;Занятие очереди 3OBOR3                               ;Занимаем оборудование 3OCHER3                              ;Освобождение очереди 324,5                          ;Задерживаем изделие на время обработкиOBOR3                         ;Освобождение   оборудования 3                                                 ; Завершение операции

**************************************************

;Второй поток23,4.5             ;Интервал поступления изделий 2-го типаOCHER1                                       ;Занятие очереди 1OBOR1                                         ;Занимаем оборудование 1OCHER1                                  ;Освобождение очереди 121,2                         ;Задерживаем изделие на время обработкиOBOR1                    ;Освобождение          оборудования 1OCHER2                                 ;Занятие очереди 2OBOR2                               ;Занимаем оборудование 2OCHER2                                  ;Освобождение очереди 219,5.5           ;Задерживаем изделие на время обработкиOBOR2                    ;Освобождение   оборудования 2OCHER3                                           ;Занятие очереди 3OBOR3                                              ;Занимаем оборудование 3OCHER3                                  ;Освобождение очереди 328,1                          ;Задерживаем изделие на время обработкиOBOR3                         ;Освобождение   оборудования 3                                                ; Завершение операции

**************************************************

;Моделирование960G TG1,1,Fin   ;Если счетчик TG1 > 1, то запись в файл данныхOPEN ("File.txt"),,Met1                         ;Открытие файла, в случае ошибки завершить(Catenate ("Facility1=    ",FC$OBOR1)),,Met     ;Запись в файл, в случае ошибки завершить(Catenate ("Util. Facility1=      ",FR$OBOR1/1000)),,Met(Catenate ("Facility2=         ",FC$OBOR1)),,Met(Catenate ("Util. Facility2=         ",FR$OBOR1/1000)),,Met(Catenate ("Max1=   ",QM$OCHER1)),,Met(Catenate ("AVE.CONT1=  ",QA$OCHER1)),,Met(Catenate ("Max2=         ",QM$OCHER2)),,Met(Catenate ("AVE.CONT2=     ",QA$OCHER2)),,Met(Catenate ("Max3=     ",QM$OCHER3)),,Met(Catenate ("AVE.CONT3=         ",QA$OCHER3)),,MetProb,,Met2   ; Закрытие файла, в случае ошибки завершить1TERMINATE 1                                        ; Завершение операцииTERMINATE 1TERMINATE 11                                                       ;Начало моделирования

**************************************************

Программа 2.3

Вариант 2

**************************************************(Exponential (1,0,6.5))               ;Поступление автомобилей на заправкуZAPR                                      ;Вход авто в очередь на заправкуBOTH KOL_1,KOL_2     ;Переход авто к свободной колонке_1 SEIZE KOL1                            ;Определение занятости 1 колонкиZAPR                                    ;Вход авто из очереди на заправку15,2                                       ;Заправка авто на 1 колонкеKOL1                                 ; Освобождение 1 колонки,NEXT                              ; Переход к NEXT_2 SEIZE KOL2                     ; Определение занятости 2 колонкиZAPR                                      ; Вход авто из очереди на заправку13,1                                               ; Заправка авто на 2 колонкеKOL2                                     ; Освобождение 2 колонкиSAVEVALUE AVE_QUEUE,QT$ZAPR      ;Сохранение времени пребывания в очереди                                           ;Выход авто из системы

**************************************************480                                   ;Моделирование в течении сменыG TG1,1,Fin         ;Если счетчик TG1 > 1, то запись в файл данныхOPEN ("File.txt"),,Met1                      ;Открытие файла, в случае ошибки завершить(Catenate ("Util. Facility1=      ",FR$KOL1/1000)),,Met

;Запись в файл, в случае ошибки завершить(Catenate ("AVE_TIME 1=         ",FT$KOL1)),,Met(Catenate ("Util. Facility2=   ",FR$KOL2/1000)),,Met(Catenate ("AVE_TIME 2= ",FT$KOL2)),,Met(Catenate ("Max1=               ",QM$ZAPR)),,Met(Catenate ("AVE.CONT1=  ",QA$ZAPR)),,Met(Catenate ("CONT1=           ",Q$ZAPR)),,MetProb,,Met2         ; Закрытие файла, в случае ошибки завершить1TERMINATE 1                                               ; Завершение операцииTERMINATE 1TERMINATE 11                                                  ;Начало моделирования

**************************************************

Программа 2.4

Вариант 3

**************************************************FUNCTION RN1,D5        ; Опр. числа взятых инструментов с 1 стеллажа

.2,3/0.4,4/0.6,5/0.8,6/1,7FUNCTION RN1,D3  ; Опр. числа взятых инструментов со 2 стеллажа

.33,2/0.66,3/1,4_OBSL FVARIABLE (FN$INST1+FN$INST2)#1.2      ; Опр. Времени учета взятых инструментов

**************************************************9,2                           ;Прибытие рабочих за инструментом.29,,STEL2              ;Переход с заданной вероятностью ко 2 стеллажу10,5                         ;Поиск инструмента на 1 стеллажеTRANSFER .46,,KLAD         ;Переход с заданной вероятностью к кладовщику11,2.5                     ;Поиск инструмента на 2 стеллажеQUEUE UCHET                      ;Вход в очередь к кладовщикуCLAD                          ;Ожидание освобождения кладовщикаUCHET                           ;Выход из очереди к кладовщикуV$T_OBSL                    ;Время учета взятых инструментовCLAD                                          ;Освобождение кладовщика                                       ;Выход рабочего из кладовой

**************************************************480                                    ; Моделирование в течении сменыG TG1,1,Fin ;Если счетчик TG1 > 1, то запись в файл данныхOPEN ("File.txt"),,Met1      ;Открытие файла, в случае ошибки завершить(Catenate ("Facility=           ",FC$CLAD)),,Met

;Запись в файл, в случае ошибки завершить(Catenate ("Util. Facility=                  ",FR$CLAD /1000)),,Met(Catenate ("Max=                ",QM$UCHET)),,Met(Catenate ("ENTRIES=       ", QC$UCHET)),,Met(Catenate ("ENTRIES(0)=                  ",QZ$UCHET)),,Met(Catenate ("ENTRIES(0)%=       ", ((QZ$UCHET#100)/ QC$UCHET))),,Met(Catenate ("AVE_TIME =           ",FT$UCHET)),,MetProb,,Met2      ; Закрытие файла, в случае ошибки завершить1                                              ;Завершение моделированияTERMINATE 1                                           ; Завершение операцииTERMINATE 1TERMINATE 11                                                      ;Начало моделирования

**************************************************

Программа 2.5

Вариант 4

**************************************************231_obrab TABLE M1,100,20,7_1 FUNCTION RN1,D7

,0/.04,9/.20,13/.35,17/.60,25/.85,35/1.0,50

**************************************************(Exponential (1,0,25))       ; Интервал поступления изделий1,FN$Oper_1  ; Присваивание 1 переменной значения функцииSEIZE Oborud_1                        ; Занимаем оборудование 1P1                ; Задерживаем изделие на время обработкиOborud_1                           ; Освобождение оборудования 12                            ; Задерживаем изделие на время контроля.07,,Ustr_brak_1    ; Переход с вероятностью к Ustr_brak_1

**************************************************SEIZE Oborud_2                       ; Занимаем оборудование 2(Normal (1,25,3))  ; Задерживаем изделие на время обработкиOborud_2                       ; Освобождение оборудования 23                    ; Задерживаем изделие на время контроля.15,,Ustr_brak_2                  ; Переход с вероятностью к Ustr_brak_2Time_obrab                            ; Запись результата в таблицу                                                        ; Завершение операции

**************************************************_brak_1 TRANSFER .35,,Oper1                     ; Переход с вероятностью к Oper1                                                        ; Завершение операции_brak_2 TRANSFER .62,,Oper2                      ; Переход с вероятностью к Oper2                                                ; Завершение операции

**************************************************480G TG1,1,Fin      ;Если счетчик TG1 > 1, то запись в файл данныхOPEN ("File.txt"),,Met1                        ;Открытие файла, в случае ошибки завершить(Catenate ("Util. Facility1=            ",FR$Oborud_1/1000)),,Met

;Запись в файл, в случае ошибки завершить(Catenate ("Util. Facility2=                ",FR$Oborud_2/1000)),,Met(Catenate ("AVE_TIME1 =              ",FT$Oborud_1)),,Met(Catenate ("AVE_TIME2 =              ",FT$Oborud_2)),,MetProb,,Met2   ; Закрытие файла, в случае ошибки завершить1                                               ;Завершение моделированияTERMINATE 1                                        ; Завершение операцииTERMINATE 1TERMINATE 11                                                  ;Начало моделирования

**************************************************

4. Разработка программной документации

Введение стандартов в процесс создания программного изделия направлено на достижение следующих результатов:

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

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

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

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

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

в) автоматизации изготовления и хранения программной документации.

В данном дипломном проекте разрабатывались три вида документов -«Программа и методика испытаний» и два эксплуатационных документа - «Руководство программиста» и «Руководство оператора».

Документы могут разрабатываться как на весь комплекс, так и на отдельные модули. В данном дипломном проекте программная документация разрабатывалась на весь комплекс.

Хотя ЕСПД предусматривает разработку порядка и методики испытания на стадии «Рабочий проект», работа по подготовке и проведению

испытаний фактически начинается уже на стадии «Техническое задание», когда намечается порядок контроля и приемки, и ее целесообразно вести в течение всего процесса проектирования программы.

Эксплуатационные документы разрабатывались на стадии разработки программы.

4.1    Руководство программиста

Документ «Руководство программиста» разрабатывается в соответствии с ГОСТ 19.504-79.

Руководство программиста должно содержать следующие разделы:

·      назначение и условия применения программы;

·        характеристики программы;

·        обращение к программе;

·        входные и выходные данные;

·        сообщения.

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

В разделе «Характеристики программы» должно быть приведено описание основных характеристик и особенностей программы (временные характеристики, режим работы, средства контроля правильности выполнения и самовосстанавливаемости программы и т.д.).

В разделе «Обращение к программе» должно быть приведено описание процедур вызова программы (способы передачи управления и параметров данных и др.),

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

В разделе «Сообщения» должны быть указаны тексты сообщений, выдаваемых программисту или оператору в ходе выполнения программы, описание их содержания и действия, которые необходимо предпринять по этим сообщениям.

Документ «Руководство программиста» приведен ниже.

Руководство программиста

. Назначение и условия применения программы

Программа предназначена для имитационного моделирования процессов или объектов описанных в задании лабораторных работ по дисциплине «Компьютерное моделирование».

Для запуска данной программы необходимы следующие условия:

Минимальный состав программных средств:

·        операционная система Windows XP/Vista/7;

·        среда программирования GPSS World Student Version 5.2.2.

Минимальный состав аппаратных средств:

·        персональный компьютер на базе процессора с частотой не менее 1 ГГц;

·        ОЗУ не менее 256 Мб;

·        10 Мб свободного места на жёстком диске;

·        видеокарта и монитор, поддерживающие разрешение 800Ч600 или выше;

·        клавиатура, мышь.

. Характеристики программы

Программное обеспечение создано с помощью среды программирования GPSS World Student Version 5.2.2, языка моделирования GPSS World и предназначено для работы под управлением операционной системы Windows XP/Vista/7.

. Обращение к программе

Для запуска приложения необходимо в меню установленных программ выбрать GPSS World Student Version.

После запуска приложения из строки меню выбрать File->New, из открывшегося списка выбрать Model и нажать Ok, при этом создастся новая модель и откроется поле ввода текста программы «Untitled Model 1.gps» (рис. 24).

Рисунок 24. Поле ввода текста программы

В этом окне необходимо написать код программы соответствующий заранее разработанному алгоритму. Для создания выполняемой модели необходимо из строки меню выбрать Command->Create Simulation, после этого если нет ошибок то сформируется журнал «Untitled Model 1.1.sim»(рис. 25).

Рисунок 25. Журнал

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

Для запуска программы необходимо из строки меню выбрать Command->START, в открывшемся диалоговом окне Start Command команде START задаются аргументы, после нажатия на Ok происходит выполнение программы и формирование отчета «Untitled Model 1.1.1.gpr»(рис. 26).

Рисунок 26. Отчет

. Входные и выходные данные

Входные и выходные данные используют:

1) окно ввода текста программы;

2)      окно выдачи сообщений (журнал);

)        окно отчета работы программы;

)        окно сохранения;

)        окна открытия;

1)      Входными данными являются текст программы написанный на языке GPSS World. Выходные данные - результаты проверки данного текста на ошибки и результаты его выполнения.

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

3)      Входными данными являются результаты выполнения текста программы. Выходные данные - полный отчет о моделировании данной системы сгенерированный стандартными операторами языка.

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

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

. Сообщения программисту

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

.2      Руководство оператора

Документ «Руководство оператора» разрабатывается в соответствии с ГОСТ 19.505-79.

Руководство оператора должно содержать следующие разделы:

·      назначение программы;

·        условия выполнения программы

·        выполнение программы;

·        сообщения оператору.

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

В разделе «Условия выполнения программы» должны быть указаны условия, необходимые для выполнения программы (минимальный и (или) максимальный состав аппаратных и программных средств и т.п.).

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

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

Документа «Руководство оператора» приведен ниже.

Руководство оператора

. Назначение программы

Программа предназначена для имитационного моделирования процессов или объектов описанных в задании лабораторных работ по дисциплине «Компьютерное моделирование».

. Условия выполнения программы

Для запуска данной программы необходимы следующие условия:

Минимальный состав программных средств:

·        операционная система Windows XP/Vista/7;

·        среда программирования GPSS World Student Version 5.2.2.

Минимальный состав аппаратных средств:

·        персональный компьютер на базе процессора с частотой не менее 1 ГГц;

·        ОЗУ не менее 256 Мб;

·        10 Мб свободного места на жёстком диске;

·        видеокарта и монитор, поддерживающие разрешение 800Ч600 или выше;

·        клавиатура, мышь.

. Обращение к программе

Для запуска приложения необходимо в меню установленных программ выбрать GPSS World Student Version.

Для запуска программы необходимо из строки меню выбрать Command->START, в открывшемся диалоговом окне Start Command команде START задаются аргументы, после нажатия на Ok происходит выполнение программы и формирование отчета «Untitled Model 1.1.1.gpr»

Для открытия этого или другого файла необходимо из строки меню выбрать File->Open, далее в открывшемся окне (рис. 33) выбрать нужный файл и нажать открыть.

Рисунок 33. Открыть

Для выхода из программы необходимо нажать кнопку , или File->Exit, после чего приложение закроется.

. Сообщения оператору

В данной программе предусмотрены стандартные для данной версии GPSS World сообщения оператору, которые отображаются в окне журнала событий с указанием номеров строк, текста этих строк и описанием ошибки. Пример таких ошибок продемонстрирован выше (рис 30).

5. Экспериментальная часть

5.1    Программа и методика испытаний

. Объект испытаний

Объектом испытаний является созданная в результате выполнения одного из заданий из лабораторной работы программа - «моделирование работы автозаправочной станции», по дисциплине «Компьютерное моделирование», так как все задания однотипные будем проводить тестирование только для этой программы из лабораторной работы №2 задание для 2 варианта.

. Цель испытаний

Целью испытаний являются:

·        проверка корректной работы программы;

·        обеспечение отсутствия непредвиденных сбоев в работе программы.

. Требования к программе

Необходимо проверить:

·        наличие созданного файла и корректность записей в нем

·        правильное выполнение операций

. Требования к программной документации

При проведении испытаний должен присутствовать следующий состав программной документации:

·        Программа и методика испытаний;

·        Эксплуатационные документы.

. Средства и порядок испытаний

Во время проведения испытаний использовались следующие аппаратные и программные средства:

·        персональный компьютер на базе процессора Intel Core i3 2.4 ГГц;

·        ОЗУ 3072 Мб;

·        видеокарта и монитор, работающие в режиме 1366Ч768;

·        клавиатура, мышь.

·        операционная система Windows 7;

·        среда программирования GPSS World Student Version 5.2.2.

Порядок проведения испытаний

Для проверки правильности функционирования программы выполнялись следующие задачи:

·        запуск программы Command->Create Simulation;

·        ввод неизвестного оператора;

·        передача оператору параметров несоответствующего типа

·        запуск начала моделирования Command->START;

·        изменение входных данных модели;

. Методы испытаний

Разработанное программное обеспечение выполняет одну главную задачу - это моделирование работы автозаправочной станции.

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

5.2    Испытания программы

Экспериментальные исследования проведены в соответствии с приведенной программой исследования.

Цель проведения эксперимента:

·        проверка корректности сообщений об ошибке

·        проверка правильности изменения результатов при изменении тех или иных входных данных.

)        Проверка корректности сообщений об ошибке.

Для проверки корректности сообщений об ошибке было проведено два эксперимента:

а) запуск программы с ошибкой в синтаксисе оператора;

б) запуск программы с ошибкой в типе передаваемого оператору параметра.

Результаты экспериментов приведены на рис. 34 и 35 соответственно.

Рисунок 34. Ошибка в синтаксисе оператора

Рисунок 35. Ошибка в типе передаваемого оператору параметра.

)        Проверка правильности изменения результатов при изменении тех или иных входных данных.

Для проверки изменения результатов при изменении тех или иных входных данных проведено два эксперимента:

а) запуск моделирования с исходными данными предложенными по заданию;

б) запуск моделирования с измененными входными данными.

Результаты эксперимента для режима соответствия интерфейсных элементов их прямым функциям приведены на рисунке 36, 37 и 38, 39 соответственно.

Рисунок 36. Моделирование с исходными данными предложенными по заданию (часть 1)

Рисунок 37. Моделирование с исходными данными предложенными по заданию (часть 2)

Рисунок 38. Моделирование с измененными входными данными (часть 1)

Рисунок 39. Моделирование с измененными входными данными (часть 2)

5.3    Выводы по результатам испытаний

Во время тестирования программа не давала сбоев и работала абсолютно корректно. Как видно из тестирования по проверке корректности сообщений об ошибке сообщения выданы корректно с указанием ее названия, номера строк и столбца, а так же вывод самой строки. Так же можно отметить что при тестировании правильности изменения результатов при изменении тех или иных входных данных было зафиксированы изменения в отчете моделирования. Так при исходных данных по заданию по результатам моделирования видно, что на первая колонка обслужила 32 автомобилей, а вторая 37, при этом 14 автомобилей осталось не обслуженными так как обе колонки были заняты, так же видно что вторая колонка обслужила на 5 автомобилей больше чем первая так как время обслуживания на ней меньше (13±1 мин) чем на второй (15±2 мин). Можно заметить, что после уменьшения времени обслуживания на второй колонке (7±2 мин) она обслужила на 22 автомобиля больше чем вторая колонка (50 и 28 соответственно), так же видно что нагрузка на колонки снизилась и как следствие все пришедшие на заправку автомобили обслужены. Из этого можно сделать вывод, что чем меньше времени обслуживающий аппарат удерживает транзакт тем больше транзактов он сможет обработать и больше вероятность что все пришедшие на его вход заявки будут обслужены. Таким образом делаем вывод что программа работает правильно и выполняет все поставленные перед ней задчи.

Заключение

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

·        Проведен анализ языка GPSS World и на основе его структуры и операторов, в соответствии с темой данной квалификационной работы были разработаны задания;

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

·        Разобран способ построения алгоритмов для языка моделирования GPSS World. На основе этого в соответствии с заданиями разработаны алгоритмы их решений.

·        Разобран принцип кодирования на языке GPSS World и его основные операторы. На основе этого, а так же разработанных ранее алгоритмов разработаны тесты программ для соответствующих заданий.

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

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

Список использованных источников

1.       Шрайбер Т. Дж. Моделирование на GPSS. - М.:Машиностроение, 1980. - 592 с.

2.      Феррари Д. Оценка производительности вычислительных систем. - М.: Мир, 1981. - 576 с.

.        Кудрявцев Е. М. GPSS World. Основы имитационного моделирования различных систем. - М.: ДМК Пресс, 2004.- 320 с.

.        Томашевский В., Жданова E. Имитационное моделирование в среде GPSS. - М.:Бестселлер, 2003. - 416 c.

.        Боев В.Д. Моделирование систем. Инструментальные средства GPSS World Учебное пособие - Спб: БХВ-Петербург, 2004. - 368 с.

Приложение А

Лабораторные работа №1,2

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

Приложение Б

Решение всех заданий лабораторных работ

Постановка задачи

В парикмахерскую c одним креслом приходят клиенты двух типов. Клиенты первого типа желают только стричься. Клиенты второго типа желают постричься и побриться.. Парикмахер обслуживает клиентов в порядке «первым пришел - первым обслужился». Написать GPSS-модель парикмахерской, обеспечив сбор данных об очереди клиентов.

Исходные данные

Все исходные данные по вариантам приведены в табл. 1 (все числовые параметры подчиняются равномерному распределению).

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

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

Таблица 1 Исходные данные

Вариант

Категория запроса

Интервалы времени прихода клиентов, мин

Время обслуживания, с

 1

1 2

35±10 60±20

18±6 10±2

 4

1 2

40¸20 32¸10

27¸6 15¸7

 7

1 2

37¸14 25¸12

24¸10 12¸5

Построение модели

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

Такую систему можно промоделировать c помощью двух сегментов. Один из них моделирует обслуживание только стригущихся клиентов, А второй - стригущихся и бреющихся. В каждом из сегментов пара QUEUE-DEPART должна описывать одну и ту же очередь. Таким же образом пара блоков SEIZE-RELEASE должна описывать в каждом из двух сегментов одно и то же устройство и моделировать работу парикмахера.

Таблица 2 Таблица определений

Элементы GPSS

Интерпретация

Транзакты В 1 сегменте модели Во 2 сегменте модели В 3 сегменте модели

Клиенты, которые только стригутся Клиенты, которые бреются и стригутся Таймер

Устройство PAR1 PAR2

 Стрижка у парикмахера Бритьё у парикмахера

Очередь PARQ

Очередь, используемая для сбора статистики об ожидании клиентов обоих типов


Рисунок 40.

Единица модельного времени - 1 мин.

Программа:

Вариант 1

;Клиенты для стрижки35,10          ; Приход клиентовPARQ                         ; Присоединение к очередиPAR                         ; Переход в кресло парикмахераPARQ                     ; Уход из очереди18,6                    ; Стрижка у парикмахераPAR                         ; Освобождение парикмахера0                         ; Уход из парикмахерской

; Клиенты для стрижки и бритья60,20             ; Приход клиентовPARQ                        ; Присоединение к очередиPAR                       ; Переход в кресло парикмахераPARQ                            ; Уход из очереди10,2                    ; Бритье у парикмахера18,6                   ; Стрижка у парикмахераPAR                         ; Освобождение парикмахера0                         ; Уход из парикмахерской

;Моделирование480                       ; Время моделирования1                         ; Завершение моделирования1                           ; Начало моделирования

Вариант 4

;Клиенты для стрижки40,20          ; Приход клиентовPARQ                         ; Присоединение к очередиPAR                         ; Переход в кресло парикмахераPARQ                     ; Уход из очереди27,6                    ; Стрижка у парикмахераPAR                         ; Освобождение парикмахера0                         ; Уход из парикмахерской

; Клиенты для стрижки и бритья32,10             ; Приход клиентовPARQ                        ; Присоединение к очередиPAR                       ; Переход в кресло парикмахераPARQ                            ; Уход из очереди15,7                    ; Бритье у парикмахера27,6                   ; Стрижка у парикмахераPAR                         ; Освобождение парикмахера0                         ; Уход из парикмахерской

;Моделирование480                       ; Время моделирования1                         ; Завершение моделирования1                           ; Начало моделирования

Вариант 7

;Клиенты для стрижки37,14          ; Приход клиентовPARQ                         ; Присоединение к очередиPAR                         ; Переход в кресло парикмахераPARQ                     ; Уход из очереди24,10                  ; Стрижка у парикмахераPAR                         ; Освобождение парикмахера0                         ; Уход из парикмахерской

; Клиенты для стрижки и бритья25,20             ; Приход клиентовPARQ                        ; Присоединение к очередиPAR                       ; Переход в кресло парикмахераPARQ                            ; Уход из очереди12,5                    ; Бритье у парикмахера24,10                 ; Стрижка у парикмахераPAR                         ; Освобождение парикмахера0                         ; Уход из парикмахерской

;Моделирование480                       ; Время моделирования1                         ; Завершение моделирования1                           ; Начало моделирования

Программа 1.2

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

Исходные данные

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

Таким образом, сборщик работает в таком режиме:

) собирает следующую деталь;

) ожидает возможности использования печи по принципу FIFO;

) использует печь;

) возвращается к п. 1.

Время, необходимое на выполнение различных операций, приведено в табл. 3.

Таблица 3 Исходные данные

Вариант

Операция

Необходимое время, мин

2

Сборка Обжиг

30±5 8±2

5

Сборка Обжиг

21±4 10±1

8

Сборка Обжиг

37±7 12±5


Построение модели

В данном случае есть два ограничивающих условия, влияющих на пропускную способность системы: одна печь и некоторое фиксированное количество сборщиков, работающих в системе.

Естественно для моделирования печи использовать понятие «устройство», также естественно отождествлять сборщиков c транзактами. Тогда можно считать, что сборщики «циркулируют» в системе, периодически осуществляя сборку и обжиг. Аналогично и транзакты должны циркулировать в GPSS-модели системы. Как видно из постановки задачи, модель представляет собой замкнутую CMO c одним устройством обслуживания.

В реальной системе, после того, как сборщик вынимает из печи обожженную деталь, он возвращается и начинает новый этап сборки. В модели после того, как транзакт завершает использование устройства, он должен быть перемещен c помощью блока TRANSFER в блок следующей сборки. Для ограничения общего количества транзактов, циркулирующих в модели, необходимо использовать операнд D блока GENERATE.

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

Таблица 4 Таблица определений

Элементы GPSS

Интерпретация

Транзакты В 1 сегменте модели Во 2 сегменте модели

Сборщики Таймер

Устройство OBG SBOR

Печь Сборочное оборудование


Рисунок 41.

Единица модельного времени - 1 мин.

Программа:

Вариант 2,,,4                ;Определение количества сборщиковADVANCE 30,5         ;Сборка следующей деталиOBG                      ;Занятие печи8,2          ;Использование печиOBG            ;Освобождение печи,BACK1                  ;Переход к сборке следующей детали2400                   ;Моделирование 5 дней работы1            ;Завершение работы1                     ;Начало прогона модели

Вариант 5,,,4                ;Определение количества сборщиковADVANCE 21,4         ;Сборка следующей деталиOBG                      ;Занятие печи10,1                 ;Использование печиOBG              ;Освобождение печи,BACK1                  ;Переход к сборке следующей детали2400               ;Моделирование 5 дней работы1           ;Завершение работы1                     ;Начало прогона модели

Вариант 8,,,4                ;Определение количества сборщиковADVANCE 37,7         ;Сборка следующей деталиOBG                      ;Занятие печи12,5                 ;Использование печиOBG              ;Освобождение печи,BACK1                  ;Переход к сборке следующей детали2400               ;Моделирование 5 дней работы1           ;Завершение работы1                     ;Начало прогона модели

Программа 1.3

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

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

Таблица 5 Исходные данные

Вариант

Тип корабля

Интервал прибытия, мин

Время входа в порт, мин

Количество доступных причалов

Время погрузки-разгрузки, час

Время выхода из порта, мин

3

1 2

130 ± 30 390 ± 60

30 ± 7 45 ± 12

6 3

12 ± 2 18 ± 4

20 ± 5 35 ± 10

6

1 2

155 ± 21 275 ± 48

34 ± 5 38 ± 10

5 4

15 ± 2 19 ± 5

26 ± 6 39 ± 12

9

1 2

121 ± 32 361 ± 50

28 ± 6 41 ± 14

7 2

13 ± 3 15 ± 2

22 ± 4 30 ± 9


Рисунок 42.

Программа:

Вариант 3STORAGE 6                  ;6 причалов для кораблей первого типаSTORAGE 3                 ;2 причала для кораблей второго типаSTORAGE 2                   ;2 буксира

;Корабль первого типа130,30                 ;Подход к портуTYPE1                 ;Занятие очередиPRCH1            ;Получение причалаBUKS            ;Получение буксираTYPE1           ;Освобождение очереди30,7          ;Буксирование до причалаBUKS           ;Освобождение буксира720,120             ;Погрузка-разгрузкаBUKS           ;Получение буксираPRCH1           ;Освобождение причала20,5                   ;Буксирование (отчаливание)BUKS                 ;Освобождение буксира                 ;Завершение модели

;Корабль второго типа390,60TYPE2PRCH2BUKS,2TYPE245,12BUKS,21080,240BUKS,2PRCH235,10BUKS,20

;Моделирование48000                   ;Моделирование времени работы1                  ;Завершение моделирования1                          ;Начало моделирования

Вариант 6STORAGE 5                  ;6 причалов для кораблей первого типаSTORAGE 4                 ;2 причала для кораблей второго типаSTORAGE 2                   ;2 буксира

;Корабль первого типа155,21                 ;Подход к портуTYPE1                 ;Занятие очередиPRCH1            ;Получение причалаBUKS            ;Получение буксираTYPE1           ;Освобождение очереди34,5          ;Буксирование до причалаBUKS           ;Освобождение буксира900,120             ;Погрузка-разгрузкаBUKS           ;Получение буксираPRCH1           ;Освобождение причала26,6                   ;Буксирование (отчаливание)BUKS                 ;Освобождение буксира                 ;Завершение модели

;Корабль второго типа275,48TYPE2PRCH2BUKS,2TYPE238,10BUKS,21140,300BUKS,2PRCH239,12BUKS,20

;Моделирование48000                   ;Моделирование времени работы1                  ;Завершение моделирования1                          ;Начало моделирования

Вариант 9STORAGE 7                  ;6 причалов для кораблей первого типаSTORAGE 2                 ;2 причала для кораблей второго типаSTORAGE 2                   ;2 буксира

;Корабль первого типа121,32                 ;Подход к портуTYPE1                 ;Занятие очередиPRCH1            ;Получение причалаBUKS            ;Получение буксираTYPE1           ;Освобождение очереди22,4          ;Буксирование до причалаBUKS           ;Освобождение буксира780,180             ;Погрузка-разгрузкаBUKS           ;Получение буксираPRCH1           ;Освобождение причала20,5                   ;Буксирование (отчаливание)BUKS                 ;Освобождение буксира                 ;Завершение модели

;Корабль второго типа361,50TYPE2PRCH2BUKS,2TYPE241,14BUKS,2900,120BUKS,2PRCH230,9BUKS,20

;Моделирование48000                   ;Моделирование времени работы1                  ;Завершение моделирования1                          ;Начало моделирования

Программа 2.1

Постановка задачи

Допустим, к рабочим поступают на изготовление детали с транспортного конвейера. Интервал между поступлениями двух идущих одна за другой деталей равен 9±1 мин. Время изготовления детали первым рабочим составляет 12+1 мин, а вторым- 13±2 мин. Если рабочий занят, он не берет деталь с конвейера, и она перемещается к другому рабочему. Требуется смоделировать работу первого и второго рабочих в течение смены. Необходимо определить коэффициент использования первого и второго рабочих (первого и второго каналов обслуживания) и число деталей, изготовленных каждым из них.

Модифицировать Программа. Ввести третьего рабочего. Если первый рабочий занят - деталь подается ко второму; если и он занят - то к третьему рабочему. При этом третий рабочий должен обрабатывать все поступающие к нему детали. Детали поступают на обработку через интервал времени, равный 3±1,25 мин. Время изготовления деталей первым, вторым и третьим рабочими соответственно равно 14±1,5, 16±2 и 11±2,5 мин. Требуется смоделировать работу всей линии в течение смены. Надо определить число деталей, обработанных каждым рабочим в течение смены, коэффициенты загрузки (использования) рабочих, максимальную и среднюю длину очередей деталей, ожидающих обработки у третьего рабочего, и среднее время пребывания детали в очереди к третьему рабочему. Результат записать в файл

Рисунок 43

Программа на языке GPSS имеет вид:

**************************************************X1,3               ;Ср. время поступления деталей на обработкуX2,1.25                                           ;Отклонение от ср. времениX3,14              ;Ср. время выполнения операции 1-м рабочимX4,1.5                                            ;Отклонение от ср. времениX5,16           ;Ср. время выполнения операции 2-м рабочимX6,2                                               ;Отклонение от ср. времениX7,11           ;Ср. время выполнения операции 3-м рабочимX8,2.5                                          ;Отклонение от ср. времени

**************************************************X1,X2                      ;Интервал поступления деталейALL,RAB_1,RAB_3,4                        ;Передача деталей 1-му, 2-му или 3-му рабочему_1 SEIZE RAB1     ;Занимаем устройство RAB1 (1-й рабочий)X3,X4            ;Задерживаем деталь на время обработкиRAB1                                           ;Освобождение 1-го рабочего                                                      ;Завершение операции

**************************************************RAB2             ;Занимаем устройство RAB2 (2-й рабочий)X5,X6  ;Задерживаем деталь на время обработкиRAB2                                               ;Освобождение 2-го рабочего                                                      ;Завершение операции

**************************************************_3 QUEUE RAB3                                        ; Занятие очередиRAB3                 ; Занимаем устройство RAB3 (3-й рабочий)RAB3                                                  ; Освобождение очередиX7,X8               ; Задерживаем деталь на время обработкиRAB3                                             ; Освобождение 3-го рабочего                                                    ; Завершение операции

**************************************************480                          ;Время моделирования системы (8 часов)G TG1,1,Fin         ;Если счетчик TG1 > 1, то запись в файл данных

**************************************************OPEN ("File.txt"),,Met1                               ;Открытие файла, в случае ошибки завершить(Catenate ("Facility=         ",FC$RAB1)),,Met        ;Запись в файл, в случае ошибки завершить(Catenate ("Util. Facility=     ",FR$RAB1/1000)),,Met(Catenate ("Facility=   ",FC$RAB2)),,Met(Catenate ("Util. Facility=   ",FR$RAB2/1000)),,Met(Catenate ("Max=         ",QM$RAB3)),,Met(Catenate ("CONT.=  ",Q$RAB3)),,Met(Catenate ("ENTRY=         ",QC$RAB3)),,Met(Catenate ("AVE.TIME=     ",QT$RAB3)),,MetProb,,Met2        ; Закрытие файла, в случае ошибки завершить1                                                       ; Завершение операцииTERMINATE 1                                          ; Завершение операцииTERMINATE 1TERMINATE 11,NP                                                ;Начало моделирования

**************************************************

Программа 2.2

Постановка задачи

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

Задание:

• Создать графическую модель системы

• промоделировать работу участка цеха в течение рабочего дня (8 ч) при двухсменном режиме;

• определить среднюю загрузку каждого вида оборудования, среднее время обработки изделий, длину очередей перед каждым видом оборудования (среднюю и максимальную). Результаты записать в файл.

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

Исходные данные приведены в табл. 6.

Таблица. 6. Исходные данные

Вариант

Категория запроса

Интервалы времени между поступлениями изделий каждого типа на обработку, мин

Время изготовления изделия первого потока, мин

Время изготовления изделия второго потока, мин

 1

1 2 3

40±5 23±4,5

15±2 29±1 24±5

21±2 19±5,5 28±1

 5

1 2 3

38±6 28±3

22±2,9 13±2 48±6

7±1 8±2 15±4

 9

1 2 3

20±5 51±4

30±1,3 22±5 27±2,5

31±3 17±3,75 21±7


Рисунок 44

Программа

Вариант 1

**************************************************

;Первый поток40,5                         ;Интервал поступления изделий 1-го типаOCHER1                                           ;Занятие очереди 1OBOR1                                        ;Занимаем оборудование 1

DEPART OCHER1                                  ;Освобождение очереди 115,2                         ;Задерживаем изделие на время обработкиOBOR1                    ;Освобождение          оборудования 1OCHER2                                           ;Занятие очереди 2OBOR2                                         ;Занимаем оборудование 2OCHER2                                  ;Освобождение очереди 229,1                          ;Задерживаем изделие на время обработкиOBOR2                          ;Освобождение   оборудования 2OCHER3                                           ;Занятие очереди 3OBOR3                                         ;Занимаем оборудование 3OCHER3                                  ;Освобождение очереди 324,5                         ;Задерживаем изделие на время обработкиOBOR3           ;Освобождение          оборудования 3                                       ; Завершение операции

**************************************************

;Второй поток23,4.5             ;Интервал поступления изделий 2-го типаOCHER1                                       ;Занятие очереди 1OBOR1                                         ;Занимаем оборудование 1OCHER1                                  ;Освобождение очереди 121,2                         ;Задерживаем изделие на время обработкиOBOR1                    ;Освобождение          оборудования 1OCHER2                                           ;Занятие очереди 2OBOR2                                         ;Занимаем оборудование 2OCHER2                                  ;Освобождение очереди 219,5.5             ;Задерживаем изделие на время обработкиOBOR2                 ;Освобождение   оборудования 2OCHER3                                           ;Занятие очереди 3OBOR3                                         ;Занимаем оборудование 3OCHER3                              ;Освобождение очереди 328,1                          ;Задерживаем изделие на время обработкиOBOR3                         ;Освобождение   оборудования 3                                                 ; Завершение операции

**************************************************

;Моделирование960G TG1,1,Fin   ;Если счетчик TG1 > 1, то запись в файл данныхOPEN ("File.txt"),,Met1                                  ;Открытие файла, в случае ошибки завершить(Catenate ("Facility1=    ",FC$OBOR1)),,Met     ;Запись в файл, в случае ошибки завершить(Catenate ("Util. Facility1=      ",FR$OBOR1/1000)),,Met(Catenate ("Facility2=         ",FC$OBOR1)),,Met(Catenate ("Util. Facility2=         ",FR$OBOR1/1000)),,Met(Catenate ("Max1=   ",QM$OCHER1)),,Met(Catenate ("AVE.CONT1=  ",QA$OCHER1)),,Met(Catenate ("Max2=         ",QM$OCHER2)),,Met(Catenate ("AVE.CONT2=     ",QA$OCHER2)),,Met(Catenate ("Max3=     ",QM$OCHER3)),,Met(Catenate ("AVE.CONT3=         ",QA$OCHER3)),,MetProb,,Met2   ; Закрытие файла, в случае ошибки завершить1TERMINATE 1                                        ; Завершение операцииTERMINATE 1TERMINATE 11                                                       ;Начало моделирования

**************************************************

Вариант 5

**************************************************

;Первый поток38,6OCHER1OBOR1OCHER122,2.9OBOR1OCHER2OBOR2OCHER213,2OBOR2OCHER3OBOR3OCHER348,6OBOR3

**************************************************

;Второй поток28,3OCHER1OBOR1OCHER17,1OBOR1OCHER2OBOR2OCHER28,2OBOR2OCHER3OBOR3OCHER315,4OBOR3

**************************************************

;Моделирование960G TG1,1,Fin   ;Если счетчик TG1 > 1, то запись в файл данныхOPEN ("File.txt"),,Met1                                  ;Открытие файла, в случае ошибки завершить(Catenate ("Facility1=    ",FC$OBOR1)),,Met     ;Запись в файл, в случае ошибки завершить(Catenate ("Util. Facility1=      ",FR$OBOR1/1000)),,Met(Catenate ("Facility2=         ",FC$OBOR1)),,Met(Catenate ("Util. Facility2=         ",FR$OBOR1/1000)),,Met(Catenate ("Max1=   ",QM$OCHER1)),,Met(Catenate ("AVE.CONT1=  ",QA$OCHER1)),,Met(Catenate ("Max2=         ",QM$OCHER2)),,Met(Catenate ("AVE.CONT2=     ",QA$OCHER2)),,Met(Catenate ("Max3=     ",QM$OCHER3)),,Met(Catenate ("AVE.CONT3=         ",QA$OCHER3)),,MetProb,,Met2   ; Закрытие файла, в случае ошибки завершить1TERMINATE 1                                        ; Завершение операцииTERMINATE 1TERMINATE 11

**************************************************

Вариант 9

**************************************************

;Первый поток20,5OCHER1OBOR1OCHER130,1.3OBOR1OCHER2OBOR2OCHER222,5OBOR2OCHER3OBOR3OCHER327,2.5OBOR3

**************************************************

;Второй поток51,4OCHER1OBOR1OCHER131,3OBOR1OCHER2OBOR2OCHER217,3.75OBOR2OCHER3OBOR3OCHER321,7OBOR3

**************************************************

;Моделирование960G TG1,1,Fin   ;Если счетчик TG1 > 1, то запись в файл данныхOPEN ("File.txt"),,Met1                                  ;Открытие файла, в случае ошибки завершить(Catenate ("Facility1=    ",FC$OBOR1)),,Met     ;Запись в файл, в случае ошибки завершить(Catenate ("Util. Facility1=      ",FR$OBOR1/1000)),,Met(Catenate ("Facility2=         ",FC$OBOR1)),,Met(Catenate ("Util. Facility2=         ",FR$OBOR1/1000)),,Met(Catenate ("Max1=   ",QM$OCHER1)),,Met(Catenate ("AVE.CONT1=  ",QA$OCHER1)),,Met(Catenate ("Max2=         ",QM$OCHER2)),,Met(Catenate ("AVE.CONT2=     ",QA$OCHER2)),,Met(Catenate ("Max3=     ",QM$OCHER3)),,Met(Catenate ("AVE.CONT3=         ",QA$OCHER3)),,MetProb,,Met2   ; Закрытие файла, в случае ошибки завершить1TERMINATE 1                                        ; Завершение операцииTERMINATE 1TERMINATE 11

**************************************************

Программа 2.3

Постановка задачи

Необходимо промоделировать работу автомобильной заправочной станции (АЗС), которая имеет две заправочные колонки. Известны следующие параметры работы АЗС:

• поток автомобилей, поступающих на заправку, подчиняется экспоненциальному распределению вероятностей с параметрами λ и β;

• автомобиль подъезжает к колонке, которая не занята обслуживанием другого автомобиля.

Требуется создать графическую модель системы, промоделировать работу АЗС в течение рабочей смены - 8 ч - и определить параметры функционирования АЗС:

• коэффициент загрузки каждой колонки;

• среднее время обслуживания в каждой колонке;

• максимальное, среднее и текущее число автомобилей в очереди к каждой колонке;

• среднее время нахождения автомобиля в очереди (сохранить значение в переменной).

• результаты записать в файл

Таблица 7 Исходные данные

Вариант

Категория запроса

Параметры экспоненциального распределения вероятностей

Время заправки, мин

 2

1 2

0 6,5

15±2 13±1

 6

1 2

0 7

11±3 23±4

 10

1 2

0 5,5

17±1,3 12±2,5


Рисунок 45

Программа

Вариант 2

**************************************************(Exponential (1,0,6.5))                         ;Поступление автомобилей на заправкуZAPR                                      ;Вход авто в очередь на заправкуBOTH KOL_1,KOL_2                     ;Переход авто к свободной колонке_1 SEIZE KOL1                          ;Определение занятости 1 колонкиZAPR                                    ;Вход авто из очереди на заправку15,2                                       ;Заправка авто на 1 колонкеKOL1                                              ; Освобождение 1 колонки,NEXT                                       ; Переход к NEXT_2 SEIZE KOL2                            ; Определение занятости 2 колонкиZAPR                               ; Вход авто из очереди на заправку13,1                                      ; Заправка авто на 2 колонкеKOL2                                              ; Освобождение 2 колонкиSAVEVALUE AVE_QUEUE,QT$ZAPR               ;Сохранение времени пребывания в очереди                                                    ;Выход авто из системы

**************************************************480                                   ;Моделирование в течении сменыG TG1,1,Fin         ;Если счетчик TG1 > 1, то запись в файл данныхOPEN ("File.txt"),,Met1                               ;Открытие файла, в случае ошибки завершить(Catenate ("Util. Facility1= ",FR$KOL1/1000)),,Met

;Запись в файл, в случае ошибки завершить(Catenate ("AVE_TIME 1=         ",FT$KOL1)),,Met(Catenate ("Util. Facility2=   ",FR$KOL2/1000)),,Met(Catenate ("AVE_TIME 2= ",FT$KOL2)),,Met(Catenate ("Max1=               ",QM$ZAPR)),,Met(Catenate ("AVE.CONT1=  ",QA$ZAPR)),,Met(Catenate ("CONT1=           ",Q$ZAPR)),,MetProb,,Met2                                               ; Закрытие файла, в случае ошибки завершить1TERMINATE 1                                             ; Завершение операцииTERMINATE 1TERMINATE 11                                                  ;Начало моделирования

**************************************************

Вариант 6

**************************************************(Exponential (1,0,7))                                     ;Поступление автомобилей на заправкуZAPR                                     ;Вход авто в очередь на заправкуBOTH KOL_1,KOL_2                     ;Переход авто к свободной колонке_1 SEIZE KOL1                           ;Определение занятости 1 колонкиZAPR                                 ;Вход авто из очереди на заправку11,3                             ;Заправка авто на 1 колонкеKOL1                                               ; Освобождение 1 колонки,NEXT                                         ; Переход к NEXT_2 SEIZE KOL2                            ; Определение занятости 2 колонкиZAPR                                    ; Вход авто из очереди на заправку23,4                                  ; Заправка авто на 2 колонкеKOL2                                               ; Освобождение 2 колонкиSAVEVALUE AVE_QUEUE,QT$ZAPR                  ;Сохранение времени пребывания в очереди                                                ;Выход авто из системы

**************************************************480                                                       ;Моделирование в течении сменыG TG1,1,Fin         ;Если счетчик TG1 > 1, то запись в файл данныхOPEN ("File.txt"),,Met1                             ;Открытие файла, в случае ошибки завершить(Catenate ("Util. Facility1= ",FR$KOL1/1000)),,Met

;Запись в файл, в случае ошибки завершить(Catenate ("AVE_TIME 1=         ",FT$KOL1)),,Met(Catenate ("Util. Facility2=   ",FR$KOL2/1000)),,Met(Catenate ("AVE_TIME 2= ",FT$KOL2)),,Met(Catenate ("Max1=               ",QM$ZAPR)),,Met(Catenate ("AVE.CONT1=  ",QA$ZAPR)),,Met(Catenate ("CONT1=           ",Q$ZAPR)),,MetProb,,Met2         ; Закрытие файла, в случае ошибки завершить1TERMINATE 1                                               ; Завершение операцииTERMINATE 1TERMINATE 11                                                  ;Начало моделирования

**************************************************

Вариант 10

**************************************************(Exponential (1,0,5.5))                         ;Поступление автомобилей на заправкуZAPR                                      ;Вход авто в очередь на заправкуBOTH KOL_1,KOL_2                     ;Переход авто к свободной колонке_1 SEIZE KOL1                          ;Определение занятости 1 колонкиZAPR                                    ;Вход авто из очереди на заправку17,1.3                                    ;Заправка авто на 1 колонкеKOL1                                              ; Освобождение 1 колонки,NEXT                                       ; Переход к NEXT_2 SEIZE KOL2                            ; Определение занятости 2 колонкиZAPR                                ; Вход авто из очереди на заправку12,2.5                                      ; Заправка авто на 2 колонкеKOL2                                              ; Освобождение 2 колонкиSAVEVALUE AVE_QUEUE,QT$ZAPR               ;Сохранение времени пребывания в очереди                                                    ;Выход авто из системы

**************************************************480                                   ;Моделирование в течении сменыG TG1,1,Fin         ;Если счетчик TG1 > 1, то запись в файл данныхOPEN ("File.txt"),,Met1                               ;Открытие файла, в случае ошибки завершить(Catenate ("Util. Facility1= ",FR$KOL1/1000)),,Met

;Запись в файл, в случае ошибки завершить(Catenate ("AVE_TIME 1=         ",FT$KOL1)),,Met(Catenate ("Util. Facility2=   ",FR$KOL2/1000)),,Met(Catenate ("AVE_TIME 2= ",FT$KOL2)),,Met(Catenate ("Max1=               ",QM$ZAPR)),,Met(Catenate ("AVE.CONT1=  ",QA$ZAPR)),,Met(Catenate ("CONT1=           ",Q$ZAPR)),,MetProb,,Met2         ; Закрытие файла, в случае ошибки завершить1TERMINATE 1                                               ; Завершение операцииTERMINATE 1TERMINATE 11                                                  ;Начало моделирования

**************************************************

Программа 2.4

Постановка задачи

В цехе работает инструментальная кладовая по принципу самообслуживания. Поток рабочих (требований) за инструментами равномерный. Каждый рабочий может взять один или несколько инструментов, лежащих на разных стеллажах. Время, необходимое для поиска инструмента на стеллажах, число инструментов, взятых со стеллажа, и вероятности взятия их приведены в табл. 3.

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

Необходимо определить:

• Создать графическую модель системы

• число посещений рабочими кладовой в течение смены;

• коэффициент использования (загрузки) учетчика;

• максимальную длину очереди в кладовой;

• среднюю длину очереди в кладовой;

• общее число входов в кладовую;

• число входов в кладовую без ожидания;

• процент входов в кладовую без ожидания;

• среднее время учета взятого инструмента.

• результаты записать в файл

Таблица 8 Исходные данные

Вариант

Интервалы времени между приходами рабочих, мин

Категория запроса

Время, необходимое для поиска инструмента на стеллажах, мин

Число инструментов, взятых со стеллажа

Вероятности взятия инструментов

 3

 9±2

1 2

10±5 11±2,5

5±2 3±1

0,71 0,54

 7

 7±1,5

1 2

12±6 9±4

6±3 4±2

0,92 0,77

 11

 11±3

1 2

15±2 17±4,5

7±3 8±1

0,34 0,29

Рисунок 46.

Программа

Вариант 3

**************************************************FUNCTION RN1,D5        ; Опр. числа взятых инструментов с 1 стеллажа

.2,3/0.4,4/0.6,5/0.8,6/1,7FUNCTION RN1,D3  ; Опр. числа взятых инструментов со 2 стеллажа

.33,2/0.66,3/1,4_OBSL FVARIABLE (FN$INST1+FN$INST2)#1.2      ; Опр. Времени учета взятых инструментов

**************************************************9,2                           ;Прибытие рабочих за инструментом.29,,STEL2                                 ;Переход с заданной вероятностью ко 2 стеллажу10,5                               ;Поиск инструмента на 1 стеллажеTRANSFER .46,,KLAD                               ;Переход с заданной вероятностью к кладовщику11,2.5                          ;Поиск инструмента на 2 стеллажеQUEUE UCHET                             ;Вход в очередь к кладовщикуCLAD                        ;Ожидание освобождения кладовщикаUCHET                                     ;Выход из очереди к кладовщикуV$T_OBSL                           ;Время учета взятых инструментовCLAD                                             ;Освобождение кладовщика                                       ;Выход рабочего из кладовой

**************************************************480                                    ; Моделирование в течении сменыG TG1,1,Fin ;Если счетчик TG1 > 1, то запись в файл данныхOPEN ("File.txt"),,Met1                         ;Открытие файла, в случае ошибки завершить(Catenate ("Facility=                ",FC$CLAD)),,Met

;Запись в файл, в случае ошибки завершить(Catenate ("Util. Facility=                  ",FR$CLAD /1000)),,Met(Catenate ("Max=                ",QM$UCHET)),,Met(Catenate ("ENTRIES=       ", QC$UCHET)),,Met(Catenate ("ENTRIES(0)=                  ",QZ$UCHET)),,Met(Catenate ("ENTRIES(0)%=       ", ((QZ$UCHET#100)/ QC$UCHET))),,Met(Catenate ("AVE_TIME =           ",FT$UCHET)),,MetProb,,Met2      ; Закрытие файла, в случае ошибки завершить1                                              ;Завершение моделированияTERMINATE 1                                           ; Завершение операцииTERMINATE 1TERMINATE 11                                                      ;Начало моделирования

**************************************************

Вариант 7

**************************************************FUNCTION RN1,D7                                    ; Опр. числа взятых инструментов с 1 стеллажа

.14,3/0.28,4/0.42,5/0.56,6/.7,7/.84,8/1,9FUNCTION RN1,D5                                   ; Опр. числа взятых инструментов со 2 стеллажа

.2,2/0.4,3/0.6,4/0.8,5/1,6_OBSL FVARIABLE (FN$INST1+FN$INST2)#1.2 ; Опр. Времени учета взятых инструментов

**************************************************7,1.5                        ;Прибытие рабочих за инструментом.8,,STEL2                ;Переход с заданной вероятностью ко 2 стеллажу12,6                                  ;Поиск инструмента на 1 стеллажеTRANSFER .23,,KLAD                             ;Переход с заданной вероятностью к кладовщику9,4                                   ;Поиск инструмента на 2 стеллажеQUEUE UCHET                    ;Вход в очередь к кладовщикуCLAD                            ;Ожидание освобождения кладовщикаUCHET                                 ;Выход из очереди к кладовщикуV$T_OBSL                    ;Время учета взятых инструментовCLAD                                            ;Освобождение кладовщика                                       ;Выход рабочего из кладовой

**************************************************480                                    ; Моделирование в течении сменыG TG1,1,Fin ;Если счетчик TG1 > 1, то запись в файл данныхOPEN ("File.txt"),,Met1                         ;Открытие файла, в случае ошибки завершить(Catenate ("Facility=                ",FC$CLAD)),,Met

;Запись в файл, в случае ошибки завершить(Catenate ("Util. Facility=                  ",FR$CLAD /1000)),,Met(Catenate ("Max=                ",QM$UCHET)),,Met(Catenate ("ENTRIES=       ", QC$UCHET)),,Met(Catenate ("ENTRIES(0)=                  ",QZ$UCHET)),,Met(Catenate ("ENTRIES(0)%=       ", ((QZ$UCHET#100)/ QC$UCHET))),,Met(Catenate ("AVE_TIME =           ",FT$UCHET)),,MetProb,,Met2      ; Закрытие файла, в случае ошибки завершить1                                    ;Завершение моделированияTERMINATE 1                                           ; Завершение операцииTERMINATE 1TERMINATE 11                                                      ;Начало моделирования

**************************************************

Вариант 11

**************************************************FUNCTION RN1,D7                                    ; Опр. числа взятых инструментов с 1 стеллажа

.14,4/0.28,5/0.42,6 /0.56,7/.7,8/.84,9/1,10FUNCTION RN1,D3                                ; Опр. числа взятых инструментов со 2 стеллажа

.33,7/0.66,8/1,9_OBSL FVARIABLE (FN$INST1+FN$INST2)#1.2      ; Опр. Времени учета взятых инструментов

**************************************************11,3                         ;Прибытие рабочих за инструментом.29,,STEL2              ;Переход с заданной вероятностью ко 2 стеллажу15,2                                  ;Поиск инструмента на 1 стеллажеTRANSFER .46,,KLAD                    ;Переход с заданной вероятностью к кладовщику17,4.5                     ;Поиск инструмента на 2 стеллажеQUEUE UCHET                    ;Вход в очередь к кладовщикуCLAD                          ;Ожидание освобождения кладовщикаUCHET                                    ;Выход из очереди к кладовщикуV$T_OBSL                    ;Время учета взятых инструментовCLAD                                       ;Освобождение кладовщика                                      ;Выход рабочего из кладовой

**************************************************480                                    ; Моделирование в течении сменыG TG1,1,Fin ;Если счетчик TG1 > 1, то запись в файл данныхOPEN ("File.txt"),,Met1                                  ;Открытие файла, в случае ошибки завершить(Catenate ("Facility=                ",FC$CLAD)),,Met

;Запись в файл, в случае ошибки завершить(Catenate ("Util. Facility=                  ",FR$CLAD /1000)),,Met(Catenate ("Max=                ",QM$UCHET)),,Met(Catenate ("ENTRIES=       ", QC$UCHET)),,Met(Catenate ("ENTRIES(0)=                  ",QZ$UCHET)),,Met(Catenate ("ENTRIES(0)%=       ", ((QZ$UCHET#100)/ QC$UCHET))),,Met(Catenate ("AVE_TIME =           ",FT$UCHET)),,MetProb,,Met2      ; Закрытие файла, в случае ошибки завершить1                                    ;Завершение моделированияTERMINATE 1                                           ; Завершение операцииTERMINATE 1TERMINATE 11                                                      ;Начало моделирования

**************************************************

Программа 2.5

Постановка задачи

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

• поток изделий, поступающих на обработку, подчиняется экспоненциальному распределению вероятностей с параметрами λ и β;

• время выполнения первой операции определяется с помощью дискретной числовой функции

• время выполнения второй операции определяется с использованием нормального распределения с параметрами μ , σ.

• устранение брака осуществляется путем возвращения изделия на повторную обработку.

Нужно промоделировать работу системы управления качеством в течение рабочей смены - 8 ч. Создать графическую модель системы. Требуется определить параметры функционирования производственного процесса:

• коэффициент загрузки каждого контролера;

• среднее время обслуживания каждым контролером;

• результаты записать в файл

• создать таблицу для сбора информации в процессе моделирования

Таблица 9 Исходные данные

Вариант

Категория запроса

Параметры экспоненциального распределения вероятностей

Параметры нормального распределения вероятностей

Время контроля операции, мин

Вероятность брака

Вероятность возврата изделия на повторную обработку

 4

1 2

0 25

25 3

2 3

35% 62%

 8

1 2

0 21

20 2

4 7

10% 5%;

78% 42%

 12

1 2

0 30

28 5

6 4

12% 10%;

45% 82%


Рисунок 47.

Программа

Вариант 4

**************************************************231_obrab TABLE M1,100,20,7_1 FUNCTION RN1,D7

,0/.04,9/.20,13/.35,17/.60,25/.85,35/1.0,50

**************************************************(Exponential (1,0,25))       ; Интервал поступления изделий1,FN$Oper_1  ; Присваивание 1 переменной значения функцииSEIZE Oborud_1                                 ; Занимаем оборудование 1P1                ; Задерживаем изделие на время обработкиOborud_1                           ; Освобождение оборудования 12                            ; Задерживаем изделие на время контроля.07,,Ustr_brak_1                       ; Переход с вероятностью к Ustr_brak_1

**************************************************SEIZE Oborud_2                                 ; Занимаем оборудование 2(Normal (1,25,3))  ; Задерживаем изделие на время обработкиOborud_2                       ; Освобождение оборудования 23                    ; Задерживаем изделие на время контроля.15,,Ustr_brak_2                                     ; Переход с вероятностью к Ustr_brak_2Time_obrab                         ; Запись результата в таблицу                                                        ; Завершение операции

**************************************************_brak_1 TRANSFER .35,,Oper1                     ; Переход с вероятностью к Oper1                                                        ; Завершение операции_brak_2 TRANSFER .62,,Oper2                      ; Переход с вероятностью к Oper2                                                ; Завершение операции

**************************************************480G TG1,1,Fin                                           ;Если счетчик TG1 > 1, то запись в файл данныхOPEN ("File.txt"),,Met1                                      ;Открытие файла, в случае ошибки завершить(Catenate ("Util. Facility1=            ",FR$Oborud_1/1000)),,Met

;Запись в файл, в случае ошибки завершить(Catenate ("Util. Facility2=                ",FR$Oborud_2/1000)),,Met(Catenate ("AVE_TIME1 =              ",FT$Oborud_1)),,Met(Catenate ("AVE_TIME2 =              ",FT$Oborud_2)),,MetProb,,Met2   ; Закрытие файла, в случае ошибки завершить1                                               ;Завершение моделированияTERMINATE 1                                        ; Завершение операцииTERMINATE 1TERMINATE 11                                                  ;Начало моделирования

**************************************************

Вариант 8

**************************************************231_obrab TABLE M1,100,20,7_1 FUNCTION RN1,D7

,0/.04,9/.20,13/.35,17/.60,25/.85,35/1.0,50

**************************************************(Exponential (1,0,21))1,FN$Oper_1SEIZE Oborud_1P1Oborud_14.1,,Ustr_brak_1

**************************************************SEIZE Oborud_2(Normal (1,20,2))Oborud_27.05,,Ustr_brak_2Time_obrab

**************************************************_brak_1 TRANSFER .78,,Oper1_brak_2 TRANSFER .42,,Oper2

**************************************************480G TG1,1,Fin      ;Если счетчик TG1 > 1, то запись в файл данныхOPEN ("File.txt"),,Met1                        ;Открытие файла, в случае ошибки завершить(Catenate ("Util. Facility1=            ",FR$Oborud_1/1000)),,Met

;Запись в файл, в случае ошибки завершить(Catenate ("Util. Facility2=                ",FR$Oborud_2/1000)),,Met(Catenate ("AVE_TIME1 =              ",FT$Oborud_1)),,Met(Catenate ("AVE_TIME2 =              ",FT$Oborud_2)),,MetProb,,Met2   ; Закрытие файла, в случае ошибки завершить1                                               ;Завершение моделированияTERMINATE 1                                        ; Завершение операцииTERMINATE 1TERMINATE 11                                                  ;Начало моделирования

**************************************************

Вариант 12

**************************************************231_obrab TABLE M1,100,20,7_1 FUNCTION RN1,D7

,0/.04,9/.20,13/.35,17/.60,25/.85,35/1.0,50

**************************************************(Exponential (1,0,30))1,FN$Oper_1SEIZE Oborud_1P1Oborud_16.12,,Ustr_brak_1

**************************************************SEIZE Oborud_2(Normal (1,28,5))Oborud_24.1,,Ustr_brak_2Time_obrab

**************************************************_brak_1 TRANSFER .45,,Oper1_brak_2 TRANSFER .82,,Oper2

**************************************************480G TG1,1,Fin      ;Если счетчик TG1 > 1, то запись в файл данныхOPEN ("File.txt"),,Met1                        ;Открытие файла, в случае ошибки завершить(Catenate ("Util. Facility1=            ",FR$Oborud_1/1000)),,Met

;Запись в файл, в случае ошибки завершить(Catenate ("Util. Facility2=                ",FR$Oborud_2/1000)),,Met(Catenate ("AVE_TIME1 =              ",FT$Oborud_1)),,Met(Catenate ("AVE_TIME2 =              ",FT$Oborud_2)),,MetProb,,Met2   ; Закрытие файла, в случае ошибки завершить1                                      ;Завершение моделированияTERMINATE 1                                        ; Завершение операцииTERMINATE 1TERMINATE 11                                                  ;Начало моделирования

**************************************************

Похожие работы на - Разработка программно-методических средств для организации и проведения цикла лабораторных работ по теме: 'Создание имитационных моделей и изучение их свойств и характеристик'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!