掌桥专利:专业的专利平台
掌桥专利
首页

一种基于Hopfield神经网络算法的生产时序表生成方法

文献发布时间:2023-06-19 10:38:35


一种基于Hopfield神经网络算法的生产时序表生成方法

技术领域

本发明涉及一种基于Hopfield神经网络算法的生产时序表生成方法,属于生产制造业的生产计划的排程技术领域。

背景技术

生产计划的排程与调度在不同的制造业中都扮演着重要的角色。它的目标是在一定的时间内将客户的订单安排在不同的生产线体或生产设备上,并且遵循特定生产限制的同时对生产的某些性能进行优化。随着针对客户的产品在许多行业变得更加普遍,一种大规模定制趋势导致了许多产品生产形式的变化。由于客户定制带来的生产产品的多样性,在生产设备上需要较为频繁地对设备的某些部件进行切换。而在实际操作中,从一种产品切换到另一种产品往往会导致宝贵资源的浪费,例如由于机器设置的切换带来的总生产时间的延长。因此,寻找使生产某些性能最优的可行的排程方案在生产调度过程中扮演着重要的角色,这样的排程可以减少生产损失,同时确保满足客户的预定日期。

在实际的车间进行生产计划排程,即生成生产时序表,大多由排产人员手工根据订单情况和库存情况使用EXCEL生成生产时序表。而由于多样的产品订单,排产人员需要根据经验安排订单的顺序,并且计算出订单的生产日期和每日的生产数量,这样的排程方式效率较低,并且强依赖于人的记忆与经验,易出现准确度不高的情况。

而传统的排序算法,编码方式比较复杂,寻优时间长,算法的搜索速率慢;且传统群智能算法易于为陷入局部极值的问题。

发明内容

针对现有技术的不足,本发明提供了一种基于Hopfield神经网络算法的生产时序表生成方法,可根据订单情况使用Hopfield神经网络自动生成生产时序表的方法,从而提高企业排产效率和线体的利用率,编码方式简单,寻优时间更短。

术语解释:

1.Hopfield神经网络:Hopfield神经网络是美国加州理工学院物理学教授J.J.Hopfield提出的一种反馈神经网络。离散的Hopfield神经网络可用做分类或联想记忆,而连续Hopfield神经网络则在解决组合优化问题时有着很好的效果。

2.线体:即生产线,完成产品生产的流水线。

本发明的技术方案为:

一种基于Hopfield神经网络算法的生产时序表生成方法,所述方法包括步骤:

S1、接收订单,将订单中的整机订单拆分成子订单,并且给予子订单不同的生产行号;同一个订单拆分成多个子订单,拆分后的子订单仍然有着相同的订单号,为了标识不同的子订单,拥有相同订单号的子订单具有不同的行号;

S2、根据机型和线体的对应关系,判断每个订单能够进行生产的线体,将订单分配到能进行生产的线体上,并根据线体与订单的对应关系生成字典;完成每个订单能够进行生产的线体的初步判断;

S3、判断每个订单能够使用生产的线体是否为单个线体:若是多个线体,则进行步骤S4;若是单个线体,则进行步骤S5;

S4、当订单能够使用生产的线体是多个线体,先从能够使用生产的线体中筛选出合适的线体,然后使用Hopfield神经网络算法确定订单在筛选出合适的线体上的排序,再根据得到的排序计算订单在的生产起始日期,比较交货期和生产起始日期之间的差值,选择差值最大的线体作为该订单的生产线体;再进行步骤S6;

差值大说明留给订单的准备时间就更多,对于生产就更合适,选择计算出来的两个可以选择的线体的生产时间差值中差值较大对应的线体。通过步骤S4从多条线体中选择更为合适的线体。

S5、使用Hopfield神经网络算法确定订单在线体上的排序;S5中,订单进行排序的原则为线体上所有订单的总生产时间最短,即总换产时间最短。因此,需要计算每条线体上每个订单的生产起始日期和所有订单的总生产时间,从而比较排序方案的优劣。

S6、根据订单顺序、每个订单生产用时、订单之间的换产用时和当前生产时序安排的日期范围计算每个订单的生产结束日期;

S7、根据订单的信息、订单的生产结束日期和生产起始日期以及生产结束日期和生产起始日期之间对应的生产数量,汇总形成生产时序表,并且将形成的生产时序表发送至生产部门;

