一种计算立方系材料母相与子相间位向关系的方法与流程

文档序号:18642952发布日期:2019-09-11 23:46阅读:450来源:国知局
一种计算立方系材料母相与子相间位向关系的方法与流程

本发明涉及立方系材料技术领域,特别是指一种计算立方系材料母相与子相间位向关系的方法。



背景技术:

在相变时,确定原始母相组织的取向回归对确定其相变产物的性质尤为重要,确定位向关系则是原始母相回归的基础之一。申请号为201710068225.4的专利公开了一种立方系材料母相与子相间位向关系的确定方法,基于差分进化算法来确定母相与子相间位向关系;但该方法在变异和交叉阶段所用的变异策略和关键控制参数并不能自适应变化;

而在解决母相与子相间位向问题上,为了使差分进化算法来达到良好的性能,需要在变异和交叉阶段尝试所有可用的变异策略,微调相应的关键控制参数。许多文献已经指出,原始差分进化算法的性能高度依赖于试验向量生成策略的选择和参数的设置。虽然对于特定的问题,可以找出合适的策略和相应的控制参数,但是它可能需要花费大量的计算时间。

同时,在不同的演化阶段,不同的策略和参数设置有着不用的全局和局部搜索能力,因此如何能够自动地学习策略和参数设置是很有必要的。



技术实现要素:

本发明要解决的技术问题是提供一种计算立方系材料母相与子相间位向关系的方法,根据差分进化算法的特点,通过引入参数自适应策略和自适应选择变异策略方案来优化算法计算性能,并针对原方法计算花费时间长的问题,采用计算矩阵变形方法和多核并行计算方法来极大缩短计算时间。

为解决上述技术问题,本发明的实施例提供一种计算立方系材料母相与子相间位向关系的方法,所述方法包括以下步骤:

步骤一、根据取向点数据和预设位向关系公式得到父代种群对应的储存最小θ值的矩阵a1;其中,θ值表示所有取向点的理论取向与实际取向的差角;

步骤二、根据当前迭代次数和预设最大迭代次数,对变异因子f和交叉概率cr进行非线性变化,并根据预设策略自适应方案在策略池中选择变异策略;

步骤三、根据所选择的变异策略及经过非线性变化后的f和cr对父代种群进行变异和交叉操作,得到中间种群;并根据所述取向点数据和预设位向关系公式得到所述中间种群所对应的储存最小θ值的矩阵a2;

步骤四、选择出矩阵a1和矩阵a2中的最小θ值,在父代种群和中间种群中选择出最小θ值对应的个体,得到子代种群;

步骤五、重复步骤二至步骤四直至迭代次数达到预设最大迭代次数后,根据最后一次迭代得到的种群对应的最小θ值,得到母相与子相间位向关系。

进一步地,所述预设位向关系公式为:

其中,θ为所有取向点的理论取向与实际取向的差角,n为取向点个数,trace()为取迹操作,arccos()为反余弦函数,v为待求取的位向关系,m为母相取向信息,mm为取向点的欧拉角,sj和sk分别为母相和子相对应的晶体学对称因子的等效矩阵,j和k分别表示母相和子相的晶体学对称性因子。

进一步地,所述根据当前迭代次数和预设最大迭代次数,对变异因子f进行非线性变化,具体为利用下列公式对变异因子f进行非线性变化:

其中,f变异因子,t为当前迭代次数,t为预设最大迭代次数,fmax和fmin分别为变异因子f的最大值和最小值,且fmax=0.9,fmin=0.4。

进一步地,所述预设策略自适应方案,包括:

生成候选策略池,所述候选策略池中包括第一变异策略和第二变异策略;

初始化第一变异策略的被选概率p1和第二变异策略的被选概率p2=1-p1;

根据当前种群的规模大小np,随机地生成一个大小为np且元素在范围[0,1]上均匀分布的向量;如果所述向量中第j个元素的值大于或等于p1,那么当前种群中的第j个个体就应用第一变异策略,否则,就应用第二变异策略。

进一步地,所述预设策略自适应方案,还包括:

对应用第一变异策略生成的试验向量中,能通过选择过程成功进入下一代的向量个数ns1和失败的被丢弃的向量个数nf1分别进行统计;同时对应用第二变异策略生成的试验向量中,能通过选择过程成功进入下一代的向量个数ns2和失败的被丢弃的向量个数nf2分别进行统计;

根据统计结果,每迭代50次,对概率p1和p2运用下式进行一次更新:

p2=1-p1

在更新完概率p1和p2后,重置ns1、ns2、nf1以及nf2所对应的计数器。

进一步地,所述第一变异策略和所述第二变异策略分别表示为:

第一变异策略:vi,g=xr1,g+f*(xr2,g-xr3,g)

第二变异策略:vi,g=xi,g+f*(xbest,g-xi,g)+f*(xr1,g-xr2,g)

其中,f为缩放因子,x为种群,v为变异后的子代数据。

可选地,概率p1和p2的初始值均为0.5。

进一步地,所述根据当前迭代次数和预设最大迭代次数,对交叉概率cr进行非线性变化,具体为利用下列公式对交叉概率cr进行非线性变化:

其中,cr为交叉概率,t为当前迭代次数,t为预设最大迭代次数,crmax=0.9和crmin=0.3分别是交叉概率cr的最大值和最小值。

进一步地,所述方法还包括:在使用所述预设位向关系公式进行计算时,sj和sk输入的分别是多个矩阵的拼接;其中,

sj拼接后与m相乘得到第一矩阵,首先利用函数mat2cell()将第一矩阵拆分成多个第二矩阵,然后利用cell2mat()函数将多个第二矩阵合并成一个第三矩阵,将第三矩阵作为sj代入所述预设位向关系公式中进行下一步计算;

sk拼接后与mm相乘得到第四矩阵,首先利用函数mat2cell()将第四矩阵拆分成多个第五矩阵,然后利用cell2mat()函数将多个第五矩阵合并成一个第六矩阵,将第六矩阵作为sk代入所述预设位向关系公式中进行下一步计算。

进一步地,所述方法还包括:在使用所述预设位向关系公式进行计算时,采用多核并行计算的方式进行计算;

并且在迭代时,增加限制条件,当计算得到的值大于自定义的值时,就不再进行后续的取向点的计算,直接进行下一次迭代。

本发明的上述技术方案的有益效果如下:

本发明通过引入参数自适应策略和自适应选择变异策略方案来优化原始差分进化算法的计算性能,采用优化后的差分进化算法来计算母相与子相间的位向关系,提高了计算精度;并且在计算过程中,通过将多个小型矩阵合并成大型矩阵,然后在大型矩阵中进行中型矩阵计算的方式,大幅度缩短了计算时间。同时在迭代时,增加限制条件,当计算得到的值大于自定义的值时,就不再进行后续的取向点的计算,直接更改参数重新迭代。此外,本发明还通过采用多核并行计算的方法,将循环并行化来进一步缩短计算时间;在实际运行中,客户端将任务分配给多个核,在一个循环中同时运行,等所有运行结束后返回结果,再将结果进行整合,改善多个循环运行时的运算速度。从而快速而又准确地计算出立方系材料母相与子相间位向关系,为原始母相回归提供基础。

附图说明

图1为本发明第一实施例提供的计算立方系材料母相与子相间位向关系的方法的流程示意图;

图2为本发明第二实施例提供的计算立方系材料母相与子相间位向关系的方法的流程示意图;

图3为母相回归计算原始数据示例图;

图4为q-sade算法的收敛趋势图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

本发明针对现有的立方系材料母相与子相间位向关系的确定方法,精度不够高且计算时间较长的问题,提供一种改进的计算立方系材料母相与子相间位向关系的方法,该方法的实现过程具体可见下列实施例。

第一实施例

如图1所示,本实施例提供一种计算立方系材料母相与子相间位向关系的方法,该方法包括以下步骤:

s101,根据取向点数据和预设位向关系公式得到父代种群对应的储存最小θ值的矩阵a1;

需要说明的是,上述步骤中,θ值表示所有取向点的理论取向与实际取向的差角;取向点数据的原始数据格式如图3所示,数据包括x值、y值且以0.15的步长递增;phase列代表相,不同的相用不同的数字表示;三个欧拉角用来描述各点的取向信息;bc值代表各取向点的衬度;bs值以及mad值是材料领域所需的参数,分别代表衍射带边缘灵敏度和平均角偏差。本实施例中主要使用的是取向信息,即三个欧拉角的数据列来进行计算。

s102,根据当前迭代次数和预设最大迭代次数,对变异因子f和交叉概率cr进行非线性变化,并根据预设策略自适应方案在策略池中选择变异策略;

需要说明的是,传统的差分进化算法de的控制参数是由人为设定的,在寻优过程中保持不变,因此无法满足各阶段中算法性能对采纳数的特殊要求,采用参数自适应的差分进化算法ade可以提高结果精度。优化算法中有三个关键控制参数:种群规模np、交叉概率cr、变异因子f。其中,控制参数np为原始de算法中的值;

而对于参数f,在算法搜索初期,f取值较大,有利于扩大搜索空间,保持种群的多样性;在算法后期,收敛的情况下,f取值较小,有利于在最优区域的周围进行搜索,这样能够提高收敛速率和搜索精度;

