[发明专利]一种面向离散制造业的生产排程算法有效

专利信息
申请号: 201711472521.7 申请日: 2017-12-29
公开(公告)号: CN108062082B 公开(公告)日: 2020-06-02
发明(设计)人: 张启亮;程煜雯;周林林;邵世龙;李帅;邬杰 申请(专利权)人: 江苏徐工信息技术股份有限公司
主分类号: G05B19/418 分类号: G05B19/418
代理公司: 徐州市三联专利事务所 32220 代理人: 周爱芳
地址: 221000 江苏省徐*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 面向 离散 制造业 生产 算法
【权利要求书】:

1.一种面向离散制造业的生产排程算法,其特征在于,包括以下步骤:

E1.获取作业计划信息及设备信息:获取已经配纤未生产的List_OSheath、并根据List_OSheath逐级获取List_ISheath、List_Strand、List_Tube;获取设备状态为“正常”的设备;

E2.内护套作业计划一排:

E2.1计算所有的List_ISheath的总长度,按照公式(SUM(内护套作业计划长度)/80000)上浮取整+2,计算出需要的护套设备数N;

E2.2根据List_ISheath的作业计划BOM和设备BOM验证是否所有的内护套作业计划都能在正常分配到N台设备上;遍历N台护套设备,找出最小计划完成时间的设备;

E2.3找到List_ISheath中与设备最后一个作业计划同BOM的作业计划,分配到当前设备,计算计划开始时间和计划完成时间;

E2.4若不存在同BOM,则找到List_ISheath中与设备最后一个作业计划同护套料的作业计划,分配到当前设备,计算计划开始时间和计划完成时间;

E2.5若不存在同护套料,则找到List_ISheath中与设备最后一个作业计划同钢铝带的作业计划,分配到当前设备,计算计划开始时间和计划完成时间;

E2.6若不存在同BOM、同护套料、同钢铝带的作业计划,则随机分配一个List_ISheath给当前设备,计算计划开始时间和计划完成时间;

E3.外护套作业计划一排:

E3.1根据List_OSheath的作业计划BOM和设备BOM验证是否所有的外护套作业计划都能正常分配到被选择的状态正常的护套设备上;遍历护套设备,找出最小计划完成时间的设备;

E3.2从List_OSheath中找到ListA,若没有作业计划能在当前设备上生产,则换下一个设备;

E3.3从ListA找到List_BOM,遍历List_BOM,分配一个作业计划到当前设备,计算计划开始时间和计划完成时间,若该计划作业开始时间晚于共用子件的作业计划的计划完成时间,且晚于对应子件内护套的计划完成时间,则该作业计划分配成功,否则分配失败,换下一个外护套作业计划;

E3.4若不存在同BOM、或者List_BOM全部分配失败,则从ListA找到List_护套料,分配到当前设备,计算计划开始时间和计划完成时间,若该计划作业开始时间晚于共用子件的作业计划的计划完成时间,且晚于对应子件内护套的计划完成时间,则该作业计划分配成功,否则分配失败,换下一个外护套作业计划;

E3.5若不存在同护套料,则从ListA找到List_钢铝带,分配到当前设备,计算计划开始时间和计划完成时间,若该计划作业开始时间晚于共用子件的作业计划的计划完成时间,且晚于对应子件内护套的计划完成时间,则该作业计划分配成功,否则分配失败,换下一个外护套作业计划;

E3.6若不存在同BOM、同护套料、同钢铝带的作业计划,则随机分配一个作业计划给当前设备,计算计划开始时间和计划完成时间;

E4.内护套作业计划二排:

E4.1根据内护套和外护套作业计划的一排结果,得到T_Imax;

E4.2将内护套的N台设备,按照最后一个任务的计划完成时间从小到大排序,并结合排程历史记录以及内护套作业计划历史生产记录,获取每台设备最后一个任务的BOM;

E4.3依次遍历N台设备,从List_ISheath中获取List_BOM_ISheath,若设备没找到同BOM任务,换下一个设备;

