一种基于多机动态调度的芯片封测线性规划排程方法

文档序号:31396831发布日期:2022-09-03 03:39阅读:116来源:国知局
一种基于多机动态调度的芯片封测线性规划排程方法

1.本发明涉及排程算法领域,特别涉及一种基于多机动态调度的芯片封测线性规划排程方法。


背景技术:

2.随着信息技术的高速发展,信息技术正在持续改造各行各业,科技制造企业朝着更加自动化、信息化和智能化的方向发展。产能过剩和计算机技术使得行业竞争变得更加激烈,企业要想在日益激烈的市场竞争中稳操胜券,就必须快速响应客户的要求和应对市场的需求。而企业要想通过领先的生产方式和高效的管理模式,按照客户的需求保持高质量的交货能力交付货物,一个卓有成效的方法就是提高企业的信息化程度。目前,作为先进和高级的企业生产计划管理模式,基于高级计划调度(advanced planning and scheduling,以下简称aps,调度又称排程)的生产计划系统和制造执行系统(manufacturing execution system,以下简称mes)正被越来越多的企业所接受。
3.现有的aps系统通常具有通用性,不具有行业针对性,所以有时候不能与特定行业结合用来指导生产计划,所以面向半导体测试的aps系统值得研究。半导体制造复杂性极高,是典型的技术、知识密集型产业。但是现有的aps系统的研究主要集中于模型建立和算法求解等问题,较少涉及到具体的系统实现,拥有人机交互的aps的系统较为少见。目前在半导体工业中,生产能力规划也主要有三种方式:一是利用电子表格来实现,由于在制定计划时设备生产能力一般是以周为单位来考虑的,故所需的设备数量等于周加工任务除以设备周生产能力。企业在采用该种方法时,一般会根据不同的优先评价标准来依次制定生产计划;二是在加工周期时间是关键的工作指标的情况下,用离散事件仿真法多次重复试验来进行生产能力规划;上述两种方法均需多次运行反复试验,而且所得的解仍可能远离最优解。第三种方法是综合考虑多方面的因素利用线性规划法以建立约束条件和目标函数对生产进行优化。由于可以利用专业的优化解算器在较短时间内得出模型的最优解,线性规划在半导体生产能力规划中的应用越来越广泛,特别是对于大规模的问题,其优点也就越明显。


技术实现要素:

