一种可视化厂车调度方法及系统与流程

文档序号:12721702阅读:231来源:国知局
一种可视化厂车调度方法及系统与流程

本发明涉及信息技术技术领域,特别是一种可视化厂车调度方法及系统。



背景技术:

目前,许多工厂为了方便员工上、下班,向员工提供了厂车服务。但是,由于员工众多,采用人工管理信息和线路站点的方式不仅使效率低下管理混乱,也无法基于员工的需求对运行线路做出及时调整。智能化和可视化的厂车调度系统成为值得研究的应用点。



技术实现要素:

本发明所要解决的技术问题是克服现有技术的不足而提供一种可视化厂车调度方法及系统,本发明采用信息技术手段,将机器学习中两种经典算法遗传算法及K-means聚类算法应用到解决厂车调度问题中,既能满足乘车人员的需求,又能在此基础上节省资源,达到良好的效果。

本发明为解决上述技术问题采用以下技术方案:

根据本发明提出的一种可视化厂车调度方法,包括以下步骤:

步骤1、确定所需安排的站点数目K;

步骤2、根据用户提供的地点信息,随机生成K个初始站点;

步骤3、计算所有地点到该K个初始站点的距离,将距离最近的地点和站点划分为一簇;

步骤4、取每簇里地理位置的均值作为新站点;

步骤5、判断新站点到步骤2中初始站点的距离是否到达预设的阈值,若到达,则选取新站点作为最优站点;若未到达,则返回步骤3;

步骤6、初始化最初线路群,令迭代次数t=1;

步骤7、计算线路群中每条线路的适应度及每条线路的累计概率;

步骤8、保留适应度最高的线路到下一次迭代线路群,其他线路基于预设概率变异;

步骤9、判断迭代次数是否达到预设的最大迭代次数,若达到则取适应度最高路线作为最优路线,若未达到则令t=t+1,返回步骤7;

步骤10、根据最优站点和最优线路,利用百度API实现站点、线路的可视化。

作为本发明所述的一种可视化厂车调度方法进一步优化方案,线路的适应度表示为:该线路的总距离+(运行该线路所需要派的车辆数-最大限制车辆数)*惩罚因子。

基于一种可视化厂车调度方法的系统,包括用户界面层、服务层、业务逻辑层和数据层;其中,

用户界面层,用于提供与用户交互的界面,并将功能操作传递到服务层进行处理;界面的功能包括:1)用户注册和登录;2)修改员工、车辆、路线、站点和排班信息;3)查询车辆、路线和站点信息;4)基于地图的信息展示;5)车辆和站点信息的数据统计图;6)车辆和站点乘车人员名单查询;7)设置站点和线路;

服务层包括站点安排服务模块、线路优化服务模块、排班更新服务模块、百度地图可视化服务模块和用户管理模块;其中,

站点安排服务模块,用于向用户提供站点安排的功能接口;

线路优化服务模块,用于向用户提供实时运行的线路乘坐率情况以及员工乘车信息的功能接口;

排班更新服务模块,用于向用户提供实时车辆排班的功能接口;

百度地图可视化服务模块,用于接收到业务逻辑层对最优线路和最优站点的计算结果,利用百度API实现站点、线路的可视化,提供基于地图的站点和线路查询功能;用户管理模块用于提供对用户的注册、登录验证和查询功能;

业务逻辑层,用于根据员工上车的地理位置信息,采用K-means聚类算法将地点进行聚类从而找到最优站点的计算结果,并将其反馈到百度地图可视化服务模块;根据从服务层获取的实时运行的线路乘坐率情况以及员工乘车信息,利用遗传算法得到最优线路的计算结果,也将其反馈到百度地图可视化服务模块;用于将员工、站点、厂车、线路和排班信息存储在数据层的数据库中,并输出员工上车的地理位置信息至服务层的站点安排服务模块中,输出线路乘坐率情况以及员工乘车信息至服务层的排班更新模块中;

数据层,用于保存用户数据、站点、车辆、线路和排班。

作为本发明所述的一种可视化厂车调度方法的系统进一步优化方案,用户界面层提供给用户的具体功能包括:用户的注册与登录、修改信息、查询车辆站点线路、在百度地图上显示站点线路运行情况和生成数据统计图。

作为本发明所述的一种可视化厂车调度方法的系统进一步优化方案,业务逻辑层包括基于Ruby on Rail框架的业务处理模块、基于Active Record框架的数据持久化机制和SQLite的数据库操作模块;其中,基于Ruby on Rail框架的业务处理模块,负责对信息的增、删、改、查操作,进行业务处理并将实时运行中的乘车数据传递给相应的服务;基于Active Record框架的数据持久化机制,用于对员工信息、线路信息、排班信息进行增、删、改、查或统计;SQLite的数据库操作模块,用于将用户实时乘车的统计数据写入数据库。

作为本发明所述的一种可视化厂车调度方法的系统进一步优化方案,基于Ruby on Rail框架的业务处理模块使用Rails向上层模块提供服务,基于Active Record框架的数据持久化机制使用Active Record封装对于SQLite的操作放入内存中,下次直接从内存中读取,达到对数据的持久化存储。

本发明采用以上技术方案与现有技术相比,具有以下技术效果:本发明采用信息技术手段,将机器学习中两种经典算法—遗传算法及K-means聚类算法应用到解决厂车调度问题中,既能满足乘车人员的需求,又能在此基础上节省资源,达到良好的效果。

附图说明

图1为本发明的体系架构图。

图2为本发明的数据流图。

