生产排程方法、装置、计算机设备和存储介质与流程

文档序号:15639562发布日期:2018-10-12 21:53阅读:145来源:国知局

本申请涉及供应链生产技术领域,特别是涉及一种生产排程方法、装置、计算机设备和存储介质。



背景技术:

mto(maketoorder,按单制造)在供应链生产领域是指的订单型生产,也就是说,企业是根据订单进行生产安排的,而不是根据市场需求,如此就不会有多余库存,有多少个订单,就安排某个工厂具体生产。生产排程则是指对订单的分配,一般企业会有多个工厂为其进行生产制造,不同的工厂成本价、地址、产能、产线均存在差异,因此,从企业成本和精益生产的角度而言,更希望在维系各个工厂之间的合作的前提下,使得企业的生产成本和客户满意度最高。在目前供应链企业的生产排程或系统中,首先是根据供应链的具体业务流程(如mto,mtr),设计一个使得生产任务能按时完成客户需求的排程方案。例如m个工厂分别上传当前的生产状态,由供应链企业的订单管理人员根据实际的销售订单在不影响工厂已有计划的前提下将新订单加入到工厂的生产排程中,再将新任务发给各个工厂。这个过程会考虑到成本或产能的因素,以及工厂对某个具体型号的生产资质,从而以其中一个为目标进行生产安排。

绝大多数企业希望能够同时满足如下几个需求:1、成本最小;2、工厂每条产线的产能尽可能的全部调用,尽可能使得产能损失最低;3、工厂的地理位置与分配给该厂订单的客户收货地点尽可能的近,尽可能使得运输成本低。但是目前的排程系统只能满足1或1和2,即存在浪费资源的问题。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能同时满足多种生产排程需求的生产排程方法、装置、计算机设备和存储介质。

一种生产排程方法,包括步骤:

获取客户订单信息;

通过预设禁忌搜索算法对所述客户订单信息进行解析,获得所述客户订单信息对应的多个全局解,所述全局解的目标参数的个数至少为2;

查找所述全局解中目标参数之间差异最小的全局解,并将所述目标参数之间差异最小的全局解作为最优解;

根据所述最优解进行生产排程。

在其中一个实施例中,所述查找所述全局解中目标参数之间差异最小的全局解,并将所述目标参数之间差异最小的全局解作为最优解的步骤具体包括:

计算所述全局解中目标参数之间差值的绝对值;

查找各全局解中目标参数之间差值的绝对值之和最小对应的全局解,将所述目标参数之间差值的绝对值之和最小的全局解作为最优解。

在其中一个实施例中,所述将所述客户订单信息导入预设禁忌搜索算法,获得所述禁忌搜索算法对所述订单信息的全局解的步骤之前还包括:

查找各工厂的历史生产数据以及各工厂位置信息;

基于所述历史生产数据确定各工厂完成订单产能损失以及所需生产成本,根据订单中客户位置以及各工厂位置信息确定客户离工厂的距离信息;

根据所述产能损失、所述所需生产成本以及所述客户离工厂的距离信息获得目标函数;

根据预设边缘函数与所述目标函数构建禁忌搜索算法。

在其中一个实施例中,所述根据所述产能损失、所述所需生产成本以及所述客户离工厂的距离信息获得目标函数前还包括步骤:

将各工厂完成订单的产能损失、各工厂完成订单的生产成本以及各工厂离所需客户位置的距离进行归一化处理。

在其中一个实施例中,所述目标函数具体包括:

minσiσjσk(capability+cost+distance}=minσiσjσk{|pcj/lj-pcijk·xijk|+cij·xijk+dij

·xijk}

其中capability表示产能损失,cost表示生产成本,distance表示所需客户位置离工厂的距离,pcj表示工厂j日均产能;lj表示工厂j所能提供的产线数;pcijk,表示订单i在工厂j的产线k生产所需要的产能供给;cij表示订单i在工厂j生产所需要的成本;dij表示订单i所属客户距离工厂j的距离。而其中的xijk是决策变量,当xijk=1是,表示订单i分配给工厂j的产线k,xijk=0,则表示订单i未分配给工厂j的产线k。