4.本发明的目的是克服现有技术缺陷,提供一种基于多机动态调度的芯片封测线性规划排程方法,通过利用两种算法模型,分别依据最大利润和非利润因素下的预设条件,从而能够针对厂商的不同要求,求解更多和更准确的排程方案,达到为半导体封测行业提供更快更精确的排程系统的目的。
5.本发明的目的是这样实现的:一种基于多机动态调度的芯片封测线性规划排程方法,包括以下步骤:
6.步骤1)接入生产系统的企业资源计划erp系统及制造执行mes系统,获取生产信息;
7.步骤2)以最大化利润为约束目标,对封测产能进行模型规划,建立数学模型xschedule;在定义的生产情境和必要的生产系统假设下,建立采用线性规划的方法,对生产实际问题进行简化及抽象,建立相应的数学规划模型;
8.步骤3)依据不同约束目标,建立约束规划模型yschedule,进行约束规划求解;在不考虑利润约束的前提下,对工厂生产的其他约束条件进行约束规划建模求解,以求得多种约束条件下的局部最优排程方案;
9.步骤4)将步骤3)得到的排程方案存入数据表,根据预设条件或人工干预进行排程方案的选择。
10.进一步的,所述步骤1)具体包括:
11.步骤1.1)从企业资源计划erp系统及制造执行mes系统中获取并筛选生产信息,对生产信息进行打包,获得包含封测价格和利润生产信息在内的数据包;所述生产信息包括生产需求量、自有及外包的现有设备、配件产能、产品工艺信息、物料需求、产品信息、库存存量、自有及外包的测试价格和测试成本;
12.步骤1.2)将获取到的数据包分发给步骤2)的模型xschedule和步骤3)的模型yschedule进行约束求解。
13.进一步的,所述步骤2)具体包括:
14.步骤2.1)定义生产情境:测试生产线设定为订单式生产mto模式,规划时间内的订单已知,每张订单仅有一种待测试的产品,每张订单各测试工序可用的机型已知,若一份订单有多种产品,则将其视为多份订单处理;该规划涉及的测试产能来源工厂自有测试生产线及母公司测试厂;自有测试厂与母公司测试厂所能提供的各测试机型的设备数量为已知;测试机台单位时间的产值及成本因订单、产品及测试工艺流程而定;生产规划的订单分配及设备安排以月度计划为依据进行静态安排,实际生产运营期间如有发生生产计划变更或设备状态的重大变化,则视为执行新的生产计划,再次进行新生产计划下的设备安排及订单分配;
15.步骤2.2)设定生产情境的限制:考虑各个测试工艺站点的先后次序;不考虑因产品的搬运移动时间以及工人的设备操作时间可能导致的产能损失;各机台的可用时间是指已扣除机台的设置换装时间及宕机时间,所述各机台的可用时间是以历史数据经验值作为预设值;不考虑订单产品中批量大小差异导致的批处理设备的性能损失,即设备的可用效率中综合考虑了性能稼动率和时间稼动率,以现况的历史数据作为已知条件;厂内成本仅考虑变动成本;外包成本包含固定成本及变动成本,其成本会恒大于厂内成本;当外包成本恒大于自有测试成本,预设其已经考虑了待测产品在不同工厂间的物流输送成本;设备的生产能力以每天能够加工某种产品的数量为衡量基准,该数值是已经考虑设备的稼动率、生产转换调整时间和返工以及工艺合格率的平均值;
16.步骤2.3)构建数学模型xschedule和模型求解;在定义的生产情境和设定的生产情境的限制下,建立采用线性规划的方法,对生产实际问题进行简化及抽象,建立相应的数学规划模型,并对模型进行求解。
17.进一步的,所述步骤2.3)具体包括:
18.步骤2.3.1)决策变量设定:
19.a
ijkl
:订单i于第j道测试,安排在机型k上使用配件1的数量;i=1,2,3,

i;j=1,
2,3,

j;k=1,2,3,

k;1=1,2,3,

l;
20.o
ijk
:订单i于第j道测试,安排在外包机型k上的数量;i=1,2,3,

i;j=1,2,3,

j;k=1,2,3,

k;
21.b
ij
:订单i于第j道测试,无法安排上机的数量;i=1,2,3,

i;j=1,2,3,

j;
22.y
ijk
:订单i于第j道测试,是否安排在机型k上测试;i=1,2,3,

i;j=1,2,3,

j;k=1,2,3,

k;
23.步骤2.3.2)参数设定;
24.r
ij
:订单i在第j道测试的需求生产数量;i=1,2,3,

i;j=1,2,3,

j;
25.mk:机型k的设备可用数量;k=1,2,3,

k;
26.m
kl
:机型k下配件1的保有数量;k=1,2,3,

k;1=1,2,3,

l;
27.uk:机型k的单一机台最大可用时间(已经考虑稼动率因素);k=1,2,3,

k;
28.t
ijk
:订单i于第j道测试在机型k上,所需要的作业时间,即测试时间;i=1,2,3,

i;j=1,2,3,

j;k=1,2,3,

k;
[0029]vijk
:订单i于第j道测试在机型k上,所能得到的产值;i=1,2,3,

i;j=1,2,3,

j;k=1,2,3,

k;
[0030]cijk
:订单i于第j道测试在机型k上,所需要花费的厂内测试成本;i=1,2,3,

i;j=1,2,3,

j;k=1,2,3,

k;
[0031]ek
:外包机型k的设备可用数量;k=1,2,3,

k;
[0032]sijk
:订单i于第j道测试在机型k上,所需要花费的外包测试成本;i=1,2,3,

i;j=1,2,3,

j;k=1,2,3,

k;
[0033]
步骤2.3.3)构建数学模型xschedule:
[0034]
目标函数:如(1)所示:
[0035][0036]
公式(1)中以最大化利润为目标,即以自有测试厂收益与外包测试收益之和最大化为目标;其中i表示测试订单类别,i=1,2,3,

i,j表示测试站点序列,j=1,2,3,