图3为本发明的系统模块划分图。

图4为本发明中的K-means算法的流程图。

图5为本发明中的遗传算法的流程图。

具体实施方式

下面结合附图对本发明的技术方案做进一步的详细说明:

图1为本发明的体系架构图,一种可视化厂车调度系统。系统使用SQLite作为数据应用环境,使用高性能的HTTP和反向代理服务器nginx作为HTTP层的代理服务器,同时配置静态资源缓存机制实现动静分离,保证在较大访问量和流量的情况下服务器的性能和稳定性始终处于较优状态。对于读取频繁的数据库数据,通过分布式的高速缓存系统Memcached进行缓存,以减少读取数据库的次数,减轻数据库的负荷,有效提高系统的访问速度和稳定性。采用Node.js来提供线路优化、站点安排及排班更新的算法的API接口,因为Node.js是一个基于Chrome JavaScript运行时建立的平台,可用于方便地搭建响应速度快、易于扩展的网络应用。其数据流图如图2所示。图3为本发明的系统模块划分图。

主要步骤如下:

步骤101:创建基于Express的node.js初始应用程序。该程序主要对外提供厂车调度服务的API。

步骤102:设置访问限制token的申请和获取程序。该token作为是否有权获取服务的认证。

步骤103:设计路由(Dispatcher)。该路由作为对外开放的API,包括站点生成路由和线路规划路由。

步骤104:基于K-means聚类算法实现站点划分功能,算法原理如图4所示,其步骤是:(1)随机生成K个质心;(2)计算样本点到各个质心的距离,选择距离最近的质心组成一簇;(3)计算样本点到各个质心距离的距离,选择距离最近的质心组成一簇;(4)取每簇均值作为新质点;(5)判断新质点到步骤(2)中初始站点的距离是否到达预设的阈值,若到达,则选取新站点作为最优站点;若未到达,则返回步骤(2)重新计算。其中,每个质点对应于站点。

步骤105:基于遗传算法实现线路规划功能,算法如图5所示。其算理步骤如下:(1)初始化种群;(2)计算种群中每条染色体的适应度;(3)计算每条染色体累计概率;(4)保留适应度最高染色体到下一种群,其他染色体一定概率下变异;(5)判断是否达到规定进化的最大次数,若是,将适应度最高染色体进行解码然后结束,否则从新执行步骤(2)。

用户需要使用基于B/S架构的Web服务管理厂车以及获取厂车调度服务,有Brower/Client客户端发送请求。实现服务的主要步骤如下:

步骤201:创建基于Rails框架的Ruby初始应用程序。该程序为用户实际使用的Web服务。

步骤202:引入Chart.js。Chart.js可以在Web端实时生成图表进行展示。

步骤203:根据需求编写Chart.js图表展示模块。该模块可以在Web端,根据需求生成自定义图表。

步骤204:引入百度地图API。该API可以在Web端高亮展示站点和线路信息。

步骤205:实现业务逻辑模块。该模块包含对用户、站点、厂车、线路和排班等信息的录入、修改和删除等。

步骤206:申请并设置私有token。该token作为向厂车调度服务提供方获取服务的认证。

步骤207:管理员向厂车调度服务提供方发送服务请求。厂车调度服务提供方根据请求类型和参数返回相应服务信息。

创建基于Express的node.js厂车调度服务应用:

步骤301:创建基于Express的node.js初始应用程序。

步骤302:添加mongoose组件。该组建用于连接node.js程序和SQLite数据库。

步骤303:设置访问限制token的申请和获取模块,该模块为服务使用方提供私有token。

步骤304:创建后台程序管理员模块,该模块拥有服务提供方管理员账号,可以通过该模块设置某token的权限。

步骤305:创建服务提供模块,该模块需验证服务请求者的token并决定是否提供服务。

步骤305:设置站点划分和线路规划的API路由。

步骤306:分别使用K-means聚类算法和遗传算法实现站点划分功能和线路规划功能。

创建基于Rails的Ruby厂车调度管理应用:

步骤401:创建基于Rails的Ruby初始应用程序。

步骤402:添加数据库驱动组件,具体的驱动根据使用的数据库而定。

步骤403:设计数据库表。该数据库至少包含用户表、站点表、厂车表和线路表。

步骤404:使用Rails的活动记录Active Record将数据表映射为对象,做持久化处理,并添加限制条件。

步骤405:引入Chart.js。Chart.js可以在Web端实时生成图表进行展示。

步骤406:根据需求编写Chart.js图表展示模块。该模块可以在Web端根据需求生成自定义图表。

步骤407:引入百度地图API。该API可以在Web端高亮展示站点和线路信息。

步骤408:实现业务逻辑模块。该模块包含对用户、站点、厂车、线路和排班等信息的录入、修改和删除等。

步骤409:在厂车调度服务应用中申请并设置私有token。该token作为向厂车调度服务提供方获取服务的认证。

步骤410:管理员录入用户、站点、厂车等信息。

步骤411:管理员向厂车调度服务提供方发送站点划分请求。站点划分请求需要符合厂车调度服务提供方的API规范,并将私有token添加指请求头中。

步骤412:获取厂车调度服务提供方返回的已划分站点信息,并在百度地图上高亮显示。

步骤413:管理员向厂车调度服务提供方发送线路规划请求。线路规划请求需要符合厂车调度服务提供方的API规范,并将私有token添加至请求头中。

步骤414:获取厂车调度服务提供方返回的已规划线路信息,并在百度地图上高亮显示。

显然,以上所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1