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

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

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

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

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

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

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

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

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

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

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

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

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

 

       Введение

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

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

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

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

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

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

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

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

 

    1 Системы массового обслуживания 

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

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

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

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 Постановка задачи  

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

  • Построить  МФ, временная  дискрета равна 1 минуте
  • Все времена задать в виде  экспонециально  распределенных функций непосредственно в тексте модельного файла
  • Информацию о работе окон   собрать с помощью операторов QUEUE –DEPART
  • Использовать оператор исполнения TRANSFER
  • Определить  результаты моделирования  за 4 часа работы
  • Определить результаты моделирования за пять дней работы, используя операторы DO- ENDDD

- Окна  – устройства

- Клиенты  - транзакты

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

    

 
4. Компьютерное решение

4.1 Листинг

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

      SIMULATE  

      INTEGER  &I                

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

      GENERATE RVPSSN(2,30) Ввод в модель транзактов

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

LINE1 QUEUE  O1  Постановка транзактов в очередь 1     

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

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

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

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

      TRANSFER ,LINE2  Безусловный переход к KASS2

LINE2 QUEUE   O2  Постановка транзактов в очередь 2

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

*                                                     KASS2

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

*                                                      KASS2

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

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

*                                                      02

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

*                                                                     с весом 1 

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

*

      GENERATE 240  Результаты моделирования за 4 часов работы

      TERMINATE 1

      DO         &I=1,5,1  Проведение пяти реплик(за пять дней работы)

           START      1  Результаты моделирования за 4 часов работы

           CLEAR   Очистка данных для очередной реплики

      ENDDO   Завершение петли управления

      END    Окончание моделирования 

4.2 Интерпретация результатов

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

STUDENT GPSS/H RELEASE 3.0n-C10 (UG207)     27 Nov 2010   20:26:29     FILE: G:\GPSSH\1.gps 

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

 

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

        2     2                  SIMULATE  

        3     3                  INTEGER  &I                

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

        5     5              1   GENERATE RVPSSN(2,30) Ввод в модель транзактов

        6     6              2   TRANSFER .500,,LINE1 Вероятность прихода транзакта к LINE1

        7     7              3  LINE1 QUEUE  O1  Постановка транзактов в очередь 1      

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

        9     9              5   DEPART  O1  Выход транзакта из очереди

       10    10              6   ADVANCE      3,2  Время обслуживания в KASS1

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

       12    12              8   TRANSFER ,LINE2  Безусловный переход к KASS2

       13    13              9  LINE2 QUEUE   O2  Постановка транзактов в очередь 2

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

       15    15                 *                                                     KASS2

       16    16             11   ADVANCE     5                                 Время обслуживания в

       17    17                 *                                                      KASS2

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

       19    19             13   DEPART         O2                             Выход транзакта из очереди

       20    20                 *                                                      02

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

       22    22                 *                                                     с весом 1

       23    23                 

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

       25    25                 *

       26    26             15   GENERATE 240  Результаты моделирования за 4 часов работы

       27    27             16   TERMINATE 1

       28    28      1           DO         &I=1,5,1  Проведение пяти реплик(за пять дней работы)

       29    29      1                START      1  Результаты моделирования за 4 часов работы

       30    30      1                CLEAR   Очистка данных для очередной реплики

       31    31                  ENDDO    Завершение петли управления

       32    32                  END    Окончание моделирования 

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

       Facilities: 1=KASS1         2=KASS2 

           Queues: 1=O1            2=O2 

   Random Numbers: 2 

    Integer &Vars: 1=I 

SYMBOL   VALUE   EQU DEFNS  CONTEXT      REFERENCES BY STATEMENT NUMBER

 

LINE1        3           7  Block            6

LINE2        9          13  Block           12

 

KASS1        1              Facility         8    11

KASS2        2              Facility        14    18

 

O1           1              Queue            7     9

O2           2              Queue           13    19

 

2            2              Random Nmbr      5

 

I            1           3  Integer         28 

STORAGE REQUIREMENTS (BYTES) 

COMPILED CODE:      498

COMPILED DATA:       84