在其中一个实施例中,所述禁忌搜索算法包括预设边缘函数以及目标函数,所述将通过预设禁忌搜索算法对所述客户订单信息进行解析,获得所述客户订单信息对应的多个全局解的步骤具体包括:

根据所述预设边缘函数将所述客户订单信息转换为订单数据;

根据所述目标函数以及所述订单数据获得全局解,所述全局解的目标参数的个数至少为2。

在其中一个实施例中,通过预设禁忌搜索算法对所述客户订单信息进行解析,获得所述客户订单信息对应的多个全局解前还包括步骤:

通过r语言构建预设禁忌搜索算法。

一种生产排程装置,所述装置包括:

订单信息获取模块,用于获取客户订单信息;

全局解获取模块,用于通过预设禁忌搜索算法对所述客户订单信息进行解析,获得所述客户订单信息对应的多个全局解,所述全局解的目标参数的个数至少为2;

最优解获取模块,用于查找所述全局解中目标参数之间差异最小的全局解,并将所述目标参数之间差异最小的全局解作为最优解;

生产排程模块,用于根据所述最优解进行生产排程。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。

上述生产排程方法,以预设禁忌搜索算法来求解客户订单对应的生产排程的全局解,而全局解的目标参数不小于2,而后通过平衡器获取全局解中目标参数相差最小的全局解,即最优解,并根据最优解进行生产排程,减少生产排程过程产生的浪费,能达到综合考虑多种生产排程目标下进行最优化生产排程的效果。

附图说明

图1为一个实施例中生产排程方法的流程示意图;

图2为一个实施例中生产排程方法的流程示意图;

图3为一个实施例中生产排程装置的结构框图;

图4为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的生产排程方法,可以应用于订单型生产的生产环境中,即生产企业接受客户的订单,而后根据各生产共产的实际状况进行生产排程,将接受的订单分配给各生产工厂来进行生产,这是由于不同的工厂成本价、地址、产能、产线均存在差异,因此,从企业成本和精益生产的角度而言,更希望在维系各个工厂之间的合作的前提下,使得企业的生产成本和客户满意度最高。假设生产企业进行生产排程以天为单位,将昨天的订单下计划到各工厂;而且工厂的每条产线在生产前都检查通过,在生产过程中不发生故障。

在一个实施例中,如图2所示,提供了一种生产排程方法,包括步骤:

s200,获取客户订单信息。

客户订单信息具体可以包括:客户id、客户地址、客户所需的产品型号、产品的生产批次号数量、产品的齐套日期、开始生产计划的日期等。生产企业接受客户对产品的预定,生成对应的客户订单信息。

s400,通过预设禁忌搜索算法对客户订单信息进行解析,获得客户订单信息对应的多个全局解,全局解的目标参数的个数至少为2。

禁忌搜索算法,禁忌搜索算法是一种元启发式随机搜索算法,它从一个初始可行解出发,选择一系列的特定搜索方向作为试探,选择实现让特定的目标函数值变化最多的移动。而传统的禁忌搜索算法是针对单目标优化的算法,所以需要改进禁忌搜索算法,使其能实现多目标优化。本申请中的预设禁忌搜索算法目标参数至少为2,但由于设置了多个目标参数,使得预设禁忌搜索算法得出的解的数量不局限在一个。目标参数指的是预设禁忌搜索算法优化的目标参数,在一个实施例中,目标参数具体可以包括产能损失、所需生产成本以及客户离工厂的距离。

通过预设的禁忌搜索算法对客户的订单信息进行解析,获取符合优化目标的与客户订单对应的全局解。在一个实施例中,解析全局解可以是符合目标参数之和最小的所有解。

