
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.21] |
![]() |
|
Страницы: (54) « Первая ... 15 16 [17] 18 19 ... 53 54 ( Перейти к последнему сообщению ) |
Сообщ.
#241
,
|
|
|
TEMENb пожскажите плиз в каком направлении хоть думать
![]() ![]() |
Сообщ.
#242
,
|
|
|
flatline в самом первом посте вы привели урезанный текс задания и вашу версию модели. А дальше гадание на кофейной гуще почему не работает.
Условие правильное TEST E (S$buf1 + S$buf2),0 Но. Чтобы оно выполнилось необходимо наличие полностью свободной памяти МКУ buf1 и buf2. Это событие произойти не может т.к. всегда будет хотя бы одна подгружаемая задача. Интенсивность появления задач больше чем интенсивность обработки Цитата здесь постоянно накапливается очередьgenerate 20,10 queue och1 metka gate snf buf2,zanyt enter buf2,3 advance 21,3 Решение здесь одно, чтобы задача сама занимала память(захватывая или вытесняя подгружаемые задачи) не охота 'флеймить'. Приведите весь текст задачи или пишите в PM если нужна помощь Все по 10$ |
Сообщ.
#243
,
|
|
|
задача: в вычислительном центре в обработку принимаются 3 класса заданий: А, В, С. Исходя из наличия памяти в ЭВМ задания классов А и В могут решаться одновременно, а задача класса С монополизирует ЭВМ. задания класса А поступают через 15-25 мин, класса В через 10-30 мин, класса С через 20-40. И требуют для выполнения класса А 15-25 мин, класс В 18-24, класс С - 23-33 мин. Задачи класса С запускается в ЭВМ если она полностью свободна. Задачи класса А и В могут дозагружаться к решающей задаче.
вот последний код программы (с времененм было не так.. но чет ниче не изменилось в итоге): ![]() ![]() buf1 STORAGE 4 buf2 storage 4 TABL1 TABLE M1,10,10,20 TABL2 TABLE M1,900,10,20 TABL3 TABLE M1,1200,100,200 generate 20,5 queue och1 povtor gate snf buf1,metka depart och1 enter buf1,3 advance 20,5 leave buf1,3 tabulate TABL1 terminate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; generate 20,10 queue och1 metka gate snf buf2,zanyt depart och1 enter buf2,3 advance 21,3 leave buf2,3 tabulate TABL2 terminate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; generate 30,10 queue och1 TEST E(S$buf1+S$buf2),0 depart och1 enter buf1,3 enter buf2,3 advance 28,5 leave buf2,3 leave buf1,3 tabulate TABL3 terminate zanyt advance 69,13 transfer, povtor generate 4800 terminate 1 start 1 P.S. если сам не додумаюсь то обращусь... а че значит ВСЕ по 10 $.. что понимается под словом ВСЕ ? ![]() |
Сообщ.
#244
,
|
|
|
TEST E(S$buf1+S$buf2),0 условие по прежнему работает
Последние изменений Цитата flatline @ позволяют убрать условие. Тогда задачи класса C будут сначала захватявать память buf1 затем buf2. buf1 STORAGE 4 buf2 storage 4 ... enter buf1,3 ... depart och1(2) - ставится после ENTER xx |
Сообщ.
#245
,
|
|
|
Eugen спасибо!!!! ты в этой ветке Задачи с решениями по GPSS привел решение задачи №6... я глянул задачник у меня под номером 6 такое же задание.. у тебя нету случайно 12го задания?
![]() |
Сообщ.
#246
,
|
|
|
лучше так
![]() ![]() generate 30,10 PRIORITY 1 // чтобы приоритет был выше чем у задач класса A,B queue och1 enter buf1,3 enter buf2,3 depart och1 .. |
Сообщ.
#247
,
|
|
|
оооооо у меня прошло 14 транзактов из 155!!!!!! я убрал условие проверять память!!!!
![]() ![]() 10 GENERATE 240 0 0 11 QUEUE 240 0 0 METKA 12 GATE 240 29 0 13 ENTER 211 0 0 14 DEPART 211 0 0 15 ADVANCE 211 1 0 16 LEAVE 210 0 0 17 TABULATE 210 0 0 18 TERMINATE 210 0 0 19 GENERATE 159 0 0 20 QUEUE 159 145 0 21 ENTER 14 1 0 22 ENTER 13 0 0 23 DEPART 13 0 0 24 ADVANCE 13 0 0 25 LEAVE 13 0 0 Добавлено убрал проверку на буферы и поставил приоритет на класс С... ![]() ![]() LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY 1 GENERATE 243 0 0 2 QUEUE 243 0 0 POVTOR 3 GATE 243 242 0 4 ENTER 1 0 0 5 DEPART 1 0 0 6 ADVANCE 1 0 0 7 LEAVE 1 0 0 8 TABULATE 1 0 0 9 TERMINATE 1 0 0 10 GENERATE 235 0 0 11 QUEUE 235 0 0 METKA 12 GATE 235 137 0 13 ENTER 98 0 0 14 DEPART 98 0 0 15 ADVANCE 98 0 0 16 LEAVE 98 0 0 17 TABULATE 98 0 0 18 TERMINATE 98 0 0 19 GENERATE 158 0 0 20 PRIORITY 158 0 0 21 QUEUE 158 60 0 22 ENTER 98 0 0 23 ENTER 98 0 0 24 DEPART 98 0 0 25 ADVANCE 98 1 0 26 LEAVE 97 0 0 27 LEAVE 97 0 0 28 TABULATE 97 0 0 29 TERMINATE 97 0 0 ZANYT 30 ADVANCE 0 0 0 31 TRANSFER 0 0 0 32 GENERATE 1 0 0 33 TERMINATE 1 0 0 Eugen спасибо большое! думаю что то боле менее уже получилось )) |
Сообщ.
#248
,
|
|
|
количество обработанных заданий класса A и B должно при этом уменьшиться
может и есть №12. списка задание не нашел.. |
Сообщ.
#249
,
|
|
|
а у меня вопрос!!!!
чем отличается строка ![]() ![]() generate 30,10 PRIORITY 1 от ![]() ![]() generate 30,10,,1 в обоих случаях приоритеты же ставим... |
Сообщ.
#250
,
|
|
|
Недостаток прошлого решения это частый бесполезный простой задания класса С в ожидание ресурса buf2 и аналогичный простой заданий класса А.
Следующий вариант немного улучшает ситуацию. Задание класса сначала занимают один из ресурсов buf1 или buf2 и только после этого становится в 'очередь' на занятие второго ресурса. ![]() ![]() GENERATE 30,10,,1 QUEUE och3 TRANSFER BOTH,,met111 ENTER buf1 ENTER buf2 TRANSFER , met222 met111 ENTER buf2 ENTER buf1 met222 DEPART och3 ADVANCE .. Добавлено ![]() ![]() GENERATE 30,10,,1 QUEUE och3 SEISE MUTEX // что бы в следующем участке модели мог находится только 1 транзакт. Иначе возможны deadlock'и TRANSFER BOTH,,met111 ENTER buf1 ENTER buf2 TRANSFER , met222 met111 ENTER buf2 ENTER buf1 met222 DEPART och3 ADVANCE 28,5 LEAVE buf2,3 LEAVE buf1,3 RELEASE MUTEX // освободить.. TABULATE TABL3 |
Сообщ.
#251
,
|
|
|
Eugen спасибо огромное!!! а то у нас gpss на самообучение дали...
![]() |
Сообщ.
#252
,
|
|
|
Имеется некоторая конвейерная автоматизированная линия по выпуску баночек фруктового сока.
Пустые баночки для фруктового сока поступают в накопитель 1 автоматизированной ли-нии каждые 3,5 ± 1,1 секунд. После этого в них автоматически заливает¬ся сок. Одновременно может заливаться лишь одна баночка, на что расходуется 1,5 секунды. Потом баночки поступают в накопитель 2 для выполнения операции закупоривания. Для этого расходуется 1,6 секунд времени на каждую баночку. Одновременно может обраба-тываться одна баночка. Потом они попадают в накопитель 3 для следующей операции. В конце конвейера баночки устанавливаются в ящики. Время установки одной баночки представляет собой равно¬мерно распределенную случайную величину в интервале 2,0 ± 0,8 секунд. Одновременно может устанавливаться в ящик не боль¬ше двух баночек. В начале смены в накопителе 2 находится 20 баночек, а в накопителе 3 – 36 баночек. Определить, какие размеры должны иметь накопители. Промодели¬руйте работу линии на протяжении одной смены (8 часов). Добрый день!! можете глянуть текст? все правильно? большое спасибо! UPAKOVKA STORAGE 3 GENERATE 3.5,1.1 ;Заливка сока QUEUE Q_ZALIVKA SEIZE ZALIVKA DEPART Q_ZALIVKA ADVANCE 1.5 RELEASE ZALIVKA ;Закупоривание L1 QUEUE Q_ZAKUPORKA SEIZE ZAKUPORKA DEPART Q_ZAKUPORKA ADVANCE 1.6 RELEASE ZAKUPORKA ;упаковка в ящик L2 QUEUE Q_UPAKOVKA ENTER UPAKOVKA DEPART Q_UPAKOVKA ADVANCE 2,0.8 LEAVE UPAKOVKA TERMINATE ;начальная очередь для устройства закупоривания GENERATE ,,,20 TRANSFER ,L1 ;начальная очередь для МКУ упаковки GENERATE ,,,36 TRANSFER ,L2 ;моделируем 8-ми часовой рабочий день GENERATE 28800 TERMINATE 1 START 1 |
Сообщ.
#253
,
|
|
|
ОШИБКА. Здесь нужна двойка
UPAKOVKA STORAGE 3 //Одновременно может устанавливаться в ящик не больше двух баночек |
Сообщ.
#254
,
|
|
|
да, спасибо огромное!!
а остальное? то, что я использовала одноканальные устаройства, а не мку? |
Сообщ.
#255
,
|
|
|
вроде верно, только одно замечание.
Время должно быть дискретным. Хотя, если честно, GPSS World адекватно моделирует и с дробными значениями. |