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

Модель железной дороги. Блок QTABLE

19.12.2017, 19:20. Показов 3138. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Постановка задачи

Двухколейная железная дорога имеет между станциями А и В одноколейный участок с разъездом С. На разъезде имеется запасной путь, на котором один состав может пропустить встречный поезд. К станциям А и В поезда прибывают с двухколейных участков каждые 30-50 минут. Участок пути АС поезда преодолевают за 12-18 минут, а участок пути ВС – за 17-23 минуты. Со станций А и В поезда пропускаются на одноколейный участок до разъезда только при условии, что участок свободен, а на разъезде не стоит состав. После остановки на разъезде поезда пропускаются на участок сразу после его освобождения. Поезд останавливается на разъезде, если по лежащему впереди него участку пути движется встречный поезд.
Смоделировать работу одноколейного участка железной дороги при условии, что в направлении АВ через него должны проследовать 50 составом. Определить среднее время ожидания составом на станциях А и В, а также среднее время ожидания на разъезде С и коэффициент загрузки запасного пути.




Листинг программы

Ниже представлен листинг исследуемой модели на языке 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
36
37
38
39
40
41
42
TQUEA   QTABLE AStant,2,2,20 ;табулируем время ожидания на станции А
TQUEB   QTABLE BStant,2,2,20 ;табулируем время ожидания на станции В
TLINEC  TABLE P$CTime,2,2,10 ;табулируем время на запасном пути
stanA   GENERATE (Uniform(1,30,50)) ;прибытие на станцию А 
    QUEUE AStant ;"становимся" в очередь
    TEST E ((F$ACline)|(F$Cline)),0 ;ждем, пока линия до разъезда и запасной путь освободятся
    SEIZE ACline ;идем до разъезда
    DEPART AStant ; уменьшаем счетчик длины очереди на станции А
    ADVANCE (Uniform(2,12,18)) ;время в пути до разъезда
    RELEASE ACline ;освобождаем путь АС
    TEST E F$BCline,0,tozapA ;если ВС занята, идем на запасной путь
toB SEIZE BCline ;едем к станции В
    ADVANCE (Uniform(3,17,23)) ;время в пути от разъезда до станции В
    RELEASE BCline ;освобождаем путь
    TERMINATE 1 ;состав "покидает" систему
tozapA  SEIZE Cline ;занимаем запасной путь
    ASSIGN CTime,(-C1) ;запоминаем системное время со знаком минус
    TEST E F$BCline,0 ;ждем освобождения пути до станции В
    RELEASE Cline ; освобождаем запасной путь    
    ASSIGN CTime+,C1 ;вычисляем время пребывания на запасном пути
    TABULATE TLINEC ;табулируем (распределяем по интервалам)
    TRANSFER ,toB ;переходим на блок пути к станции В
stanB   GENERATE (Uniform(4,30,50)) ;прибытие на станцию B 
    QUEUE BStant ;"становимся" в очередь
    TEST E ((F$BCline)|(F$Cline)),0 ;ждем, пока линия до разъезда и запасной путь освободятся
    SEIZE BCline ;идем до разъезда
    DEPART BStant ; уменьшаем счетчик длины очереди на станции B
    ADVANCE (Uniform(5,17,23)) ;время в пути до разъезда
    RELEASE BCline ;освобождаем путь BС
    TEST E F$ACline,0,tozapB ;если линия AС занята, идем на запасной путь
toA SEIZE ACline ;едем к станции A
    ADVANCE (Uniform(6,12,18)) ;время в пути от разъезда до A
    RELEASE ACline ;освобождаем путь
    TERMINATE ;состав "покидает" систему
tozapB  SEIZE Cline ;занимаем запасной путь
    ASSIGN CTime,(-C1) ;аналогично в обратном направлении
    TEST E F$ACline,0 ;ждем освобождения пути до станции A
    RELEASE Cline ; освобождаем запасной путь
    ASSIGN CTime+,C1 
    TABULATE TLINEC 
    TRANSFER ,toA ;переходим на блок пути к станции A
    START 50 ;моделируем 50 составов в направлении АВ
1. Что такое QTABLE до конца не понимаю, нужна помощь, вот пример:
TQUEA QTABLE AStant,2,2,20 ;табулируем время ожидания на станции А
TQUEA - это название объяекта
AStant - это название очереди
Что такое 2,2 и 20? И как это работает?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2017, 19:20
Ответы с готовыми решениями:

