Форум программистов, компьютерный форум, киберфорум
GPSS
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/29: Рейтинг темы: голосов - 29, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 13.11.2013
Сообщений: 40
1

Модель магазина с двумя кассами

23.03.2015, 14:32. Показов 5327. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Модель магазина с двумя кассами
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.03.2015, 14:32
Ответы с готовыми решениями:

Модель магазина с 3 обработчиками и двумя распределителями
там где первый раз проверяем длину очереди надо, чтобы покупатель встал в первую, а Q$CASH1,Q$CASH2...

Модель магазина
Поток покупателей распределён по экспоненциальному закону Tср=8мин, Тmin=5мин. Есть 2 зала, ...

ER-модель магазина
Здравствуйте! Помогите, пожалуйста, составить er-модель для продуктового магазина. Выделил такие...

ER-модель музыкального магазина
В терминах ER-модели описать фонотеку музыкального магазина. В магазине имеются разножанровые...

12
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
23.03.2015, 15:14 2
Добрый день, как понимать вашу тему? Что вам не понятно? Чем помочь
1
0 / 0 / 0
Регистрация: 13.11.2013
Сообщений: 40
23.03.2015, 16:04  [ТС] 3
Добрый день, как понимать вашу тему? Что вам не понятно? Чем помочь
Здравствуйте. Работаю над курсовым проектом. Нужно создать магазин с тремя кассами. В первую и вторую кассу одна общая очередь, а в третью своя, я не могу сравнить занятость кассиров, надеюсь на вашу помощь ))
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
SHOP STORAGE 3                                      ;ОДНА ОЧЕРЕДЬ К 2 КАССИРАМ                                                                                                                   ;  Создаём магазин с 3 кассами.
 
GENERATE 13                                                                                                                                                                                  ; Задаём частоту посещения покупателями. раз в 13 минут.
 
ENTER SHOP                                                     ; Покупатель зашёл в магазин.
QUEUE CASH1                                                    ;первый покупатель встает в первую очерез
IT1 TEST L S$CASHIER1,S$CASHIER2,IT2                                                    ; Встаём в очередь.
SEIZE CASHIER1                                                 ; Занимаем  кассира.
ADVANCE 17.5,2.5                                               ; Ждем 15-20 минут. 
DEPART CASH1                                                   ; Выходим из очереди.
RELEASE CASHIER1                                               ; Уходим от кассира.
TRANSFER ,EX                                                   ; Перемещаемся к метке ЕХ.
                                                   ;второй покупатель встает во вторую очередь
 
IT2 TEST L S$CASHIER1,S$CASHIER2,IT1                                              ;Встаём во вторую очередь
                               
SEIZE CASHIER1                                                 ; Занимаем кассира.
ADVANCE 17.5,2.5                                               ; Ждем 15-20 минут. 
DEPART CASH1                                                   ; Выходим из очереди.
RELEASE CASHIER2                                               ; Уходим от кассира.
TRANSFER ,EX                                                   ; Перемещаемся к метке ЕХ.
 
 
 
IT3 QUEUE KNIG                                                 ; Некоторые покупатели идут за книгами.
SEIZE CASHIER3                                                 ; Занимаем кассира книжного.
ADVANCE 17.5,2.5                                               ; Ждём 15-20 минут.
DEPART KNIG                                                    ; Освобождаем очередь .
RELEASE CASHIER3                                              ; Уходим от кассира.
TRANSFER ,EX
 
 
EX LEAVE SHOP                                                  ; Покидаем магазин.
TERMINATE                                                      ; Завершаем транзакт.
 
 
GENERATE 480                                                   ; Задаём время срабатывания 480 минут (8часов)
TERMINATE 1                                                    ; Вычитаем 1.
START 1                                                        ; Начинаем выполнение модели.
тут не знаю ка првильно описать IT1 TEST L S$CASHIER1,S$CASHIER2,IT2

Добавлено через 21 минуту
я сделал вот так, но не могу понять, задействованы ли 2 кассир и касса книги

Добавлено через 20 секунд
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
SHOP STORAGE 3                                      ;ОДНА ОЧЕРЕДЬ К 2 КАССИРАМ                                                                                                                   ;  Создаём магазин с 3 кассами.
 
GENERATE 13                                                                                                                                                                                  ; Задаём частоту посещения покупателями. раз в 13 минут.
 
