火车调度模拟算法,望大神帮忙一下,急!

hsfoxcool 2014-06-28 05:22:23
【问题描述】
某东西向的铁路上有一小站,该站只有一条铁路支路可供火车停靠,且该支路最多能够容纳M(1<=M<=3)列火车。火车都有一定长度且长度都相等。为了火车行驶的通畅,规定只许火车自东方进站从西方出站,且先进站的火车必须先出站。
该火车站工作任务繁忙,假设每天都有N(N<=250)列火车要求在预定时刻进站,并在站内作一定时间P(P<=10)的停靠。为了尽可能满足每列火车进站的要求,小站的调度工作必须井井有条地开展。在小站每天的工作开始前,工作人员必须阅读所有火车的进站申请,并决定究竟接受哪些火车的申请。而对不能满足要求的火车,只能请它们直通过站,不做任何停留。假设火车进站、出站本身不占用额外时间,只考虑停留时间。将时间划分为基本时间片,一个时间片视为一个基本时间单位,每一个单位时间可以完成一件操作,如进站、出站、过站等。该火车站的总工作时间片数T由键盘输入。
请编写一个程序,模拟小站火车进出站的情况。
【基本要求】
(l)假设所有经过该站的火车均有停靠需求。假设火车可以在同一个时间片到达(这并非同时到达,而是指在同一个时间片内依次到达),因此任意时刻是否有火车到达、有多少列到达以及到达后的停留时间等数据均必须通过随机方式产生。
(2)所有火车按自然顺序编号表示。
(3)进站的火车只能在支路上停靠,主干用于过站火车直通,以防止拥塞。
(4)当某一时间片内,支路上停靠的火车达到M列时,后来的列车将无法获得停靠许可,必须强制过站。
(5)当支线上已经有火车停靠时,若后进站的火车要求停靠时间小于已经停靠火车的剩余停靠时间,则后进站的火车将被迫延长停靠时间,导致发车晚点。例如,若在时间片1有火车进站,要求停靠8个时间片,则其应在第9个时间片离开。但若在第3个时间片又有火车要求进站停靠2个时间片。由于此时第一列火车还要停留5个时间片,因此后来的火车必须等到第一列火车出站才能出发。考虑到出站不需要时间,因此第二列火车同样在第9个时刻完成出站,但其晚点发车4个时间片。
(7)根据以上描述可知,同一时刻,可能同时发生几列火车进站、另外几列火车出站、以及若干火车过站等事件。
(6)在模拟结束后,统计该火车站在T个时间片内,火车总数、停靠火车数、过站火车数、平均晚点时间片数,此外还需要计算正点列车、晚点列车、过站列车占总列车数的百分比。
【输入输出】
由随机数产生器生成。如果打算提前构造一天的火车进站数据,则这些数据必须存储在文件中,程序直接从文件读取数据并处理。
...全文
625 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
dbhme 2014-07-03
  • 打赏
  • 举报
回复
就模拟和统计,没啥难度啊

33,007

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