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

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

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

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

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

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

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

В начале моделирования все сохраняемые  величины устанавливаются в нуль.

Для задания  отдельным сохраняемым величинам  ненулевых значений используют команду INITIAL (установить начальное значение). Ее формат:

 

INITIAL A, [B]

 

В операнде A указывается Xj; в операнде В – первоначальное значение: по умолчанию «1»; может быть СЧА, число; может UNSPECIFIED (не определено). Например:

INITIAL Х10

INITIAL Х $ OMEGA, Q1

INITIAL X1, UNSPECIFIED

 

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

 

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

Примеры этих режимов:

SAVEVALUE    10, X $ ALFA

SAVEVALUE    MET+, 286

SAVEVALUE    BCA–, (Q2 + Q3) 

 

Рассмотрим матричные сохраняемые величины.

Для задания  исходной матрицы применяют команды: описания матрицы MATRIX и задания первоначальных значений ее элементов INITIAL.

Формат  команды MATRIX:

 

<имя>     MATRIX   А, В, С, [D], [E], [F], [G]

 

В поле метки  указывается символическое имя  матрицы. операнд А не используется (оставлен для совместимости с прежними версиями). Операнды  
В – G  могут быть только целыми положительными числами, так как они задают соответственно: В – число строк, С – число столбцов матрицы во втором измерении, D, E, F, G – количество элементов в третьем, четвертом, пятом и шестом измерениях.

Наиболее  распространен формат:

 

<имя>        MATRIX          , В, С

 

СЧА матриц MXj, где j – это $ имя. Если j – целое число, то оно должно быть определено предварительно через переменную пользователя. Например: матрица задана командой

ALFA   MATRIX  , 3, 3

 

Тогда ссылка на ее элемент, находящийся на пересечении  первой строки и третьего столбца, имеет  вид:

MX $ ALFA (1, 3)

 

Если  же необходимо изменить имя матрицы  на числовое (например, 2), то справедлива  запись:

ALFA     EQU    2

ALFA     MATRIX     , 3, 3

 

Ссылка  на тот же элемент будет:

 

MX2 (1, 3)

 

Команда INITIAL устанавливает по желанию пользователя первоначальные значения элементов матриц, отличные от нуля. Формат команды тот же, что и для линейных сохраняемых величин, только в операнде А этой команды указывается СЧА элемента матрицы. Смысл операнда В такой же, но уже для элемента матрицы. когда всем элементам матрицы необходимо присвоить значение, равное «1», в операнде А указывается MXj, а операнд В задается по умолчанию; если необходимо установить значение – «не определено», то в А указывается MXj, а в В – UNSPECIFIED. Примеры:

 

INITIAL  MX $ AВC (2, 3), –328

INITIAL  MX10 (1, 6),  Q8

INITIAL MX $ MTD

INITIAL МX $ GAMMA, UNSPECIFIED

 

При этом запись во втором примере предполагает предварительное присвоение матрице  цифрового имени с помощью  оператора EQU.

В процессе моделирования значения элементов  матрицы изменяются с помощью  блока MSAVEVALUE.

Его формат:

 

MSAVEVALUE   A, B, C, D

 

В операнде А задается имя матрицы, крайним правым знаком может быть «+» (режим приращения), знак «–» (режим уменьшения); операнд В задает номер строки; операнд С – номер столбца; в операнде D указывается заносимое, добавляемое или вычитаемое значение. Все операнды обязательны, могут быть заданы непосредственно или косвенно. Примеры:

MSAVEVALUE  1, 3, P5, 28.5

MSAVEVALUE  ALFA+, Q1, Q5, M1

MSAVEVALUE  P1, 1, (V $ 10 + Q2), P $ OMEGA

MSAVEVALUE  8, STROKA, STOLBEZ, X2

 

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

Матрицы более высоких порядков (3 и более) создаются с помощью PLUS–процедур [1].

Примеры