对于参数cr,同样需要在进化初期保持种群多样性,在进化后期加强局部搜索采取动态递增方法,使参数cr随着进化代数线性递增;

而为了使原始差分进化算法达到良好的性能,需要在变异和交叉阶段尝试所有的可用的变异策略,构成sade算法。这种自适应选择变异策略的方法是根据几个可用的变异策略选择合适的应用到当前种群中。

s103,根据所选择的变异策略及经过非线性变化后的f和cr对父代种群进行变异和交叉操作,得到中间种群;并根据取向点数据和预设位向关系公式得到中间种群所对应的储存最小θ值的矩阵a2;

s104,选择出矩阵a1和矩阵a2中的最小θ值,在父代种群和中间种群中选择出最小θ值对应的个体,得到子代种群;

s105,重复s102至s104直至迭代次数达到预设最大迭代次数后,根据最后一次迭代得到的种群对应的最小θ值,得到母相与子相间位向关系。

本实施例的方案根据差分进化算法的特点,通过引入参数自适应策略和自适应选择变异策略方案来优化算法计算性能,通过优化后的差分进化算法来计算母相与子相间的位向关系,可有效提高计算精度。

第二实施例

如图2所示,本实施例提供一种计算立方系材料母相与子相间位向关系的方法,该方法包括以下步骤:

s201,获取立方系材料的取向点数据;

需要说明的是,取向点数据的原始数据格式如图3所示,数据包括x值、y值且以0.15的步长递增;phase列代表相,不同的相用不同的数字表示;三个欧拉角用来描述各点的取向信息;bc值代表各取向点的衬度;bs值以及mad值是材料领域所需的参数,分别代表衍射带边缘灵敏度和平均角偏差。本实施例中主要使用的是取向信息,即三个欧拉角的数据列来进行计算。

s202,初始化种群,根据取向信息和预设位向关系公式进行计算,生成储存最小θ值的矩阵a1;

需要说明的是,本实施例是按照以下位向关系公式求得在特定的v时,使θ可取到最小,v为我们所求的位向关系:

其中,trace()为取迹,arccos()为反余弦,sj,sk为已知24个3*3矩阵中的一个,m为母相取向,n为取向点个数。在计算位向关系中,差分算法的主要优化对象即代表位向关系的矩阵v。

θ值表示所有取向点的理论取向与实际取向的差角;初始化种群数据,即初始化矩阵v以及m对应的矩阵,规模为6*30,前三列为v,后三列为m,种群大小为30,按照上述公式计算出种群中每个个体对应的最小θ值,由种群规模为30,可得到矩阵a1为1*30的矩阵。

s203,形成变异策略池并自适应地在变异策略池中选择变异策略;

需要说明的是,为使原始差分算法达到良好性能,需在变异和交叉阶段尝试所有的可用的变异策略,构成sade算法。这种自适应选择变异策略的方法是根据几个可用的变异策略选择合适的应用到当前种群中。主要有以下步骤:

1、构成候选策略池。

算法中的试验向量生成过程中,每个个体以一定的概率在候选策略中选择一种来完成变异过程。选择两种变异策略作为候选,分别是“rand/1/bin”和“best/2/bin”,它们分别被表示为:

其中f为缩放因子,x为种群,v为变异后的子代数据。其中策略“rand/1/bin”通常能够表现出良好的多样性,而策略“best/2/bin”通常表现出好的收敛性。

2、初始化变异策略的概率。

假设在当前种群中每个个体应用策略“rand/1/bin”的概率为p1,另一个策略“best/2/bin”的概率为p2=1-p1。初始概率被设为0.5,即p1=p2=0.5。因此在初始种群中,每个个体应用这两种策略的概率是相同的。对于种群的规模大小np,随机地生成一个np大小的向量,其中的元素在范围[0,1]上均匀分布。如果向量中第j个元素的值大于或等于p1,那么当前种群中的第j个个体就应用策略“rand/1/bin”,反之,策略“best/2/bin”将被应用。

3、自适应演化为最合适的变异策略。

在对所有新生成的试验向量进行评估之后,应用策略“rand/1/bin”生成的试验向量中,能通过选择过程成功进入下一代的向量个数记为ns1,失败的被丢弃的向量个数记为nf1;相应地,应用策略“best/2/bin”生成的试验向量中,能成功进入下一代的向量个数记为ns2,失败的被丢弃的向量个数记为nf2。那么,概率p1将被运用下式进行更新:

p2=1-p1

上述表达式分别表示,利用策略“rand/1/bin”生成试验向量的成功率和利用策略“best/2/bin”生成试验向量的成功率占总和的百分比。本发明中,迭代每50次来更新一次p1、p2。一旦p1、p2被更新后,就重置计数器ns1、ns2、nf1以及nf2来避免在以前的学习阶段中积累的一些可能的不好的影响,尽量减少这些问题对最终结果产生影响。这种自适应过程能够在不同的学习阶段逐渐演化为最合适的变异策略。