s600,查找全局解中目标参数之间差异最小的全局解,并将目标参数之间差异最小的全局解作为最优解。

在多目标优化的过程中,要使得每个目标同时最小,这并不现实,实际上,所追求的多目标优化问题,是使得多个目标能够同时“尽可能”的达到最优,而“尽可能“达到最优的方案也会有很多种,在这么多种”尽可能“最优的方案中,所需要的得到目标函数值最小的那一个解。在其中一个实施例中,综合目标目标函数的值是10,(a1,a2,a3)分别表示产能损耗、成本、距离,那么一组可能的全局解是(10,0,0)或(1,4,5)或(8,1,1)或(3,4,3),这四组全局解的总目标函数值都满足最小值,但单个解并非单目标中的最优解,例如(10,0,0)这组解的成本和距离是0,显然在实际业务中不可能存在,又如(8,1,1)的成本和距离是非常小的值,而产能损耗较大,显然还有比这更好的解组合。在这4个全局解中(3,4,3)是目标参数直接差异最小的解,所以可以将其作为这个安排方案的全局解。

不同全局解中的目标参数存在差异,在获得全局解之后通过比较所有全局解中目标参数的差异获得最优解。

s800,根据最优解进行生产排程。

在得到最优解后,依据最优解进行生产排程,在其中一个实施例中,可为查找禁忌搜索算法中达到最优解的生产排程计划,并依据该计划进行生产排程。

上述生产排程方法,以预设禁忌搜索算法来求解客户订单对应的生产排程的全局解,而全局解的目标参数不小于2,而后通过平衡器获取全局解中目标参数相差最小的全局解,即最优解,并根据最优解进行生产排程,减少生产排程过程产生的浪费,能达到综合考虑多种生产排程目标下进行最优化生产排程的效果。

如图2所示,在其中一个实施例中,步骤s600查找全局解中目标参数之间差异最小的全局解,并将目标参数之间差异最小的全局解作为最优解的步骤具体包括:

s620,计算全局解中目标参数之间差值的绝对值。

s640,查找各全局解中目标参数之间差值的绝对值之和最小对应的全局解,将目标参数之间差值的绝对值之和最小的全局解作为最优解。

在获得全局解后,可以就算全局解中各个参数之间差值的绝对值,而后将目标参数之间差值的绝对值之和最小的全局解作为最优解。全局解中各个参数之间差值绝对值最小的为目标参数之间差异最小的全局解。在其中一个实施例中,求解最优解的过程可以通过平衡器实现,假设禁忌搜索算法的目标有三个,平衡器的工作过程具体包括如下步骤:

1)三个目标分别由obj1,obj2,obj3表示d12,d13,d23分别表示三个目标之间的差的绝对值;

2)计算d12或d13或d23中的任意一个,将这个值作为一个键值对存在一个列表中,这个列表的长度l由预设的禁忌搜索算法的参数进行设置,具体可以根据预设的禁忌搜索算法中的多目标距离参数进行设置;

3)朝着max(obj1,obj2,obj3)的方向去搜索稍小的值,得到新的一组目标值,回到步骤1),当计算到第l+1个时或者当步骤2)计算得到的值已经3次(3为目标个数)没有发生变化了,则将列表中值最小的键返回,作为此轮禁忌搜索迭代的一个解返回给主目标函数。在其中一个实施例中,每次计算l中的键值对时,可以根据上一个键值对的方向去寻找找的,可以较快找到最小值。

在其中一个实施例中,步骤s400:通过预设禁忌搜索算法对客户订单信息进行解析,获得客户订单信息对应的全局解之前还包括:

s320,查找各工厂的历史生产数据以及各工厂位置信息。

s340,基于历史生产数据确定各工厂完成订单产能损失以及所需生产成本,根据订单中客户位置以及各工厂位置信息确定客户离工厂的距离信息。

s360,根据产能损失、所需生产成本以及客户离工厂的距离信息获得目标函数。