ENTER SHOP                                                     ; Покупатель зашёл в магазин.
QUEUE CASH1                                                    ;первый покупатель встает в очередь
SEIZE CASHIER1                                                 ; Проверяем, занят ли кассир и встает к нему, если не занят.
ADVANCE 17.5,2.5                                               ; Выполняется обслуживание покупателя в течение 15-20 минут. 
DEPART CASH1                                                   ; Выходим из очереди.
RELEASE CASHIER1                                               ; Уходим от кассира.
TRANSFER ,EX                                                   ; Перемещаемся к метке ЕХ.
 
                               
SEIZE CASHIER1                                                 ; Занимаем кассира.
ADVANCE 17.5,2.5                                               ; Ждем 15-20 минут. 
DEPART CASH1                                                   ; Выходим из очереди.
RELEASE CASHIER2                                               ; Уходим от кассира.
TRANSFER ,EX                                                   ; Перемещаемся к метке ЕХ.
 
IT3 QUEUE KNIG                                                 ; Некоторые покупатели идут за книгами.
SEIZE CASHIER3                                                 ; Занимаем кассира книжного.
ADVANCE 17.5,2.5                                               ; Ждём 15-20 минут.
DEPART KNIG                                                    ; Освобождаем очередь .
RELEASE CASHIER3                                              ; Уходим от кассира.
TRANSFER ,EX
 
 
EX LEAVE SHOP                                                  ; Покидаем магазин.
TERMINATE                                                      ; Завершаем транзакт.
 
 
GENERATE 480                                                   ; Задаём время срабатывания 480 минут (8часов)
TERMINATE 1                                                    ; Вычитаем 1.
START 1                                                        ; Начинаем выполнение модели.
0
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
23.03.2015, 17:17 4
Легко определить результат моделирования по вот этой таблице в отчёте

Код
LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY
                    1    GENERATE            36             7       0
                    2    ENTER               29             0       0
                    3    QUEUE               29             2       0
                    4    SEIZE               27             0       0
                    5    ADVANCE             27             1       0
                    6    DEPART              26             0       0
                    7    RELEASE             26             0       0
                    8    TRANSFER            26             0       0
                    9    SEIZE                0             0       0
                   10    ADVANCE              0             0       0
                   11    DEPART               0             0       0
                   12    RELEASE              0             0       0
                   13    TRANSFER             0             0       0
IT3                14    QUEUE                0             0       0
                   15    SEIZE                0             0       0
                   16    ADVANCE              0             0       0
                   17    DEPART               0             0       0
                   18    RELEASE              0             0       0
                   19    TRANSFER             0             0       0
EX                 20    LEAVE               26             0       0
                   21    TERMINATE           26             0       0
                   22    GENERATE             1             0       0
                   23    TERMINATE            1             0       0
Здесь основные блоки программы и количество заявок которые прошли через блок ENTRY COUNT и текущее число заявок в блоке на конец моделирования CURRENT COUNT.

Увеличил время моделирования
Блоки с 9 по 19 в вашей модели не используются, то есть ни одна заявка в них небыла, делайте выводы!!!
Виновник вот TRANSFER ,EX не пропускает заявки ниже, а отправляет их все на метку ЕХ.
0
0 / 0 / 0
Регистрация: 13.11.2013
Сообщений: 40
23.03.2015, 20:44  [ТС] 5
Спасибо, теперь понял как посмотреть процессы, спасибо, но неполадку не могу устранить, удалил TRANSFER ,EX в двух первых блоках, но что то не ладится, с GPSS не больше нескольких дней общаюсь, можно немного точнее указать что исправить нужно?))
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
SHOP STORAGE 3                                      ;ОДНА ОЧЕРЕДЬ К 2 КАССИРАМ                                                                                                                   ;  Создаём магазин с 3 кассами.
 
GENERATE 13                                                                                                                                                                                  ; Задаём частоту посещения покупателями. раз в 13 минут.
 
ENTER SHOP                                                     ; Покупатель зашёл в магазин.
QUEUE CASH1                                                    ;первый покупатель встает в очередь
SEIZE CASHIER1                                                 ; Проверяем, занят ли кассир и встает к нему, если не занят.
ADVANCE 17.5,2.5                                               ; Выполняется обслуживание покупателя в течение 15-20 минут. 
DEPART CASH1                                                   ; Выходим из очереди.
RELEASE CASHIER1                                               ; Уходим от кассира.
                                                 ; Перемещаемся к метке ЕХ.
 
                              
SEIZE CASHIER1                                                 ; Занимаем кассира.
ADVANCE 17.5,2.5                                               ; Ждем 15-20 минут. 
DEPART CASH1                                                   ; Выходим из очереди.
RELEASE CASHIER2                                               ; Уходим от кассира.
                                                 ; Перемещаемся к метке ЕХ.
 
 
