
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.21] |
![]() |
|
Страницы: (54) « Первая ... 34 35 [36] 37 38 ... 53 54 ( Перейти к последнему сообщению ) |
Сообщ.
#526
,
|
|
|
Здравствуйте. У меня возникла проблема в создании многоканальной модели в среде GPSS.
Необходимо создать модель мастерской по ремонту бытовой техники. Количество каналов обслуживания равно 5 (мастера). Интервал времени между поступлениями заказов является случайной величиной, равномерно распределенной в пределах от 48 до 120 минут. Продолжительность обслуживания одного заказчика также является случайной величиной, равномерно распределенной в пределах от 420 до 480 минут. Модель я создал, но по результатам её работы выяснилось, что эти каналы работают не совместно, а отдельно. Собственно, по данным, которые я внёс в GPSS, это и видно. Вопрос в следующем: как мне сделать так, чтобы каналы обслуживания работали совместно? Т.е. если заявка поступает к мастеру, который уже занят, то первая уже переходит к следующему мастеру. Заранее благодарен. Вот моя модель в GPSS ![]() ![]() GENERATE 84,36 ;ЗАКАЗ ПОСТУПАЕТ К МАСТЕРУ QUEUE QZAKAZ ;ЗАКАЗ ОЖИДАЕТ СВОЕЙ ОЧЕРЕДИ SEIZE ZAKAZ ;ЗАКАЗ ВЗЯТ МАСТЕРОМ DEPART QZAKAZ ;ЗАКАЗ ПОКИДАЕТ ОЧЕРЕДЬ ADVANCE 300,30 ;МАСТЕР ОСУЩЕСТВЛЯЕТ РЕМОНТ RELEASE ZAKAZ ;БЫТОВАЯ ТЕХНИКА ОТРЕМОНТИРОВАНА TERMINATE ;БЫТОВАЯ ТЕХНИКА ОТРЕМОНТИРОВАНА GENERATE 84,36 ;ЗАКАЗ ПОСТУПАЕТ К МАСТЕРУ QUEUE QZAKAZ ;ЗАКАЗ ОЖИДАЕТ СВОЕЙ ОЧЕРЕДИ SEIZE ZAKAZ_2 ;ЗАКАЗ ВЗЯТ МАСТЕРОМ DEPART QZAKAZ ;ЗАКАЗ ПОКИДАЕТ ОЧЕРЕДЬ ADVANCE 300,30 ;МАСТЕР ОСУЩЕСТВЛЯЕТ РЕМОНТ RELEASE ZAKAZ_2 ;БЫТОВАЯ ТЕХНИКА ОТРЕМОНТИРОВАНА TERMINATE ;БЫТОВАЯ ТЕХНИКА ОТРЕМОНТИРОВАНА GENERATE 84,36 ;ЗАКАЗ ПОСТУПАЕТ К МАСТЕРУ QUEUE QZAKAZ ;ЗАКАЗ ОЖИДАЕТ СВОЕЙ ОЧЕРЕДИ SEIZE ZAKAZ_3 ;ЗАКАЗ ВЗЯТ МАСТЕРОМ DEPART QZAKAZ ;ЗАКАЗ ПОКИДАЕТ ОЧЕРЕДЬ ADVANCE 300,30 ;МАСТЕР ОСУЩЕСТВЛЯЕТ РЕМОНТ RELEASE ZAKAZ_3 ;БЫТОВАЯ ТЕХНИКА ОТРЕМОНТИРОВАНА TERMINATE ;БЫТОВАЯ ТЕХНИКА ОТРЕМОНТИРОВАНА GENERATE 84,36 ;ЗАКАЗ ПОСТУПАЕТ К МАСТЕРУ QUEUE QZAKAZ ;ЗАКАЗ ОЖИДАЕТ СВОЕЙ ОЧЕРЕДИ SEIZE ZAKAZ_4 ;ЗАКАЗ ВЗЯТ МАСТЕРОМ DEPART QZAKAZ ;ЗАКАЗ ПОКИДАЕТ ОЧЕРЕДЬ ADVANCE 300,30 ;МАСТЕР ОСУЩЕСТВЛЯЕТ РЕМОНТ RELEASE ZAKAZ_4 ;БЫТОВАЯ ТЕХНИКА ОТРЕМОНТИРОВАНА TERMINATE ;БЫТОВАЯ ТЕХНИКА ОТРЕМОНТИРОВАНА GENERATE 84,36 ;ЗАКАЗ ПОСТУПАЕТ К МАСТЕРУ QUEUE QZAKAZ ;ЗАКАЗ ОЖИДАЕТ СВОЕЙ ОЧЕРЕДИ SEIZE ZAKAZ_5 ;ЗАКАЗ ВЗЯТ МАСТЕРОМ DEPART QZAKAZ ;ЗАКАЗ ПОКИДАЕТ ОЧЕРЕДЬ ADVANCE 300,30 ;МАСТЕР ОСУЩЕСТВЛЯЕТ РЕМОНТ RELEASE ZAKAZ_5 ;БЫТОВАЯ ТЕХНИКА ОТРЕМОНТИРОВАНА TERMINATE ;БЫТОВАЯ ТЕХНИКА ОТРЕМОНТИРОВАНА *таймер-сегмент GENERATE 480 ;ВРЕМЯ МОДЕЛИРОВАНИЯ 8 ЧАС=480МИН TERMINATE 1 ;ЗАВЕРШЕНИЕ МОДЕЛИРОВАНИЯ START 1 |
Сообщ.
#527
,
|
|
|
ужас! )
![]() ![]() ZAKAZ stprage 5 GENERATE 84,36 ;ЗАКАЗ ПОСТУПАЕТ К МАСТЕРУ QUEUE QZAKAZ ;ЗАКАЗ ОЖИДАЕТ СВОЕЙ ОЧЕРЕДИ enter ZAKAZ ;ЗАКАЗ ВЗЯТ МАСТЕРОМ DEPART QZAKAZ ;ЗАКАЗ ПОКИДАЕТ ОЧЕРЕДЬ ADVANCE 300,30 ;МАСТЕР ОСУЩЕСТВЛЯЕТ РЕМОНТ leave ZAKAZ ;БЫТОВАЯ ТЕХНИКА ОТРЕМОНТИРОВАНА TERMINATE ;БЫТОВАЯ ТЕХНИКА ОТРЕМОНТИРОВАНА *таймер-сегмент GENERATE 480 ;ВРЕМЯ МОДЕЛИРОВАНИЯ 8 ЧАС=480МИН TERMINATE 1 ;ЗАВЕРШЕНИЕ МОДЕЛИРОВАНИЯ START 1 |
Сообщ.
#528
,
|
|
|
Я делал ранее разными способами. Через STORAGE тоже делал, но забыл указать строку "leave ZAKAZ", поэтому и не сработало. Спасибо, что исправил ошибку.
|
Сообщ.
#529
,
|
|
|
можно ли в GPSS в место TRANSFER .333, ProstSS,SL записать TRANSFER (1/3), ProstSS,SL,
работает это одинаково, а вот с точки зрения синтаксиса??? ![]() |
Сообщ.
#530
,
|
|
|
perluhina, можно.
Собственно в качестве любого параметра можно записать любое выражение. единственное условие - обязательно нужно заключить его в скобки. Добавлено особенно это правило помогает при составлении всякого рода условий. например ![]() ![]() test e (f1|f2|(f3=0)),1 |
Сообщ.
#531
,
|
|
|
TEMENbСпасибо, а как доказать это преподу???
есть ли какая книженция, где это написано??? или другой Официальный источник??? |
Сообщ.
#532
,
|
|
|
можно доказать эксперементальным путем.
|
Сообщ.
#533
,
|
|
|
эксперемиентально я доказала, получила за курсач 5, а к экзаману говорит, вы мне принесите источник где написано, что с точки зрения синтаксиса эт не ошибка!!!!
|
Сообщ.
#534
,
|
|
|
ыч.. я думаю только в английской оффиыиальной документации.
А с точки зрения синтаксиса уже даже дробное время не ошибка.. и отритцательный приоритет - не ошибка... вообщем много ньюансов за последние лет 10 появилось )))) |
Сообщ.
#535
,
|
|
|
Программа для 4 источников, буфера и 1 приёмника
SIMULATE GENERATE 4, 1.5 mark 1 queue 1 seize 1 depart 1 advance (Normal(1,5,1)) release 1 mark 2 savevalue i1+,1 savevalue m0,*2 savevalue m0-,*1 test g m0,m1,met1 savevalue m1,*1 met1 terminate GENERATE 4, 1.5 mark 1 queue 1 seize 1 depart 1 advance (Normal(1,5,1)) release 1 mark 2 savevalue i2+,1 savevalue m0,*2 savevalue m0-,*1 test g m0,m2,met2 savevalue m2,*1 met2 terminate GENERATE 4, 1.5 mark 1 queue 1 seize 1 depart 1 advance (EXPONENTIAL(1,5,1)) release 1 mark 2 savevalue i3+,1 savevalue m0,*2 savevalue m0-,*1 test g m0,m3,met3 savevalue m3,*1 met3 terminate GENERATE 4, 1.5 mark 1 queue 1 seize 1 depart 1 advance (EXPONENTIAL(1,5,1)) release 1 mark 2 savevalue i4+,1 savevalue m0,*2 savevalue m0-,*1 test g m0,m4,met4 savevalue m4,*1 met4 terminate GENERATE 600 START 1 TERMINATE 1 Выводит ошибку 12/27/09 14:58:51 test g m0,m3,met3 12/27/09 14:58:51 Operand B. Invalid expression. 12/27/09 14:58:51 Datum has not been initialized. Как можно это исправить? Помогите, пожалуйста. Мозг уже набекрень ![]() m1, m2, m3, m4 - максимальные отклики системы для источника. С m1, m2 - проходит, а дальше - нет. |
Сообщ.
#536
,
|
|
|
Сообщ.
#537
,
|
|
|
вот мучусь-мучусь - никак не получается протабулировать сколько создавался времени мой транзакт если можете - помогите!!!плиз!!! очень нужно!!!
|
Сообщ.
#538
,
|
|
|
irdis_13, не понял вопрос.
![]() ![]() tab table m1,0,1,100 generate ,,,1000 mark advance 40,30 tabulate tab terminate 1 start 1000 |
Сообщ.
#539
,
|
|
|
вопрос в общем в том, какое количество времени потратилось на генерацию транзакта, а ты мне написал сколько времени потратилось на его обработку! проблему решил следующим образом
Цитата EXPON FUNCTION RN1,C24 0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69 .6,.915/.7,1.2/.75,1.38/.8,1.6/.84,1.85 .88,2.12/.9,2.3/.92,2.52/.94,2.81/.95,2.99 .96,3.2/.97,3.5/.98,3.9/.99,4.6/.995,5.3 .998,6.2/.999,7/.9998,8 Time VARIABLE AC1-X1 ;занёс в таблицу значение разницы абсолютного текущего времени и времени появления последнего транзакта TAB table v$Time,0,500,13 SIMULATE GENERATE 900,FN$EXPON,,1000 TABULATE TAB savevalue 1,AC1 ;запомнил время появления последнего транзакта GATE NU VERST1,JUMP2 SEIZE VERST1 ADVANCE 2880,FN$EXPON RELEASE VERST1 TERMINATE 1 JUMP2 GATE NU VERST2,JUMP3 SEIZE VERST2 ADVANCE 2880,FN$EXPON RELEASE VERST2 TERMINATE 1 JUMP3 GATE NU VERST3,JUMP4 SEIZE VERST3 ADVANCE 2880,FN$EXPON RELEASE VERST3 TERMINATE 1 JUMP4 GATE NU VERST4,KILL SEIZE VERST4 ADVANCE 2880,FN$EXPON RELEASE VERST4 TERMINATE 1 KILL TERMINATE 1 START 1000 мне просто нужно было проверить в курсовой закон распределения создания транзактов (а не их обработки) для проверки адекватности!! вопрос понят? а еще вопрос: как мне создать такую систему, в которой обслуживающих станков, которые обрабатывают заготовки, было бы не 1, а несколько, 4 к примеру. Я реализовал это в коде, который находится выше, а нельзя ли это реализовать как-то покороче? НАКОПИТЕЛЕЙ НЕТ. ЕСЛИ УСТРОЙСТВО ЗАНЯТО, ТО ЗАЯВКА ОТБРАСЫВАЕТСЯ!!!! ![]() ![]() |
Сообщ.
#540
,
|
|
|
здраствуите, помогите пожалуста
надо смоделировать систему в среде GPSS World студенческая версия задания: ЭВМ обслуживает три терминала по круговому циклическому алгоритму, предоставляя каждому терминалу 30 с. Если в течение этого времени задание обработалось, то обслуживание завершаетсяЖ если нет, то остаток задачи становится в спецальную очередь, которая использует свободные циклы терминалов, т.е. задача обслуживается, если на каком либо терминале нет заявок. Заявки на терминал поступают через 30+-5 секунд и имеют длину 300+-50 символов. Скорость обработки задании ЭВМ 10символов / секунда. Смоделировать 5 часов работы ЭВМ. Определить загрузку ЭВМ, параметры очереди неоконченных заданий. Определить велечину цикла терминалов, при котори все заявки обработаются без специальной очереди. текст программы котори я пытался написать, прадо у меня не че не получается( хотя ребятам из группы написат курсовые на вскидку, а со своеи такои запар вышел INITIAL X1,3 {инициализация ячеек} INITIAL X2,1 INITIAL X3,1 INITIAL X4,30 INITIAL X5,30 INITIAL X6,30 INITIAL X7,1 GENERATE 30,5 {генераия транзакта} TRANSFER ALL,MET1,MET4 {если занято устроиство по метке 1 то на метку 4} MET4 TRANSFER ALL,MET2,MET3 {если занято устроиство по метке 2 то на метку 3} MET1 PRIORITY X1 {первый терминал} TRANSFER ALL,MET5 MET2 PRIORITY X2 {второи терминал} TRANSFER ALL,MET5 MET3 PRIORITY X3 {третии терминал} TRANSFER ALL,MET5 MET5 PREEMPT EBM,PR SEIZE EBM ADVANCE X5 TEST E P1,X4,MET6 {проверка равно ли 1 значение транзакта Р1 30} RELEASE EBM TERMINATE 1 SAVEVALUE X6-,X5 TEST L X6,1,MET9 {проверка если значение ячеики Х6 меньше 1го то востановить значения ячек} SAVEVALUE X4,30 SAVEVALUE X4-,P1 TRANSFER ALL,MET12 MET6 TEST G P1,X4,MET8 {прроверка если Р1 больше 30} SAVEVALUE P1-,XL4 QUEUE q1 SAVEVALUE X7+,1 TRANSFER all,MET33 MET8 SAVEVALUE X4-,P1 {изменение ячек если значение Р1 меньше 30 и переход на метку 5} SAVEVALUE X5-,4 SAVEVALUE X4,P1 TRANSFER all,MET5 MET9 SAVEVALUE X4,30 SAVEVALUE X5,30 SAVEVALUE X7+,1 TEST E X7,4,MET10 TRANSFER all,MET12 MET10 SAVEVALUE X7,1 TRANSFER all,MET12 MET12 SEIZE OCH dEPART q1 ADVANCE 0 RELEASE OCH TRANSFER all,MET33 MET33 TEST E X7,1,MET21 TEST E X7,2,MET22 TEST E X7,3,MET23 MET21 SAVEVALUE X1,1 SAVEVALUE X2,0 SAVEVALUE X3,0 TRANSFER all,MET1 MET22 SAVEVALUE X1,0 SAVEVALUE X2,1 SAVEVALUE X3,0 TRANSFER all,MET2 MET23 SAVEVALUE X1,0 SAVEVALUE X2,0 SAVEVALUE X3,1 TRANSFER all,MET3 GENERATE 18000 TERMINATE 1 START 1 |