Автор: Пользователь скрыл имя, 04 Ноября 2012 в 14:28, курс лекций
Дисциплина «Моделирование в проектировании сложных систем» рассматривает вопросы применения имитационного моделирования при проектировании сложных технических и других систем, к которым относятся гибкие производственные системы (ГПС), их подсистемы, и другие объекты дискретного производства, а также транспортные, информационные, банковские, торговые, и т.п. системы, в основе которых с точки зрения моделей лежат системы массового обслуживания.
В начале моделирования все сохраняемые величины устанавливаются в нуль.
Для задания
отдельным сохраняемым
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–
Пример 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
В этой модели
количество резервных машин
Коэффициенты использования МКУ станков и наладчиков через СЧА соответственно SR $ STAN и SR $ NAL для всех девяти вариантов занесены в матрицы:
MATRIX RETRY INDICES
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
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
Анализ
этой информации показывает, что в
течение десяти декад режим переходный
(загрузка станков – неустановившаяся).
В связи с этим для получения
достоверных результатов
А заносить
не единицу, а число 10. В этом случае итоги
моделирования
следующие:
Информация о работе Моделирование в проектировании сложных систем