QUEUE KNIG                                                 ; Некоторые покупатели идут за книгами.
SEIZE CASHIER3                                                 ; Занимаем кассира книжного.
ADVANCE 17.5,2.5                                               ; Ждём 15-20 минут.
DEPART KNIG                                                    ; Освобождаем очередь .
RELEASE CASHIER3                                              ; Уходим от кассира.
TRANSFER ,EX
 
 
EX LEAVE SHOP                                                  ; Покидаем магазин.
TERMINATE                                                      ; Завершаем транзакт.
 
 
GENERATE 480                                                   ; Задаём время срабатывания 480 минут (8часов)
TERMINATE 1                                                    ; Вычитаем 1.
START 1                                                        ; Начинаем выполнение модели.
0
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
24.03.2015, 07:12 6
Модель GPSS выполняется "снизу вверх", то есть . в блоках GENERATE формируются заявки и они идут строго из этих блоков вниз, встречая на своём пути всякие перенаправления TRANSFER которые изменяют их путь.

Сейчас у вас линейная модель посмотрите правильно ли работает логика?
После GENERATE 13 заявка идёт в
ENTER SHOP ; Покупатель зашёл в магазин.

Здесь что происходит? Всего у вас объявлено вверху SHOP это 3 кассира, почему вы здесь в комментариях пишите про магазин?

Дело в том, что из-за этой путаницы, у вас следующая ситуация - в магазине у вас не может быть больше чем 3 человека, потомучто занятие места у вас сразу после generate
ENTER SHOP

а выход покупателя (освобождение места SHOP) в самом конце программы.

Мне кажется это не верным, поскольку кассиры это одно, а покупатели другое. Врядли у вас есть ограничение на число покупателей в магазине.

Если какие-то блоки не понимаете, то смотрите книгу Кудрявцев имитационное моделирование на GPSS - базовые вещи мы на форуме лучше вам не сможем объяснить чем это делается в книгах!!! Кстати там всё на примерах.
1
0 / 0 / 0
Регистрация: 13.11.2013
Сообщений: 40
24.03.2015, 11:24  [ТС] 7
Спасибо, что объянили, теперь немного понятнее. Теперь, я так понял, надо сделать тест кассиров первых 2, тоесть если первый занят-покупатель идет ко второму, если заняты оба, то в третью кассу. А вот как это сделать.. И нет ли ссылки на электронный формат книги?
0
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
24.03.2015, 16:09 8
Да видимо ТЕСТ не хватает, книга в электроне в сети в принципе доступна, прямой ссылки нету.
1
0 / 0 / 0
Регистрация: 13.11.2013
Сообщений: 40
24.03.2015, 16:59  [ТС] 9
Я видимо уже достал), но всё же, очереди сравниваются так: TEST L Q$CASH1,Q$CASH2, а как сравниваются кассиры?
0
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
24.03.2015, 17:05 10
Q$CASH1 - это Q$ - текущий размер очереди, CASH1 название очереди
есть и другие параметры у объекта типа очередь, среднее время, среднее число заявок в очереди, и так далее.

А что нужно сравнить у кассиров? какие параметры вас интересуют
0
0 / 0 / 0
Регистрация: 13.11.2013
Сообщений: 40
24.03.2015, 23:36  [ТС] 11
Занятость, тоесть если кассир занят то отправить к другому
0
0 / 0 / 0
Регистрация: 13.11.2013
Сообщений: 40
26.03.2015, 19:17  [ТС] 12
Не ответите?
0
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
26.03.2015, 20:05 13
Ааа прочитал и забыл

Занятость простого SEIZE-RELEASE определяется просто F$название устройства =0 свободен, 1 занят

А вот с многоканальным устройством сложнее. здесь нельзя сказать конкретно кто занят. можно лишь узнать число свободных занятых.

S$ Текущее содержимое многоканального устройства . Содержимое многоканального устройства может
изменяться блоками ENTER и LEAVE.
R$ Число свободных единиц многоканального устройства . Эта величина может изменяться блоками ENTER и
LEAVE.
Если нужна занятость конкретных, то внутри ENTER-LEAVE
производится моделирование отдельных каналов с помощью SEIZE-RELEASE, выбор SEIZE RELEASE делают обычно выбором SELECT
0
26.03.2015, 20:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.03.2015, 20:05
Помогаю со студенческими работами здесь

Модель небольшого продовольственного магазина
Плохо понимаю GPSS. Очень нужна эта задачка, чтобы получить зачет. Буду благодарен

Создать модель магазина самообслуживания
Помогите, пожалуйста, сделать лабу, у меня все плачевно с этим. Нужно создать модель магазина...

Посторить модель продовольственного магазина
Посторить модель продовольственного магазина...

Концептуальная модель информационной системы магазина
:-[я все правильно сделал?)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru