Моделирование в проектировании сложных систем

Автор: Пользователь скрыл имя, 04 Ноября 2012 в 14:28, курс лекций

Описание работы

Дисциплина «Моделирование в проектировании сложных систем» рассматривает вопросы применения имитационного моделирования при проектировании сложных технических и других систем, к которым относятся гибкие производственные системы (ГПС), их подсистемы, и другие объекты дискретного производства, а также транспортные, информационные, банковские, торговые, и т.п. системы, в основе которых с точки зрения моделей лежат системы массового обслуживания.

Работа содержит 1 файл

МОДЕЛИРОВАНИЕ В ПРОЕКТИРОВАНИИ (на печать).docx

— 542.67 Кб (Скачать)

TABULATE МЕТ1

Блок  TABULATE помещается в точку модели, для которой табулируется выбранный объект (в нашем случае – время «жизни» транзактов, например, перед удалением их из модели).

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

 

<имя>  QTABLE А, В, С, D

 

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

 

 

.

.

.

МЕТ  QTABLE ALFA  , 8, 10, 5

.

.

.

QUEUE ALFA

.

.

.

DEPART ALFA

.

.

.

 

 

В таблицу  с именем МЕТ будет автоматически занесена информация об очереди ALFA.

Примеры

Пример 5.1. В одном обрабатывающем центре обрабатываются детали трех типов. Детали типа 1 поступают с интервалами от 5 до 10 мин, типа 2 – от 8 до 12 мин, типа 3 – от 10 до 14 мин. Обработка детали типа 1 занимает 7,5 мин, типа 2 – 10 мин, типа 3 – 12 мин. Создать модель работы обрабатывающего центра в течение 8 часов.

Программа имеет вид:

generate  7.5, 2.5

ASSIGN  1, 1

TRANSFER  , OBR

generate  10, 2

ASSIGN  1, 2

TRANSFER  , OBR

generate  12, 2

ASSIGN  1, 3

ОBR  QUEUE   qObR

seize   OBRC

DEPART  qObR

TEST  E  P1, 1, TIP2

advance  7.5

TRANSFER  , KONEC

TIP2  TEST  E  P1, 2, TIP3

advance  10

TRANSFER  , KONEC

TIP3  advance  12

KONEC  release  OBRC

terminate

generate  480

terminate  1

start  1

 

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

Пример 5.2. На участок контроля поступает поток изделий с интервалами от 5 до 7 мин. На участке три идентичных стенда. Изделие занимает свободный стенд, если такого нет, то направляется к стенду с наименьшей очередью. Время контроля подчиняется нормальному распределению с матожиданием 18 мин и стандартным отклонением 3 мин. После контроля изделия уходят с участка контроля для проведения других операций. Промоделировать работу участка при программе контроля 5000 изделий. С целью улучшения организации работы участка протабулировать информацию о времени нахождения изделий в очередях к стендам.

Программа модели:

OCH1  QTABLE  1,10,10,8

OCH2  QTABLE  2,10,10,8

OCH3  QTABLE  3,10,10,8

GENERATE  6,1

SELECT E  1,1,3,0,F,ALFA

BETTA  QUEUE  P1

SEIZE   P1

DEPART  P1

ADVANCE  (NORMAL(2,18,3))

RELEASE  P1

TERMINATE  1

ALFA  SELECT MIN  1,1,3,,Q

TRANSFER  ,BETTA

START  5000

 

Таблицы по результатам моделирования будут  иметь вид:

TABLE  MEAN    STD.DEV.       RANGE           RETRY FREQUENCY CUM.%

  OCH1                43.410    16.957                                           0

                                                                    – – 10.000                             17                1.02

                                                                10.000 – 20.000                        161              10.69

                                                                20.000 – 30.000                        198              22.58

                                                                30.000 – 40.000                        344              43.24

                                                                40.000 – 50.000                        313              62.04

                                                                50.000 – 60.000                        362              83.78

                                                                60.000 – 70.000                        165              93.69

                                                                70.000 –    —                            105            100.00

OCH2                37.139      16.827                                          0

                                                                    –      –  10.000                         77               4.59

                                                               10.000  –  20.000                        248             19.39

                                                               20.000  –  30.000                        256             34.67

                                                               30.000  –  40.000                        352             55.67

                                                               40.000  –  50.000                        329             75.30

                                                               50.000  –  60.000                        278             91.89

                                                               60.000  –  70.000                          97             97.67

                                                               70.000  –    —                               39             100.00