s204,自适应地对变异因子f进行非线性变化调整;

需要说明的是,传统的差分算法参数由人为设定,在寻优过程中保持不变,无法满足各阶段中算法性能对采纳数的特殊要求,采用参数自适应的差分算法ade可以提高结果精度。优化算法中有三个关键控制参数种群规模np、控制交叉概率参数cr、变异因子参数f。控制np为原始de算法中的值;而对于参数f,在算法搜索初期,f取值较大,有利于扩大搜索空间,保持种群的多样性;在算法后期,收敛的情况下,f取值较小,有利于在最优区域的周围进行搜索,这样能够提高收敛速率和搜索精度。所以使用ade算法计算位相关系时调整变异因子f的具体公式如下:

其中,t为当前进化代数,t为最大进化代数,fmax和fmin分别为变异因子f的最大值和最小值。

s205,根据所选择的变异策略及调整后的参数f进行种群个体变异;

s206,自适应地对交叉概率cr进行非线性变化调整;

需要说明的是,对于参数cr,同样需要在进化初期保持种群多样性,在进化后期加强局部搜索采取动态递增方法,使参数cr随着进化代数线性递增,具体公式如下:

其中,t为当前进化代数,t为最大进化代数,crmax=0.9和crmin=0.3分别是交叉概率因子cr的最大值和最小值。

s207,根据调整后的参数cr进行种群交叉操作;

s208,根据预设位向关系公式和子代进行矩阵计算,生成储存最小θ值的矩阵a2;

s209,在矩阵a1、a2中进行选择操作并更新父代;

s210,判断是否达到迭代次数,当未达到迭代次数时,返回s203继续进行迭代,当达到迭代次数时,则进入s211;

s211,根据最终的最小θ值,得到待求的母相与子相间位向关系。

此外,在将差分算法应用在实际的相位计算中时,涉及到多个小矩阵的运算,需要计算上亿次,速度会非常慢,所以本发明中将多个小型矩阵合并成大型矩阵,然后在大型矩阵中进行中型矩阵的计算,大幅度缩短时间。同时在迭代时,增加限制条件,当计算得到的值大于自定义的值时,就不再进行后续的取向点的计算,直接更改参数重新迭代。

具体地,在本实施例中在使用位向关系公式计算时,由于sj,sk的矩阵组合为24*24种,结合迭代次数与相位点个数,其计算次数可达上亿次。在实际实现中,sj,sk输入的是全部的24个3*3的矩阵拼接,sj拼接后与母相取向m(m矩阵大小为3*3)相乘后,得到72*3的矩阵,利用函数mat2cell()将其拆分成24个3*3的矩阵,然后利用cell2mat()函数将24个矩阵合并成3*72的一个中型矩阵进行下一步计算。sk拼接后与mm(矩阵大小3*3)相乘,同样利用函数mat2cell()将其拆分成24个3*3的矩阵,然后利用cell2mat()函数将24个矩阵合并成3*72的一个中型矩阵进行计算。这样将小型矩阵拼接形成中型矩阵有效缩短了计算时间。

同时,本实施例还采用多核并行计算的方法,将循环并行化来缩短时间。在实际运行中,客户端将任务分配给多个核,在一个循环中同时运行,等所有运行结束后返回结果,再将结果进行整合,改善多个循环运行时的运算速度。

原始的差分进化算法计算结果和本发明实施例改进的q-sade计算结果如下列表一所示:

表一位相关系计算结果表

而本发明实施例改进的q-sade算法的收敛趋势则如图4所示,可见本发明实施例改进的q-sade算法大约在迭代90次后开始收敛;在收敛精度以及收敛速度等方面相较于传统的差分进化算法要好,同时计算时间大大缩短。

本实施例的方案通过引入参数自适应策略和自适应选择变异策略方案来优化原始差分进化算法的计算性能,采用优化后的差分进化算法来计算母相与子相间的位向关系,提高了计算精度;并且在计算过程中,通过将多个小型矩阵合并成大型矩阵,然后在大型矩阵中进行中型矩阵计算的方式,大幅度缩短了计算时间。同时在迭代时,增加限制条件,当计算得到的值大于自定义的值时,就不再进行后续的取向点的计算,直接更改参数重新迭代。此外,本发明还通过采用多核并行计算的方法,将循环并行化来进一步缩短计算时间;在实际运行中,客户端将任务分配给多个核,在一个循环中同时运行,等所有运行结束后返回结果,再将结果进行整合,改善多个循环运行时的运算速度。

此外,需要说明的是,本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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