S8、进行生产。

根据本发明优选的,步骤S4和S5中,使用Hopfield神经网络算法确定订单在线体上的排序的具体过程为:

a、初始化换产矩阵F:读入订单的信息,根据订单中的机型,计算依次生产不同订单时需要的换产时间,形成一个大小为n×n的换产矩阵F,n为订单数量,换产矩阵是对角线为0的对称矩阵,其中任一个元素d

b、初始化Hopfield神经网络的输入,包括初始输入电压U

c、使用动态方程计算输入状态u

式(IV)中,v

v

d

v

d、使用一阶欧拉方程更新Hopfield神经网络下一个时刻的输入状态u

式(V)中,u

e、使用sigmoid函数更新神经网络下一个时刻的输出状态,其中sigmoid函数为输入状态和输出状态之间的非线性函数关系;

f、计算当前迭代时的能量函数E:

式(III)中,v

d

v

第一项为行元素两两相乘的和,在同一行中出现的1表示同一个订单生产的次数,因此对于合法解,每一行只出现一次1,即合法解的能量函数的第一项为0;

第二项为列元素两两相乘的和,在同一列出现的1表示同时生产的订单个数和位置,因此对于合法解,每一列只出现一次1,即合法解的能量函数第二项为0;

第三项为问题的目标函数项,为按一定顺序生产所有订单时经历的总时间和,总时间包括生产时间和换产时间;

求能量函数E最小时对应的输出状态集合;对于能量函数而言,合法且排序较优的订单顺序的能量函数越小,因此希望能量函数越小越好;结束迭代的条件是达到设置的总迭代次数;

g、检查当前Hopfield神经网络的输出状态集合的合法性,即判断输出状态集合是否满足订单生产顺序的置换矩阵的规则:

若输出状态集合不满足订单生产顺序的置换矩阵的规则,则输出状态集合不合法,重复步骤b至g;

若输出状态集合满足订单生产顺序的置换矩阵的规则,则输出状态集合合法,进行步骤h;

h、根据得到的合法置换矩阵,转换成为订单的生产顺序序列。

根据本发明优选的,步骤g中,置换矩阵的规则为:

(1)置换矩阵为n*n的矩阵,一个订单只能被安排生产一次,对应置换矩阵中,每行只能有一个1;

(2)每次只能生产一个订单,对应置换矩阵中,每列只能有一个1;

(3)共生产n个订单,对应置换矩阵中,矩阵全部元素的和为n。

置换矩阵为将排产顺序问题映射到神经网络一个辅助矩阵。具体的输出状态和置换矩阵的对应关系为:输出状态可能是各种各样的,也就是在一个n*n的矩阵很可能不满足步骤g中的规定的每行每列中1的个数,而置换矩阵必须是满足步骤g中规则的。当输出状态满足置换矩阵的规则时,置换矩阵即为神经元的输出状态,当不满足时,需要将输出状态转换成满足置换矩阵的规则的样子。

根据本发明优选的,步骤S4中,先从能够使用生产的线体中筛选出合适的线体,具体过程为:

当某个订单能够在多条线体上生产时,选择不会造成其他订单延误的线体作为该订单的生产线体;

如果能够使用生产的线体都不会造成其他订单的延误,则选择生产时间最短的线体作为该订单的生产线体;从而筛选出合适的线体。

根据本发明优选的,所述S6中,计算每个订单的生产结束日期的具体过程为:

S6-1、计算某一线体上所有订单的生产时间;

S6-2、计算该线体上相邻两个订单之间的换产时间;

S6-3、判断订单是否为该线体的第一个订单:

若订单是某一线体的第一个订单,则该订单的生产结束日期为生产起始日期加上该订单的生产时间;

若订单不是某一线体的第一个订单,则该订单的生产结束日期为上一个订单的生产结束日期加上该订单的生产时间和上一个订单与该订单之间的换产时间;

S6-4、判断订单的最后一天的生产时间是否大于日可用生产时间,即用来判断是否需要安排下一个订单在第二天生产,所述日可用生产时间为一天内线体的总可用运行时间;

若子订单的最后一天的生产时间小于日可用生产时间,则重复步骤S6-1-S6-4继续判断下一个订单的生产结束日期;