s380,根据预设边缘函数与目标函数构建禁忌搜索算法。

生产企业的各个生产工厂有相关产品的生产记录,通过分析生产工厂的历史记录可以确定各工厂完成订单的产能损失以及所需的生产成本,根据各工厂的位置信息可以确定客户离工厂的距离信息。而后根据产能损失,所需生产成本以及客户离工厂距离构建目标函数。根据预设边缘函数与目标函数来构建禁忌搜索算法。通过使用预设边缘函数主要用于负责处理和转换客户订单信息,目标函数则根据边缘函数处理后的新订单数据计算优化问题所涉及到的目标,方便快捷。

在其中一个实施例中,步骤s360之前还包括步骤:

将各工厂完成订单的产能损失、各工厂完成订单的生产成本以及各工厂离所需客户位置的距离进行归一化处理。

归一化处理是指将带有量纲的产能损失,成本和客户离工厂距离这三个带有量纲的量转化为无量纲的量,让这3个目标的结果值处于同一个水平,如产能损失是10000,成本是10,客户离工厂距离是50,要使他们有可加性且相互之间不影响,将他们通过数学方式进行归一,即变换为0~1之间的数。

在其中一个实施例中,目标函数具体包括:

minσiσjσk(capability+cost+distance}

=minσiσjσk{|pcj/lj-pcijk·xijk|+cij·xijk+dij

·xijk}

其中capability表示产能损失,cost表示生产成本,distance表示所需客户位置离工厂的距离,pcj表示工厂j日均产能;lj表示工厂j所能提供的产线数;pcijk,表示订单i在工厂j的产线k生产所需要的产能供给;cij表示订单i在工厂j生产所需要的成本;dij表示订单i所属客户距离工厂j的距离。而其中的xijk是决策变量,当xijk=1是,表示订单i分配给工厂j的产线k,xijk=0,则表示订单i未分配给工厂j的产线k。

目标函数通过设计产能、生产成本以及客户位置离工厂距离这3个变量来表示生产排程所追求的目标形式。通过目标函数再结合经预设边缘函数处理后的客户订单信息,获取目标函数对客户订单的全局解。

在其中一个实施例中,禁忌搜索算法包括预设边缘函数以及目标函数,通过预设禁忌搜索算法对客户订单信息进行解析,获得客户订单信息对应的多个全局解的步骤具体包括:

s410,根据预设边缘函数将客户订单信息转换为订单数据;

s430,根据目标函数以及订单数据获得全局解。

预设边缘函数主要用于转化客户订单信息,并将其转化为可供目标函数处理的订单数据,在通过预设边缘函数对客户订单信息的收集处理后,通过目标函数对订单数据进行处理,获得目标函数对当天生产排程的全局解

在其中一个实施例中,通过预设禁忌搜索算法对客户订单信息进行解析,获得客户订单信息对应的多个全局解前还包括步骤:

通过r语言构建预设禁忌搜索算法。

本申请的生产排程方法可以使用r语言实现,传统的禁忌搜索算法在r语言中只能实现最大化的目标,而通过本申请重新设计的禁忌搜索算法,使其能在实现多目标优化的同时完成最小值搜索。本申请的生产排程方法的实现过程还可以包括用于实现生产排程的前端界面。而r语言有轻量级的前端shiny,可以使用r语言实现改进的禁忌搜索算法,并通过shiny实现本申请前端,这种架构很轻量,而且由于r语言为开源软件,成本较低。

在一个实施例中,本申请的生产排程方法,包括以下步骤:

s200,获取客户订单信息。

s320,查找各工厂的历史生产数据以及各工厂位置信息。

s340,基于历史生产数据确定各工厂完成订单产能损失以及所需生产成本,根据订单中客户位置以及各工厂位置信息确定客户离工厂的距离信息。

将各工厂完成订单的产能损失、各工厂完成订单的生产成本以及各工厂离所需客户位置的距离进行归一化处理。