j,k表示测试机台群组,k=1,2,3,

k,l表示测试配件群组,1=1,2,3,

l;
[0037]
步骤2.3.4)约束条件:
[0038]
s.t
[0039][0040]
公式(2)表示了针对每一份订单i的每一道测试j,每份订单的每一道测试安排在机型k上使用配件1的数量不能大于其每份订单在每道测试工序的需求测试数量;
[0041][0042]
公式(3)表示了针对每一份订单i的每一道测试j,安排在外包测试工厂使用机型k的订单数量不得大于每份订单的实际测试需求数量;
[0043][0044]
公式(4)表示了针对每一份订单i的每一道测试j,无法安排上机测试的订单数量应该等于持有订单需求测试数量减去安排在外包测试和自有测试厂订单数量之差;
[0045][0046]
公式(5)表示了针对每一份订单i的每一道测试j,其实际投入量与订单需求量必须匹配;
[0047][0048]
公式(6)表示了针对每一台测试设备k,每份订单在每道测试工序的安排使用机型k的数量不得超过其设备保有能力,即设备数量及可用时间;
[0049][0050]
公式(7)表示了针对每一台测试设备k和测试配件1,每份订单i在每道测试工序j安排使用机型k及配件1的数量所耗用的测试时间资源不得超过其设备和配件保有资源量,即设备配件数量的可用时间总和;
[0051][0052]
公式(8)表示了针对每一个测试设备配件1,每份订单i在每道测试工序j安排使用外包机型k的数量所耗用的测试时间资源不得超过外包机型k的可用时间资源;
[0053][0054]
公式(9)表示了针对每一个订单i和每一道测试工序j,其在自有测试厂及外包厂的投入及需求数量不得超过前一道工序的投入数量;
[0055][0056]yijka
=oor1,a=1,2;a
ijkl
,o
ijk
,b
ij
≥0(11)
[0057]
公式(10)及公式(11)表示了对决策变量取值的限制,针对每一份订单i的每一道测试工序j,使用设备k和配件l时,其取值范围在正实数范围内,且为正整数;
[0058]
步骤2.3.5)模型xschedule求解:在如上建立的测试产能规划模型中,目标函数式(1)是达成公司最大获利为规划目标下,订单于自有测试厂及母公司/外包测试厂内,测试机型、测试配件资源的使用分配;综合步骤2.3.4)的约束条件,利用此自有测试厂与外包测试厂间的产能规划模型,代入相关参数,即可求出限定规划期的生产订单在自有测试厂与
外包测试厂间的各机型与配件的分配数量。
[0059]
进一步的,所述步骤3)具体包括:
[0060]
步骤3.1)建立约束规划模型yschedule:
[0061]
每个机器的最早可用时间:期望最早开工时间startmini,它代表机器上每个工件的最早测试开始时间,如下式所示:
[0062]
startmini=max(ri,ti)
[0063]
期望最大完工时间:期望最晚完工时间endmaxi,它代表机器i上每个工件的最晚测试结束时间;假定所有工件被平均分配到每台机器,所以endmaxi的约束如下式所示:
[0064][0065]
目标函数:最小最大加权拖期惩罚如下式所示,该效率性能指标不仅能对最大拖期时间进行衡量,还能赋予紧急工件较大的拖期权值;
[0066][0067]
步骤3.2)进行约束规划求解,算法流程具体包括:
[0068]
a)准备约束规划相关的参数配置,包括约束目标选择、计算时间限制、调度加工窗口大小和调度当前时间;
[0069]
b)修正测试机台的可用时间,将测试机台和批次相关数据转换至抽象的并行多机动态调度数据,数据内容包括每个机器的最早可用时间,每个工件的来料时间、出货时间、拖期惩罚率、工时和缓冲时间;
[0070]
c)为每个批次创建m个任务,代表着每个批次能在m台测试机台上加工,每个任务受到所在测试机台的最早可用时间和期望最晚完工时间的约束,同时每个受到开始测试时间在来料时间加上来料时间至开测的经验随机工时的约束;
[0071]
d)创建转换约束,即每个批次的m个任务同时只能选择1个,代表着每个批次同时只能选择在1台测试机台上测试;
[0072]
e)创建互斥约束,即每个测试机台上所有的任务之间不能相互重叠,代表着每台机台同时只能加工1个工件;
[0073]
f)创建基于最小最大拖期惩罚的目标变量;
[0074]
g)增加可选决策器,求解器可以选择每个批次对应的m个任务中的任意一个;
[0075]
h)增加排列决策器,求解器使用全排列每个测试机台上的所有任务;
[0076]
i)增加目标决策器,确保每个任务在每个机台上处于最靠前的位置;
[0077]
j)在指定之间内求解较优解;
[0078]
k)约束规划的解会转换生成每个批次的任务,转换过程包括根据调度当前时间,修正任务时间。
[0079]
进一步的,所述步骤4)具体包括:
[0080]
步骤4.1)利用管理平台从数据库中提取到步骤2及步骤3)求解的排程方案;
[0081]
步骤4.2)依据预设条件或人工干预选择最优方案,最终完成基于多机动态调度的芯片封测线性规划排程方案的规划。
[0082]
本发明采用以上技术方案,与现有技术相比,有益效果为:1)本发明中的约束规划模型主要有两个优势,一个是易于建模,二个是容易添加异构约束;这使本方法具有更强的鲁棒性和实用性,并且能够在最快的时间内给出排程方案;2)本发明提出了使用两种算法模型,分别依据最大利润和非利润因素下的预设条件,从而能够针对厂商的不同要求,求解更多和更具象的排程方案,提高了排程方案的针对性,从而提高了对复杂生产情况的解决能力;3)本发明的排程方案模型yschedule不在仅限于半导体生产行业,并且可拓展到工业生产的多数行业,扩大了系统的适用性。
附图说明
[0083]
图1本发明的总体框架图。
[0084]
图2本发明中xschedule产能模型结构规划示意图。
[0085]
图3本发明中yschedule模型流程规划示例图。
[0086]
图4本发明中人机协同调度示例图。
具体实施方式
[0087]
如图1所示的一种基于多机动态调度的芯片封测线性规划排程方法,包括以下步骤:
[0088]
步骤1)接入生产系统的企业资源计划erp系统及制造执行mes系统,获取生产信息;
[0089]
步骤1.1)从企业资源计划erp系统及制造执行mes系统中获取并筛选生产信息,对生产信息进行打包,获得包含封测价格和利润生产信息在内的数据包;生产信息包括生产需求量(订单信息)、自有及外包的现有设备、配件产能、产品工艺信息(流程及测试设备容许限制)、物料需求(物料组及bom(物料清单))、产品信息、库存存量、自有及外包的测试价格和测试成本;
[0090]
步骤1.2)将获取到的数据包分发给步骤2)的xschedu1e模型和步骤3)的yschedule模型进行约束求解。
[0091]
步骤2)以最大化利润为约束目标,对封测产能进行模型规划,建立数学模型xschedule;在定义的生产情境和必要的生产系统假设下,建立采用线性规划的方法,对生产实际问题进行简化及抽象,建立相应的数学规划模型;
[0092]
步骤2.1)定义生产情境:一是将测试生产线设定为订单式生产mto模式,即规划时间内的订单已知,每张订单仅有一种待测试的产品,每张订单各测试工序可用的机型已知,可能有多种可用的机型;若一份订单有多种产品,则将其视为多份订单处理;二是该规划涉及的测试产能来源工厂自有测试生产线及母公司(含外包)测试厂,自有测试厂与母公司(含外包)测试厂所能提供的各测试机型的设备数量为已知;三是自有测试厂的机台使用成本属于固定成本,因此在测试设备指派上要尽可能使用自有测试厂的产能,减少使用母公司(外包)的成本发生;四是测试机台单位时间的产值及成本因订单、产品及测试工艺流程而定;五是生产规划的订单分配及设备安排以月度计划为依据进行静态安排,实际生产运营期间如有发生生产计划变更或设备状态的重大变化,则视为执行新的生产计划,再次进行新生产计划下的设备安排及订单分配。
[0093]
步骤2.2)设定生产情境的限制:一是考虑各个测试工艺站点的先后次序;二是不考虑因产品的搬运移动时间以及工人的设备操作时间可能导致的产能损失;三是各机台的可用时间是指已扣除机台的设置换装时间及宕机时间,各机台的可用时间是以历史数据经验值作为预设值;四是不考虑订单产品中批量大小(lot size)差异导致的批处理设备的性能损失,即设备的可用效率中综合考虑了性能稼动率和时间稼动率,以现况的历史数据作为已知条件;五是为了在测试机台指派上要尽可能使用自有测试厂的产能,厂内成本仅考虑变动成本;外包成本包含固定成本及变动成本,其成本会恒大于厂内成本;六是当外包成本恒大于自有测试成本,预设其已经考虑了待测产品在不同工厂间的物流输送成本;七是设备的生产能力以每天能够加工某种产品的数量为衡量基准,该数值是已经考虑设备的稼动率、生产转换调整时间和返工(rework)以及工艺合格率(yield)的平均值;
[0094]
如图2所示,步骤2.3)构建数学模型xschedule和模型求解;在定义的生产情境和设定的生产情境的限制下,建立采用线性规划的方法,对生产实际问题进行简化及抽象,建立相应的数学规划模型,并对模型进行求解;
[0095]
步骤2.3.1)决策变量设定:
[0096]aijkl
:订单i于第j道测试,安排在机型k上使用配件1的数量;i=1,2,3,

i;j=1,2,3,

j;k=1,2,3,

k;l=1,2,3,

l;
[0097]oijk
:订单i于第j道测试,安排在外包机型k上的数量;i=1,2,3,

i;j=1,2,3,

j;k=1,2,3,

k;
[0098]bij
:订单i于第j道测试,无法安排上机的数量;i=1,2,3,

i;j=1,2,3,

j;
[0099]yijk
:订单i于第j道测试,是否安排在机型k上测试;i=1,2,3,

i;j=1,2,3,

j;k=1,2,3,

k;
[0100]
步骤2.3.2)参数设定;
[0101]rij
:订单i在第j道测试的需求生产数量;i=1,2,3,

i;j=1,2,3,

j;
[0102]
mk:机型k的设备可用数量;k=1,2,3,

k;
[0103]mkl
:机型k下配件1的保有数量;k=1,2,3,

k;1=1,2,3,

l;
[0104]
uk:机型k的单一机台最大可用时间(已经考虑稼动率因素);k=1,2,3,

k:
[0105]
t
ijk
:订单i于第j道测试在机型k上,所需要的作业时间,即测试时间;i=1,2,3,

i;j=1,2,3,

j;k=1,2,3,

k;
[0106]vijk
:订单i于第j道测试在机型k上,所能得到的产值;i=1,2,3,