若子订单的最后一天的生产时间大于日可用生产时间,则该子订单的生产结束日期加一天,且下一个订单的生产起始日期为上一个订单的生产结束日期加一天。

根据本发明优选的,步骤S1中:根据订单与线体的对应关系,将整机订单拆分成子订单,然后根据库存情况确定实际需要生产的子订单内容,所述子订单内容包括订单的机型和生产数量。

根据本发明优选的,步骤S2生成字典中,字典的键为线体的名称,字典的值为在该线体上生产订单的信息,所述生产订单的信息包括序号、备注、销售订单号、行号、订单号、物料号、机型、订单数量、版本、新品、系统日期、出运期、海外订单、国家。部分订单可以由多条线体生产,因此对应的键值为多条线体。

本发明的有益效果为:

1.本发明能根据订单信息和机型对应的生产线体以及同一线体上生产不同机型时的换产情况自动将订单分类到不同的线体上,减少由于人工经验导致的错误,提高生产计划排程工作的效率,同时可以在保证生产计划符合订单交期要求的前提下自动完成复杂的计算。

2.本发明中使用的Hopfield神经网络算法可有效地解决组合优化问题,相较于传统的排序算法如群智能算法、遗传算法等算法而言,Hopfield神经网络算法编码方式简单,寻优时间更短,克服排序算法中常用算法搜索速率慢的缺点。同时相较于传统群智能算法易于为陷入局部极值的问题,由于神经元本身的变化使得Hopfield神经网络的能量函数不是一直在下降,而是可以上升和下降,因此有可能跳出局部最优值。

3.本发明提供的一种生产时序表的生成方法,使企业快速完成生产排程,可以充分减少排产人员的工作量;将排程的方法规范化,从由人的经验排程转换为根据数据排程,提高排程的精度,减少评审时需要调整,即重新安排生产信息的订单数量;提高线体利用率,使产能利用率最大化,可使企业取得良好的经济效益。

附图说明

图1是本发明提供的生产时序表的智能生成方法的步骤流程图;

图2是连续型Hopfield神经网络的等效电路图;

图3是本发明提供的使用Hopfield神经网络进行订单排序的实现流程图;

图4是本发明提供的计算订单生产日期的实现流程图。

具体实施方式

下面结合实施例和说明书附图对本发明做进一步说明,但不限于此。

实施例1

一种基于Hopfield神经网络算法的生产时序表生成方法,如图1所示,所述方法包括步骤:

S1、接收订单,根据订单与线体的对应关系,将订单中的整机订单拆分成子订单,并且给予子订单不同的生产行号;同一个订单拆分成多个子订单,拆分后的子订单仍然有着相同的订单号,为了标识不同的子订单,拥有相同订单号的子订单具有不同的行号;

根据库存情况确定实际需要生产的子订单内容,所述子订单内容包括订单的机型和生产数量。

S2、根据机型和线体的对应关系,判断每个订单能够进行生产的线体,将订单分配到能进行生产的线体上,并根据线体与订单的对应关系生成字典;完成每个订单能够进行生产的线体的初步判断;

步骤S2生成字典中,字典的键为线体的名称,字典的值为在该线体上生产订单的信息,所述生产订单的信息包括序号、备注、销售订单号、行号、订单号、物料号、机型、订单数量、版本、新品、系统日期、出运期、海外订单、国家。部分订单可以由多条线体生产,因此对应的键值为多条线体。

例如:订单1能够被线体1生产,则将其分配到线体1上;订单2能够被线体1和线体2生产,则进行S3中的判断,这里暂时生成这样的字典:【线体1:订单1信息,线体1和线体2:订单2信息……】,后续在步骤S4中选择更合适的线体后再改变字典里的内容。

S3、判断每个订单能够使用生产的线体是否为单个线体:若是多个线体,则进行步骤S4;若是单个线体,则进行步骤S5;

S4、当订单能够使用生产的线体是多个线体,先从能够使用生产的线体中筛选出合适的线体,具体过程为:

当某个订单能够在多条线体上生产时,选择不会造成其他订单延误的线体作为该订单的生产线体;

如果能够使用生产的线体都不会造成其他订单的延误,则选择生产时间最短的线体作为该订单的生产线体;从而筛选出合适的线体。

