一种多参数优化方法与流程

文档序号:11229603阅读:1059来源:国知局
本发明涉及工业参数优化
技术领域
,特别是指一种多参数优化方法。
背景技术
:近年来,越来越多的工业、企业开始重视大数据在优化产品性能上的重要之处,例如,使用大数据技术对工业生产中的工业参数进行设置,并进行相应的优化改进。然而,由于工业参数都存在着数据量大,目标参数维度高等问题,决定了工业参数优化是一个运算时间和空间都极高的机器学习问题。技术实现要素:本发明要解决的技术问题是提供一种多参数优化方法,以解决现有技术所存在的时间复杂度和空间复杂度高的问题。为解决上述技术问题,本发明实施例提供一种多参数优化方法,包括:s1,初始化种群中每个粒子的位置和迭代次数,所述粒子处于多维空间中,粒子每个维度对应一个待求解的参数;s2,计算每个粒子对目标函数的适应度值,根据计算得到的每个粒子对目标函数的适应度值,更新每个粒子的历史最优位置和种群的最优位置,利用正交算法对每个粒子的历史最优位置与种群的最优位置进行正交计算,得到每个粒子的学习向量,并根据每个粒子的位置及学习向量确定下一代粒子的位置,迭代次数加1;s3,判断是否进行反向学习,若进行反向学习,则将每个粒子反向得到反向粒子,判断反向粒子对目标函数的适应度值是否大于原粒子对目标函数的适应度值,若大于原粒子对目标函数的适应度值,则利用反向粒子替换原粒子;s4,检查是否满足预设的迭代结束条件,若满足预设的迭代结束条件,则输出结果;否则,则返回s2继续执行。进一步地,所述s1包括:s11,对待求解的多参数进行预处理,根据预处理结果,创建数学模型,并根据创建的数学模型,确定目标函数;其中,所述预处理包括:归一化处理,所述目标函数用于计算适应度值;s12,在搜索空间中随机产生均匀分布的种群,记录种群中每个粒子的坐标向量,得到种群中每个粒子的位置;s13,设置种群粒子的惯性系数、学习向量的学习系数,迭代次数初始值;s14,设置迭代结束条件。进一步地,所述s2包括:s21,根据目标函数计算每个粒子的适应度值,将计算得到的适应度值与所述粒子的历史最优适应度值进行比较,若计算得到的适应度值优于历史最优适应度值,则用所述粒子的位置更新所述粒子的历史最优位置,并用所述粒子的适应度值更新所述粒子的历史最优适应度值;s22,根据更新后的每个粒子的历史最优适应度值,获取适应度值最优的粒子的位置作为种群的最优位置;s23,利用正交算法对每个粒子的历史最优位置与种群的最优位置进行正交计算,得到每个粒子的学习向量;s24,根据种群粒子的惯性系数、学习向量的学习系数、每个粒子的当前位置及学习向量确定下一代粒子的位置;s25,将迭代次数加1。进一步地,所述s23包括:s231,根据第一公式,计算当前迭代得到的每个粒子的每一种取值的平均适应度值,所示第一公式表示为:其中,n表示第n个参数,q表示第q个取值,m表示第q个取值出现了m次,fm表示当前迭代得到的粒子的对应于所述取值的适应度值,zmnq表示第q个取值的数值;s232,根据得到的每个粒子的每一种取值的平均适应度值,从每个粒子的历史最优位置与种群的最优位置的每个维度取值中选取值较优的作为相应粒子的学习向量在相应维度的值。进一步地,所述s24包括:通过第二公式,确定下一代粒子的位置,所述第二公式表示为:xi+1=α*xi+β*xlearni其中,α表示种群粒子的惯性系数,β表示学习向量的学习系数,xi表示第i次迭代中粒子的位置,xlearni表示第i个粒子的学习向量,xi+1表示第i+1次迭代中粒子的位置。进一步地,所述s3包括:s31,生成一个随机数,若随机数小于预设的第一阈值,则跳过s32,否则,则执行s32;s32,将每个粒子反向得到反向粒子,计算反向粒子对目标函数的适应度值,判断反向粒子对目标函数的适应度值是否大于原粒子对目标函数的适应度值,若大于原粒子对目标函数的适应度值,则利用反向粒子替换原粒子;若不大于原粒子对目标函数的适应度值,则丢弃反向粒子。进一步地,所述位置为向量;所述将每个粒子反向得到反向粒子包括:对粒子位置向量的每一个维度,取搜索空间在相应维度的中点为对称中心,则反向值为粒子原位置向量在相应维度关于对称中心的对称值;将粒子位置向量的每个维度都取相应的对称值,得到所述粒子位置向量的反向向量;根据所述粒子位置向量的反向向量,得到反向粒子。进一步地,所述方法还包括:若不进行反向学习,则执行s4。进一步地,所述s4包括:判断当前次迭代和上一次迭代得到的种群最优位置之间的差值是否小于预设的第二阈值;若小于预设的第二阈值,则输出当前种群最优位置作为待求解的多参数的最优解,算法结束;若不小于预设的第二阈值,则返回s2继续执行。进一步地,所述s4还包括:判断迭代次数是否达到预设的最大迭代次数;若达到预设的最大迭代次数,则算法结束,求解失败;若没有达到预设的最大迭代次数,则返回s2继续执行。本发明的上述技术方案的有益效果如下:上述方案中,通过正交算法对每个粒子的历史最优位置与种群的最优位置进行正交计算,得到每个粒子的学习向量,并根据每个粒子的位置及学习向量确定下一代粒子的位置;并通过反向学习将每个粒子反向得到反向粒子,若反向粒子对目标函数的适应度值大于原粒子对目标函数的适应度值,则利用反向粒子替换原粒子。这样,通过正交算法可以加快进化速度及提高收敛速度,减少迭代的次数,而反向学习可以使迭代不容易陷入局部最优解,同时使用正交算法和反向学习能够加快学习效率,降低时间复杂度、空间复杂度。附图说明图1为本发明实施例提供的多参数优化方法的流程示意图。具体实施方式为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。本发明针对现有的时间复杂度和空间复杂度高的问题,提供一种多参数优化方法。如图1所示,本发明实施例提供的多参数优化方法,包括:s1,初始化种群中每个粒子的位置和迭代次数,所述粒子处于多维空间中,粒子每个维度对应一个待求解的参数;s2,计算每个粒子对目标函数的适应度值,根据计算得到的每个粒子对目标函数的适应度值,更新每个粒子的历史最优位置和种群的最优位置,利用正交算法对每个粒子的历史最优位置与种群的最优位置进行正交计算,得到每个粒子的学习向量,并根据每个粒子的位置及学习向量确定下一代粒子的位置,迭代次数加1;s3,判断是否进行反向学习,若进行反向学习,则将每个粒子反向得到反向粒子,判断反向粒子对目标函数的适应度值是否大于原粒子对目标函数的适应度值,若大于原粒子对目标函数的适应度值,则利用反向粒子替换原粒子;s4,检查是否满足预设的迭代结束条件,若满足预设的迭代结束条件,则输出结果;否则,则返回s2继续执行。本发明实施例所述的多参数优化方法,通过正交算法对每个粒子的历史最优位置与种群的最优位置进行正交计算,得到每个粒子的学习向量,并根据每个粒子的位置及学习向量确定下一代粒子的位置;并通过反向学习将每个粒子反向得到反向粒子,若反向粒子对目标函数的适应度值大于原粒子对目标函数的适应度值,则利用反向粒子替换原粒子。这样,通过正交算法可以加快进化速度及提高收敛速度,减少迭代的次数,而反向学习可以使迭代不容易陷入局部最优解,同时使用正交算法和反向学习能够加快学习效率,降低时间复杂度、空间复杂度。本实施例中,种群中的每个粒子处于多维空间中,每个粒子有多个维度/多维坐标,每个维度/每维坐标代表一个参数,因此,每个粒子的位置可以用于表示待求解的多个参数。粒子在搜索空间中运动,在每个位置都计算一个目标函数值,当目标函数值达到最小时,就是粒子的位置为最优解,粒子的多维坐标就是待求解的多个参数的最优解。本实施例中,搜索空间是指求解过程中粒子的运动空间,也就是带求解参数的可能空间。搜索空间是一个多维空间,也是最开始粒子初始化时随机分布的空间。在前述多参数优化方法的具体实施方式中,进一步地,所述初始化种群中每个粒子的位置和迭代次数(s1)包括:s11,对待求解的多参数进行预处理,根据预处理结果,创建数学模型,并根据创建的数学模型,确定目标函数;其中,所述预处理包括:归一化处理,所述目标函数用于计算适应度值;s12,在搜索空间中随机产生均匀分布的种群,记录种群中每个粒子的坐标向量,得到种群中每个粒子的位置;s13,设置种群粒子的惯性系数、学习向量的学习系数,迭代次数初始值;s14,设置迭代结束条件。本实施例中,第一次迭代时,需对待求解的多个参数进行归一化等预处理操作,并根据预处理后的结果创建数学模型,根据创建的数学模型,找到目标函数f,所述目标函数f用于计算适应度值;进而,在搜索空间中随机产生均匀分布的种群,所述种群也可称为粒子群,记录粒子群中每个粒子的坐标向量,得到粒子群中每个粒子的位置xi,其中,粒子的位置是向量,向量的维度等于待求解的参数的数目,粒子群规模根据所求参数的复杂程度设置,例如,粒子群规模可以在20~1000之间;在第一次迭代时,还需设置种群粒子的惯性系数α、学习向量的学习系数β,迭代次数iter初始值(iter=0)及迭代结束条件。在前述多参数优化方法的具体实施方式中,进一步地,所述计算每个粒子对目标函数的适应度值,根据计算得到的每个粒子对目标函数的适应度值,更新每个粒子的历史最优位置和种群的最优位置,利用正交算法对每个粒子的历史最优位置与种群的最优位置进行正交计算,得到每个粒子的学习向量,并根据每个粒子的位置及学习向量确定下一代粒子的位置,迭代次数加1(s2)包括:s21,根据目标函数计算每个粒子的适应度值,将计算得到的适应度值与所述粒子的历史最优适应度值进行比较,若计算得到的适应度值优于历史最优适应度值,则用所述粒子的位置更新所述粒子的历史最优位置,并用所述粒子的适应度值更新所述粒子的历史最优适应度值;s22,根据更新后的每个粒子的历史最优适应度值,获取适应度值最优的粒子的位置作为种群的最优位置;s23,利用正交算法对每个粒子的历史最优位置与种群的最优位置进行正交计算,得到每个粒子的学习向量;s24,根据种群粒子的惯性系数、学习向量的学习系数、每个粒子的当前位置及学习向量确定下一代粒子的位置;s25,将迭代次数加1。本实施例中,在第g次迭代时,首选根据目标函数f计算每个粒子的适应度值pfit,将计算得到的当前适应度值pfit与所述粒子的历史最优适应度值进行比较,若所述粒子的当前适应度值pfit优于历史最优适应度值,则用所述粒子的当前位置更新所述粒子的历史最优位置pbest,并用所述粒子的当前适应度值pfit更新所述粒子的历史最优适应度值;按照更新后的每个粒子的历史最优适应度值对所有粒子的历史最优位置进行排序,获取适应度值最优的粒子的位置作为种群的最优位置gbest,其中,适应度值越小越优;利用正交算法对每个粒子的历史最优位置pbest与种群的最优位置gbest进行正交计算,得到每个粒子的学习向量xlearni;根据种群粒子的惯性系数、学习向量的学习系数、每个粒子的当前位置及学习向量确定下一代粒子的位置,每次更新子代都会替换原来的粒子;并将迭代次数iter加1。本实施例中,历史最优位置pbest与种群的最优位置gbest都是向量,每个向量都有多个维度,每个维度表示一个参数,且每个维度上有多个取值。在前述多参数优化方法的具体实施方式中,进一步地,所述利用正交算法对每个粒子的历史最优位置与种群的最优位置进行正交计算,得到每个粒子的学习向量(s23)包括:s231,因为每个维度上有多个取值,可以根据第一公式,计算当前迭代得到的每个粒子的每一种取值的平均适应度值,所示第一公式表示为:其中,n表示第n个参数,q表示第q个取值,m表示第q个取值出现了m次,fm表示当前迭代得到的粒子的对应于所述取值的适应度值,zmnq表示第q个取值的数值;s232,根据得到的每个粒子的每一种取值的平均适应度值,从每个粒子的历史最优位置与种群的最优位置的每个维度取值中选取值较优的作为相应粒子的学习向量在相应维度的值。本实施例中,带求解的参数以钢铁轧制的控制参数为例,对正交算法进行举例说明:假设,钢铁轧制的控制参数包括:温度和压力,其中,温度和压力的数值组成一个二维向量,就是粒子的位置坐标;例如:温度可以有100℃,200℃,300℃;压力有100n,200n。这样两两有6种组合,并根据目标函数计算每个粒子的适应度值,得到6个适应度值,如表1所示:表1适应度值温度压力适应度值(越小越优)100℃100n10100℃200n14200℃100n16200℃200n26300℃100n22300℃200n24计算正交时,对温度这个参数,需要分别计算100℃,200℃,300℃的适应度平均值。100℃平均适应度值为(10+14)/2=12;200℃平均适应度值为(16+26)/2=21;300℃平均适应度值为(22+24)/2=23;100n平均适应度值为(10+16+22)/3=16;200n平均适应度值为(14+26+24)/3=18;接着,对得到的每个粒子的每一种取值的平均适应度值进行排序,平均适应度值越小越优,则可知对温度参数而言,温度值越小越优;对压力而言,压力值越小越优;根据得到的每个粒子的每一种取值的平均适应度值,从每个粒子的历史最优位置与种群的最优位置的每个维度取值中选取值较优的作为相应粒子的学习向量在相应维度的值,从而得到当前迭代每个粒子的学习向量,进而可以根据得到的每个粒子的学习向量指导相应粒子的下一次飞行;本实施例中,假设粒子1的历史最优位置是(300℃,100n);粒子2的历史最优位置是(100℃,300n);种群的最优位置是(200℃,200n);则选择学习向量时,温度上粒子1选择全局的,压力选自身历史的,组成的粒子1的学习向量就是(200℃,100n);同理,粒子2的学习向量就是(100℃,200n)。在前述多参数优化方法的具体实施方式中,进一步地,所述根据种群粒子的惯性系数、学习向量的学习系数、每个粒子的当前位置及学习向量确定下一代粒子的位置(s24)包括:通过第二公式,确定下一代粒子的位置,所述第二公式表示为:xi+1=α*xi+β*xlearni其中,α表示种群粒子的惯性系数,β表示学习向量的学习系数,xi表示第i次迭代中粒子的位置,xlearni表示第i个粒子的学习向量,xi+1表示第i+1次迭代中粒子的位置。在前述多参数优化方法的具体实施方式中,进一步地,所述判断是否进行反向学习,若进行反向学习,则将每个粒子反向得到反向粒子,判断反向粒子对目标函数的适应度值是否大于原粒子对目标函数的适应度值,若大于原粒子对目标函数的适应度值,则利用反向粒子替换原粒子(s3)包括:s31,生成一个随机数,若随机数小于预设的第一阈值,则跳过s32,否则,则执行s32;s32,将每个粒子反向得到反向粒子,计算反向粒子对目标函数的适应度值,判断反向粒子对目标函数的适应度值是否大于原粒子对目标函数的适应度值,若大于原粒子对目标函数的适应度值,则利用反向粒子替换原粒子;若不大于原粒子对目标函数的适应度值,则丢弃反向粒子。本实施例中,例如,可以生成一个随机取值为(0,1)的随机数randiter,并假设所述预设的第一阈值为0.3,即:若随机数randiter<0.3,则跳过步骤32,否则执行步骤32。本实施例中,在执行步骤32时,每个粒子反向得到反向粒子preverse,计算反向粒子preverse对目标函数f的适应度值p′fit,判断反向粒子preverse对目标函数f的适应度值p′fit是否大于原粒子(反向之前的该粒子)对目标函数f的适应度值pfit,若大于原粒子对目标函数f的适应度值pfit,则利用反向粒子preverse替换原粒子;若不大于原粒子对目标函数f的适应度值pfit,则丢弃反向粒子preverse。本实施例中,粒子的属性有空间位置和速度矢量,所以替换粒子就是更新这两个属性的值。由于反向学习不是一次独立的迭代(因为:不是每个粒子都会进行反向学习,只有当生成的随机数小于预设的第一阈值时,相应的粒子才会进行反向学习),所以粒子的下标不变,就相当于是把原粒子替换掉了,原粒子被替换后:位置就是反向后的反向粒子preverse的位置,速度变成0。在前述多参数优化方法的具体实施方式中,进一步地,所述位置为向量;所述将每个粒子反向得到反向粒子包括:对粒子位置向量的每一个维度,取搜索空间在相应维度的中点为对称中心,则反向值为粒子原位置向量在相应维度关于对称中心的对称值;将粒子位置向量的每个维度都取相应的对称值,得到所述粒子位置向量的反向向量;根据所述粒子位置向量的反向向量,得到反向粒子。本实施例中,用xi表示第i个粒子的位置,粒子位置xi是向量,对第i个粒子位置向量xi的每一个维度,取搜索空间在相应维度的中点为对称中心,则反向值为粒子原位置向量xi在相应维度关于对称中心的对称值,将粒子的位置向量xi每个维度都取相应的对称值,则得到所述粒子的位置向量xi的反向向量xireverse;根据反向向量xireverse,得到反向粒子preverse。在前述多参数优化方法的具体实施方式中,进一步地,所述方法还包括:若不进行反向学习,则执行s4。在前述多参数优化方法的具体实施方式中,进一步地,所述检查是否满足预设的迭代结束条件,若满足预设的迭代结束条件,则输出结果;否则,则返回s2继续执行(s4)包括:判断当前次迭代和上一次迭代得到的种群最优位置之间的差值是否小于预设的第二阈值;若小于预设的第二阈值,则输出当前种群最优位置作为待求解的多参数的最优解,算法结束;若不小于预设的第二阈值,则返回s2继续执行。本实施例中,检查最后两次(当前次迭代和上一次迭代)迭代得到的种群最优位置gbest之间的差值,若差值小于预设的第二阈值,例如,所述预设的第二阈值为10-6,则停止迭代,输出当前种群最优位置gbest作为待求解的多参数的最优解,算法结束;若差值不小于预设的第二阈值,则返回s2继续执行。在前述多参数优化方法的具体实施方式中,进一步地,所述检查是否满足预设的迭代结束条件,若满足预设的迭代结束条件,则输出结果;否则,则返回s2继续执行(s4)还包括:判断迭代次数是否达到预设的最大迭代次数;若达到预设的最大迭代次数,则算法结束,求解失败;若没有达到预设的最大迭代次数,则返回s2继续执行。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。以上所述是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1