0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 2
|
|
1 | |
Билетная касса железнодорожного вокзала. Моделирование СМО13.05.2015, 21:44. Показов 2814. Ответов 2
Метки нет (Все метки)
Помогите разобраться с логикой.
Условие задачи: "На железнодорожном вокзале имеется 3 кассы: 2 обычные и 1 для военных. Пассажиры появляются через каждые A±B минут. Время обслуживания в кассах зависит от обстоятельств и составляет Ck±Dk минут, где k — номер кассы. 10% пассажиров — военные, которые идут обслуживаться в военную кассу. Гражданские пассажиры обслуживаются в двух других кассах, но если военная касса пуста, то они могут обслуживаться в ней в порядке очереди. Если появляется военный, то он обслуживается вне очереди, но только в военной кассе. Проанализировать работу касс в течение 8 часов." Код
GENERATE 5,2 ; Генерация потока людей TRANSFER .10,ludi,vetera ; Распределение людей на простых людей ; и военных ludi ASSIGN type,1 ; Присвоение 1 типа для простых людей QUEUE ludihPRIHOD ; Постановка в очередь простых людей DEPART ludihPRIHOD ; Освобождение очереди простых людей TRANSFER ,pri ; Отправка простых людей к метке pri vetera ASSIGN type,2 ; Присвоение 2 типа для военных QUEUE veterahPRIHOD ; Постановка в очередь военных DEPART veterahPRIHOD ; Освобождение очереди военных TRANSFER ,t02 ; Отправка военных к метке t02 *---------------------------------------------------------------------------- * Метка распределения потока гражданских пассажиров *---------------------------------------------------------------------------- pri TRANSFER ALL,t01,t02,6 ; Выбор незанятой кассы *---------------------------------------------------------------------------- * Обслуживающие устройства *---------------------------------------------------------------------------- * Касса 1 *---------------------------------------------------------------------------- t01 SEIZE cassa1 ; Занять кассу 1 ADVANCE 16,4 ; Обслуживание в кассе 1 QUEUE ludiCassa1 ; Постановка в очередь DEPART ludiCassa1 ; Освобождение очереди RELEASE cassa1 ; Освобождение кассы 1 TRANSFER ,fin ; Отправка к метке fin *---------------------------------------------------------------------------- * Касса 2 *---------------------------------------------------------------------------- SEIZE cassa2 ; Занять кассу 2 ADVANCE 14,3 ; Обслуживание в кассе 2 QUEUE ludiCassa2 ; Постановка в очередь DEPART ludiCassa2 ; Освобождение очереди RELEASE cassa2 ; Освобождение кассы 2 TRANSFER ,fin ; Отправка к метке fin *---------------------------------------------------------------------------- * Касса 3 *---------------------------------------------------------------------------- t02 SEIZE cassaveteran ; Занять кассу 3 TEST E P$type,2,neveter ; Проверка типа TRANSFER ,veter ; Если тип не соответствует условию то ; отправить к метке neveter neveter PRIORITY 1 ; Установление приоритета иному типу QUEUE ludiCassa3 ; Постановка в очередь DEPART ludiCassa3 ; Освобождение очереди TRANSFER ,adva ; Отправка к метке adva veter PRIORITY 2 ; Установление приоритета 2-ому типу QUEUE veterans ; Постановка в очередь DEPART veterans ; Освобождение очереди adva ADVANCE 20,4 ; Обслуживание в кассе 3 RELEASE cassaveteran ; Освобождение кассы 3 TRANSFER ,fin ; Отправка к метке fin *---------------------------------------------------------------------------- * Генерация 8-ми часового рабочего дня *---------------------------------------------------------------------------- fin TERMINATE 0 ; Удаление транзакта GENERATE 480 ; Генерация времени (8 часов) TERMINATE 1 ; Удаление транзакта START 1 ; Начать с 1 Код
GENERATE 5,2 ; Генерация потока людей TRANSFER .10,ludi,vetera ; Распределение людей на простых людей ; и военных ludi ASSIGN type,1 ; Присвоение 1 типа для простых людей QUEUE ludihPRIHOD ; Постановка в очередь простых людей DEPART ludihPRIHOD ; Освобождение очереди простых людей TRANSFER ,pri ; Отправка простых людей к метке pri vetera ASSIGN type,2 ; Присвоение 2 типа для военных QUEUE veterahPRIHOD ; Постановка в очередь военных DEPART veterahPRIHOD ; Освобождение очереди военных TRANSFER ,t02 ; Отправка военных к метке t02 *---------------------------------------------------------------------------- * Метка pri *---------------------------------------------------------------------------- pri TRANSFER ALL,t01,t02,6 ; Выбор незанятой кассы *---------------------------------------------------------------------------- t01 SEIZE cassa1 ; Занять кассу 1 ADVANCE 16,4 ; Обслуживание в кассе 1 QUEUE ludiCassa1 ; Постановка в очередь DEPART ludiCassa1 ; Освобождение очереди RELEASE cassa1 ; Освобождение кассы 1 TRANSFER ,fin ; Отправка к метке fin *---------------------------------------------------------------------------- SEIZE cassa2 ; Занять кассу 2 ADVANCE 14,3 ; Обслуживание в кассе 2 QUEUE ludiCassa2 ; Постановка в очередь DEPART ludiCassa2 ; Освобождение очереди RELEASE cassa2 ; Освобождение кассы 2 TRANSFER ,fin ; Отправка к метке fin *---------------------------------------------------------------------------- t02 TEST E P$type,2,neveter ; Проверка типа TRANSFER ,veter ; Если тип не соответсвует условию то ; отправить к метке neveter neveter PRIORITY 1 ; Установление приоритета иному типу QUEUE ludiCassa3 ; Постановка в очередь DEPART ludiCassa3 ; Освобождение очереди TRANSFER ,adva ; Отправка к метке adva veter PRIORITY 2 ; Установление приоритета 2-ому типу QUEUE veterans ; Постановка в очередь DEPART veterans ; Освобождение очереди adva QUEUE ochered3 SEIZE cassaveteran ; Занять кассу 3 DEPART ochered3 ADVANCE 20,4 ; Обслуживание в кассе 3 RELEASE cassaveteran ; Освобождение кассы 3 TRANSFER ,fin ; Отправка к метке fin *---------------------------------------------------------------------------- fin TERMINATE 0 ; Удаление транзакта GENERATE 480 ; TERMINATE 1 ; START 1 ; Возникает вопрос, а правильно ли начинает работать блок "pri TRANSFER ALL,t01,t02,6 ; Выбор незанятой кассы"
0
|
13.05.2015, 21:44 | |
Ответы с готовыми решениями:
2
Система массового обслуживания - билетная касса с тремя окошками Билетная касса Реализовать автоматизированную информационную систему железнодорожного вокзала (динамические структуры данных) Составить схему (сначала только схему) информационной системы железнодорожного вокзала |
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
|
|
14.05.2015, 08:04 | 2 |
Два подвоха, которые я здесь вижу
1. 2. Добавлено через 2 минуты Хотя возможно это заведомое усложнение модели. Нормально работает.
0
|
0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 2
|
|
14.05.2015, 17:23 [ТС] | 3 |
Да, вчера еще разобрался. Обе модели не учитывают прибытие военных (не учитывается не приоритет, и ветераны не идут без очереди а ожидают (в TRANSFER)).
Вот адекватная модель (по-моему мнению конечно ): P.S. Ну и подсчет статистики ведется по-человечески а не через QUEUE-DEPART Код
GENERATE 5,2 ; Генерация потока людей SAVEVALUE Passajiri+,1 ; Подсчет пассажиров TRANSFER .10,ludi,voennie ; Распределение людей на гражданских ; и военных ludi ASSIGN type,1 ; Присвоение 1 типа для простых людей SAVEVALUE Grajdanskie+,1 ; Подсчет гражданских пассажиров PRIORITY 1 ; Установка приоритета TRANSFER ,pri ; Отправка простых людей к метке pri voennie ASSIGN type,2 ; Присвоение 2 типа для военных SAVEVALUE Voennie+,1 ; Подсчет военных пассажиров PRIORITY 2 ; Установка приоритета TRANSFER ,t02 ; Отправка военных к метке t02 *---------------------------------------------------------------------------- * Метка распределения потока гражданских пассажиров *---------------------------------------------------------------------------- pri TRANSFER ALL,t01,t02,5 ; Выбор незанятой кассы *---------------------------------------------------------------------------- * Обслуживающие устройства *---------------------------------------------------------------------------- * Касса 1 *---------------------------------------------------------------------------- t01 SEIZE cassa1 ; Занять кассу 1 ADVANCE 16,4 ; Обслуживание в кассе 1 SAVEVALUE Cassa1+,1 ; Подсчет обслуженных пассажиров в кассе 1 RELEASE cassa1 ; Освобождение кассы 1 TRANSFER ,fin ; Отправка к метке fin *---------------------------------------------------------------------------- * Касса 2 *---------------------------------------------------------------------------- SEIZE cassa2 ; Занять кассу 2 ADVANCE 14,3 ; Обслуживание в кассе 2 SAVEVALUE Cassa2+,1 ; Подсчет обслуженных пассажиров в кассе 2 RELEASE cassa2 ; Освобождение кассы 2 TRANSFER ,fin ; Отправка к метке fin *---------------------------------------------------------------------------- * Касса 3 *---------------------------------------------------------------------------- t02 TEST E P$type,2,nevoennie ; Проверка типа PREEMPT cassavoennie ; Захват кассы 3 ADVANCE 20,4 ; Обслуживание в кассе 3 RETURN cassavoennie ; Восстановить работу кассы 3 SAVEVALUE Cassa3Voenie+,1; Подсчет обслуженных гражданских в кассе 3 TRANSFER ,fin ; Отправка к метке fin nevoennie SEIZE cassavoennie ; Занять кассу 3 SAVEVALUE Cassa3Grajd+,1 ; Подсчет обслуженных военных в кассе 3 ADVANCE 20,4 ; Обслуживание в кассе 3 RELEASE cassavoennie ; Освобождение кассы 3 TRANSFER ,fin ; Отправка к метке fin *---------------------------------------------------------------------------- * Генерация 8-ми часового рабочего дня *---------------------------------------------------------------------------- fin TERMINATE 0 ; Удаление транзакта GENERATE 480 ; Генерация времени (8 часов) TERMINATE 1 ; Удаление транзакта START 1 ; Начать с 1
0
|
14.05.2015, 17:23 | |
14.05.2015, 17:23 | |
Помогаю со студенческими работами здесь
3
Моделирование СМО Моделирование СМО Моделирование СМО Моделирование СМО Моделирование работы СМО Имитационное моделирование СМО Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |