Исследование систем управления методами имитационного моделирования. 3

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Государственное образовательное учреждение высшего  профессионального образования

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ  
АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

КАФЕДРА прикладных информационных технологий в экономике и менеджменте

КУРСОВАЯ РАБОТА (ПРОЕКТ)  
ЗАЩИЩЕНА С ОЦЕНКОЙ

РУКОВОДИТЕЛЬ

Проф. д.т.н.       Варжапетян  А.Г.
должность, уч. степень, звание   подпись, дата   инициалы, фамилия
 
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА 
К КУРСОВОЙ РАБОТЕ (ПРОЕКТУ)

«ИССЛЕДОВАНИЕ СИСТЕМ УПРАВЛЕНИЯ МЕТОДАМИ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ»

по  дисциплине: Исследование систем управления
 
 

РАБОТУ ВЫПОЛНИЛ(А)

СТУДЕНТ(КА) ГР. 8629кф       Литвинова В.А.
      подпись, дата   инициалы, фамилия

Санкт-Петербург 
2010
 
 

 

       Введение

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

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

      Для создания таких моделей возможно использование как традиционных (так называемых универсальных языков программирования – УЯП), так и  специализированных программных средств (языков имитационного моделирования  – ЯИМ).

Специализированные  языки имитационного моделирования по некоторым показателям превосходят УЯП. Их достоинства:

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

    Существует  несколько ЯИМ, приспособленных  к решению задач, возникающих  при имитационном моделировании человеко-машинных систем: наиболее известны такие языки, как GPSS, SIMSCRIPT и SIMULA. Язык GPSS обладает преимуществом перед другими распространенными языками. Его особая привлекательность обуславливается тем, что он наиболее прост в применении. Наиболее эффективной версией из текстово-ориентированных версий GPSS является GPSS/H.

 

    Системы массового обслуживания. Классификация. Основные определения 

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

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

      По  времени пребывания требований в  очереди до начала обслуживания системы  делятся на три группы:

1) с неограниченным временем ожидания (с ожиданием),

2) с отказами;

3) смешанного типа.

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

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

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

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

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

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

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

 

       2. Средство машинного  моделирования GPSS/H

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

    Системы ПО на основе языка GPSS:

  • GPSS/PC (разработка Minuteman Software)
  • GPSS World (разработка Minuteman Software)
  • GPSS/H (разработка Wolverine Software)
  • Micro-GPSS (разработка Ингольфа Сталла)
  • WebGPSS (разработка Ингольфа Сталла)

GPSS/H (Wolverine Software)  

      После того, как IBM перестала поддерживать GPSS V, наиболее значимой версией  GPSS, разработанной независимой программной  фирмой стал GPSS/H. Автором GPSS/H является Дж. Хенриксен. Хенриксен в 1976 году образовал фирму Wolverine Software. Первой разработкой фирмы стал GPSS/H в 1978 году. GPSS/H полностью совместим сверху вниз с GPSS V, но модели, написанные на GPSS/H, выполняются значительно быстрее за счет исключения режима интерпретации.

    Последняя версия GPSS, названная GPSS/H, выпущена фирмой Wolverine Software Corporation в 1996 году и еще  не нашла широкого применения в России. В то же время ее отличает от старых версий множество новых положительных свойств и возможностей. Некоторые существенные достоинства:

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

 

     3. Постановка задачи (Задание 3, вариант А)

    В  банке открыто два окна по работе с физическими лицами. Клиенты приходят каждые 1,5 ± 1 минута, чтобы воспользоваться услугами одного из окон. Время обслуживания  опытным оператором  равно  2,5±1,5 минуты. Во втором окне  работает ученица, время обслуживания в этом окне 3,25 ± 2,5 минуты. Предполагая, что в начальный момент оба окна свободны, приходящие клиенты подходят к  одному из окон в случайном порядке с вероятностью 0,5. 

Параметры Значения
Г (период генерации) 1,5 ± 1
Q1 (время обслуживание в первой кассе) 2,5±1,5
Q2 (время обслуживание во второй кассе) 3,25 ± 2,5
В (вес  терминирования) 1
С (число  стартов) 100
Т (время  работы)
Н (наличие  очереди) QQ1 (информация по первому окну)
 
 
 
 
 
 
 
 
 
 
 
 
 

    Блок-схема  движения транзактов:

      

Появление первого

посетителя 
 

Вероятность прихода  посетителя

к одному из окон 

Если окно занято, переход

к другому окну 

Присоединение к 

очереди 01 

Приглашение оператором

KASS1 
 

Уход из очереди 01 
 

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

Уход от оператора  KASS1  
 
 
 

Если окно занято переход

к другому окну 

Присоединение к 

очереди 02 

Приглашение оператором

KASS2 

Уход из очереди 02 

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

KASS2 

Уход от оператора

KASS2 
 

Уход с производственной

линии 

 

4. Представление исходной модели

4.1. Модельный файл

* Модуль описания

             SIMULATE                   

