本发明涉及车间生产调度控制技术领域,尤其涉及一种多目标流水车间调度方法、装置、计算机设备及存储介质。
背景技术:
在企业实际生产的环境下,企业中的不同部门对调度方法产生的决策提出了不同的要求。例如,销售部门需要产品按时生产以完成订单;制造部门需要降低成本,提高机器利用率;质检部门需要产品合格率高并且质量高于竞争对手等,即调度系统需要同时优化多个目标。
目前,调度系统中采用传统的线性加权法时,是将各个目标赋予权值合并为单目标求解。上述方法主观性较强,求解方案有一定针对性,权值无法根据车间状况灵活改变。而现有的基于多目标优化的调度方法由于搜索空间巨大,在求解过程中效率低下,并且无法保持可行解的多样性,难以得到全局最优的可行解集用于调度决策。
技术实现要素:
本发明实施例提供了一种多目标流水车间调度方法、装置、计算机设备及存储介质,旨在解决现有技术中基于多目标优化的车间调度方法采用传统的线性加权法,由于搜索空间巨大,在求解过程中效率低下,并且无法保持可行解的多样性,难以得到全局最优的可行解集的问题。
第一方面,本发明实施例提供了一种多目标流水车间调度方法,其包括:
判断是否接收到客户端发送的车间调度请求;
若接收到客户端发送的车间调度请求,获取与所述车间调度请求对应的输入数据和约束条件;其中,与所述车间调度请求对应的输入数据包括工件数、加工工序数、和机器数;
调用预先存储的多目标车间调度优化模型,以所述输入数据为所述多目标车间调度优化模型的输入,根据所述约束条件和所述输入数据对所述多目标车间调度优化模型进行超多目标的进化求解,得到最优解集;以及
将所述最优解集发送至客户端。
第二方面,本发明实施例提供了一种多目标流水车间调度装置,其包括用于执行上述第一方面所述的多目标流水车间调度方法的单元。
第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的多目标流水车间调度方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的多目标流水车间调度方法。
本发明实施例提供了一种多目标流水车间调度方法、装置、计算机设备及存储介质,包括判断是否接收到客户端发送的车间调度请求;若接收到客户端发送的车间调度请求,获取与所述车间调度请求对应的输入数据和约束条件;其中,与所述车间调度请求对应的输入数据包括工件数、加工工序数、和机器数;调用预先存储的多目标车间调度优化模型,以所述输入数据为所述多目标车间调度优化模型的输入,根据所述约束条件和所述输入数据对所述多目标车间调度优化模型进行超多目标的进化求解,得到最优解集;将所述最优解集发送至客户端。在超多目标的进化求解的过程中在搜索空间巨大的前提下快速求解,且保持了可行解的多样性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的多目标流水车间调度方法的应用场景示意图;
图2为本发明实施例提供的多目标流水车间调度方法的流程示意图;
图3为本发明实施例提供的多目标流水车间调度方法的子流程示意图;
图4为本发明实施例提供的多目标流水车间调度方法的另一子流程示意图;
图5为本发明实施例提供的多目标流水车间调度方法的另一子流程示意图;
图6为本发明实施例提供的多目标流水车间调度装置的示意性框图;
图7为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1和图2,图1为本发明实施例提供的多目标流水车间调度方法的应用场景示意图;图2为本发明实施例提供的多目标流水车间调度方法的流程示意图,该多目标流水车间调度方法应用于服务器中,该方法通过安装于服务器中的应用软件进行执行。
如图2所示,该方法包括步骤s110~s140。
s110、判断是否接收到客户端发送的车间调度请求。
为了更清楚的理解本申请的技术方案,下面对所涉及到的终端进行介绍。本申请是在服务器的角度描述技术方案。
第一是客户端,客户端可以理解为用户终端,用户终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备,用户终端发送车间调度请求至服务器。
第二是服务器,服务器接收客户端发送的车间调度请求,根据与所述车间调度请求对应的输入数据和约束条件,及调用预先存储的多目标车间调度优化模型进行超多目标的进化求解,得到最优解集。在服务器中得到所述最优解集后,将其发送至客户端。
在本实施例中,通过服务器检测是否接收到客户端发送的车间调度请求,当服务器接收到客户端发送的车间调度请求时则执行后续的步骤s120,当服务器未接收到客户端发送的车间调度请求时则等待预设的延迟时间后再次执行步骤s110。
s120、若接收到客户端发送的车间调度请求,获取与所述车间调度请求对应的输入数据和约束条件;其中,与所述车间调度请求对应的输入数据包括工件数、加工工序数、和机器数。
在本实施例中,若服务器接收到客户端发送的车间调度请求,获取与所述车间调度请求对应的输入数据和约束条件。由于服务器中已经预先存储了多目标车间调度优化模型,后续根据所述输入数据和约束条件即可进行求解,从而得到最优解集。
s130、调用预先存储的多目标车间调度优化模型,以所述输入数据为所述多目标车间调度优化模型的输入,根据所述约束条件和所述输入数据对所述多目标车间调度优化模型进行超多目标的进化求解,得到最优解集。
在本实施例中,服务器中存储的多目标车间调度优化模型,是一种多目标优化模型,通过对多目标车间调度优化模型进行求解,使得优化目标都尽可能达到满足的流水车间调度方案。
在一实施例中,所述多目标车间调度优化模型包括5个优化目标函数,分别记为:
最大完工时间优化目标函数f1(x)、机器最大负荷优化目标函数f2(x)、机器总负荷优化目标函数f3(x)、总拖期优化目标函数f4(x)、生产成本优化目标函数f5(x);
f1(x)=max{ci|i=1,...,n}
其中,n为工件数量,ci表示第i个工件的完工时间,
即收到的车间调度请求后对应调用的多目标车间调度优化模型可以表示为
对于所述多目标车间调度优化模型的一个候选解x,其指满足以上5个优化目标函数(即满足minf1(x)、minf2(x)、minf3(x)、minf4(x)、minf5(x))的一条调度方案,x表示包含多个候选解的集合,多个候选解组成的最优解集x最优。以所述多目标车间调度优化模型进行最优解集的获取时,该模型是一种高维优化模型,结合上述5个目标函数即输入数据和约束条件求解得到最优解集x最优时,能够最大地满足所提出的优化目标和约束条件。
在本实施例中,与所述车间调度请求对应的约束条件为:所有机器在最初时刻都可用;同一机器在同一时刻最多只可以加工一个工件;一个工件同一时刻只可以在一台机器上加工;工件的加工工序间存在先后顺序;加工过程中,每个工件加工优先级相同。
在一实施例中,如图3所示,所述步骤s130包括:
s1301、根据所述约束条件随机生成初始多目标种群;其中,所述初始多目标种群中包括多个个体,每一个体对应所述多目标车间调度优化模型的一个车间调度输出解,所述初始多目标种群中包括多个个体的总个数记为种群大小n;
s1302、获取当前迭代代数,判断所述当前迭代代数是否达到预设的最大迭代代数;
s1303、若所述当前迭代代数未达到所述最大迭代代数,对所述初始多目标种群进行模拟二进制交叉和多项式变异,得到与所述初始多目标种群有相同个体总个数的子种群;
s1304、将所述初始多目标种群与所述子种群进行合并,得到混合种群;
s1305、获取所述混合种群中的非支配解集及多层解集,及与所述非支配解集对应的自适应参考点;其中,所述非支配解集记为q1,所述多层解集中包括多个解集子集且分别记为q2至ql,其中q1至ql的并集为所述混合种群,q1至ql中任意两个集合的交集为空集,q1≥q2≥q3≥……≥ql;
s1306、获取所述混合种群中每一个体对应的目标空间点与所述自适应参考点之间分别对应的个体向量,将所述混合种群中每一个体对应的个体向量根据向量夹角相似度及所述种群大小n进行聚类,得到包括n个聚类簇的聚类结果;
s1307、通过环境选择法在所述聚类结果获取多个目标个体,以组成当前多目标种群,将所述当前多目标种群作为初始多目标种群;
s1308、将所述当前迭代代数加一以作为当前迭代代数,返回执行判断所述当前迭代代数是否达到预设的最大迭代代数的步骤;
s1309、若所述当前迭代代数达到所述最大迭代代数,将所述当前多目标种群输出作为最优解集。
在本实施例中,在约束条件的限制下随机生成一个初始多目标种群,该初始多目标种群为第一代多目标种群,此时先判断当前迭代代数是否达到预设的最大迭代代数,以确定是否继续迭代执行后续步骤以获取最优解集。其中,当前迭代代数的初始值设置为1。若当前迭代代数达到了所述最大迭代代数,将所述当前多目标种群输出作为路径最优解集。
若当前迭代代数未达到所述最大迭代代数,先以初始多目标种群为初始种群进行模拟二进制交叉和多项式变异,也即在所述初始多目标种群中任意挑选两个个体以依次进行二进制交叉,直到生成n个交叉处理后新个体,对n个交叉处理后新个体进行多项式变异,由多项式变异后的新个体组成子种群。
在本实施例中,根据所述初始多目标种群中任意挑选两个个体进行二进制交叉处理后,得到n个交叉处理后新个体。这里多次任意挑选两个个体进行二进制交叉的过程也是一种迭代过程,直到新个体数达到种群大小n,才停止上述多次二进制交叉的处理过程。另外,二进制交叉和多项式变异均为常规处理过程,此处不再赘述。
之后将所述初始多目标种群与所述子种群进行合并,得到混合种群后,所述混合种群中所包括个体的总个数为所述种群大小n的2倍。
此时,可对所述混合种群中各个体进行非支配排序,从而得到非支配解集和多层解集。具体对所述混合种群中各个体进行非支配排序时,可通过非支配解(也可以称为帕累托解)的获取方式,来得到与所述混合种群对应的非支配解集。其中,帕累托解的定义为假设任何二解s1及s2对所有目标而言,s1均优于或同于s2,并且存在至少一个目标,s1在该目标上对应的目标值优于s2该目标上对应的目标值,则称s1支配s2,若s1的解没有被其他解所支配,则s1称为非支配解(不受支配解),也称pareto解(即帕累托解)。具体的,对所述混合种群中求解非支配解时,得到的非支配解集记为q1。所述混合种群中去掉非支配解集对应的个体之后,得到的为多层解集,所述多层解集中包括多个解集子集且分别记为q2至ql,其中q1至ql的并集为所述混合种群,q1至ql中任意两个集合的交集为空集,q1≥q2≥q3≥……≥ql;其中,“≥”表示支配关系,qi≥qj表示存在qi中的解支配qj,该关系是具有传递性,q1≥q2表示对于f1(x)至f5(x)而言,q2中的每个解都至少被q1中的一个解所支配,该关系具有传递性,即q3中的每个解至少被q1或q2中的一个解支配,其他的也依次类推。
当获取了所述非支配解集、及多层解集后,根据所述非支配解集中各非支配个体在归一化目标空间的位置确定自适应参考点的位置。自适应参考点的位置确定后,即可确定所述混合种群中每一个体对应的个体向量并求出各个体向量之间的向量夹角,进而通过聚类算法根据向量夹角将所述混合种群划分为n类,得到聚类结果c={c1,c2,…,cn}。
在一实施例中,如图4所示,步骤s1305包括:
s13051、在所述非支配解集、及多层解集中多个解集子集依序合并从而获取多个集合直至个体的总个数超出所述种群大小n,以组成目标集合;
s13052、获取所述目标集合中的最小值个体和最大值个体;其中,所述最小值个体输入至所述多目标车间调度优化模型得到的目标值为目标集合中每个个体对应的目标值中最小目标值,所述最大值个体输入至所述多目标车间调度优化模型得到的目标值为目标集合中每个个体对应的目标值中最大目标值;
s13053、根据所述最小值个体、所述最大值个体将所述目标集合中每一个个体进行归一化处理,得到归一化目标集合;其中,所述归一化目标集合中与所述非支配解集对应的归一化个体集合记为归一化非支配解集;
s13054、获取归一化非支配解集中每一非支配个体,分别记为b1至bm;其中,m的取值与所述归一化非支配解集中归一化非支配个体的总个数相同;
s13055、获取所述归一化非支配解集中每一归一化非支配个体到目标超平面对应的超平面距离di、及超平面距离d1至dm对应的超平面距离平均值mpd;其中,i的取值范围为[1,m],目标超平面为f1(x) f2(x) f3(x) f4(x) f5(x)=1;
s13056、获取所述归一化非支配解集中每一归一化非支配个体与目标超曲面集合对应的超曲面适应度;其中,超曲面适应度用fitp表示,所述目标超曲面集合为f1p f2p f3p f4p f5p=1,p={0.5,1.0,2.0},
s13057、调用预设的自适应参考点获取策略,根据所述自适应参考点获取策略和所述超曲面适应度获取与所述非支配解集对应的自适应参考点;其中,
在本实施例中,为了获取所述自适应参考点的位置,可以先根据帕累托支配关系将所述混合种群划分为多个个体分层,也即分别记为q1至ql,第一层的个体组成非支配解集q1,之后依序从q1至ql选中多个个体分层,直至这多个个体分层中的个体的总个数超过所述种群大小n,以组成目标集合。
然后,对所述目标集合中的个体进行归一化处理。具体是,先获取所述目标集合中的最小值个体和最大值个体;其中,所述最小值个体输入至所述多目标车间调度优化模型得到的目标值为目标集合中每个个体对应的目标值中最小目标值,所述最大值个体输入至所述多目标车间调度优化模型得到的目标值为目标集合中每个个体对应的目标值中最大目标值。获取了所述最小值个体和所述最大值个体后,采用公式
之后,获取归一化非支配解集中每一非支配个体,分别记为b1至bm。计算b1至bm到目标超平面对应的超平面距离di、及超平面距离d1至dm对应的超平面距离平均值mpd;
其中,i的取值范围为[1,m];
目标超平面为f1(x) f2(x) f3(x) f4(x) f5(x)=1;
获取非支配个体bi到目标超平面对应的超平面距离di的具体函数为
在获取所述归一化非支配解集中每一归一化非支配个体与目标超曲面集合对应的超曲面适应度的过程中,所述归一化非支配解集中个体分布与目标超曲面集合之间的超曲面适应度为
通过计算出所述归一化非支配解集的分布与不同形状的超曲面的适应度,可以粗略预测出当前多目标车间调度优化问题最优解集的分布,进而可以根据该分布调整算法策略,增强算法性能。
最后,根据所述自适应参考点获取策略和所述超曲面适应度获取与所述非支配解集对应的自适应参考点的过程中,首先根据mpd的值确定自适应参考点的初始位置,然后根据fitp的取值确定自适应参考点在初始位置的基础上沿对角线方向移动一定距离,最终得到自适应参考点r*(其中,
当mpd≥0时,代表所述归一化非支配解集中的大部分个体位于超平面f1(x) f2(x) ... fm(x)=1的上方,此时可认为当前多目标车间调度优化问题的pf形状为平面或凹形,因此自适应参考点的初始位置为ru=(0,0,…,0)。在此基础上,自适应参考点的位置由如下公式求出:
在上式1中,
当mpd<0时,代表所述归一化非支配解集中大部分个体位于超平面f1(x) f2(x) ... fm(x)=1的下方,此时可认为当前多目标车间调度优化问题的pf为凸形。此时,应将最优解分布转化为凹形超曲面,使得本申请中基于角度的聚类方法得到更好的效果,因此参考点初始位置ru由下式求出:
其中,m为目标数即等于5,riu为自适应参考点初始位置第i维的取值,r为当超曲面
在此基础上,自适应参考点的位置由如下公式求出:
其中,m的取值为5,
之后,本申请中通过粗略地估计多目标车间调度问题的最优解的分布采用自适应参考点,使得待解决的多目标车间调度问题被转化为基于角度聚类的多目标优化算法擅长解决的最优解分布为凹形超曲面,即pf(pareto-optimalfront)形状为凹的问题。
在一实施例中,如图5所示,步骤s1306包括:
s13061、获取所述归一化目标集合中的每一归一化目标个体,将每一归一化目标个体划分为一个初始聚类簇,以组成初始聚类结果;
s13062、获取所述初始聚类结果中每一初始聚类簇对应的初始聚类中心;
s13063、获取所述初始聚类结果对应的各初始聚类中心与所述自适应参考点之间对应的当前个体向量,以组成当前个体向量集合;
s13064、将所述当前个体向量集合中向量夹角为当前最小夹角值的两个当前个体向量合并为一个聚类簇,将该聚类簇对应的两个当前个体向量从所述当前个体向量集合中移除以更新得到当前个体向量集合,返回执行所述将所述当前个体向量集合中向量夹角为当前最小夹角值的两个当前个体向量合并为一个聚类簇,直至当前个体向量集合对应的聚类数与种群大小n相等,得到包括n个聚类簇的聚类结果。
在本实施例中,采用公式
之后通过环境选择法在所述聚类结果获取多个目标个体时,是为了选择性能较好的个体以组成当前多目标种群,将所述当前多目标种群作为初始多目标种群。
在一实施例中,步骤s1307包括:
在所述聚类结果中获取向量夹角最大的两个目标个体,将向量夹角最大的两个目标个体对应的聚类簇从所述聚类结果中移除,以得到第一次筛选后聚类结果;其中,所述聚类结果中获取向量夹角最大的两个目标个体分别记为第一目标个体和第二目标个体;
获取所述第一次筛选后聚类结果中每一个体分别与所述第一目标个体和与所述第二目标个体对应的向量夹角,以每一个体分别与所述第一目标个体和与所述第二目标个体对应的向量夹角中最小者组成与所述第一次筛选后聚类结果对应的第一个体夹角集合,获取所述第一个体夹角集合中最大的向量夹角对应的个体作为第三目标个体,将第三目标个体对应的聚类簇从所述第一次筛选后聚类结果中移除,以得到第二次筛选后聚类结果;
获取所述第二次筛选后聚类结果中每一个体分别与所述第一目标个体、与第二目标个体、和与所述第三目标个体对应的向量夹角,以每一个体分别与所述第一目标个体、与所述第二目标个体和与所述第三目标个体对应的向量夹角中最小者组成与所述第二次筛选后聚类结果对应的第二个体夹角集合,获取所述第二个体夹角集合中最大的向量夹角对应的个体作为第四目标个体,将第四目标个体对应的聚类簇从所述第二次筛选后聚类结果中移除,以得到第三次筛选后聚类结果;
获取所述第三次筛选后聚类结果中每一个体分别与所述第一目标个体、与第二目标个体、与所述第三目标个体、和与所述第四目标个体对应的向量夹角,以每一个体分别与所述第一目标个体、与所述第二目标个体、与所述第三目标个体和与所述第四目标个体对应的向量夹角中最小者组成与所述第三次筛选后聚类结果对应的第三个体夹角集合,获取所述第三个体夹角集合中最大的向量夹角对应的个体作为第五目标个体,将第五目标个体对应的聚类簇从所述第三次筛选后聚类结果中移除,以得到第四次筛选后聚类结果;
调用预设的个体收敛度函数获取所述第四次筛选后聚类结果中每一聚类簇中收敛度最小的个体,以与第一目标个体、第二目标个体、第三目标个体、第四目标个体、第五目标个体组成当前多目标种群。
在本实施例中,在使用环境选择法获取所述聚类结果中的多个目标个体以组成当前多目标种群时,为了保证种群的多样性,在聚类的基础上,首先选出所述聚类结果中向量夹角最大的两个个体(分别记为第一目标个体和第二目标个体),将其加入当前多目标种群并将其对应的聚类簇从所述聚类结果中删除得到第一次筛选后聚类结果。
然后通过计算第一次筛选后聚类结果内的每个个体与当前多目标种群(此时当前多目标种群中仅包括第一目标个体和第二目标个体)中个体的向量夹角,找出距离当前多目标种群角度最大的一个个体(记为第三目标个体),将其加入当前多目标种群并将其对应的聚类从第一次筛选后聚类结果中删除以得到第二次筛选后聚类结果,重复上述删选第三目标个体的过程,直到当前多目标种群中个体数量达到5,分别记为第一目标个体、第二目标个体、第三目标个体、第四目标个体、第五目标个体。
为了保证种群的收敛性,当已从聚类结果中挑选出5个目标个体后,从第四次筛选后聚类结果中剩余的每个聚类中选择一个收敛性最好的个体加入到当前多目标种群中,个体收敛性根据公式
具体实施时,所述最优解集中每一最优解的具体编码方式(也即最终展示给用户查看的方式),是用户自定义编码格式并保存在服务器中,此次并不限定具体编码方式。
在步骤s1307中获取了当前多目标种群后,表示此轮迭代过程的结束,此时将所述当前多目标种群作为初始多目标种群,是为了在下一轮迭代过程开始时,以上一轮迭代结束时的所述当前多目标种群作为下一代迭代过程开始时新的初始多目标种群。
s140、将所述最优解集发送至客户端。
在本实施例中,当在服务器中完成了最优解集的获取之后,即可发送至客户端。从而客户端可根据所述最优解集确定流水车间的调度方式。
该方法实现了在超多目标的进化求解的过程中在搜索空间巨大的前提下快速求解,且保持了可行解的多样性。
本发明实施例还提供一种多目标流水车间调度装置,该多目标流水车间调度装置用于执行前述多目标流水车间调度方法的任一实施例。具体地,请参阅图6,图6是本发明实施例提供的多目标流水车间调度装置的示意性框图。该多目标流水车间调度装置100可以被配置于服务器中。
如图6所示,多目标流水车间调度装置100包括车间调度请求检测单元110、输入数据条件获取单元120、最优解集求解单元130、及最优解集发送单元140。
其中,车间调度请求检测单元110,用于判断是否接收到客户端发送的车间调度请求。
输入数据条件获取单元120,用于若接收到客户端发送的车间调度请求,获取与所述车间调度请求对应的输入数据和约束条件;其中,与所述车间调度请求对应的输入数据包括工件数、加工工序数、和机器数。
最优解集求解单元130,用于调用预先存储的多目标车间调度优化模型,以所述输入数据为所述多目标车间调度优化模型的输入,根据所述约束条件和所述输入数据对所述多目标车间调度优化模型进行超多目标的进化求解,得到最优解集。
最优解集发送单元140,用于将所述最优解集发送至客户端。
在一实施例中,多目标车间调度优化模型包括5个优化目标函数,分别记为最大完工时间优化目标函数f1(x)、机器最大负荷优化目标函数f2(x)、机器总负荷优化目标函数f3(x)、总拖期优化目标函数f4(x)、生产成本优化目标函数f5(x);
f1(x)=max{ci|i=1,...,n}
其中,n为工件数量,ci表示第i个工件的完工时间,
在一实施例中,所述最优解集求解单元130包括:
初始多目标种群生成单元,用于根据所述约束条件随机生成初始多目标种群;其中,所述初始多目标种群中包括多个个体,每一个体对应所述多目标车间调度优化模型的一个车间调度输出解,所述初始多目标种群中包括多个个体的总个数记为种群大小n;
当前迭代代数第一判断单元,用于获取当前迭代代数,判断所述当前迭代代数是否达到预设的最大迭代代数;
个体交叉变异单元,用于若所述当前迭代代数未达到所述最大迭代代数,对所述初始多目标种群进行模拟二进制交叉和多项式变异,得到与所述初始多目标种群有相同个体总个数的子种群;
种群合并单元,用于将所述初始多目标种群与所述子种群进行合并,得到混合种群;
自适应参考点获取单元,用于获取所述混合种群中的非支配解集及多层解集,及与所述非支配解集对应的自适应参考点;其中,所述非支配解集记为q1,所述多层解集中包括多个解集子集且分别记为q2至ql,其中q1至ql的并集为所述混合种群,q1至ql中任意两个集合的交集为空集,q1≥q2≥q3≥……≥ql;
夹角聚类单元,用于获取所述混合种群中每一个体对应的目标空间点与所述自适应参考点之间分别对应的个体向量,将所述混合种群中每一个体对应的个体向量根据向量夹角相似度及所述种群大小n进行聚类,得到包括n个聚类簇的聚类结果;
初始多目标种群更新单元,用于通过环境选择法在所述聚类结果获取多个目标个体,以组成当前多目标种群,将所述当前多目标种群作为初始多目标种群;
当前迭代代数自增单元,用于将所述当前迭代代数加一以作为当前迭代代数,返回当前迭代代数第一判断单元以执行判断所述当前迭代代数是否达到预设的最大迭代代数的步骤;
最优解集输出单元,用于若所述当前迭代代数达到所述最大迭代代数,将所述当前多目标种群输出作为最优解集。
在一实施例中,所述自适应参考点获取单元,包括:
目标集合获取单元,用于在所述非支配解集、及多层解集中多个解集子集依序合并从而获取多个集合直至个体的总个数超出所述种群大小n,以组成目标集合;
端点个体获取单元,用于获取所述目标集合中的最小值个体和最大值个体;其中,所述最小值个体输入至所述多目标车间调度优化模型得到的目标值为目标集合中每个个体对应的目标值中最小目标值,所述最大值个体输入至所述多目标车间调度优化模型得到的目标值为目标集合中每个个体对应的目标值中最大目标值;
归一化处理单元,用于根据所述最小值个体、所述最大值个体将所述目标集合中每一个个体进行归一化处理,得到归一化目标集合;其中,所述归一化目标集合中与所述非支配解集对应的归一化个体集合记为归一化非支配解集;
获取归一化非支配解集中每一非支配个体,分别记为b1至bm;其中,m的取值与所述归一化非支配解集中归一化非支配个体的总个数相同;
超平面距离获取单元,用于获取所述归一化非支配解集中每一归一化非支配个体到目标超平面对应的超平面距离di、及超平面距离d1至dm对应的超平面距离平均值mpd;其中,i的取值范围为[1,m],目标超平面为f1(x) f2(x) f3(x) f4(x) f5(x)=1;
超曲面适应度获取单元,用于获取所述归一化非支配解集中每一归一化非支配个体与目标超曲面集合对应的超曲面适应度;其中,超曲面适应度用fitp表示,所述目标超曲面集合为f1p f2p f3p f4p f5p=1,p={0.5,1.0,2.0},
自适应参考点定位单元,用于调用预设的自适应参考点获取策略,根据所述自适应参考点获取策略和所述超曲面适应度获取与所述非支配解集对应的自适应参考点;其中,
在一实施例中,所述夹角聚类单元包括:
初始聚类结果获取单元,用于获取所述归一化目标集合中的每一归一化目标个体,将每一归一化目标个体划分为一个初始聚类簇,以组成初始聚类结果;
初始聚类中心获取单元,用于获取所述初始聚类结果中每一初始聚类簇对应的初始聚类中心;
当前个体向量集合获取单元,用于获取所述初始聚类结果对应的各初始聚类中心与所述自适应参考点之间对应的当前个体向量,以组成当前个体向量集合;
聚类簇筛选单元,用于将所述当前个体向量集合中向量夹角为当前最小夹角值的两个当前个体向量合并为一个聚类簇,将该聚类簇对应的两个当前个体向量从所述当前个体向量集合中移除以更新得到当前个体向量集合,返回执行所述将所述当前个体向量集合中向量夹角为当前最小夹角值的两个当前个体向量合并为一个聚类簇,直至当前个体向量集合对应的聚类数与种群大小n相等,得到包括n个聚类簇的聚类结果。
在一实施例中,所述初始多目标种群更新单元包括:
第一次个体筛选单元,用于在所述聚类结果中获取向量夹角最大的两个目标个体,将向量夹角最大的两个目标个体对应的聚类簇从所述聚类结果中移除,以得到第一次筛选后聚类结果;其中,所述聚类结果中获取向量夹角最大的两个目标个体分别记为第一目标个体和第二目标个体;
第二次个体筛选单元,用于获取所述第一次筛选后聚类结果中每一个体分别与所述第一目标个体和与所述第二目标个体对应的向量夹角,以每一个体分别与所述第一目标个体和与所述第二目标个体对应的向量夹角中最小者组成与所述第一次筛选后聚类结果对应的第一个体夹角集合,获取所述第一个体夹角集合中最大的向量夹角对应的个体作为第三目标个体,将第三目标个体对应的聚类簇从所述第一次筛选后聚类结果中移除,以得到第二次筛选后聚类结果;
第三次个体筛选单元,用于获取所述第二次筛选后聚类结果中每一个体分别与所述第一目标个体、与第二目标个体、和与所述第三目标个体对应的向量夹角,以每一个体分别与所述第一目标个体、与所述第二目标个体和与所述第三目标个体对应的向量夹角中最小者组成与所述第二次筛选后聚类结果对应的第二个体夹角集合,获取所述第二个体夹角集合中最大的向量夹角对应的个体作为第四目标个体,将第四目标个体对应的聚类簇从所述第二次筛选后聚类结果中移除,以得到第三次筛选后聚类结果;
第四次个体筛选单元,用于获取所述第三次筛选后聚类结果中每一个体分别与所述第一目标个体、与第二目标个体、与所述第三目标个体、和与所述第四目标个体对应的向量夹角,以每一个体分别与所述第一目标个体、与所述第二目标个体、与所述第三目标个体和与所述第四目标个体对应的向量夹角中最小者组成与所述第三次筛选后聚类结果对应的第三个体夹角集合,获取所述第三个体夹角集合中最大的向量夹角对应的个体作为第五目标个体,将第五目标个体对应的聚类簇从所述第三次筛选后聚类结果中移除,以得到第四次筛选后聚类结果;
第五次个体筛选单元,用于调用预设的个体收敛度函数获取所述第四次筛选后聚类结果中每一聚类簇中收敛度最小的个体,以与第一目标个体、第二目标个体、第三目标个体、第四目标个体、第五目标个体组成当前多目标种群。
在一实施例中,所述个体交叉变异单元还用于:
在所述初始多目标种群中任意挑选两个个体以依次进行二进制交叉,直到生成n个交叉处理后新个体,对n个交叉处理后新个体进行多项式变异,由多项式变异后的新个体组成子种群。
该装置实现了在超多目标的进化求解的过程中在搜索空间巨大的前提下快速求解,且保持了可行解的多样性。
上述多目标流水车间调度装置可以实现为计算机程序的形式,该计算机程序可以在如图7所示的计算机设备上运行。
请参阅图7,图7是本发明实施例提供的计算机设备的示意性框图。该计算机设备500是服务器,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图7,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行多目标流水车间调度方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行多目标流水车间调度方法。
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图7中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现本发明实施例公开的多目标流水车间调度方法。
本领域技术人员可以理解,图7中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图7所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器502可以是中央处理单元(centralprocessingunit,cpu),该处理器502还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例公开的多目标流水车间调度方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
1.一种多目标流水车间调度方法,其特征在于,包括:
判断是否接收到客户端发送的车间调度请求;
若接收到客户端发送的车间调度请求,获取与所述车间调度请求对应的输入数据和约束条件;其中,与所述车间调度请求对应的输入数据包括工件数、加工工序数、和机器数;
调用预先存储的多目标车间调度优化模型,以所述输入数据为所述多目标车间调度优化模型的输入,根据所述约束条件和所述输入数据对所述多目标车间调度优化模型进行超多目标的进化求解,得到最优解集;以及
将所述最优解集发送至客户端。
2.根据权利要求1所述的多目标流水车间调度方法,其特征在于,所述多目标车间调度优化模型包括5个优化目标函数,分别记为最大完工时间优化目标函数f1(x)、机器最大负荷优化目标函数f2(x)、机器总负荷优化目标函数f3(x)、总拖期优化目标函数f4(x)、生产成本优化目标函数f5(x);
f1(x)=max{ci|i=1,...,n}
其中,n为工件数量,ci表示第i个工件的完工时间,
3.根据权利要求2所述的多目标流水车间调度方法,其特征在于,所述以所述输入数据为所述多目标车间调度优化模型的输入,根据所述约束条件和所述输入数据对所述多目标车间调度优化模型进行超多目标的进化求解,得到最优解集,包括:
根据所述约束条件随机生成初始多目标种群;其中,所述初始多目标种群中包括多个个体,每一个体对应所述多目标车间调度优化模型的一个车间调度输出解,所述初始多目标种群中包括多个个体的总个数记为种群大小n;
获取当前迭代代数,判断所述当前迭代代数是否达到预设的最大迭代代数;
若所述当前迭代代数未达到所述最大迭代代数,对所述初始多目标种群进行模拟二进制交叉和多项式变异,得到与所述初始多目标种群有相同个体总个数的子种群;
将所述初始多目标种群与所述子种群进行合并,得到混合种群;
获取所述混合种群中的非支配解集及多层解集,及与所述非支配解集对应的自适应参考点;其中,所述非支配解集记为q1,所述多层解集中包括多个解集子集且分别记为q2至ql,其中q1至ql的并集为所述混合种群,q1至ql中任意两个集合的交集为空集,q1≥q2≥q3≥……≥ql;
获取所述混合种群中每一个体对应的目标空间点与所述自适应参考点之间分别对应的个体向量,将所述混合种群中每一个体对应的个体向量根据向量夹角相似度及所述种群大小n进行聚类,得到包括n个聚类簇的聚类结果;
通过环境选择法在所述聚类结果获取多个目标个体,以组成当前多目标种群,将所述当前多目标种群作为初始多目标种群;
将所述当前迭代代数加一以作为当前迭代代数,返回执行判断所述当前迭代代数是否达到预设的最大迭代代数的步骤;
若所述当前迭代代数达到所述最大迭代代数,将所述当前多目标种群输出作为最优解集。
4.根据权利要求3所述的多目标流水车间调度方法,其特征在于,所述获取所述混合种群中的非支配解集及多层解集,及与所述非支配解集对应的自适应参考点,包括:
在所述非支配解集、及多层解集中多个解集子集依序合并从而获取多个集合直至个体的总个数超出所述种群大小n,以组成目标集合;
获取所述目标集合中的最小值个体和最大值个体;其中,所述最小值个体输入至所述多目标车间调度优化模型得到的目标值为目标集合中每个个体对应的目标值中最小目标值,所述最大值个体输入至所述多目标车间调度优化模型得到的目标值为目标集合中每个个体对应的目标值中最大目标值;
根据所述最小值个体、所述最大值个体将所述目标集合中每一个个体进行归一化处理,得到归一化目标集合;其中,所述归一化目标集合中与所述非支配解集对应的归一化个体集合记为归一化非支配解集;
获取归一化非支配解集中每一非支配个体,分别记为b1至bm;其中,m的取值与所述归一化非支配解集中归一化非支配个体的总个数相同;
获取所述归一化非支配解集中每一归一化非支配个体到目标超平面对应的超平面距离di、及超平面距离d1至dm对应的超平面距离平均值mpd;其中,i的取值范围为[1,m],目标超平面为f1(x) f2(x) f3(x) f4(x) f5(x)=1;
获取所述归一化非支配解集中每一归一化非支配个体与目标超曲面集合对应的超曲面适应度;其中,超曲面适应度用fitp表示,所述目标超曲面集合为f1p f2p f3p f4p f5p=1,p={0.5,1.0,2.0},
调用预设的自适应参考点获取策略,根据所述自适应参考点获取策略和所述超曲面适应度获取与所述非支配解集对应的自适应参考点;其中,
5.根据权利要求4所述的多目标流水车间调度方法,其特征在于,所述获取所述混合种群中每一个体对应的目标空间点与所述自适应参考点之间分别对应的个体向量,将所述混合种群中每一个体对应的个体向量根据向量夹角相似度及所述种群大小n进行聚类,得到包括n个聚类簇的聚类结果,包括:
获取所述归一化目标集合中的每一归一化目标个体,将每一归一化目标个体划分为一个初始聚类簇,以组成初始聚类结果;
获取所述初始聚类结果中每一初始聚类簇对应的初始聚类中心;
获取所述初始聚类结果对应的各初始聚类中心与所述自适应参考点之间对应的当前个体向量,以组成当前个体向量集合;
将所述当前个体向量集合中向量夹角为当前最小夹角值的两个当前个体向量合并为一个聚类簇,将该聚类簇对应的两个当前个体向量从所述当前个体向量集合中移除以更新得到当前个体向量集合,返回执行所述将所述当前个体向量集合中向量夹角为当前最小夹角值的两个当前个体向量合并为一个聚类簇,直至当前个体向量集合对应的聚类数与种群大小n相等,得到包括n个聚类簇的聚类结果。
6.根据权利要求3所述的多目标流水车间调度方法,其特征在于,所述通过环境选择法在所述聚类结果获取多个目标个体,以组成当前多目标种群,包括:
在所述聚类结果中获取向量夹角最大的两个目标个体,将向量夹角最大的两个目标个体对应的聚类簇从所述聚类结果中移除,以得到第一次筛选后聚类结果;其中,所述聚类结果中获取向量夹角最大的两个目标个体分别记为第一目标个体和第二目标个体;
获取所述第一次筛选后聚类结果中每一个体分别与所述第一目标个体和与所述第二目标个体对应的向量夹角,以每一个体分别与所述第一目标个体和与所述第二目标个体对应的向量夹角中最小者组成与所述第一次筛选后聚类结果对应的第一个体夹角集合,获取所述第一个体夹角集合中最大的向量夹角对应的个体作为第三目标个体,将第三目标个体对应的聚类簇从所述第一次筛选后聚类结果中移除,以得到第二次筛选后聚类结果;
获取所述第二次筛选后聚类结果中每一个体分别与所述第一目标个体、与第二目标个体、和与所述第三目标个体对应的向量夹角,以每一个体分别与所述第一目标个体、与所述第二目标个体和与所述第三目标个体对应的向量夹角中最小者组成与所述第二次筛选后聚类结果对应的第二个体夹角集合,获取所述第二个体夹角集合中最大的向量夹角对应的个体作为第四目标个体,将第四目标个体对应的聚类簇从所述第二次筛选后聚类结果中移除,以得到第三次筛选后聚类结果;
获取所述第三次筛选后聚类结果中每一个体分别与所述第一目标个体、与第二目标个体、与所述第三目标个体、和与所述第四目标个体对应的向量夹角,以每一个体分别与所述第一目标个体、与所述第二目标个体、与所述第三目标个体和与所述第四目标个体对应的向量夹角中最小者组成与所述第三次筛选后聚类结果对应的第三个体夹角集合,获取所述第三个体夹角集合中最大的向量夹角对应的个体作为第五目标个体,将第五目标个体对应的聚类簇从所述第三次筛选后聚类结果中移除,以得到第四次筛选后聚类结果;
调用预设的个体收敛度函数获取所述第四次筛选后聚类结果中每一聚类簇中收敛度最小的个体,以与第一目标个体、第二目标个体、第三目标个体、第四目标个体、第五目标个体组成当前多目标种群。
7.根据权利要求3所述的多目标流水车间调度方法,其特征在于,所述对所述初始多目标种群进行模拟二进制交叉和多项式变异,得到与所述初始多目标种群有相同个体总个数的子种群,包括:
在所述初始多目标种群中任意挑选两个个体以依次进行二进制交叉,直到生成n个交叉处理后新个体,对n个交叉处理后新个体进行多项式变异,由多项式变异后的新个体组成子种群。
8.一种多目标流水车间调度装置,其特征在于,包括用于执行如权利要求1至7任一项所述的多目标流水车间调度方法的单元。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的多目标流水车间调度方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至7任一项所述的多目标流水车间调度方法。
技术总结