i;j=1,2,3,

j;k=1,2,3,

k;
[0107]cijk
:订单i于第j道测试在机型k上,所需要花费的厂内测试成本;i=1,2,3,

i;j=1,2,3,

j;k=1,2,3,

k;
[0108]ek
:外包机型k的设备可用数量;k=1,2,3,

k;
[0109]sijk
:订单i于第j道测试在机型k上,所需要花费的外包测试成本;i=1,2,3,

i;j=1,2,3,

j;k=1,2,3,

k;
[0110]
步骤2.3.3)构建数学模型xschedule:
[0111]
目标函数:如(1)所示:
[0112][0113]
公式(1)中以最大化利润为目标,即以自有测试厂收益与外包测试收益之和最大化为目标;其中i表示测试订单类别,i=1,2,3,

i,j表示测试站点序列,j=1,2,3,

j,k表示测试机台群组,k=1,2,3,

k,l表示测试配件群组,1=1,2,3,

l;
[0114]
步骤2.3.4)约束条件:
[0115]
s.t
[0116][0117]
公式(2)表示了针对每一份订单i的每一道测试j,每份订单的每一道测试安排在机型k上使用配件1的数量不能大于其每份订单在每道测试工序的需求测试数量;
[0118][0119]
公式(3)表示了针对每一份订单i的每一道测试j,安排在外包测试工厂使用机型k的订单数量不得大于每份订单的实际测试需求数量;
[0120][0121]
公式(4)表示了针对每一份订单i的每一道测试j,无法安排上机测试的订单数量应该等于持有订单需求测试数量减去安排在外包测试和自有测试厂订单数量之差;
[0122][0123]
公式(5)表示了针对每一份订单i的每一道测试j,其实际投入量与订单需求量必须匹配;
[0124][0125]
公式(6)表示了针对每一台测试设备k,每份订单在每道测试工序的安排使用机型k的数量不得超过其设备保有能力,即设备数量及可用时间;
[0126][0127]
公式(7)表示了针对每一台测试设备k和测试配件1,每份订单i在每道测试工序j安排使用机型k及配件1的数量所耗用的测试时间资源不得超过其设备和配件保有资源量,即设备配件数量的可用时间总和;
[0128][0129]
公式(8)表示了针对每一个测试设备配件1,每份订单i在每道测试工序j安排使用外包机型k的数量所耗用的测试时间资源不得超过外包机型k的可用时间资源;
[0130][0131]
公式(9)表示了针对每一个订单i和每一道测试工序j,其在自有测试厂及外包厂的投入及需求数量不得超过前一道工序的投入数量;
[0132][0133]yijka
=oor1,a=1,2;a
ijkl
,o
ijk
,b
ij
≥0(11)
[0134]
公式(10)及公式(11)表示了对决策变量取值的限制,针对每一份订单i的每一道测试工序j,使用设备k和配件1时,其取值范围在正实数范围内,且为正整数;
[0135]
步骤2.3.5)模型xschedule求解:在如上建立的测试产能规划模型中,目标函数式(1)是达成公司最大获利为规划目标下,订单于自有测试厂及母公司/外包测试厂内,测试机型、测试配件资源的使用分配;约束条件(2)、(3)、(4)联合起来对订单的分配数量关系做了限制,也即每一张订单的每一道测试必须同时在自有测试厂或外包测试厂进行。约束条件(2)着眼于安排在自有测试厂生产的每一份订单的每一道测试工序,其决策结果不得大于订单的需求数量;约束条件(3)则主要限定安排在母公司或外包测试工厂的订单数量不得大于其订单本身的需求数量;约束条件(4)则对安排在内部自有测试厂的订单数量,外包的订单生产量及无法安排上机测试的订单数量间的数量逻辑关系做了限定。
[0136]
约束条件(3)的含义是每一张订单的实际投入量(自有测试数量+外包测试数量+无法安排测试数量)必须等于订单的需求量。约束条件(4)与(5)是自有测试厂内设备与配件的产能限制,约束条件(6)是指自有测试生产线每一机型的总实际使用时间不能多于总最大可用时间。约束条件(7)是指自有测试生产线相关测试机型下不同产品别每一配件的总实际使用时间不能多于总最大可用时间。约束条件(8)是外包机台的产能限制,也即外包每一机型的总实际使用时间不能多于总最大可用时间。约束条件(9)是测试流程先后顺序的限制,每一订单在此道测试的厂内投入批量和外包批量的加总不能多于在前一道测试的厂内投入批量和外包批量的加总。约束条件(10)和(11)是测试订单安排在自有测试厂与外包测试厂的限制,即每份订单的同一工序使用同种设备时,不能同时安排在自有测试厂的与外包测试厂进行。
[0137]
综合步骤2.3.4)的约束条件,利用此自有测试厂与外包测试厂间的产能规划模型,代入相关参数,即可求出限定规划期的生产订单在自有测试厂与外包测试厂间的各机型与配件的分配数量。
[0138]
步骤3)依据不同约束目标,建立约束规划模型yschedule,进行约束规划求解;在不考虑利润约束的前提下,对工厂生产的其他约束条件进行约束规划建模求解,以求得多种约束条件下的局部最优排程方案;
[0139]
如图3所示,步骤3.1)建立约束规划模型yschedule:
[0140]
约束规划的求解是利用搜索,由于搜索算法会搜索整个搜索空间。所以优化的手段就是给模型添加约束条件,尽量减少搜索空间大小。
[0141]
每个机器的最早可用时间:期望最早开工时间startmini,它代表机器上每个工件的最早测试开始时间,如下式所示:
[0142]
startmini=max(ri,ti)
[0143]
期望最大完工时间:期望最晚完工时间endmaxi,它代表机器i上每个工件的最晚测试结束时间;传统的jssp(作业车间调度问题)问题中,由于工序和机器的约束,endmaxi通常取所有工序的时间和,而在并行多机调度问题中由于每个工件可以选择任何一台机器,并且实际生产中每个工件的实际加工时间基本相同,所以假定所有工件被平均分配到每台机器,所以endmaxi的约束如下式所示:
[0144][0145]
目标函数:最小最大加权拖期惩罚如下式所示,该效率性能指标不仅能对最大拖期时间进行衡量,还能赋予紧急工件较大的拖期权值,使得紧急批次能够尽可能不拖期;
[0146][0147]
步骤3.2)进行约束规划求解,算法流程具体包括:
[0148]
a)准备约束规划相关的参数配置,包括约束目标选择(本系统中可以选择最小最大加权拖期惩罚、最小加权拖期惩罚和最小makespan)、计算时间限制、调度加工窗口大小和调度当前时间;
[0149]
b)修正测试机台的可用时间,将测试机台和批次相关数据转换至抽象的并行多机动态调度数据,数据内容包括每个机器的最早可用时间,每个工件的来料时间、出货时间、拖期惩罚率、工时和缓冲时间;
[0150]
c)为每个批次(lot)创建m个任务(intvar),代表着每个批次(lot)能在m台测试机台上加工,每个任务受到所在测试机台的最早可用时间和期望最晚完工时间的约束,同时每个受到开始测试时间在来料时间加上来料时间至开测的经验随机工时的约束(startsafter);
[0151]
d)创建转换约束(makemapdomain),即每个批次(lot)的m个任务同时只能选择1个,代表着每个批次同时只能选择在1台测试机台上测试;
[0152]
e)创建互斥约束(makedisjunctiveconstraint),即每个测试机台上所有的任务之间不能相互重叠,代表着每台机台同时只能加工1个工件;
[0153]
f)创建基于最小最大拖期惩罚的目标变量(objectivevar);
[0154]
g)增加可选决策器(alternativephase),求解器可以选择每个批次对应的m个任务中的任意一个;
[0155]
h)增加排列决策器(sequencephase),求解器使用全排列每个测试机台上的所有任务;
[0156]
i)增加目标决策器(objectivephase),确保每个任务在每个机台上处于最靠前的
位置,防止约束条件松弛(任务与任务时间的空隙可以任意大);
[0157]
j)在指定之间内求解较优解;
[0158]
k)约束规划的解会转换生成每个批次(lot)的任务,转换过程包括根据调度当前时间,修正任务时间。
[0159]
步骤4)将步骤3)得到的排程方案存入数据表,根据预设条件或人工干预进行排程方案的选择;
[0160]
步骤4.1)利用管理平台从数据库中提取到步骤2)及步骤3)求解的排程方案;
[0161]
步骤4.2)依据预设条件或人工干预选择最优方案。采用人机协同排程,当干扰事件发生,排程人员可以选择拒绝或者接受自动生成的调度方案。排程人员可以拒绝调度方案,因为有的事件在实际中可以快速处理和预计的(比如时间可以掌控的机器检查),只需要对原有排程进行局部调整或者直接忽略,这样在降低了动态调度的复杂性的基础上还保证了系统的稳定性;排程人员也可以接受当前调度方案,并运用经验对调度方案进行手动调整和修改,比如交换工件的加工顺序,更换工件的加工机器等。这种方式充分利用了排程人员的决策能力、动态反应能力和运用知识和经验的能力以及计算机的算法求解,性能指标,可视化等能力,能够有效提高排程效率和性能。最终完成一种基于多机动态调度的芯片封测线性规划排程方案的规划,构建完成的示例如图4所示。
[0162]
本发明提出了使用两种算法模型,分别依据最大利润和非利润因素下的预设条件,从而能够针对厂商的不同要求,求解更多和更具象的排程方案,提高了排程方案的针对性,从而提高了对复杂生产情况的解决能力。
[0163]
本发明并不局限于上述实施例,在本发明公开的技术方案的基础上,本领域的技术人员根据所公开的技术内容,不需要创造性的劳动就可以对其中的一些技术特征作出一些替换和变形,这些替换和变形均在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1