* Модуль исполнения

             GENERATE    1.5,1                                   Ввод в модель транзактов

             TRANSFER    .500,,Q1                              Вероятность прихода                                           

                                                                         транзакта к Q1

             TRANSFER     BOTH,Q1,Q2                    Условный переход к KASS2 если                          

                                                                                               KASS1 занят                                                                                                               

            QUEUE            01                                       Постановка транзактов в

                                                                                 очередь 01      

 Q1      SEIZE              KASS1                               Занятие транзактом окна

                                                                                 KASS1

             DEPART         01                                        Выход транзакта из очереди         

                                                                                                01

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

                                                                                 KASS1

             RELEASE       KASS1                                Освобождение окна KASS1

            

             TRANSFER    BOTH,,Q2                           Условный переход к

                                                                                  KASS1 если KASS2 занят

           QUEUE            02                                     Постановка транзактов в  

                                                                                  очередь 02

 Q2       SEIZE              KASS2                               Занятие транзактом окна

                                                                                  KASS2

             DEPART         02                                        Выход транзакта из очереди

                                                                                  02

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

                                                                                  KASS2

             RELEASE       KASS2                                Освобождение окна KASS2

            

            TERMINATE   1                                         Вывод транзактов из системы

                                                                                 с весом 1

* Модуль управления

            START             100                                    Количество стартов    

            END                                                            Окончание процесса ИМ

 
 
 
 
 
 

После написания программа была пропущена  через GPSS/H. В результате были получены следующие результаты моделирования:

   RELATIVE CLOCK: ABSOLUTE CLOCK:
3111.0000 3111.0000
 
 
 
 

FACILITY  TOTAL  AVAIL  UNAVL     ENTRIES    AVERAGE   CURRENT  PERCENT  SEIZING  PREEMPTING

           TIME   TIME   TIME               TIME/XACT   STATUS   AVAIL     XACT      XACT 

   KASS1  0.096                       100       3.000    AVAIL                 

   KASS2  0.161                       100       5.000    AVAIL                   
 
 
 
 

   QUEUE     MAXIMUM      AVERAGE       TOTAL        ZERO    

            CONTENTS    CONTENTS      ENTRIES     ENTRIES    

       1           1        0.000         100         100     

       2           1        0.000         100         100       
 
 
 
 

PERCENT      AVERAGE      $AVERAGE     QTABLE     CURRENT

ZEROS      TIME/UNIT    TIME/UNIT     NUMBER    CONTENTS

100.0         0.000         0.000                      0

100.0         0.000         0.000                      0 
 
 
 

RANDOM    ANTITHETIC     INITIAL     CURRENT      SAMPLE   CHI-SQUARE

  STREAM      VARIATES    POSITION    POSITION       COUNT   UNIFORMITY

       1           OFF      100000      100100         100      0.37

       2           OFF      200000      203231        3231      0.23

               
 
 
 
 
 
 
 
 
 

4.2 Листинг.

STUDENT GPSS/H RELEASE 3.0n-C10 (UG207)     11 May 2010   17:09:16     FILE: av.gps 

    LINE# STMT#  IF DO  BLOCK#  *LOC OPERATION A,B,C,D,E,F,G COMMENTS 

 

        1     1                          SIMULATE

        2     2                 

        3     3                 

        4     4              1           GENERATE  1.5,1                            

        5     5              2           TRANSFER  .500,,Q1

        6     6              3           TRANSFER  BOTH,Q1,Q2

        7     7              4          QUEUE     01                        

       8     8              5        Q1 SEIZE     KASS1                         

        9     9              6           DEPART    01                                       

       10    10              7           ADVANCE   2.5,1.5                                 

       11    11              8           RELEASE   KASS1

       12    12              9           TRANSFER  BOTH,,Q2                            

       13    13             10          QUEUE     02

       14    14             11        Q2 SEIZE     KASS2                                      

       15    15             12           DEPART    02                      

       16    16             13           ADVANCE   3.25,2.5                                         

       17    17             14           RELEASE   KASS2                                                                    

       18    18             15           TERMINATE 1                                        

       19    19                             

       20    20                          START     100                                     

       21    21                          END                                                                 

ENTITY DICTIONARY (IN ASCENDING ORDER BY ENTITY NUMBER; "*" => VALUE CONFLICT.) 

       Facilities: 1=KASS1         2=KASS2 

           Queues: 1               2 

   Random Numbers: 2 

SYMBOL   VALUE   EQU DEFNS  CONTEXT      REFERENCES BY STATEMENT NUMBER

 

L1           4           7  Block            5     6    12

L2          10          13  Block            6

 

KASS1        1              Facility         8    11

KASS2        2              Facility        14    17

 

1            1              Queue            7     9

2            2              Queue           13    15

 

2            2              Random Nmbr      4 
 
 

STORAGE REQUIREMENTS (BYTES) 

COMPILED CODE:      394

COMPILED DATA:       64

MISCELLANEOUS:        0

ENTITIES:           516

COMMON:           10000

-----------------------

TOTAL:            10974 
 
 

GPSS/H MODEL SIZE: 

CONTROL STATEMENTS      3

BLOCKS                 15 
 
 

Simulation begins.

Вывод

 

В двух окнах, 100 клиентов было обслужено за 3111.0000 мин.

Полное время работы окон по работе с физ. лицами: 0.096 и 0.161 соответственно

 

Список  использованной литературы:

 
  1. Варжапетян  А.Г. Методические указания по курсовому проектированию  
    по курсу «Исследование систем управления», Санкт-Петербург, 2005 (в электронном виде).
  2. Варжапетян А.Г. имитационное моделирование на GPSS/H, Санкт-Петербург, 2007
Исследование систем управления методами имитационного моделирования. 3