MISCELLANEOUS:        0

ENTITIES:           524

COMMON:           10000

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

TOTAL:            11106 

GPSS/H MODEL SIZE: 

CONTROL STATEMENTS      6

BLOCKS                 16 

Simulation begins.

RELATIVE CLOCK: 240.0000   ABSOLUTE CLOCK: 240.0000

BLOCK CURRENT     TOTAL  BLOCK CURRENT     TOTAL 

1                     8  11                    8

2                     8  12                    8

LINE1                 8  13                    8

4                     8  14                    8

5                     8  15                    1

6                     8  16                    1

7                     8

8                     8

LINE2                 8

10                    8  

          --AVG-UTIL-DURING--                                                              

FACILITY  TOTAL  AVAIL  UNAVL     ENTRIES    AVERAGE   CURRENT  PERCENT  SEIZING  PREEMPTING

           TIME   TIME   TIME               TIME/XACT   STATUS   AVAIL     XACT      XACT  

   KASS1  0.096                         8       2.876    AVAIL                 

   KASS2  0.167                         8       5.000    AVAIL                   

   QUEUE     MAXIMUM      AVERAGE       TOTAL        ZERO     PERCENT      AVERAGE      $AVERAGE     QTABLE     CURRENT

            CONTENTS     CONTENTS      ENTRIES     ENTRIES     ZEROS      TIME/UNIT    TIME/UNIT     NUMBER    CONTENTS

      O1           1        0.000           8           8      100.0         0.000         0.000                      0

      O2           1        0.167           8           0                    5.000         5.000                      0 

  RANDOM    ANTITHETIC     INITIAL     CURRENT      SAMPLE   CHI-SQUARE

  STREAM      VARIATES    POSITION    POSITION       COUNT   UNIFORMITY

       1           OFF      100000      100016          16       N/A

       2           OFF      200000      200271         271      0.39 

STATUS OF COMMON STORAGE

    9632 BYTES AVAILABLE

     368 IN USE

     496 USED (MAX)

RELATIVE CLOCK: 240.0000   ABSOLUTE CLOCK: 240.0000

BLOCK CURRENT     TOTAL  BLOCK CURRENT     TOTAL 

1                     7  11                    7

2                     7  12                    7

LINE1                 7  13                    7

4                     7  14                    7

5                     7  15                    1

6                     7  16                    1

7                     7

8                     7

LINE2                 7

10                    7  

          --AVG-UTIL-DURING--                                                              

FACILITY  TOTAL  AVAIL  UNAVL     ENTRIES    AVERAGE   CURRENT  PERCENT  SEIZING  PREEMPTING

           TIME   TIME   TIME               TIME/XACT   STATUS   AVAIL     XACT      XACT  

   KASS1  0.089                         7       3.056    AVAIL                 

   KASS2  0.146                         7       5.000    AVAIL                 

   QUEUE     MAXIMUM      AVERAGE       TOTAL        ZERO     PERCENT      AVERAGE      $AVERAGE     QTABLE     CURRENT

            CONTENTS     CONTENTS      ENTRIES     ENTRIES     ZEROS      TIME/UNIT    TIME/UNIT     NUMBER    CONTENTS

      O1           1        0.000           7           7      100.0         0.000         0.000                      0

      O2           1        0.146           7           0                    5.000         5.000                      0

  RANDOM    ANTITHETIC     INITIAL     CURRENT      SAMPLE   CHI-SQUARE

  STREAM      VARIATES    POSITION    POSITION       COUNT   UNIFORMITY

       1           OFF      100016      100030          14       N/A

       2           OFF      200271      200534         263      0.65

STATUS OF COMMON STORAGE

    9632 BYTES AVAILABLE

     368 IN USE

     496 USED (MAX)

RELATIVE CLOCK: 240.0000   ABSOLUTE CLOCK: 240.0000

BLOCK CURRENT     TOTAL  BLOCK CURRENT     TOTAL 

1                     7  11          1         7

2                     7  12                    6

LINE1                 7  13                    6

4                     7  14                    6

5                     7  15                    1

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