OCH3              31.023         16.275                                           0

                                                                      –    –   10.000                        154             9.27

                                                               10.000  –   20.000                        330             29.14

                                                               20.000  –   30.000                        261             44.85

                                                               30.000  –   40.000                        428             70.62

                                                               40.000  –   50.000                        276             87.24

                                                               50.000  –   60.000                        155             96.57

                                                               60.000  –   70.000                          45             99.28

                                                               70.000  –         –                             12            100.00

 

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

6. моделирование систем с устройствами  
в режимах прерывания и недоступности

 

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

6.1. Моделирование  захвата устройств

Для моделирования захвата  и освобождения устройств используются блоки PREEMPT (захватить) и RETURN (возвратить).

Формат и графическое  изображение блока PREEMPT:

В операнде А указывается имя устройства, подлежащего захвату.

Блок PREEMPT может работать или в приоритетном режиме, или в режиме прерывания. В первом случае в операнде В указывается PR, во втором этот операнд задается по умолчанию.

В операнде С указывается метка, куда направляется прерванный транзакт.

В операнде D указывается номер параметра прерванного транзакта, в котором записывается оставшееся время обслуживания.

Операнд Е определяет право на дообслуживание: по умолчанию – сохраняется право, при указании RE – не сохраняется.

Блок RETURN фиксирует факт освобождения устройства от захвата. Его формат и изображение:

В операнде А указывается имя освобожденного устройства.

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

Рассмотрим примеры использования  блока PREEMPT:

 

PREEMPT  ОТО

PREEMPT  ОТО, PR

PREEMPT  ОТО, PR, МЕТ, , RE

 

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

В последнем случае прерванный транзакт теряет право на дообслуживание, поэтому по метке МЕТ его можно направить, например, в блок TERMINATE, т.е. на удаление из модели. Этого нельзя было сделать, если в последнем случае операнд Е задать по умолчанию. Более подробно различные варианты моделирования захвата изложены в [1].

 

6.2. Моделирование  недоступности устройств

 

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

Блок FUNAVAIL (F обозначает устройство, UNAVAIL – недоступно) моделирует недоступность одноканального устройства.

Формат и изображение  блока:

В операнде A указывается имя устройства, которое становится недоступным.

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

Операнды В, С, D соответствуют транзактам, занимавшим устройство после входа в него через SEIZE и PREEMPT .

Операнды E, F соответствуют прерванным транзактам.

Операнды G, H соответствуют транзактам, находящимся в списке  
задержки.

В операнде В задаются режимы работы с транзактами в период недоступности:

  • СО (continue – продолжение) – обслуживание продолжается;
  • RE (remove – удаление) – транзакт удаляется по адресу, указанному в операнде С;
  • по умолчанию – обработка прерывается, будет продолжена, когда устройство станет доступным.

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

 

В операнде E задаются режимы работы с ранее прерванными транзактами:

  • СО – продолжение обслуживания;
  • по умолчанию – прерванные ранее транзакты остаются в списке прерываний и не обслуживаются в устройстве в период его недоступности.

Операнд G определяет режимы работы с транзактами, находящимися в списке задержки в период недоступности устройства:

  • СО – продолжение обслуживания;
  • RE – удаление по адресу, указанному в операнде Н;
  • по умолчанию – оставление транзактов в списке задержки до момента, когда устройство станет доступным.

Блок FAVAIL (устройство доступно) моделирует доступность устройства. Формат и изображение блока:

В операнде A указывается имя устройства, которое становится доступным.

Пусть, например, модуль моделирования  аварийной ситуации имеет вид:

 

GENERATE  (NORMAL  (1, 100, 10))

FUNAVAIL   OTO, CO , , , RE , MET1 , RE , MET1

ADVANCE  5, 2

FAVAIL  OTO

MET1  TERMINATE

 

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

При переводе устройства ОТО в недоступное состояние продолжится обработка транзакта (если он находился в устройстве); транзакты, ранее прерванные, и находившиеся в списке задержки, будут удалены из модели (через MET1  TERMINATE). После восстановления устройства в течение (5 ± 2) часов оно становится доступным.

 

6.3. Применение  списков пользователя

 

Информация о работе Моделирование в проектировании сложных систем