一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种求解大规模定制下混线生产调度问题的方法及装置

2022-06-29 18:19:04 来源:中国专利 TAG:


1.本发明涉及车间调度技术领域,特别是指一种求解大规模定制下混线生产调度问题的方法及装置。


背景技术:

2.随着经济与社会的快速发展,商品种类日益丰富,客户需求趋向多元化和个性化,传统大规模生产模式难以适应市场发展,制造业面临新的挑战。同时,物联网、云计算、大数据等新一代通信技术、人工智能技术的出现,德国“工业4.0”战略、美国“工业互联网”的提出,推动着新一轮产业革命的到来。制造业是工业的基石,是国民经济的支柱。因而,新工业革命对生产模式产生了颠覆性的影响,一种新型生产模式——大规模定制应运而生。
3.大规模定制结合了大规模生产和个性化定制的优点,可实现以大规模生产的效率生产出个性化、多样化的产品。这一先进的生产模式为制造企业在激烈的市场竞争中生存提供了一条低成本和多样化的解决思路,越来越多制造企业开始实施大规模定制生产。
4.大规模定制的生产需要把定制化生产全部或部分转化为批量生产,其生产过程主要由零部件加工和产品组装两个阶段组成。零部件加工阶段是标准件与定制件的混线生产,标准件是所有产品都包含的零部件,采用大批量生产模式,具有稳定库存。定制件是体现个性化需求的零部件,生产数量随机,需要根据订单安排生产。产品组装由订单驱动,其组装所需的标准件可直接从仓库获取。此外,为减少库存成本和订单延误成本,企业希望产品能准时完工。因此,大规模定制下的生产调度具有较大复杂性,需要制定合理高效的调度方法,提高企业生产效率和客户满意度。


技术实现要素:

5.本发明针对大规模定制下的混线生产如何合理制定调度方案,以提高企业生产效率和客户满意度,并充分利用现有资源的问题,提出了本发明。
6.为解决上述技术问题,本发明提供如下技术方案:
7.一方面,本发明提供了一种求解大规模定制下混线生产调度问题的方法,该方法由电子设备实现,该方法包括:
8.s1、获取车间的加工信息;加工信息包括车间可生产的产品信息、待调度的销售订单信息、待调度的标准件信息以及提前和拖期单位时间成本。
9.其中,车间可生产的产品信息包括产品的单位组装时间、产品的组装机器、组装产品的定制件种类数以及组装产品的各定制件的工艺信息;待调度的销售订单信息包括订单内的产品种类及数量以及订单交货期;待调度的标准件信息包括待调度的标准件的生产数量和工艺信息;提前和拖期单位时间成本包括待调度的销售订单的提前单位时间成本和拖期单位时间成本。
10.s2、将车间的加工信息输入到构建好的车间调度模型。
11.s3、采用产品驱动的调度方法,对车间调度模型进行求解,得到车间调度方案。
12.可选地,s2中的车间调度模型的构建过程包括:
13.s21、设定优化目标和约束条件。
14.s22、根据优化目标和约束条件,构建车间调度模型。
15.可选地,s21中的优化目标为对完工时刻和总提前和拖期成本最小化。
16.其中,总提前和拖期成本为待调度的销售订单内所有产品的提前和拖期成本之和。
17.可选地,s21中的约束条件包括:
18.将标准件拆分成若干批次进行加工,拆分的批次数不得超过标准件的总批量。
19.待调度的销售订单的产品及产品的定制件整批加工。
20.任一操作在某一时刻只分配给一台机器,且同一台机器上一个操作加工完毕后才能加工下一个操作。
21.在零部件加工阶段,任一工序的完工时刻等于开始加工时刻、和零部件在机器上所需的单位加工时间乘以零部件数量之和。
22.在产品组装阶段,产品组装完成时刻等于产品开始组装时刻、和单位组装时间乘产品数量之和。
23.在零部件加工阶段,同一零部件的后续工序必须等待前一工序加工完成后才能进行加工。
24.在产品组装阶段,当组装产品所需的所有定制件全部加工完毕后,进行产品组装。
25.各零部件从0时刻开始加工。
26.决策变量取值为0或1。
27.约束变量取值为非负。
28.可选地,s3中的采用产品驱动的调度方法,对车间调度模型进行求解,得到车间调度方案包括:
29.s31、将各标准件的初始批次数设为1。
30.s32、生成定制件与标准件各批次的调度顺序。
31.s33、根据调度顺序以及间隙挤压法,得到初步调度方案;其中,初步调度方案为完工时刻最小的调度方案。
32.s34、对初步调度方案进行产品驱动的反向调整,生成均衡完工时刻和总提前和拖期成本的调度方案s_scheme。
33.s35、计算调度方案s_scheme目标值的平均值s_value。
34.s36、若各标准件的批次数为1或s_value小于best_value,则令当前最优调度方案best_scheme为调度方案s_scheme,令当前最优调度方案的目标值的平均值best_value为s_value,对调度方案s_scheme的关键路径上的标准件进行增加分批,转去执行s32;若各标准件的批次数不为1且s_value大于等于best_value,则输出当前最优调度方案best_scheme作为最终的车间调度方案。
35.可选地,s32中的生成定制件与标准件各批次的调度顺序包括:
36.s321、计算待调度的销售订单中每个产品的每个定制件的每个工序的松弛时间。
37.s322、将定制件根据松弛时间的升序进行排列,生成定制件工序的调度顺序。
38.s323、将标准件各批次的每道工序随机插入到定制件工序的调度顺序中,生成定
制件与标准件各批次的调度顺序。
39.可选地,s33中的根据调度顺序以及间隙挤压法,得到初步调度方案包括:
40.s331、依次从调度顺序中获取工序。
41.s332、遍历获取的工序所有可用机器的所有间隙,在间隙中寻找满足间隙的开始时刻大于前驱工序的完工时刻,且间隙长度大于获取的工序的加工时间的空隙,将获取的工序插入到完工时刻最小的空隙中,得到初步调度方案。
42.可选地,s34中的对初步调度方案进行产品驱动的反向调整,生成均衡完工时刻和总提前和拖期成本的调度方案包括:
43.s3401、将初步调度方案记为is_scheme,获取is_scheme的完工时刻记为sm。
44.s3402、将初步调度方案is_scheme的工序的调度顺序调整为按is_scheme中工序的开工时刻的升序进行排列。
45.s3403、从初步调度方案is_scheme中获取待调度的销售订单内提前完工的产品,将提前完工的产品存入eproduct_set。
46.s3404、从调度顺序中获取组装eproduct_set内产品的全部定制件工序,将全部定制件工序存入epart_set,令i=调度顺序中的工序总数。
47.s3405、逆序从调度顺序中提取工序,判断是否调度顺序中的工序总数i》0;若是,则获取调度顺序中第i个工序gi,转去执行s3406;否则,输出调整后的调度方案即为均衡完工时刻和总提前和拖期成本的调度方案s_scheme。
48.s3406、判断工序gi是否属于epart_set中的工序;若是,则转去执行s3407;否则,判断工序gi是否为定制件工序;若是,则获取定制件所属的产品pi,将初步调度方案is_scheme中产品pi的组装工序的机器和组装开始结束时刻存入调整后的调度方案s_scheme,转去执行s3410;否则,转去执行s3411。
49.s3407、判断工序gi所属的产品pi的组装工序的机器和组装开始结束时刻是否进行调整;若没有进行调整,则转去执行s3408;若进行调整,转去执行s3409。
50.s3408、从is_scheme中删除产品pi的组装调度信息,获取产品pi所属订单oi的交货期d,得到产品pi的最佳完工时刻bm=min(d,sm);在is_scheme中以bm为起点,依次正向以及反向遍历所有组装机器上的所有空隙,进而得到所有可行的调度结果,并计算产品pi提前和拖期成本etcost;在所有可行的调度结果中选择etcost最小的调度结果s,若所有可行的调度结果中包含etcost相同的调度结果,则随机选择;将调度结果s存入调度方案s_scheme中,转去执行s3409。
51.s3409、将工序gi在初步调度方案is_scheme中所对应的当前工序的调度信息删除,若当前工序是定制件的最后一道工序,则工序gi的最佳完工时刻bm=产品pi的组装开始时刻;否则,bm=当前工序的后一道工序的开工时刻;在is_scheme中以bm为起点,反向遍历所有可用机器上的所有空隙,进而得到所有可行的调度结果,并计算所有可行的调度结果相应的工序gi完工时刻,选择完工时刻与bm差值最小的调度结果s,若所有可行的调度结果中含有完工时刻与bm差值相同的调度结果,则随机选择;将调度结果s存入调度方案s_scheme中;令i=i-1,转去执行s3405。
52.s3410、获取工序gi在初步调度方案is_scheme中所对应的当前工序的加工机器m,删除gi所对应的当前工序的调度信息,若当前工序是定制件的最后一道工序,则工序gi的最
佳完工时刻bm=产品pi的组装开始时刻,否则,bm=当前工序的后一道工序的开工时刻;在is_scheme中以bm为起点,反向遍历加工机器m上的所有空隙,进而得到所有可行的调度结果,并计算所有可行的调度结果相应的工序gi完工时刻,选择完工时刻与bm差值最小的调度结果s,若所有可行的调度结果中含有完工时刻与bm差值相同的调度结果,则随机选择;将获得的调度结果s存入调度方案s_scheme中;令i=i-1,转去执行s3405。
53.s3411、获取工序gi在初步调度方案is_scheme中所对应的当前工序的加工机器m,删除gi所对应的当前工序的调度信息,若当前工序是标准件的最后一道工序,则工序gi的最佳完工时刻bm=sm,否则,bm=当前工序的后一道工序的开工时刻,在is_scheme中以bm为起点,反向遍历加工机器m上的所有空隙,进而得到所有可行的调度结果,并计算所有可行的调度结果相应的工序gi完工时刻,选择完工时刻与bm差值最小的调度结果s,若所有可行的调度结果中含有完工时刻与bm差值相同的调度结果,则随机选择;将获得的调度结果s存入调度方案s_scheme中;令i=i-1,转去执行s3405。
54.另一方面,本发明提供了一种求解大规模定制下混线生产调度问题的装置,该装置应用于实现求解大规模定制下混线生产调度问题的方法,该装置包括:
55.获取模块,用于获取车间的加工信息;所述加工信息包括车间可生产的产品信息、待调度的销售订单信息、待调度的标准件信息以及提前和拖期单位时间成本。
56.其中,所述车间可生产的产品信息包括产品的单位组装时间、产品的组装机器、组装产品的定制件种类数以及组装产品的各定制件的工艺信息;所述待调度的销售订单信息包括订单内的产品种类及数量以及订单交货期;所述待调度的标准件信息包括待调度的标准件的生产数量和工艺信息;所述提前和拖期单位时间成本包括待调度的销售订单的提前单位时间成本和拖期单位时间成本。
57.输入模块,用于将所述车间的加工信息输入到构建好的车间调度模型。
58.输出模块,用于采用产品驱动的调度方法,对所述车间调度模型进行求解,得到车间调度方案。
59.可选地,输入模块,进一步用于:
60.s21、设定优化目标和约束条件。
61.s22、根据优化目标和约束条件,构建车间调度模型。
62.可选地,优化目标为对完工时刻和总提前和拖期成本最小化。
63.其中,总提前和拖期成本为待调度的销售订单内所有产品的提前和拖期成本之和。
64.可选地,约束条件包括:
65.将标准件拆分成若干批次进行加工,拆分的批次数不得超过标准件的总批量。
66.待调度的销售订单的产品及产品的定制件整批加工。
67.任一操作在某一时刻只分配给一台机器,且同一台机器上一个操作加工完毕后才能加工下一个操作。
68.在零部件加工阶段,任一工序的完工时刻等于开始加工时刻、和零部件在机器上所需的单位加工时间乘以零部件数量之和。
69.在产品组装阶段,产品组装完成时刻等于产品开始组装时刻、和单位组装时间乘产品数量之和。
70.在零部件加工阶段,同一零部件的后续工序必须等待前一工序加工完成后才能进行加工。
71.在产品组装阶段,当组装产品所需的所有定制件全部加工完毕后,进行产品组装。
72.各零部件从0时刻开始加工。
73.决策变量取值为0或1。
74.约束变量取值为非负。
75.可选地,输出模块,进一步用于:
76.s31、将各标准件的初始批次数设为1。
77.s32、生成定制件与标准件各批次的调度顺序。
78.s33、根据调度顺序以及间隙挤压法,得到初步调度方案;其中,初步调度方案为完工时刻最小的调度方案。
79.s34、对初步调度方案进行产品驱动的反向调整,生成均衡完工时刻和总提前和拖期成本的调度方案s_scheme。
80.s35、计算调度方案s_scheme目标值的平均值s_value。
81.s36、若各标准件的批次数为1或s_value小于best_value,则令当前最优调度方案best_scheme为调度方案s_scheme,令当前最优调度方案的目标值的平均值best_value为s_value,对调度方案s_scheme的关键路径上的标准件进行增加分批,转去执行s32;若各标准件的批次数不为1且s_value大于等于best_value,则输出当前最优调度方案best_scheme作为最终的车间调度方案。
82.可选地,输出模块,进一步用于:
83.s321、计算待调度的销售订单中每个产品的每个定制件的每个工序的松弛时间。
84.s322、将定制件根据松弛时间的升序进行排列,生成定制件工序的调度顺序。
85.s323、将标准件各批次的每道工序随机插入到定制件工序的调度顺序中,生成定制件与标准件各批次的调度顺序。
86.可选地,输出模块,进一步用于:
87.s331、依次从调度顺序中获取工序。
88.s332、遍历除获取的工序外的当前工序的所有间隙,在间隙中寻找满足间隙的开始时刻大于前驱工序的完工时刻,且间隙长度大于获取的工序的加工时间的空隙,将获取的工序插入到空隙中,得到初步调度方案。
89.可选地,输出模块,进一步用于:
90.s3401、将初步调度方案记为is_scheme,获取is_scheme的完工时刻记为sm。
91.s3402、将初步调度方案is_scheme的工序的调度顺序调整为按is_scheme中工序的开工时刻的升序进行排列。
92.s3403、从初步调度方案is_scheme中获取待调度的销售订单内提前完工的产品,将提前完工的产品存入eproduct_set。
93.s3404、从调度顺序中获取组装eproduct_set内产品的全部定制件工序,将全部定制件工序存入epart_set,令i=调度顺序中的工序总数。
94.s3405、逆序从调度顺序中提取工序,判断是否调度顺序中的工序总数i》0;若是,则获取调度顺序中第i个工序gi,转去执行s3406;否则,输出调整后的调度方案即为均衡完
工时刻和总提前和拖期成本的调度方案s_scheme。
95.s3406、判断工序gi是否属于epart_set中的工序;若是,则转去执行s3407;否则,判断工序gi是否为定制件工序;若是,则获取定制件所属的产品pi,将初步调度方案is_scheme中产品pi组装工序的机器和组装开始结束时刻存入调整后的调度方案s_scheme,转去执行s3410;否则,转去执行s3411。
96.s3407、判断工序gi所属的产品pi的组装工序的机器和组装开始结束时刻是否进行调整;若没有进行调整,则转去执行s3408;若进行调整,转去执行s3409。
97.s3408、从is_scheme中删除产品pi的组装调度信息,获取产品pi所属订单oi的交货期d,得到产品pi的最佳完工时刻bm=min(d,sm);在is_scheme中以bm为起点,依次正向以及反向遍历所有组装机器上的所有空隙,进而得到所有可行的调度结果,并计算产品pi提前和拖期成本etcost;在所有可行的调度结果中选择etcost最小的调度结果s,若所有可行的调度结果中包含etcost相同的调度结果,则随机选择;将调度结果s存入调度方案s_scheme中,转去执行s3409。
98.s3409、将工序gi在初步调度方案is_scheme中所对应的当前工序的调度信息删除,若当前工序是定制件的最后一道工序,则工序gi的最佳完工时刻bm=产品pi的组装开始时刻;否则,bm=当前工序的后一道工序的开工时刻;在is_scheme中以bm为起点,反向遍历所有可用机器上的所有空隙,进而得到所有可行的调度结果,并计算所有可行的调度结果相应的工序gi完工时刻,选择完工时刻与bm差值最小的调度结果s,若所有可行的调度结果中含有完工时刻与bm差值相同的调度结果,则随机选择;将调度结果s存入调度方案s_scheme中;令i=i-1,转去执行s3405。
99.s3410、获取工序gi在初步调度方案is_scheme中所对应的当前工序的加工机器m,删除gi所对应的当前工序的调度信息,若当前工序是定制件的最后一道工序,则工序gi的最佳完工时刻bm=产品pi的组装开始时刻,否则,bm=当前工序的后一道工序的开工时刻;在is_scheme中以bm为起点,反向遍历加工机器m上的所有空隙,进而得到所有可行的调度结果,并计算所有可行的调度结果相应的工序gi完工时刻,选择完工时刻与bm差值最小的调度结果s,若所有可行的调度结果中含有完工时刻与bm差值相同的调度结果,则随机选择;将获得的调度结果s存入调度方案s_scheme中;令i=i-1,转去执行s3405。
100.s3411、获取工序gi在初步调度方案is_scheme中所对应的当前工序的加工机器m,删除gi所对应的当前工序的调度信息,若当前工序是标准件的最后一道工序,则工序gi的最佳完工时刻bm=sm,否则,bm=当前工序的后一道工序的开工时刻,在is_scheme中以bm为起点,反向遍历加工机器m上的所有空隙,进而得到所有可行的调度结果,并计算所有可行的调度结果相应的工序gi完工时刻,选择完工时刻与bm差值最小的调度结果s,若所有可行的调度结果中含有完工时刻与bm差值相同的调度结果,则随机选择;将获得的调度结果s存入调度方案s_scheme中;令i=i-1,转去执行s3405。
101.一方面,提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述求解大规模定制下混线生产调度问题的方法。
102.一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述求解大规模定制下混线生产调度问题
的方法。
103.本发明实施例提供的技术方案带来的有益效果至少包括:
104.上述方案中,针对大规模定制下混线生产调度问题,建立了车间调度模型。考虑到生产效率与客户满意度对大规模定制制造企业的重要性,将车间调度模型的优化目标设置为完工时刻和总提前/拖期成本。设计了产品驱动的调度方法,首先生成一个可行的调度顺序,之后采用间隙挤压法生成初步调度方案,再采用产品驱动的反向调整策略对调度方案进行调整,实现完工时刻和总提前/拖期成本的均衡优化。所设计的方法可以有效地求解大规模定制下的混线生产调度问题,充分利用现有资源,降低完工时刻和总提前/拖期成本。
105.本发明可以避免人工调度决策的不合理性与低效性,有助于提高企业的生产管理效率和客户满意度。
附图说明
106.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
107.图1是本发明实施例提供的求解大规模定制下混线生产调度问题的方法流程示意图;
108.图2是本发明实施例提供的求解大规模定制下混线生产调度问题的装置框图;
109.图3是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
110.为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
111.如图1所示,本发明实施例提供了一种求解大规模定制下混线生产调度问题的方法,该方法可以由电子设备实现。如图1所示的求解大规模定制下混线生产调度问题的方法流程图,该方法的处理流程可以包括如下的步骤:
112.s1、获取车间的加工信息。
113.其中,车间的加工信息可以包括车间可生产的产品信息、待调度的销售订单信息、待调度的标准件信息以及提前和拖期单位时间成本。
114.其中,车间可生产的产品信息可以包括产品的单位组装时间、产品的组装机器、组装产品的定制件种类数以及组装产品的各定制件的工艺信息。
115.待调度的销售订单信息可以包括订单内的产品种类及数量以及订单交货期。
116.待调度的标准件信息可以包括待调度的标准件的生产数量和工艺信息。
117.提前和拖期单位时间成本可以包括待调度的销售订单的提前单位时间成本和拖期单位时间成本。
118.s2、将车间的加工信息输入到构建好的车间调度模型。
119.可选地,s2中的车间调度模型的构建过程包括:
120.s21、设定优化目标和约束条件。
121.可选地,s21中的优化目标为对完工时刻和总提前和拖期成本最小化。
122.其中,总提前和拖期成本为待调度的销售订单内所有产品的提前和拖期成本之和。
123.可选地,s21中的约束条件包括:
124.标准件需要拆分成若干批次加工,拆分的批次数不得超过标准件的总批量。
125.待调度的销售订单的产品及产品的定制件整批加工。
126.任一操作在某一时刻只分配给一台机器,且同一台机器上一个操作加工完毕后才能加工下一个操作。
127.在零部件加工阶段,任一工序的完工时刻等于开始加工时刻、和零部件在机器上所需的单位加工时间乘以零部件数量之和。
128.在产品组装阶段,产品组装完成时刻等于产品开始组装时刻、和单位组装时间乘产品数量之和。
129.在零部件加工阶段,同一零部件的后续工序必须等待前一工序加工完成后才能进行加工。
130.在产品组装阶段,当组装产品所需的所有定制件全部加工完毕后,进行产品组装。
131.各零部件可以从0时刻开始加工。
132.决策变量取值为0或1。
133.约束变量取值为非负。
134.一种可行的实施方式中,计算目标值时结合模型来实现加工次序约束以及产品组装约束等。
135.s22、根据优化目标和约束条件,构建车间调度模型。
136.s3、采用产品驱动的调度方法,对车间调度模型进行求解,得到车间调度方案。
137.可选地,s3中的采用产品驱动的调度方法,对车间调度模型进行求解,得到车间调度方案包括:
138.s31、将各标准件的初始批次数设为1。
139.s32、生成定制件与标准件各批次的调度顺序。
140.一种可行的实施方式中,本技术根据产品驱动的调度方法,对车间调度模型进行求解,得到车间调度方案。
141.可选地,s32中的生成定制件与标准件各批次的调度顺序包括:
142.s321、计算待调度的销售订单中每个产品的每个定制件的每个工序的松弛时间。
143.s322、将定制件根据松弛时间的升序进行排列,生成定制件工序的调度顺序。
144.s323、将标准件各批次的每道工序随机插入到定制件工序的调度顺序中,生成定制件与标准件各批次的调度顺序。
145.一种可行的实施方式中,调度的销售订单可以包括同时调度多种产品,每个产品的生产过程包括加工以及组装;加工包括定制件的加工以及标准件的加工。
146.标准件是根据企业内部下发的生产任务进行批量调度的。
147.定制件是根据销售订单进行加工和组装的。
148.标准件和定制件在同一个车间生产,用到相同的设备,在调度时需要进行资源的协调。而在后续的组装环节是标准件和定制件组装成产品,但是由于标准件在仓库内有稳
定的库存,可以随用随取,所以只要定制件加工完成就可以进行组装。在组装产品的时候,每种产品都要用到标准件的s33、根据调度顺序以及间隙挤压法,得到初步调度方案。
149.其中,初步调度方案为完工时刻最小的调度方案。
150.可选地,s33中的根据调度顺序以及间隙挤压法,得到初步调度方案包括:
151.s331、依次从调度顺序中获取工序。
152.s332、遍历获取的工序所有可用机器的所有间隙,在间隙中寻找满足间隙的开始时刻大于前驱工序的完工时刻,且间隙长度大于获取的工序的加工时间的空隙,将获取的工序插入到完工时刻最小的空隙中,得到初步调度方案。
153.一种可行的实施方式中,间隙挤压法的流程可以是:首先,依次从调度顺序中获取工序;然后,遍历当前调度工序在所有可用机器上的所有间隙,在间隙中寻找满足间隙的开始时刻大于前驱工序完工时刻,且间隙长度大于工序加工时间的空隙,作为调度结果。此外,各产品的组装调度顺序取决于其定制件的最大完工时刻,即当组装产品的定制件全部调度完成后,立即进行产品组装工序的调度。
154.s34、对初步调度方案进行产品驱动的反向调整,生成均衡完工时刻和总提前和拖期成本的调度方案s_scheme。
155.一种可行的实施方式中,针对标准件各批次、定制件和产品的特征,设计相应的反向调整策略,生成均衡完工时刻和总提前和拖期成本的调度方案。
156.可选地,s34中的对初步调度方案进行产品驱动的反向调整,生成均衡完工时刻和总提前和拖期成本的调度方案包括:
157.s3401、将初步调度方案记为is_scheme,获取is_scheme的完工时刻记为sm。
158.举例来说,待调度的销售订单包括生产产品p1以及产品p2;其中,产品p1的定制件工序包括a11,产品p1的组装工序包括a12,产品p2的定制件工序包括加工a21,产品p2的组装工序包括a22,标准件加工工序包括b1、b2以及b3。
159.得到的初步调度方案is_scheme,可以是a11 a12 b1 a21 a22 b2 b3。
160.s3402、将初步调度方案is_scheme的工序的调度顺序调整为按is_scheme中工序的开工时刻的升序进行排列。
161.一种可行的实施方式中,调度顺序是加工阶段各个定制件和标准件工序的排序,如a11 b1 a21 b2 b3;调度方案是确定每个工序在哪台机器上加工,以及加工的开始和结束时刻,调度方案是根据调度顺序制定的,在调度顺序中排在前面的工序,优先安排机器,确定加工的开始和结束时刻,当产品的全部定制件工序安排完成后,立即安排产品组装工序的机器,确定组装的开始和结束时刻。
162.举例来说,初步调度方案is_scheme可以是a11 a12 b1 a21 a22 b2 b3。
163.排列后的定制件和标准件批次调度顺序可以是a11 a21 b1 b2 b3。
164.s3403、从初步调度方案is_scheme中获取待调度的销售订单内提前完工的产品,将提前完工的产品存入eproduct_set。
165.举例来说,提前完工的产品是产品p1,则将产品p1存入eproduct_set。
166.s3404、从调度顺序中获取组装eproduct_set内产品的全部定制件工序,将全部定制件工序存入epart_set,令i=调度顺序中的工序总数。
167.举例来说,将产品p1的全部定制件工序a11存入epart_set。
168.令i=5。
169.s3405、逆序从调度顺序中提取工序,判断是否调度顺序中的工序总数i》0;若是,则获取调度顺序中第i个工序gi,转去执行s3406;否则,输出调整后的调度方案即为均衡完工时刻和总提前和拖期成本的调度方案s_scheme。
170.举例来说,从调度顺序a11 a21 b1 b2 b3中,逆序提取工序b3,判断工序总数5是否大于0,大于,转去执行s3406。若判断结果小于等于0,则输出调整后的调度方案即为均衡完工时刻和总提前和拖期成本的调度方案s_scheme。
171.s3406、判断工序gi是否属于epart_set中的工序;若是,则转去执行s3407;否则,判断工序gi是否为定制件工序;若是,则将初步调度方案is_scheme存入调整后的调度方案s_scheme,转去执行s3410;否则,转去执行s3411。
172.一种可行的实施方式中,判断工序gi是否属于提前完工的产品中的定制件工序;如果工序gi属于提前完工的产品中的定制件工序,则转去执行s3407。
173.如果工序gi不属于提前完工的产品中的定制件工序,则进一步判断工序gi是否为定制件工序;如果工序gi是定制件工序,则将初步调度方案is_scheme存入调整后的调度方案s_scheme,转去执行s3410;如果工序gi不是定制件工序,则转去执行s3411。
174.s3407、判断工序gi所属的产品pi的组装工序的机器和组装开始结束时间是否进行调整;若没有进行调整,则转去执行s3408;若进行调整,转去执行s3409。
175.一种可行的实施方式中,制定调度方案的过程分为两步,第一步是制定一个完工时刻最小的初步方案,第二步是对这个方案进行调整,需要调整方案中定制件和标准件的每道工序、产品的组装工序的机器和开始结束时刻,优化提前/拖期成本。其中,没有进行调整是还没有调整这个产品的机器和开始结束时刻。
176.s3408、提前完工产品驱动的调整策略:从is_scheme中删除产品pi的组装调度信息,获取产品pi所属订单oi的交货期d,得到产品pi的最佳完工时刻bm=min(d,sm);在is_scheme中以bm为起点,依次正向以及反向遍历所有组装机器上的所有空隙,将产品pi的组装工序插入到空隙中,得到所有可行的调度结果,并计算产品pi提前和拖期成本etcost;在所有可行的调度结果中选择etcost最小的调度结果s,若所有可行的调度结果中包含etcost相同的调度结果,则随机选择;将调度结果s存入调度方案s_scheme中,转去执行s3409。
177.s3409、提前完工产品的定制件驱动的调整策略:将工序gi在初步调度方案is_scheme中所对应的当前工序的调度信息删除,若当前工序是定制件的最后一道工序,则工序gi的最佳完工时刻bm=产品pi的组装开始时刻;否则,bm=当前工序的后一道工序的开工时刻;在is_scheme中以bm为起点,反向遍历所有可用机器上的所有空隙,将产品pi的组装工序插入到空隙中,得到所有可行的调度结果,并计算所有可行的调度结果相应的工序gi完工时刻,选择完工时刻与bm差值最小的调度结果s,若所有可行的调度结果中含有完工时刻与bm差值相同的调度结果,则随机选择;将调度结果s存入调度方案s_scheme中;令i=i-1,转去执行s3405。
178.s3410、非提前完工产品的定制件驱动的调整策略:获取工序gi在初步调度方案is_scheme中所对应的当前工序的加工机器m,删除gi所对应的当前工序的调度信息,若当前工序是定制件的最后一道工序,则工序gi的最佳完工时刻bm=产品pi的组装开始时刻,否
则,bm=当前工序的后一道工序的开工时刻;在is_scheme中以bm为起点,反向遍历加工机器m上的所有空隙,将当前工序插入到空隙中,得到所有可行的调度结果,并计算所有可行的调度结果相应的工序gi完工时刻,选择完工时刻与bm差值最小的调度结果s,若所有可行的调度结果中含有完工时刻与bm差值相同的调度结果,则随机选择;将获得的调度结果s存入调度方案s_scheme中;令i=i-1,转去执行s3405。
179.s3411、标准件子批驱动的调整策略:获取工序gi在初步调度方案is_scheme中所对应的当前工序的加工机器m,删除gi所对应的当前工序的调度信息,若当前工序是标准件的最后一道工序,则工序gi的最佳完工时刻bm=sm,否则bm=当前工序的后一道工序的开工时刻,在is_scheme中以bm为起点,反向遍历加工机器m上的所有空隙,将当前工序插入到空隙中,得到所有可行的调度结果,并计算所有可行的调度结果相应的工序gi完工时刻,选择完工时刻与bm差值最小的调度结果s,若所有可行的调度结果中含有完工时刻与bm差值相同的调度结果,则随机选择;将获得的调度结果s存入调度方案s_scheme中;令i=i-1,转去执行s3405。
180.s35、计算调度方案s_scheme目标值的平均值s_value。
181.s36、若各标准件的批次数为1或s_value小于best_value,则令当前最优调度方案best_scheme为调度方案s_scheme,令当前最优调度方案的目标值的平均值best_value为s_value,对调度方案s_scheme的关键路径上的标准件进行增加分批,转去执行s32;若各标准件的批次数不为1且s_value大于等于best_value,则输出当前最优调度方案best_scheme作为最终的车间调度方案。
182.一种可行的实施方式中,关键路径指制定的调度方案中,从开始加工到结束加工过程中,一条不间断的加工路径,也就是加工时间最长的一条路径,该对调度完工时刻有很大影响,为了继续缩短完工时刻,因此需增加这条路径上标准件的批次。
183.一种可行的实施方式中,上述步骤s35-s36用于判断是否可以终止迭代。
184.本发明实施例中,针对大规模定制下混线生产调度问题,建立了车间调度模型。考虑到生产效率与客户满意度对大规模定制制造企业的重要性,将车间调度模型的优化目标设置为完工时刻和总提前/拖期成本。设计了产品驱动的调度方法,首先生成一个可行的调度顺序,之后采用间隙挤压法生成初步调度方案,再采用产品驱动的反向调整策略对调度方案进行调整,实现完工时刻和总提前/拖期成本的均衡优化。所设计的方法可以有效地求解大规模定制下的混线生产调度问题,充分利用现有资源,降低完工时刻和总提前/拖期成本。
185.本发明可以避免人工调度决策的不合理性与低效性,有助于提高企业的生产管理效率和客户满意度。
186.如图2所示,本发明实施例提供了一种求解大规模定制下混线生产调度问题的装置200,该装置200应用于实现求解大规模定制下混线生产调度问题的方法,该装置200包括:
187.获取模块210,用于获取车间的加工信息;所述加工信息包括车间可生产的产品信息、待调度的销售订单信息、待调度的标准件信息以及提前和拖期单位时间成本。
188.其中,所述车间可生产的产品信息包括产品的单位组装时间、产品的组装机器、组装产品的定制件种类数以及组装产品的各定制件的工艺信息;所述待调度的销售订单信息
包括订单内的产品种类及数量以及订单交货期;所述待调度的标准件信息包括待调度的标准件的生产数量和工艺信息;所述提前和拖期单位时间成本包括待调度的销售订单的提前单位时间成本和拖期单位时间成本。
189.输入模块220,用于将所述车间的加工信息输入到构建好的车间调度模型。
190.输出模块230,用于采用产品驱动的调度方法,对所述车间调度模型进行求解,得到车间调度方案。
191.可选地,输入模块220,进一步用于:
192.s21、设定优化目标和约束条件。
193.s22、根据优化目标和约束条件,构建车间调度模型。
194.可选地,优化目标为对完工时刻和总提前和拖期成本最小化。
195.其中,总提前和拖期成本为待调度的销售订单内所有产品的提前和拖期成本之和。
196.可选地,约束条件包括:
197.将标准件拆分成若干批次进行加工,拆分的批次数不得超过标准件的总批量。
198.待调度的销售订单的产品及产品的定制件整批加工。
199.任一操作在某一时刻只分配给一台机器,且同一台机器上一个操作加工完毕后才能加工下一个操作。
200.在零部件加工阶段,任一工序的完工时刻等于开始加工时刻、和零部件在机器上所需的单位加工时间乘以零部件数量之和。
201.在产品组装阶段,产品组装完成时刻等于产品开始组装时刻、和单位组装时间乘产品数量之和。
202.在零部件加工阶段,同一零部件的后续工序必须等待前一工序加工完成后才能进行加工。
203.在产品组装阶段,当组装产品所需的所有定制件全部加工完毕后,进行产品组装。
204.各零部件从0时刻开始加工。
205.决策变量取值为0或1。
206.约束变量取值为非负。
207.可选地,输出模块230,进一步用于:
208.s31、将各标准件的初始批次数设为1。
209.s32、生成定制件与标准件各批次的调度顺序。
210.s33、根据调度顺序以及间隙挤压法,得到初步调度方案;其中,初步调度方案为完工时刻最小的调度方案。
211.s34、对初步调度方案进行产品驱动的反向调整,生成均衡完工时刻和总提前和拖期成本的调度方案s_scheme。
212.s35、计算调度方案s_scheme目标值的平均值s_value。
213.s36、若各标准件的批次数为1或s_value小于best_value,则令当前最优调度方案best_scheme为调度方案s_scheme,令当前最优调度方案的目标值的平均值best_value为s_value,对调度方案s_scheme的关键路径上的标准件进行增加分批,转去执行s32;若各标准件的批次数不为1且s_value大于等于best_value,则输出当前最优调度方案best_
scheme作为最终的车间调度方案。
214.可选地,输出模块230,进一步用于:
215.s321、计算待调度的销售订单中每个产品的每个定制件的每个工序的松弛时间。
216.s322、将定制件根据松弛时间的升序进行排列,生成定制件工序的调度顺序。
217.s323、将标准件各批次的每道工序随机插入到定制件工序的调度顺序中,生成定制件与标准件各批次的调度顺序。
218.可选地,输出模块230,进一步用于:
219.s331、依次从调度顺序中获取工序。
220.s332、遍历获取的工序所有可用机器的所有间隙,在间隙中寻找满足间隙的开始时刻大于前驱工序的完工时刻,且间隙长度大于获取的工序的加工时间的空隙,将获取的工序插入到完工时刻最小的空隙中,得到初步调度方案。
221.可选地,输出模块230,进一步用于:
222.s3401、将初步调度方案记为is_scheme,获取is_scheme的完工时刻记为sm。
223.s3402、将初步调度方案is_scheme的工序的调度顺序调整为按is_scheme中工序的开工时刻的升序进行排列。
224.s3403、从初步调度方案is_scheme中获取待调度的销售订单内提前完工的产品,将提前完工的产品存入eproduct_set。
225.s3404、从调度顺序中获取组装eproduct_set内产品的全部定制件工序,将全部定制件工序存入epart_set,令i=调度顺序中的工序总数。
226.s3405、逆序从调度顺序中提取工序,判断是否调度顺序中的工序总数i》0;若是,则获取调度顺序中第i个工序gi,转去执行s3406;否则,输出调整后的调度方案即为均衡完工时刻和总提前和拖期成本的调度方案s_scheme。
227.s3406、判断工序gi是否属于epart_set中的工序;若是,则转去执行s3407;否则,判断工序gi是否为定制件工序;若是,则获取定制件所属的产品pi,将初步调度方案is_scheme中产品pi组装工序的机器和组装开始和结束时刻存入调整后的调度方案s_scheme,转去执行s3410;否则,转去执行s3411。
228.s3407、判断工序gi所属的产品pi的组装工序的机器和组装开始结束时刻是否进行调整;若没有进行调整,则转去执行s3408;若进行调整,转去执行s3409。
229.s3408、从is_scheme中删除产品pi的组装调度信息,获取产品pi所属订单oi的交货期d,得到产品pi的最佳完工时刻bm=min(d,sm);在is_scheme中以bm为起点,依次正向以及反向遍历所有组装机器上的所有空隙,进而得到所有可行的调度结果,并计算产品pi提前和拖期成本etcost;在所有可行的调度结果中选择etcost最小的调度结果s,若所有可行的调度结果中包含etcost相同的调度结果,则随机选择;将调度结果s存入调度方案s_scheme中,转去执行s3409。
230.s3409、将工序gi在初步调度方案is_scheme中所对应的当前工序的调度信息删除,若当前工序是定制件的最后一道工序,则工序gi的最佳完工时刻bm=产品pi的组装开始时刻;否则,bm=当前工序的后一道工序的开工时刻;在is_scheme中以bm为起点,反向遍历所有可用机器上的所有空隙,进而得到所有可行的调度结果,并计算所有可行的调度结果相应的工序gi完工时刻,选择完工时刻与bm差值最小的调度结果s,若所有可行的调度结果
中含有完工时刻与bm差值相同的调度结果,则随机选择;将调度结果s存入调度方案s_scheme中;令i=i-1,转去执行s3405。
231.s3410、获取工序gi在初步调度方案is_scheme中所对应的当前工序的加工机器m,删除gi所对应的当前工序的调度信息,若当前工序是定制件的最后一道工序,则工序gi的最佳完工时刻bm=产品pi的组装开始时刻,否则,bm=当前工序的后一道工序的开工时刻;在is_scheme中以bm为起点,反向遍历加工机器m上的所有空隙,进而得到所有可行的调度结果,并计算所有可行的调度结果相应的工序gi完工时刻,选择完工时刻与bm差值最小的调度结果s,若所有可行的调度结果中含有完工时刻与bm差值相同的调度结果,则随机选择;将获得的调度结果s存入调度方案s_scheme中;令i=i-1,转去执行s3405。
232.s3411、获取工序gi在初步调度方案is_scheme中所对应的当前工序的加工机器m,删除gi所对应的当前工序的调度信息,若当前工序是标准件的最后一道工序,则工序gi的最佳完工时刻bm=sm,否则,bm=当前工序的后一道工序的开工时刻,在is_scheme中以bm为起点,反向遍历加工机器m上的所有空隙,进而得到所有可行的调度结果,并计算所有可行的调度结果相应的工序gi完工时刻,选择完工时刻与bm差值最小的调度结果s,若所有可行的调度结果中含有完工时刻与bm差值相同的调度结果,则随机选择;将获得的调度结果s存入调度方案s_scheme中;令i=i-1,转去执行s3405。
233.本发明实施例中,针对大规模定制下混线生产调度问题,建立了车间调度模型。考虑到生产效率与客户满意度对大规模定制制造企业的重要性,将车间调度模型的优化目标设置为完工时刻和总提前/拖期成本。设计了产品驱动的调度方法,首先生成一个可行的调度顺序,之后采用间隙挤压法生成初步调度方案,再采用产品驱动的反向调整策略对调度方案进行调整,实现完工时刻和总提前/拖期成本的均衡优化。所设计的方法可以有效地求解大规模定制下的混线生产调度问题,充分利用现有资源,降低完工时刻和总提前/拖期成本。
234.本发明可以避免人工调度决策的不合理性与低效性,有助于提高企业的生产管理效率和客户满意度。
235.图3是本发明实施例提供的一种电子设备300的结构示意图,该电子设备300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,cpu)301和一个或一个以上的存储器302,其中,存储器302中存储有至少一条指令,至少一条指令由处理器301加载并执行以实现下述求解大规模定制下混线生产调度问题的方法:
236.s1、获取车间的加工信息;加工信息包括车间可生产的产品信息、待调度的销售订单信息、待调度的标准件信息以及提前和拖期单位时间成本。
237.其中,车间可生产的产品信息包括产品的单位组装时间、产品的组装机器、组装产品的定制件种类数以及组装产品的各定制件的工艺信息;待调度的销售订单信息包括订单内的产品种类及数量以及订单交货期;待调度的标准件信息包括待调度的标准件的生产数量和工艺信息;提前和拖期单位时间成本包括待调度的销售订单的提前单位时间成本和拖期单位时间成本。
238.s2、将车间的加工信息输入到构建好的车间调度模型。
239.s3、采用产品驱动的调度方法,对车间调度模型进行求解,得到车间调度方案。
240.在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述求解大规模定制下混线生产调度问题的方法。例如,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
241.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
242.以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献