然后使用Hopfield神经网络算法确定订单在筛选出合适的线体上的排序,再根据得到的排序计算订单在的生产起始日期,比较交货期和生产起始日期之间的差值,选择差值最大的线体作为该订单的生产线体;再进行步骤S6;

差值大说明留给订单的准备时间就更多,对于生产就更合适,选择计算出来的两个可以选择的线体的生产时间差值中差值较大对应的线体。通过步骤S4从多条线体中选择更为合适的线体。

S5、使用Hopfield神经网络算法确定订单在线体上的排序;S5中,订单进行排序的原则为线体上所有订单的总生产时间最短,即总换产时间最短。因此,需要计算每条线体上每个订单的生产起始日期和所有订单的总生产时间,从而比较排序方案的优劣。

Hopfield神经网络英文缩写HNN,主要采用模拟生物网络的记忆机理,使用能量函数来呈现出人工神经网络的稳定过程。Hopfield神经网络根据激活函数可以分为离散型Hopfield神经网络(DHNN)和连续型Hopfield神经网络(CHNN)。CHNN更适合处理组合优化问题。CHNN网络,是单层反馈非线性网络,每一个节点的输出均反馈至节点的输入。

在使用CHNN解决问题时,可以将网络抽象为一个电子放大电路,如图2所示。图2中,电阻R

设电容C

则经过电容C

根据基尔霍夫电流定律,CHNN等效电路的电流关系为:

令T

则电流关系可以简化为:

上式即为关于CHNN模型中输入电压U

同时,也是CHNN模型的状态方程,其中输出电压V

上式中f(x)为S形激励函数:

在这个网络中,神经元的状态会异质不断更新迭代,随着时间的变化,神经网络最终会收敛到一个稳定的状态,网络的输出也会稳定,这样的稳定的状态可以用能量函数来解释。

Hopfield神经网络的能量函数定义如下:

使用Hopfield神经网络解决生产计划排程问题时,将问题抽象化成以下数学公式:

设共需要生产n个子订单,将每一个子订单对应于神经网络的一个神经元,即n个子订单的生产排程问题用n*n个神经元组成的Hopfield神经网络来求解;所有订单的生产位置状态由置换矩阵表示,在置换矩阵中,每一行表示一个子订单,当第i行中第j个元素为1,表示第i个子订单被安排到第j个生产,i=1、2、3……n,j=1、2、3……n,且i≠j;

例如置换矩阵为:

对于生产排程问题,在一般CHNN能量函数的基础上,需要使能量函数可以量化置换矩阵的规则,同时在问题的n!个合法路径中,能量函数要有利于量化最短路线的解。

因此,将能量函数表示为:

式(”)中,v

A、B、C、D为设定常数,称为权值,订单数为n。第一项表示每行中的每个订单x,必须有且只有一个1;第二项表示每列中的每个订单x,必须有且只有一个1;第三项表示整个矩阵有n个1;第四项表示订单生产路径对应的总生产时间;前三项为满足置换矩阵的约束条件,最后一项为目标函数。

由于上述能量函数过于复杂,将其简化为下式(III):

步骤S4和S5中,使用Hopfield神经网络算法确定订单在线体上的排序的具体过程为:如图3所示,具体过程为:

a、初始化换产矩阵F:读入订单的信息,根据订单中的机型,计算依次生产不同订单时需要的换产时间,形成一个大小为n×n的换产矩阵F,n为订单数量,换产矩阵是对角线为0的对称矩阵,其中任一个元素d

换产矩阵的格式如:

b、初始化Hopfield神经网络的输入,包括初始输入电压U

c、使用动态方程计算输入状态u

式(IV)中,v

v

d

v

d、使用一阶欧拉方程更新Hopfield神经网络下一个时刻的输入状态u

式(V)中,u

e、使用sigmoid函数更新神经网络下一个时刻的输出状态,其中sigmoid函数为输入状态和输出状态之间的非线性函数关系;

f、计算当前迭代时的能量函数E:

式(III)中,v

d

v

第一项为行元素两两相乘的和,在同一行中出现的1表示同一个订单生产的次数,因此对于合法解,每一行只出现一次1,即合法解的能量函数的第一项为0;

第二项为列元素两两相乘的和,在同一列出现的1表示同时生产的订单个数和位置,因此对于合法解,每一列只出现一次1,即合法解的能量函数第二项为0;

