Форум программистов, компьютерный форум, киберфорум
GPSS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 10

Модель железнодорожных перевозок

05.06.2016, 00:57. Показов 1665. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Железнодорожная сеть состоит из трех станций. С интервалом времени, которое указано в расписание в сеть поступают поезда. Но в нашем случае поезда поступают в сеть через 2 источника. Перед каждой станцией возможно возникновение очереди, длина которой не ограничена. После поступления поезда в сеть, он поступает в очередь, после чего поступает на станцию, ёмкость станции ограничена, она не превышает 10 колей. После поступления поезда на станцию он занимает колею, время передвижения по колее задано в расписание, после чего он становиться во вторую очередь, проверяя станцию 2, и поезд начинает движение к очереди 3. После поступление поезда в очередь, он занимает станцию 3, и поезд следует дальше. Со второго источника поезд стает в очередь 4, и поступает на станцию 3, после прохождения колеи 3, он становиться в очередь 5, и передвигается к станции 2, занимая колею 4. После чего он становиться в очередь 6, и передвигается к станции 1, после чего едет дальше.
Q-схема



Подскажите пожалуйста. Вопрос заключается в том, что нужно задать правильное расписание поездов, то есть их время прибытия, к примеру: 6.00 6.40 6.55 7.03 7.55 и так дальше. Пробивал ставить GENERATE, но он может задать точное время прибытия только первого поезда, а все остальные идут в интервале. И побывал после GENERATE ставить ADVANCE, и ставить метку на накопитель. Кто знает подскажите, как можно задать точное время всем идущим транзактам.



Code
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Nak_st_1    STORAGE 10
Nak_st_2    STORAGE 10
Nak_st_3    STORAGE 10
 
    GENERATE 5,,,1
 
    
    QUEUE Och_for_1    
    ENTER Nak_st_1,1       
    DEPART Och_for_1       
    ADVANCE 5    
    seize Kan_1    
    Leave Nak_st_1,1  
    ADVANCE 30   
    RELEASE Kan_1   
 
    QUEUE Och_for_2      
    ENTER Nak_st_2,1       
    DEPART Och_for_2
    ADVANCE 5
    seize Kan_2  
    Leave Nak_st_2,1 
    ADVANCE 30
    RELEASE Kan_2  
 
    QUEUE Och_for_3      
    ENTER Nak_st_3,1       
    DEPART Och_for_3      
    ADVANCE 5 
    Leave Nak_st_3,1
    transfer ,met1
 
    GENERATE 5,,,1  
      
    QUEUE Och_for_4      
    ENTER Nak_st_3,1       
    DEPART Och_for_4      
    ADVANCE 5
    seize Kan_3    
    Leave Nak_st_3,1
    ADVANCE 30
    RELEASE Kan_3    
 
    QUEUE Och_for_5      
    ENTER Nak_st_2,1       
    DEPART Och_for_5      
    ADVANCE 5
    seize Kan_4      
    Leave Nak_st_2,1 
    ADVANCE 30
    RELEASE Kan_4      
 
    QUEUE Och_for_6       
    ENTER Nak_st_1,1       
    DEPART Och_for_6       
    ADVANCE 5 
    Leave Nak_st_1,1
 
met1 TERMINATE 1
    start 100
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.06.2016, 00:57
Ответы с готовыми решениями:

Составить план перевозок бетона, при котором стоимость перевозок будет минимальной.
На заводах Аи В производится бетон и развозится по строительным площадкам №1,№2,№3. Завод А в сутки производит 320т бетона, завод В в сутки...

Найти темп роста объема перевозок пассажиров и среднегодовой темп прироста объема перевозок
Подскажите, пожалуйста, как решить задачу. Если сможете, то укажите и формулы, что использовали. Хочу понять, что и откуда взялось, не...

Продажа железнодорожных билетов
Помогите сделать..... Заранее спасибо...)

15
 Аватар для Dukalys
1817 / 1031 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
05.06.2016, 10:27
Добрый день.
Цитата Сообщение от Алекс Нешенко Посмотреть сообщение
6.00 6.40 6.55 7.03 7.55 и так дальше
На сколько много будет таких значений и существует ли их период повторения (день, неделя, месяц).

Можно попробовать по простому.