Пример 3.3. Рассмотрим участок сборки деталей с обжигом при 4, 5 и 6 транзактах–сборщиках. Пусть модельное время равно 5 дням по 8 часов в день и при единице модельного времени, равной 1 мин., составляет 2400 единиц.

Программа с использованием переменных пользователя, блока TRANSFER  и команды CLEАR представлена ниже.

 

KSB EQU   4; Число сборщиков равно 4

GENERATE ,,, KSB

SBOR ADVANCE  30,5; сборка деталей

SEIZE  OTO

ADVANCE  8,2; Обжиг деталей

RЕLЕАSЕ  OTO

TRANSFER ,SBOR

GENERАТЕ 2400

ТЕRМINАТЕ  1

START  1

KSB EQU   5; Число сборщиков равно 5

СLEAR

START  1

KSB EQU   6; Число сборщиков равно 6

СLEAR

START  1

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

FACILITY ENTRIES UTIL.  

OTO                 239           0.798    

FACILITY ENTRIES    UTIL.  

OTO                287       0.950      

 

FACILITY       ENTRIES    UTIL.  

OTO                  297      0.989      

 

Из этой информации видно, что с увеличением  числа сборщиков количество готовых  деталей (ENTRIES) и коэффициент использования печи (UTIL.) растут.

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

Пример 3.4. В цехе 50 станков с ЧПУ работают 50 недель по 5 дней в неделю при односменном режиме. Наработка на отказ станка (150 ± 25) час. Время на ремонт одного станка равно (7 ± 3) час. Станки, вышедшие из строя, ремонтируются несколькими наладчиками. После этого отремонтированные станки пополняют резерв и включаются в производство. Схема работы цеха изображена на рис. 3.2.

Необходимо  составить модель, предусмотрев информацию о загрузке станков с ЧПУ и  наладчиков при различном числе  наладчиков (3, 4, 5) и различном количестве резервных машин (3, 4, 5).

 

 

Рисунок 3.2. Схема работы цеха

 

При единице  модельного времени в 1 час модельное  время будет 50 × 5 × 8 = 2000 единиц. Особенности модели: два многоканальных устройства (наладчики и станки); в процессе моделирования переопределяются операнды, связанные с числом наладчиков и количеством резервных машин; информация о работе станков с ЧПУ и наладчиков заносится в матрицы.

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

 

; Задание исходных данных

KRS EQU 3  ; Количество резервных станков = 3

STROK EQU 1  ; Номер строки матрицы

STOLB EQU  1  ; Номер столбца матрицы

ZAGRS MATRIX , 3, 3;  Матрица загрузки станков

ZAGRN MATRIX , 3, 3;  Матрица загрузки наладчиков

STAN  STORAGE 50;  Количество станков = 50

NAL  STORAGE 3  ;Число наладчиков = 3

; Моделирование работы цеха

GENERАТЕ , , , (50 + KRS)

MET1  ENTER STAN

АDVANСЕ 150, 25

LEAVE STAN

ENTER NAL

АDVANСЕ 7, 3

LEAVE NAL

TRANSFER , MET1

; Моделирование завершения работы  цеха и формирования результатов

GENERАТЕ 2000

MSAVEVALUE ZAGRS, STROK, STOLB, (SR $ STAN/1000)

MSAVEVALUE ZAGRN, STROK, STOLB, (SR $ NAL/1000)

TERMINATE 1

START 1, NP; Резервных станков 3, наладчиков 3

KRS  EQU 4

STOLB EQU 2

CLEAR OFF

START 1, NP;  Резервных станков 4, наладчиков 3

KRS  EQU 5

STOLB EQU 3

CLEAR OFF

START 1, NP;  Резервных станков 5, наладчиков 3

NAL  STORAGE 4

KRS  EQU 3

STROK EQU 2

STOLB EQU 1

CLEAR OFF

START 1, NP;  Резервных станков 3, наладчиков 4