s360,根据产能损失、所需生产成本以及客户离工厂的距离信息获得目标函数。

s380,根据预设边缘函数与目标函数构建禁忌搜索算法。

s410,根据预设边缘函数将客户订单信息转换为订单数据;

s430,根据目标函数以及订单数据获得全局解,。

s620,计算全局解中目标参数之间差值的绝对值。

s640,查找各全局解中目标参数之间差值的绝对值之和最小对应的全局解,将目标参数之间差值的绝对值之和最小的全局解作为最优解。

s800,根据最优解进行生产排程。

预设边缘函数主要用于转化客户订单信息,并将其转化为可供目标函数处理的订单数据,预设边缘函数具体包括:

函数1:pm_orders,用于对当天的客户订单信息进行处理,输入为当天新订单,输出为汇聚后的订单数据,具体的是计算每个不同产品型号的个数和总和。

函数2:idxbin,二进制转换为整数值的函数,作为分配工厂索引,以此索引获取对应工厂,这里需要二进制转换,是因为禁忌搜索的输入只能是二进制表示,在其中一个实施例中,可以使用二进制串来表示工厂,二进制串的位数根据工厂的数量而定,例如3位二进制可以表示0~7,可以用来表示最多8个工厂;

函数3:dispatch,一串二进制数转换成一串工厂名称,具体可为先初始化一个向量f,表示某天汇总所得每个不同产品型号的订单个数和总和,即pm_orders函数的功能,f的长度为pm_orders返回的行数(即为不同产品型号的订单数量),将一串二进制数(个数为3的倍数,每3个可以表示一个工厂索引)转换成一串工厂的名称,主要通过遍历这个二进制串,调用了idxbin函数得到工厂的索引值,从而得到一串工厂索引值,并将索引值赋值给f的第i个向量,表示第i个产品型号所对应分配的工厂索引。

函数4:caploss,计算每轮排程指定工厂产能损失总和;

函数5:cost,计算每轮排程指定生产成本;

函数6:distance,计算每轮排程中订单客户与工厂的距离。

目标函数具体包括:

minσiσjσk(capability+cost+distance}

=minσiσjσk{|pcj/lj-pcijk·xijk|+cij·xijk+dij

·xijk}

其中capability表示产能损失,cost表示生产成本,distance表示所需客户位置离工厂的距离,pcj表示工厂j日均产能;lj表示工厂j所能提供的产线数;pcijk,表示订单i在工厂j的产线k生产所需要的产能供给;cij表示订单i在工厂j生产所需要的成本;dij表示订单i所属客户距离工厂j的距离。而其中的xijk是决策变量,当xijk=1是,表示订单i分配给工厂j的产线k,xijk=0,则表示订单i未分配给工厂j的产线k。

上述生产排程方法,以预设禁忌搜索算法来求解客户订单对应的生产排程的全局解,而全局解的目标参数不小于2,而后通过平衡器获取全局解中目标参数相差最小的全局解,即最优解,并根据最优解进行生产排程,能达到综合考虑多种生产排程目标下进行最优化生产排程的效果。

应该理解的是,虽然图1-2流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图3所示,提供了一种生产排程装置,装置包括:

订单信息获取模块200,用于获取客户订单信息;

全局解获取模块400,用于通过预设禁忌搜索算法对客户订单信息进行解析,获得客户订单信息对应的多个全局解,全局解的目标参数的个数至少为2;

最优解获取模块600,用于查找全局解中目标参数之间差异最小的全局解,并将目标参数之间差异最小的全局解作为最优解。

生产排程模块800,用于根据最优解进行生产排程。

上述生产排程装置,以预设禁忌搜索算法来求解客户订单对应的生产排程的全局解,而全局解的目标参数不小于2,而后通过平衡器获取全局解中目标参数相差最小的全局解,即最优解,并根据最优解进行生产排程,减少生产排程过程产生的浪费,能达到综合考虑多种生产排程目标下进行最优化生产排程的效果。