Code
1
2
3
4
5
6
7
8
INITIAL X1,1         ; Следующий поезд будет №1 (ожидается)
FUNC FUNCTION X1,D5  ; Функция будет возвращать задержку до прихода следующего поезда по номеру этого следующего поезда
1,360/2,40/3,15/4,8/5,52
GENERATE ,,,1   ; Создаём управляющую заявку которая будет создавать поезда
NEW ADVANCE FN$FUNC   ; Вызываем функцию для расчёта задержки до прихода поезда
SAVEVALUE 1+,1    ; Инкрементируем (+1) номер поезда (ожидается номер+1)
SPLIT 1,TUTU        ; Создаём копию управляющей заявки - поезд и отправляем по метке TUTU
TRANSFER ,NEW    ;  Перекидываем заявку на формирование следующего поезда
1
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 10
05.06.2016, 12:51  [ТС]
Здравствуйте. В расписание должно быть не меньше двух поездов в час, за сутки.

Добавлено через 11 минут
Можно задать каждому поезду свое время? Что бы они прибывали не через каждые 20-40 минут, а по определенному расписанию.
0
 Аватар для Dukalys
1817 / 1031 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
05.06.2016, 13:21
Выше всё написал.
0
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 10
05.06.2016, 13:38  [ТС]
Спасибо большое)
0
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 10
08.06.2016, 21:20  [ТС]
Я сделал расписание на целые сутки для первого и второго источника, и рассчитал время между ними которое записал в программу.
Я вроде бы все сделал правильно, но транзакты почему то идут не правильно...
Подскажите пожалуйста как можно это исправить.

программа с описанием.txt

Выходные данные.txt
Вложения
Тип файла: txt расписание 1.txt (632 байт, 1 просмотров)
0
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 10
08.06.2016, 21:39  [ТС]
Я сделал расписание на целые сутки для первого и второго источника, и рассчитал время между ними которое записал в программу.
Я вроде бы все сделал правильно, но транзакты почему то идут не правильно...
Подскажите пожалуйста как можно это исправить.
Вложения
Тип файла: txt Выходные данные.txt (7.0 Кб, 4 просмотров)
Тип файла: txt программа с описанием.txt (4.3 Кб, 6 просмотров)
Тип файла: txt расписание 1.txt (632 байт, 6 просмотров)
0
 Аватар для Dukalys
1817 / 1031 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
09.06.2016, 06:39
Программа у вас большая. Идут неправильно это как? в каком месте программы?
0
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 10
09.06.2016, 13:30  [ТС]
В программе находиться две функции, . у каждой функции по 47 поездов, но в каналах всего 9:
FACILITY ENTRIES
KAN_3 4
KAN_1 2
KAN_4 2
KAN_2 1
0
 Аватар для Dukalys
1817 / 1031 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
09.06.2016, 19:38
Не понятно.
Функция у вас задаёт задержку до прихода следующего поезда. Каналы у вас обслуживают поезда.
Суть вопроса в чём?
0
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 10
09.06.2016, 21:12  [ТС]
В функцие указано 47 поездов, а в каналы попадает только 9.

Добавлено через 5 минут
Может не правильно заданна функция? Или что то с генератором транзактов??
0
 Аватар для Dukalys
1817 / 1031 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
10.06.2016, 06:01
Дак у вас каналы могут одновременно вместить в сумме только 9 поездов, вы же сами их так ограничили в STORAGE
Остальные в очередях.
0
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 10
10.06.2016, 22:26  [ТС]
У меня STORAGE-память каждой станции, это так. Но LEAVE - выводит транзакт из памяти. То есть ENTER Nak_st_1,1 занимает одну колею из 10, после чего поезд стоит на станцие 1-3 минуты ADVANCE 2,1, и Leave Nak_st_1,1 выводит один транзакт из STORAGE. Вроде бы так... Если нет, то подскажите пожалуйста как правильно

Добавлено через 35 минут
Code
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Nak_st_1    STORAGE 10
Nak_st_2    STORAGE 10
Nak_st_3    STORAGE 10
 
    INITIAL X1,1            
FUNC FUNCTION X1,D47  
    1,25/2,22/3,15/4,25/5,21/6,14/7,33/8,15/9,20/10,28/11,13/12,10/13,27/14,15/15,22/16,33/17,40/18,29/19,11/20,40/21,30/22,39/23,26/24,55/25,35/26,25/27,50/28,50/29,15/30,95/31,55/32,65/33,20/34,100/35,20/36,65/37,35/38,25/39,20/40,20/41,25/42,15/43,15/44,20/45,10/46,15/47,20
    GENERATE ,,,1   