KRS  EQU 4

STOLB EQU 2

CLEAR OFF

START 1, NP;  Резервных станков 4, наладчиков 4

KRS  EQU 5

STOLB EQU 3

CLEAR OFF

START 1, NP;  Резервных станков 5, наладчиков 4

NAL  STORAGE 5

KRS  EQU 3

STROK EQU 3

STOLB EQU 1

CLEAR OFF

START 1, NP;  Резервных станков 3, наладчиков 5

KRS  EQU 4

STOLB EQU 2

CLEAR OFF

START 1, NP;  Резервных станков 4, наладчиков 5

KRS  EQU 5

STOLB EQU 3

CLEAR OFF

START 1;   Резервных станков 5, наладчиков 5

 

В этой модели количество резервных машин переопределялось с помощью переменной пользователя  KRS      EQU, а число наладчиков через команду NAL      STORAGE.

Коэффициенты  использования МКУ станков и  наладчиков через СЧА соответственно SR $ STAN и SR $ NAL  для всех девяти вариантов занесены в матрицы:

 

MATRIX    RETRY  INDICES   VALUE

   ZAGRS             0

     1   1   . 971

     1   2   . 981

     1   3   . 981

     2   1   . 982

     2   2   . 986

     2   3   . 987

     3   1   . 984

     3   2   . 989

     3   3   . 990

   ZAGRN            0

     1   1   . 728

     1   2   . 721

     1   3   . 743

     2   1   . 558

     2   2   . 547

     2   3   . 563

     3   1   . 445

     3   2   . 434

     3   3   . 447

 

Пример 3.5. В предыдущем примере в самом начале работы цеха (до  
150 – 25 = 125 час.) все станки будут исправны. Следовательно, статистика будет не достоверной. Для оценки переходного режима промоделируем работу цеха при четырех наладчиках и четырех резервных станках в течение десяти декад со сбросом статистики с помощью команды RESET через каждую декаду, т.е. через 80 час.

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

 

KRS equ  4; Количество резервных станков = 4

strok equ  1; номер строки матрицы

stolb equ  1; Номер столбца матрицы

zagrs matrix , 10, 1; Матрица загрузки станков

zagrn matrix , 10, 1; Матрица загрузки наладчиков

stan storage 50; Количество станков = 50

nal storage 4; Число наладчиков = 4

generate ,,,(50+krs)

met1 enter stan

advance 150,25

leave stan

enter nal

advance 7,3

leave nal

transfer ,met1

generate 80

msavevalue zagrs, strok, stolb, (sr$stan/1000)

msavevalue zagrn, strok, stolb, (sr$nal/1000)

terminate 1

start 1,np

strok equ 2

reset

start 1,np

strok equ 3

reset

start 1,np

strok equ 4

reset

start 1,np

strok equ 5

reset

start 1,np

strok equ 6

reset

start 1,np

strok equ 7

reset

start 1,np

strok equ 8

reset

start 1,np

strok equ 9

reset

start 1,np

strok equ 10

reset

start 1

Результаты  моделирования занесены в следующие  матрицы:

 

MATRIX    RETRY  INDICES   VALUE

   ZAGRS         0

     1   1   1

     2   1   . 869

     3   1   . 836

     4   1   . 988

     5   1   . 996

     6   1   . 996

     7   1   . 997

     8   1   . 974

     9   1   . 998

           10  1   . 989

   ZAGRN        0

     1   1   0

     2   1   . 972

     3   1   . 713

     4   1   . 694

     5   1   . 629

     6   1   . 591

     7   1   . 481

     8   1   . 742

     9   1   . 458

    10  1   . 793

 

 

Анализ  этой информации показывает, что в  течение десяти декад режим переходный (загрузка станков – неустановившаяся). В связи с этим для получения  достоверных результатов рекомендуется  в команде SТART в операнде 
А заносить не единицу, а число 10. В этом случае итоги моделирования  
следующие:

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