E4.4依次遍历List_BOM_ISheath,将任务分配到设备上,并计算计划开始时间和计划结束时间;若List_BOM_ISheath分配完成,计划完成时间依然小于T_Imax,换下一台设备;若List_BOM_ISheath未分配完,计划完成时间大于T_Imax时,当前设备停止分配任务,将当前设备打上“完成分配”标记;

E4.5若N台设备遍历完成,还有作业计划未分配完成,重新将N台设备中未打上“完成分配”标记的N-X台设备按照最后一个任务的计划完成时间从小到大排序,并结合排程历史记录以及内护套作业计划历史生产记录,获取每台设备最后一个任务的护套料及钢铝带;

E4.6依次遍历N-X台设备,获取一台计划完成时间最小的设备;

E4.7获取与设备同护套料且同钢铝带的任务集合,并按照同BOM分成多个组List_Group,计算每组任务总长度,组任务总长度较长的List_Group优先分配 ,同组内共用子件的任务优先分配,进入E4.11;

E4.8若不存在与设备同护套且同钢铝带的任务集合,则获取与设备同钢铝带的任务集合,并按照同BOM分成多个组List_Group,计算每组任务总长度,组任务总长度较长的List_Group优先分配 ,同组内共用子件的任务优先分配,进入E4.11;

E4.9若不存在与设备同钢铝带的任务集合,判断当前设备优先级是否为高,若为高,获取所有尚未分配的大芯数任务,并按照BOM分成多个组List_Group,计算每组历史生产总长度,组任务历史生产总长度较长的List_Group优先分配 ,同组内共用子件的任务优先分配,进入E4.11;

E4.10若当前设备优先级不为高,获取所有尚未分配的任务,并按照BOM分成多个组List_Group,计算每组历史生产总长度,组任务历史生产总长度较长的List_Group优先分配 ,同组内共用子件的任务优先分配,进入E4.11;

E4.11依据步骤E4.7至E4.10中获取到的一组总长度最长的List_Group,将任务逐个分配到设备上,并计算计划开始时间和计划结束时间;若List_Group分配完成,计划完成时间依然小于T_Imax,换下一台设备;若List_Group未分配完,计划完成时间大于T_Imax时,当前设备停止分配任务,设备打上“完成分配”标记;

E5.外护套作业计划二排:

E5.1根据内护套和外护套作业计划的一排结果,得到T_Omax;

E5.2将护套设备,按照最后一个任务的计划完成时间从小到大排序,并结合排程历史记录以及外护套作业计划历史生产记录,获取每台设备最后一个任务的BOM;

E5.3依次遍历护套,从List_OSheath中获取List_BOM_OSheath,若设备没找到同BOM任务,换下一个设备;

E5.4依次遍历List_BOM_OSheath,将任务分配到设备上,并计算计划开始时间和计划结束时间;若List_BOM_OSheath分配完成,计划完成时间依然小于T_Omax,换下一台设备;若List_BOM_OSheath未分配完,计划完成时间大于T_Omax时,当前设备停止分配任务,将当前设备打上“完成分配”标记;

E5.5若护套设备遍历完成,还有作业计划未分配完成,重新将护套设备中未打上“完成分配”标记的设备按照最后一个任务的计划完成时间从小到大排序,并结合排程历史记录以及外护套作业计划历史生产记录,获取每台设备最后一个任务的护套料及钢铝带;

E5.6判断是否有阻燃护套料的作业计划,有则进入E5.7,没有则进入E5.11;

E5.7判断是否有最后一个作业计划是阻燃护套料的设备,有则进入E5.8,没有进入E5.9;

E5.8遍历阻燃护套料设备,获取一个设备,将阻燃护套料作业计划按照同BOM分成多个组List_Group,同BOM且共用子件的组优先排,进入E5.10;

E5.9遍历所有没有“完成分配”标记的设备,获取一个设备,将阻燃护套料作业计划按照同BOM分成多个组List_Group,计算每组任务总长度,组任务总长度较长的List_Group优先分配 ,同组内共用子件的任务优先分配,进入E5.10;

E5.10依据步骤E5.8、E5.9中获取到的一组总长度最长的List_Group,遍历List_Group将任务分配到设备上,并计算计划开始时间和计划结束时间;若List_Group分配完成,计划完成时间依然小于T_Omax,换下一台设备;若List_Group未分配完,计划完成时间大于T_Omax时,当前设备停止分配任务,将当前设备打上“完成分配”标记;

E5.11获取与设备同护套料且同钢铝带的任务集合,并按照同BOM分成多个组List_Group,计算每组任务总长度,组任务总长度较长的List_Group优先分配 ,同组内共用子件的任务优先分配,进入E5.15;

E5.12若不存在与设备同护套且同钢铝带的任务集合,则获取与设备同钢铝带的任务集合,并按照同BOM分成多个组List_Group,计算每组任务总长度,组任务总长度较长的List_Group优先分配 ,同组内共用子件的任务优先分配,进入E5.15;

E5.13若不存在与设备同钢铝带的任务集合,判断当前设备优先级是否为高,若为高,获取所有尚未分配的大芯数任务,并按照BOM分成多个组List_Group,计算每组历史生产总长度,组任务历史生产总长度较长的List_Group优先分配 ,同组内共用子件的任务优先分配,进入E5.15;

E5.14若当前设备优先级不为高,获取所有尚未分配的任务,并按照BOM分成多个组List_Group,计算每组历史生产总长度,组任务历史生产总长度较长的List_Group优先分配 ,同组内共用子件的任务优先分配,进入E5.15;

E5.15依据步骤E5.11至E5.14中获取到的一组总长度最长的List_Group,遍历List_Group将作业计划分配到设备上,并计算计划开始时间和计划结束时间;若List_Group分配完成,计划完成时间依然小于T_Omax,换下一台设备;若List_Group未分配完,计划完成时间大于T_Omax时,当前设备停止分配作业计划,设备打上“完成分配”标记;

E6.成缆作业计划排程

E6.1根据List_Strand的作业计划BOM和成缆设备BOM验证是否所有的成缆作业计划都能正常分配到被选择的状态正常的成缆设备上,若能,则进入E6.2,否则整个排程终止;

E6.2遍历List_Strand,获取其中一个未分配的成缆作业计划T_Strand,若所有任务分配完毕,成缆排程结束,进入E7;

E6.3根据成缆作业计划的盘具,以及成缆对应束管子件作业计划的盘具信息,获取List_Mac_Strand,若List_Mac_Strand不为空,进入E6.4,若List_Mac_Strand为空,整个排程终止;

E6.4从List_Mac_Strand中获取与T_Strand同Bom的设备集合List_Mac_Bom_Strand,若List_Mac_Bom_Strand为空进入E6.5,否则进入E6.6;

E6.5计算List_Mac_History_Strand,进入E6.9;

E6.6遍历List_Mac_Bom_Strand,获取一个M_Strand;

E6.7将T_Strand分配到M_Strand中,计算计划开始时间和计划完成时间,判断T_Strand的计划开始时间是否早于对应父件护套作业计划的计划开始时间,若是且List_Strand未分配完则换List_Strand中的下一个作业计划,进入E6.2;若是且List_Strand已分配完,成缆排程结束,进入E7;若否且List_Mac_Bom_Strand未遍历完则取消此次分配,换List_Mac_Bom_Strand的下一个设备,进入E6.6;若否且List_Mac_Bom_Strand已经遍历完成则取消此次分配,进入E6.8;

E6.8判断List_Mac_Strand减去List_Mac_Bom_Strand是否还有设备,若没有则将T_Strand分配到List_Mac_Strand中生产时长最短的设备上,计算计划开始时间和计划完成时间,若有则进入E6.5;

E6.9遍历List_Mac_History_Strand,获取一个M_Strand;

E6.10将T_Strand分配到M_Strand中,计算计划开始时间和计划完成时间,判断T_Strand的计划开始时间是否早于对应父件护套作业计划的计划开始时间,若是且List_Strand未分配完则换List_Strand中的下一个作业计划,进入E6.2;若是且List_Strand已分配完,成缆排程结束,进入E7;若否且List_Mac_ History_Strand未遍历完则取消此次分配,换List_Mac_History_Strand的下一个设备,进入E6.9;若否且List_Mac_History_Strand已经遍历完成则取消此次分配,将T_Strand分配到List_Mac_Strand中生产时长最短的设备上,计算计划开始时间和计划完成时间;若List_Strand已分配完,成缆排程结束,进入E7,否则进入E6.2;

E7.束管作业计划排程:

E7.1根据List_Tube作业计划BOM和束管设备BOM验证是否所有的束管作业计划都能正常分配到被选择的状态正常的束管设备上,若能进入E7.2,否则整个排程终止;

E7.2遍历List_Tube,获取其中一个未分配的束管作业计划T_Tube,若所有作业计划分配完毕,束管排程结束,进入E8;

E7.3根据束管作业计划的盘具,以及束管对应着色纤子件作业计划的盘具信息,获取可以生产该束管作业计划的束管设备集合List_Mac_Tube,若List_Mac_Tube不为空,进入E7.4,若List_Mac为空,整个排程终止;

E7.4从束管设备集合List_Mac_Tube中获取与束管作业计划T_Tube同Bom的设备集合List_Mac_Bom_Tube,若List_Mac_Bom_Tube为空进入E7.5,否则进入E7.6;

E7.5计算List_Mac_History_Tube,进入E7.9;

E7.6遍历List_Mac_Bom_Tube,获取一个束管设备;

E7.7将束管作业计划T_Tube分配到束管设备M_Tube中,计算计划开始时间和计划完成时间,判断束管作业计划T_Tube的计划开始时间是否早于对应父件成缆作业计划的计划开始时间,若是且List_Tube未分配完则换List_Tube中的下一个作业计划,进入E7.2;若是且List_Tube已分配完,束管排程结束,进入E8;若否且List_Mac_Bom_Tube未遍历完则取消此次分配,换List_Mac_Bom_Tube的下一个设备,进入E7.6;若否且List_Mac_Bom_Tube已经遍历完成则取消此次分配,进入E7.8;

E7.8判断List_Mac_Tube减去List_Mac_Bom_Tube是否还有设备,若没有则将T_Tube分配到List_Mac_Tube中生产时长最短的设备上,计算计划开始时间和计划完成时间,若有则进入E7.5;

E7.9遍历List_Mac_History_Tube,获取一个束管设备;

E7.10将束管作业计划T_Tube分配到束管设备M_Tube中,计算计划开始时间和计划完成时间,判断束管作业计划T_Tube的计划开始时间是否早于对应父件成缆作业计划的计划开始时间,若是且List_Tube未分配完则换List_Tube中的下一个作业计划,进入E7.2;若是且List_Tube已分配完,束管排程结束,进入E8;若否且List_Mac_History未遍历完则取消此次分配,换List_Mac_ History_Tube的下一个设备,进入E7.9;若否且List_Mac_History_Tube已经遍历完成则取消此次分配,将T_Tube分配到List_Mac_Tube中生产时长最短的设备上,计算计划开始时间和计划完成时间;若List_Tube已分配完,束管排程结束,进入E8,否则进入E7.2;

E8.计算作业计划预计开始时间和预计完成时间:

E8.1计算束管作业计划的预计开始时间和预计完成时间:

若束管设备首条作业计划,计划开始时间=当前时间+30(min);

若束管设备非首条作业计划,计划开始时间=上一条束管作业计划结束时间+束管作业计划间隔时长(min);

生产时长=束管作业计划任务总长(m)/束管设备对应BOM的生产速度(m/min);