NEW     ADVANCE FN$FUNC  
    SAVEVALUE 1+,1     
    SPLIT 1,TUTU          
    TRANSFER ,NEW      
       
TUTU QUEUE Och_for_1
    DEPART Och_for_1       
    ENTER Nak_st_1,1           
    ADVANCE 2,1
    Leave Nak_st_1,1    
    seize Kan_1    
    ADVANCE 60   
    RELEASE Kan_1   
 
    QUEUE Och_for_2
    DEPART Och_for_2     
    ENTER Nak_st_2,1       
    ADVANCE 2,1
    Leave Nak_st_2,1 
    seize Kan_2  
    ADVANCE 30
    RELEASE Kan_2  
 
    QUEUE Och_for_3 
    DEPART Och_for_3           
    ENTER Nak_st_3,1       
    ADVANCE 2,1 
    Leave Nak_st_3,1
    transfer ,met1
 
    INITIAL X1,1         
FUNC1 FUNCTION X1,D47  
    1,20/2,30/3,15/4,18/5,24/6,18/7,25/8,15/9,15/10,25/11,15/12,10/13,25/14,15/15,15/16,45/17,20/18,35/19,25/20,25/21,25/22,40/23,30/24,65/25,25/26,33/27,52/28,40/29,30/30,70/31,50/32,40/33,30/34,30/35,30/36,65/37,25/38,35/39,20/40,15/41,25/42,35/43,10/44,10/45,20/46,20/47,15
    GENERATE ,,,1   
NEW2 ADVANCE FN$FUNC1   
    SAVEVALUE 1+,1        
    SPLIT 1,TUTU2           
    TRANSFER ,NEW2    
    
TUTU2 QUEUE Och_for_4 
    DEPART Och_for_4            
    ENTER Nak_st_3,1        
    ADVANCE 2,1 
    Leave Nak_st_3,1    
    seize Kan_3             
    ADVANCE 30      
    RELEASE Kan_3       
    
    QUEUE Och_for_5  
    DEPART Och_for_5            
    ENTER Nak_st_2,1        
    ADVANCE 2,1 
    Leave Nak_st_2,1    
    seize Kan_4         
    ADVANCE 60      
    RELEASE Kan_4       
 
    QUEUE Och_for_6  
    DEPART Och_for_6      
    ENTER Nak_st_1,1                
    ADVANCE 2,1         
    Leave Nak_st_1,1    
met1    TERMINATE
    GENERATE 1440
    TERMINATE 1     
    start 1
Добавлено через 9 часов 8 минут
Этот вопрос можно как то решить??
0
 Аватар для Dukalys
1817 / 1031 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
11.06.2016, 04:26
Лучший ответ Сообщение было отмечено Алекс Нешенко как решение

Решение

Не понятно что вам не нравится или не понятно. Переформулируйте вопрос.
0
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 10
11.06.2016, 12:41  [ТС]
Dukalys, Каким способом можно задать каждому транзакту свое время? Ведь функция в данном случае почему то не работает. Посмотрите пожалуйста, может я её не правильно подключил, или забыл что то добавить???
0
 Аватар для Dukalys
1817 / 1031 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
13.06.2016, 09:43
У вас как понял два источника заявок. Но и в том и в том вы используете одну сохраняемую величину X1 для задания номера поезда, очевидно что должны быть различные номера поездов для каждого источника Из-за этого возможны пропуски поездов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.06.2016, 09:43
Помогаю со студенческими работами здесь

Прокладка железнодорожных путей
Между пятью городами, из которых никакие три не лежат на одной прямой, требуется проложить сеть железных дорог из четырех прямолинейных...

VBA продажа железнодорожных билетов
Здравствуйте! Помогите пожалуйста создать такую схему Открывается форма, я туда вбиваю данные о городах (откуда куда), выбираю...

Сколько понадобится железнодорожных вагонов
Масса одного метра рельса равна 32 кг.Сколько понадобится железнодорожных вагонов грузоподъемностью 60 т,чтобы перевезти все...

Разработать базу данных «Администратор железнодорожных касс»
Разработать базу данных «Администратор железнодорожных касс» (номер поезда, пункты и время отправления и прибытия). Вывести на экран данные...

Разработать диалоговое окно для заполнения таблицы продажи железнодорожных билетов
Помогите пожалуйста с программой. Задание: 1. На отдельном листе создать таблицу продажи билетов, со-держащее следующее поля: ФИО...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru