Модель транспортного цеха - Разработка моделиВ начальный момент времени все блоки GENERATE начинают выполняться одновременно. Поэтому во всех сегментах модели (разделенных комментариями) транзакты движутся - в модельном времени - одновременно. Взаимодействия между первым и вторым сегментами осуществляются через ячейки X1 и X2. Во втором сегменте эти ячейки пополняются (товар производится), в первом их содержимое разбирается транзактами (продукция развозится). В первом сегменте из блока GENERATE одновременно выходит 8 транзактов в нулевой момент времени. Но логически один из них приходит в блок TEST прежде других (хотя и в один и тот же момент времени). Он может «забрать груз». Следующий транзакт, приходящий в тот же момент модельного времени, но логически после первого, может «не застать груз» и из блока BEG TEST сразу уйти «в путь к В».
5 EMPTY VARIABLE N3-N4+N12-N13 ;число пустых перегонов 10 GENERATE ,,,8 ;выход 8-ми грузовиков 20 ASSIGN 1,0 ;помечаем грузовики как пустые 30 BEG TEST G X1,0,GOTOB ;проверка наличия груза в п.А 40 SAVEVALUE 1-,1 ;забрать груз для погрузки 50 ADVANCE 20 ;задержка 20 мин для погрузки 60 ASSIGN 1,1 ;помечаем: грузовик с грузом 70 GOTOB ADVANCE 30 ;30 мин переезд в п.В 80 RAZGR TEST G P1,0,POGR ;проверка: нужно разгружаться? 90 ADVANCE 20 ;разгрузка 20 мин 100 ASSIGN 1,0 ;помечаем грузовик как пустой 110 POGR TEST G X2,0,GOTOC ;проверка наличия груза в п.В 120 SAVEVALUE 2-,1 ;забрать груз для погрузки 130 ADVANCE 20 ;разгрузка 20 мин 140 ASSIGN 1,1 ;помечаем: грузовик с грузом 150 GOTOC ADVANCE 30 ;30 мин переезд в п.С 160 TEST G P1,0,GOTOA ;проверка: нужно разгружаться? 170 ADVANCE 20 ;разгрузка 20 мин 180 ASSIGN 1,0 ;грузовик пуст 190 GOTOA ADVANCE 20 ;20 мин переезд в п.А 200 TRANSFER ,BEG ;начинаем новый круг
*** Производство перевозимой продукции ***
210 GENERATE 20,3 ;выпуск партий в п. А 220 SAVEVALUE 1+,1 ;число партий – в ячейке X1 230 TERMINATE 240 GENERATE 20,5 ;выпуск партий в п. В 250 SAVEVALUE 2+,1 ;число партий – в ячейке X2 260 TERMINATE
*** Таймер для останова процесса моделирования ***
270 GENERATE 480 ;одна смена = 480 мин. 280 TERMINATE 1
Отчет по исследованию.
START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 480.000 28 0 0
NAME VALUE BEG 3.000 EMPTY 10000.000 GOTOA 19.000 GOTOB 7.000 GOTOC 15.000 POGR 11.000 RAZGR 8.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY 1 GENERATE 8 0 0 2 ASSIGN 8 0 0 BEG 3 TEST 32 0 0 4 SAVEVALUE 20 0 0 5 ADVANCE 20 0 0 6 ASSIGN 20 0 0 GOTOB 7 ADVANCE 32 1 0 RAZGR 8 TEST 31 0 0 9 ADVANCE 19 0 0 10 ASSIGN 19 0 0 POGR 11 TEST 31 0 0 12 SAVEVALUE 23 0 0 13 ADVANCE 23 2 0 14 ASSIGN 21 0 0 GOTOC 15 ADVANCE 29 1 0 16 TEST 28 0 0 17 ADVANCE 20 4 0 18 ASSIGN 16 0 0 GOTOA 19 ADVANCE 24 0 0 20 TRANSFER 24 0 0 21 GENERATE 24 0 0 22 SAVEVALUE 24 0 0 23 TERMINATE 24 0 0 24 GENERATE 24 0 0 25 SAVEVALUE 24 0 0 26 TERMINATE 24 0 0 27 GENERATE 1 0 0 28 TERMINATE 1 0 0
SAVEVALUE RETRY VALUE 1 0 4.000 2 0 1.000
Ячейки X1 и X2 общедоступны для всех транзактов, как и продукция в пп. А и В является общей для всех грузовиков. Значения этих двух ячеек изменяются в блоках SAVEVALUE. Значение параметра транзакта P1 у каждого транзакта свое, как и состояние каждого грузовика - индивидуальное. В строке 5 описана переменная, значение которой в любой момент модельного времени равно числу пустых перегонов грузовиков. Эта переменная вычисляется через СЧА Nj, который равен числу транзактов, вошедших в блок номер j. Число пустых перегонов равно сумме числа пустых перегонов на пути АВ и числа пустых перегонов на пути ВС. Число пустых перегонов на пути АВ определяется как N3 –N4, т.е. как число грузовиков, прибывших в п.А и проверивших наличие в нем груза, минус число грузовиков, заставших в п.А груз и, соответственно, загруженных. Аналогично определяется число пустых перегонов между пунктами В и С, равное N12 – N13.
|