计划完成时间=计划开始时间+生产时长(min);

E8.2计算成缆作业计划的预计开始时间和预计完成时间:

若成缆设备首条作业计划,计划开始时间=当前时间+30(min);

若成缆设备非首条作业计划,计算该设备上一条成缆作业计划结束时间+成缆作业计划间隔时长(min)是否大于成缆子件作业计划完工时间+成缆子件的工序缓冲时长,若是,则计划开始时间=该设备上一条成缆作业计划结束时间+成缆作业计划间隔时长(min),否则,计划开始时间=成缆子件作业计划完工时间+成缆子件的工序缓冲时长;

生产时长=成缆作业计划任务总长(m)/成缆设备对应BOM的生产速度(m/min);

计划完成时间=计划开始时间+生产时长(min);

E8.3计算内护套作业计划的预计开始时间和预计完成时间:

若内护套设备首条作业计划,计划开始时间=当前时间+30(min);

若内护套设备非首条作业计划,计算该设备上一条内护套作业计划结束时间+内护套作业计划间隔时长(min)是否大于内护套子件作业计划完工时间+内护套子件的工序缓冲时长,若是,则计划开始时间=该设备上一条内护套作业计划结束时间+内护套作业计划间隔时长(min),否则,计划开始时间=内护套子件作业计划完工时间+内护套子件的工序缓冲时长;

生产时长=内护套作业计划任务总长(m)/内护套设备对应BOM的生产速度(m/min);

计划完成时间=计划开始时间+生产时长(min);

E8.4计算外护套作业计划的预计开始时间和预计完成时间:

若护套设备首条作业计划,计划开始时间=当前时间+30(min);

若外护套设备非首条作业计划,计算该设备上一条外护套作业计划结束时间+外护套作业计划间隔时长(min)是否大于外护套子件作业计划完工时间+外护套子件的工序缓冲时长,若是,则计划开始时间=该设备上一条外护套作业计划结束时间+外护套作业计划间隔时长(min),否则,计划开始时间=外护套子件作业计划完工时间+外护套子件的工序缓冲时长;

生产时长=外护套作业计划任务总长(m)/ 外护套设备对应BOM的生产速度(m/min);

计划完成时间=计划开始时间+生产时长(min);

其中,List_OSheath为外护套作业计划;List_Isheath为内护套作业计划;List_Strand为成缆作业计划;List_Tube为束管作业计划;ListA为能在当前设备上生产的所有外护套作业计划;List_BOM为与当前设备最后一个作业计划同BOM的作业计划;List_护套料为与当前设备最后一个作业计划同护套料的作业计划;List_钢铝带为与当前设备最后一个作业计划同钢铝带的作业计划;T_Imax为护套设备内护套作业计划最大计划完成时间;List_BOM_ISheath为List_ISheath中与当前设备最后一个任务同BOM的任务集合;List_BOM_OSheath为List_OSheath中与当前设备最后一个任务同BOM的任务集合List_BOM;T_Omax为护套设备外护套作业计划最大计划完成时间;T_Strand为未分配的成缆作业计划;T_Tube为未分配的束管作业计划;List_Mac_Strand为可以生产该成缆作业计划的成缆设备集合; List_Mac_Tube为可以生产该束管作业计划的束管设备集合;List_Mac_Bom_Strand为与T_Strand同Bom的设备集合;List_Mac_Bom_Tube为与T_Tube同Bom的设备集合;List_Mac_History_Strand为 List_Mac_Strand的历史生产数据中,设备生产计划的BOM与T_Strand的BOM相同,并且历史生产该BOM累计长度的设备;List_Mac_History_Tube为List_Mac_Tube的历史生产数据中,设备生产计划的BOM与T_Tube的BOM相同,并且历史生产该BOM累计长度最长的设备;M_Strand为成缆设备,List_Group为未分配完的作业计划。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏徐工信息技术股份有限公司,未经江苏徐工信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201711472521.7/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top