2019华为软件精英挑战赛

大致思路:

初步考虑是,不考虑拥堵,用Dijkstra算每辆车的最短路径,然后直接按照规则跑!

先这么着写一个出来,之后再加入拥堵的因素,并根据即时性,综合此时的路况拥堵和路径长短,让每辆车在行进到每个路口的时刻,进行路径的实时调整;并考虑车辆的最高车速与路段的限速的关系,尽量使得车辆在路段上以较高速度行驶。

更高一级的,在考虑路径拥堵的时候,不仅仅是考虑此时的拥堵情况,而是同时考虑系统已经给出的各个车辆的未来推荐道路,对未来路径可能造成的新的道路拥堵情况进行预估,来对本车辆进行行程路径的规划,此种规划有着“统一规划”的意味,而非独立车辆针对先行情况的规划。

至于细节的实现,譬如拥堵的衡量,可以将每个路段的车辆个数换算成路长,车辆越多,这段路段相应地变得越长;而未来路段的拥堵的衡量,可以借鉴于此,将每个已经规划的车辆的经由路段的距离进行拉长,按照拉长之后的图进行最短路径选择(Dijkstra)。限速也可以同理。

为了避免死锁,可以让车分批走,每n辆车为一批,一批接着一批走。细节可再去议定。

嗯,没写判题器,最后程序还是分批Dijkstra+调参,最后结果赛区排名51...

溜了溜了...

 

 

你可能感兴趣的:(竞赛,比赛,考试)