发明名称 运输适时调度方法
摘要 本发明揭示了一种运输适时调度方法,用于根据动态事件触发、调整现场运输调度作业;该方法根据事件的信息对事件做相应处理。本发明基于事件驱动的动态车辆优化调度,适时根据运输资源使用情况和未完成任务,提高运输资源使用效率。
申请公布号 CN101620693A 申请公布日期 2010.01.06
申请号 CN200810039991.9 申请日期 2008.07.01
申请人 中冶宝钢技术服务有限公司 发明人 金焰;吴守仓;罗一桥;卢燕
分类号 G06Q10/00(2006.01)I;G06Q50/00(2006.01)I 主分类号 G06Q10/00(2006.01)I
代理机构 上海光华专利事务所 代理人 余明伟
主权项 1、一种运输适时调度方法,用于根据动态事件触发、调整现场运输调度作业;其特征在于,该方法包括如下步骤:步骤1、模型初始化,读入基础数据及参数,测试接口;若发现错误,做出提示并退出;步骤2、计算车辆、任务匹配度;步骤3、经调度确认后,模型计算初始指令,保存至数据库,做新指令标记;步骤4、无匹配指令的任务和车辆进入各自就绪列表;步骤5、扫描数据库及缓冲池,按队列取出当前第一个未处理事件;步骤6、事件预处理;车辆状态转换包括状态A——到达装点、状态B——离开装点、状态C——到达卸点、状态D——离开卸点;事件包括车辆堵车事件、午饭启毕事件、车辆抛锚或修复事件、到达卸点事件、任务新增事件、任务量变化事件、取消任务事件、任务卸点改变事件以及天气变化事件;步骤61、如果事件为池事件,则直接返回已经过预处理的该事件;步骤62、根据车辆状态序列以及人工确定,判断事件是否为可响应事件:对于车辆堵车事件,如果当前处于状态C、或状态D,则堵车信息不合法,移至不响应事件表,忽略该事件并把警告信息保存至数据库,标记为新信息,返回空;否则,车辆状态为状态A、或状态B,检查该车和该事件处理设定,如不是可响应,则标记后,返回空;否则,转步骤63;对于午饭启毕事件,检查合法性,包括:午饭开始是第一次出现,且符合时间窗口,午饭结束是午饭开始后第一次出现;如不合法,移至不响应事件表,忽略该事件并把警告信息报错至数据库,标记为新信息,返回空;否则,检查事件处理设定,如不是可响应,则标记后,返回空,否则,转步骤63;对于车辆抛锚或修复事件,检查合法性,包括:当前状态是否为正常或故障,如不合法,移至不响应事件表,忽略该事件并把警告信息报错至数据库,标记为新信息,返回空;否则,检查事件处理设定,如不是可响应,则标记后,返回空;否则,转步骤63;对于到达装点事件,如当前非离开卸点状态,事件不合法,对于离开装点事件,如当前非离开卸点或到达装点,事件不合法,均移至不响应事件表,忽略该事件并把警告信息保存至数据库,标记为新信息,返回空;否则,检查事件处理设定,如不是可响应,则标记后,返回空;否则,转步骤63;对于到达卸点事件,如当前非离开装点状态,事件不合法,对于离开卸点事件,如当前非离开装点或到达卸点,事件不合法,均移至不响应事件表,忽略该事件并把警告信息保存至数据库,标记为新信息,返回空;否则,检查事件处理设定,如不是可响应,则标记后,返回空;否则,转步骤63;对于任务新增事件、任务量变化事件、取消任务事件、任务卸点改变事件以及天气变化事件,检查事件处理设定,如不是可响应,则标记后,返回空;否则,转步骤63;步骤63、首先通过车辆、任务或事件各自设定,判断事件是进入缓冲池还是立即响应;如为前者,标记后进入缓冲池,然后检查池是否慢,如不满,返回;否则,返回缓冲池;如为后者,返回该事件;步骤7、若步骤6的返回值为空,则直接返回至步骤5;若返回值为事件,直接进入步骤8;若返回值为缓冲池,设置池事件启动标志,取其第一个事件,进入步骤8;步骤8、若收到车辆堵车信息,进入步骤9;若收到车辆到装点或离开装点信息,进入步骤10;若收到车辆到卸点或离开卸点信息,进入步骤11;若收到开始午饭信息或抛锚信息,进入步骤12;若收到午饭结束信息或车辆修复信息,进入步骤13;若收到新任务信息,进入步骤14;若收到取消任务信息,进入步骤15;若收到任务量调整信息,进入步骤16;若收到任务卸点改变信息,进入步骤17;若收到天气变化信息,进入步骤18;若收到退出程序事件,进入步骤19;步骤9、根据车辆选车函数,在所有任务或仅就绪任务列表中选择最佳任务,然后进入指令审批处理步骤,如果返回指令标记为直发或满意或调整,则保存该返回指令到数据库待发,同时更新任务匹配度;如果返回指令标记为取消,车辆进入就绪列表,转入步骤20;指令审批处理步骤:步骤A1、根据计算该指令的事件类型,通过参数设定检查是否可直接下发,如是,标记“直发”后返回该指令;否则转步骤A2;步骤A2、询问用户是否满意该计划,如是,标记“满意”后返回该指令;否则转步骤A3;步骤A3、询问是否调整该指令,如非,标记“取消”后返回该指令,否则返回调整后的指令,标记为“新调整”;步骤10、更新车辆实时状态;根据到装点或离开装点类型更新任务的等待服务车辆列表,如果为离开装点事件,同时更新任务余量和任务的开始服务时间标记,如果当前等待队列为0,根据任务选车函数在就绪车辆中选择最佳车辆,然后进入指令审批处理步骤,如果返回指令标记为直发或满意或调整,则保存该返回指令到数据库待发,同时更新车辆匹配度;如果返回指令为取消,则任务进入就绪任务列表;转入步骤20;步骤11、更新车辆实时状态;如果事件为到卸点且无请求提前期,直接转步骤20;否则,更新车辆当前结束时间,根据车辆选车函数,在所有任务中选择最佳任务,然后进入指令审批处理步骤,如果返回指令标记为直发或满意或调整,则保存该返回指令到数据库待发,同时更新任务匹配度;如果返回指令标记为取消,车辆进入就绪列表;转入步骤20;步骤12、更新车辆午饭或可用否的实时状态,转入步骤20;步骤13、更新车辆午饭或正常的实时状态,如果车辆处于C或D状态,转入20;否则根据当前位置在所有任务中选择最佳任务,然后进入指令审批处理步骤,如果返回指令标记为直发或满意或调整,则保存该返回指令到数据库待发,同时更新任务匹配度;如果返回指令标记为取消,车辆进入就绪列表;转入步骤20;步骤14、更新任务列表,更新匹配度,根据任务选车函数在所有车辆中或仅就绪车辆选择最佳车辆,然后进入指令审批处理步骤,如果返回指令标记为直发或满意或调整,则保存该返回指令到数据库待发;如果返回指令标记为取消,任务进入就绪列表;转入步骤20;步骤15、更新任务列表,更新匹配度,检索该任务排队车辆和分配该任务指令车辆,依次为车辆虚拟离开卸点事件进入临时池,设置临时池标志,直接转入步骤20;步骤16、更新任务列表,更新匹配度,当任务量减少时,检索该任务排队车辆和分配该任务指令车辆,按运量计算后对多余车辆虚拟离开卸点事件进入临时池,设置临时池标志,直接转入步骤20;步骤17、更新任务表,更新匹配度,转入步骤20;步骤18、更新任务表状态,对于变为停止状态的任务,检索该任务排队车辆和分配该任务指令车辆,依次为车辆虚拟离开卸点事件进入临时池,设置临时池标志,直接转入20;步骤19、保存后退出程序;步骤20、主要处理池事件;检索临时池标志,如为真则取出临时池下一个标志,转步骤8;否则,更新主池,如果转入前处理的事件是主池池事件且主池不为空,则继续处理池事件,取主池中下一个事件,转步骤8;否则转步骤5。
地址 200444上海市宝山区丰翔路1409号