在其中一个实施例中,最优解获取模块600具体包括:

绝对值计算单元,用于计算全局解中目标参数之间差值的绝对值;

最优解查找单元,用于查找各全局解中目标参数之间差值的绝对值之和最小对应的全局解,将目标参数之间差值的绝对值之和最小的全局解作为最优解。

在其中一个实施例中,生产排程装置还包括禁忌搜索算法构建模块,禁忌搜索算法构建模块包括:

历史数据查询单元,用于查询各工厂的历史生产数据以及各工厂位置信息;

工厂数据确认单元,用于根据历史生产数据确定各工厂完成订单产能损失以及所需生产成本,根据订单中客户位置以及各工厂位置信息确定客户离工厂的距离信息;

目标函数构建单元,用于根据产能损失、所需生产成本以及客户离工厂的距离信息获得目标函数;

禁忌搜索算法构建单元,用于根据预设边缘函数与目标函数构建禁忌搜索算法。

在其中一个实施例中,禁忌搜索算法构建模块还包括:

归一化单元,用于将各工厂完成订单的产能损失、各工厂完成订单的生产成本以及各工厂离所需客户位置的距离进行归一化处理。

在其中一个实施例中,全局解获取模块400具体包括:

订单数据转换单元,用于根据预设边缘函数将客户订单信息转换为订单数据;

全局解获取单元,用于根据目标函数以及订单数据获得全局解。

关于生产排程装置的具体限定可以参见上文中对于生产排程方法的限定,在此不再赘述。上述生产排程装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种生产排程方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

获取客户订单信息;

通过预设禁忌搜索算法对客户订单信息进行解析,获得客户订单信息对应的多个全局解,全局解的目标参数的个数至少为2;

查找全局解中目标参数之间差异最小的全局解,并将目标参数之间差异最小的全局解作为最优解。

根据最优解进行生产排程。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

计算全局解中目标参数之间差值的绝对值;

查找各全局解中目标参数之间差值的绝对值之和最小对应的全局解,将目标参数之间差值的绝对值之和最小的全局解作为最优解。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

查询各工厂的历史生产数据以及各工厂位置信息;

根据历史生产数据确定各工厂完成订单产能损失以及所需生产成本,根据订单中客户位置以及各工厂位置信息确定客户离工厂的距离信息;

根据产能损失、所需生产成本以及客户离工厂的距离信息获得目标函数;

根据预设边缘函数与目标函数构建禁忌搜索算法。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

将各工厂完成订单的产能损失、各工厂完成订单的生产成本以及各工厂离所需客户位置的距离进行归一化处理。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

根据预设边缘函数将客户订单信息转换为订单数据;

根据目标函数以及订单数据获得全局解。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取客户订单信息;

通过预设禁忌搜索算法对客户订单信息进行解析,获得客户订单信息对应的多个全局解,全局解的目标参数的个数至少为2;

查找全局解中目标参数之间差异最小的全局解,并将目标参数之间差异最小的全局解作为最优解。

根据最优解进行生产排程。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

计算全局解中目标参数之间差值的绝对值;

查找各全局解中目标参数之间差值的绝对值之和最小对应的全局解,将目标参数之间差值的绝对值之和最小的全局解作为最优解。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

查询各工厂的历史生产数据以及各工厂位置信息;

根据历史生产数据确定各工厂完成订单产能损失以及所需生产成本,根据订单中客户位置以及各工厂位置信息确定客户离工厂的距离信息;

根据产能损失、所需生产成本以及客户离工厂的距离信息获得目标函数;

根据预设边缘函数与目标函数构建禁忌搜索算法。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

将各工厂完成订单的产能损失、各工厂完成订单的生产成本以及各工厂离所需客户位置的距离进行归一化处理。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

根据预设边缘函数将客户订单信息转换为订单数据;

根据目标函数以及订单数据获得全局解。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1