Блок qtable
Какую информацию выводит qtable и table в отчет? Просто по скриншоту скажите, что означают столбцы...

Симулятор работы железной дороги
Всем привет, ребят. Сразу к делу: поставлена задача написать симулятор(работы железной дороги)....

Модель + образного перекрестка 8-и полосной дороги
Здравствуйте, господа, нужна ваша помощью. Есть вот такой перекресток. Все дороги 8 полос ( по 4 на...

QTable
Здравствуйте, подскажите пожалуйста могу ли я сделать элементом QTable(ячейкой) объект типа...

4
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
20.12.2017, 06:27 2
Qtable - элемент (таблица) для сбора статистики по распределению времени нахождения заявок в определённой очереди.

Из литературы:
<NAME> QTABLE <A>,<B>,<C>,<D>
Метка NAME определяет имя таблицы.
В поле А задается имя очереди. Операнд может быть положительным целым или именем.
Поле В - верхняя граница первого частотного класса. Операнд может быть нулем или положительным
целым.
Поле С - размер частотного интервала - разница между верхней и нижней границей каждого частотного
класса. Операнд может быть положительным целым.
В поле D задается число частотных интервалов. В число стандартных статистических данных об
очередях входит среднее время задержки транзакта в очереди. Это значение равно частному от
деления временного интеграла длины очереди на общее число входов в очередь. Q-таблица может
быть переопределена другим QTABLE оператором с той же меткой, что и первый.
0
3 / 3 / 0
Регистрация: 08.08.2014
Сообщений: 214
20.12.2017, 15:14  [ТС] 3
Dukalys, эту документация я читал и до этого но не разобрался.

<NAME>
<A>
Мне понятны

<B>, <C>, <D> в моем случае, что будут означать я не пойму, объясните пожалуйста подробнее

TQUEA QTABLE AStant,2,2,20 ;

1. Поле В - верхняя граница первого частотного класса. Операнд может быть нулем или положительным
целым. Какого еще класса это верхняя граница в моем случае? что значит 2? У меня нету в задании этой двойки нигде.

2. И вторая двойка тоже не понятно.

3. Цифра 20 в моем случае как рассчитывается мне тоже не понятно.

Поясните пожалуйста.
0
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
21.12.2017, 09:21 4
Из названия оператора понятно что это таблица в которой соответственно есть столбцы или строки (как удобнее для понимания).
Столбец "1" - интервалы времени нахождения заявки в очереди - в вашем случае это
[2-4) [4-6) [6-8) и так всего 20 интервалов начиная с 2 по 2 единицы.

В ячейке таблицы сохраняется количество заявок, которые ожидали в заданной очереди соответствующее столбцу время.

Например 5 заявок ждали от 2 до 4 секунд, 10 заявок от 4 до 6с, ... и так далее.


Определение всех этих интервалов необходимо ТОЛЬКО для красивого графического представления распределения среднего времени обслуживания заявок в системе и НИКАК не влияет на статистику обслуживания в очереди системы.
0
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
21.12.2017, 09:25 5
Код
TAB QTABLE OCHERED 2,2,20

GENERATE (EXPONENTIAL(1,0,10))
QUEUE OCHERED
SEIZE YSTR
DEPART OCHERED
ADVANCE (EXPONENTIAL(1,0,6))
RELEASE YSTR
TERMINATE 1
START 10000
Запустите модель. После завершения моделирования перейдите в панель меню Window/Simulation Window/Table Window выберите таблицу и ок.

Модель железной дороги. Блок QTABLE
0
21.12.2017, 09:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.12.2017, 09:25
Помогаю со студенческими работами здесь

Ограничение ввода в QTable
Добрый вечер,форумчане! Подскажите,пожалуйста,как можно сделать &quot;защиту от дурака&quot; ? Так ,чтобы в...

Qt3 QTable::paintCell
Доброго времени суток. Разрабатываю небольшой проект в Qt3 Designer (3.3.6), не спрашивайте почему...

Модель сборочного цеха (блок Transfer)
DETA1 FUNCTION RN1,D3 .4,28/.8,30/1,32 DETA2 FUNCTION RN1,D3 .4,30/.8,40/1,50 DETA3...

Модель работы склада. Блок TABLE
Здравствуйте! По моделированию нужно сдать курсовую :-| Модель составила,работает, но препод просит...


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

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