第三项为问题的目标函数项,为按一定顺序生产所有订单时经历的总时间和,总时间包括生产时间和换产时间;

求能量函数E最小时对应的输出状态集合;对于能量函数而言,合法且排序较优的订单顺序的能量函数越小,因此希望能量函数越小越好;结束迭代的条件是达到设置的总迭代次数;

g、检查当前Hopfield神经网络的输出状态集合的合法性,即判断输出状态集合是否满足订单生产顺序的置换矩阵的规则:

若输出状态集合不满足订单生产顺序的置换矩阵的规则,则输出状态集合不合法,重复步骤b至g;

若输出状态集合满足订单生产顺序的置换矩阵的规则,则输出状态集合合法,进行步骤h;

步骤g中,置换矩阵的规则为:

(1)置换矩阵为n*n的矩阵,一个订单只能被安排生产一次,对应置换矩阵中,每行只能有一个1;

(2)每次只能生产一个订单,对应置换矩阵中,每列只能有一个1;

(3)共生产n个订单,对应置换矩阵中,矩阵全部元素的和为n。

置换矩阵为将排产顺序问题映射到神经网络一个辅助矩阵。具体的输出状态和置换矩阵的对应关系为:输出状态可能是各种各样的,也就是在一个n*n的矩阵很可能不满足步骤g中的规定的每行每列中1的个数,而置换矩阵必须是满足步骤g中规则的。当输出状态满足置换矩阵的规则时,置换矩阵即为神经元的输出状态,当不满足时,需要将输出状态转换成满足置换矩阵的规则的样子。

h、根据得到的合法置换矩阵,转换成为订单的生产顺序序列。

S6、根据订单顺序、每个订单生产用时、订单之间的换产用时和当前生产时序安排的日期范围计算每个订单的生产结束日期;

所述S6中,如图4所示,计算每个订单的生产结束日期的具体过程为:

S6-1、计算某一线体上所有订单的生产时间;

S6-2、计算该线体上相邻两个订单之间的换产时间;

S6-3、判断订单是否为该线体的第一个订单:

若订单是某一线体的第一个订单,则该订单的生产结束日期为生产起始日期加上该订单的生产时间;

若订单不是某一线体的第一个订单,则该订单的生产结束日期为上一个订单的生产结束日期加上该订单的生产时间和上一个订单与该订单之间的换产时间;

S6-4、判断订单的最后一天的生产时间是否大于日可用生产时间,即用来判断是否需要安排下一个订单在第二天生产,所述日可用生产时间为一天内线体的总可用运行时间;

若子订单的最后一天的生产时间小于日可用生产时间,则重复步骤S6-1-S6-4继续判断下一个订单的生产结束日期;

若子订单的最后一天的生产时间大于日可用生产时间,则该子订单的生产结束日期加一天,且下一个订单的生产起始日期为上一个订单的生产结束日期加一天。

S7、根据订单的信息、订单的生产结束日期和生产起始日期以及生产结束日期和生产起始日期之间对应的生产数量,汇总形成生产时序表,并且将形成的生产时序表发送至生产部门;生产时序表包括:生产订单的信息和生产日期,生产订单的信息包括销售订单号,行号,订单号,物料号,机型,订单数量,版本,新品、海外订单号、国家、系统日期、出运期;

S8、进行生产。

在本发明实施例中,接收订单信息,根据订单信息将订单拆分成多个订单;根据订单生产信息和实际产线的线体信息,给每个订单分配生产线,对于有多条线体可选的订单,选择一条最为合适的线体;对每条生产上的所有订单使用Hopfield算法进行排序;根据排序结果自动计算出每个订单的生产日期,最后根据上述结果形成完整的生产时序表,从而实现在机器装配制造领域中的生产排程,其具有以下技术效果:

(1)使企业快速完成生产排程,可以充分减少排产人员的工作量;

(2)将排程的方法规范化,从由人的经验排程转换为根据数据排程,提高排程的精度,减少评审时需要调整,即重新安排生产信息的订单数量;

(3)提高线体利用率,使产能利用率最大化,可使企业取得良好的经济效益。

相关技术
  • 一种基于Hopfield神经网络算法的生产时序表生成方法
  • 基于量子Hopfield神经网络和量子鱼群算法的鲁棒多用户检测方法
技术分类

06120112622736