论文部分内容阅读
【摘要】 模拟退火算法是基于蒙特卡罗迭代求解理论衍生出来的一种启发式搜索算法,该算法能够高效的解决组合优化问题,它通过模拟退火原理,可将算法收敛于局部最小点,从而确保整个优化过程的最优解。因此,其应用范围相当广阔。本文将基于模拟退火算法理论,详细讲解其在电机优化设计中的实际应用。
【关键词】 模拟退火算法;电机优化设计;应用
电机具有运行可靠、结构简单、维修简便等特点,尤其是单相电机,被广泛应用于家电、电动工具和医疗器械等轻工业设备中。由于这些电机应用范围极广,更新换代速度快,如何借助电子计算机技术对这些电机进行优化设计将成为电机领域相关工作人员密切关注的问题之一。下面本文将以单相电机为例,介绍模拟退火算法在其优化设计中的具体应用。
一、传统电机优化设计概述
单相电机的优化设计用数学理论可以概述为:多变量、有约束、非线性、混合性、目标函数极值点多。目前普遍采用的优化算法有单纯形法、搜索法、鲍威尔法等,上述算法的最终优化结果与初始数据的选择有密切关联,实际运算过程中容易出现过早收敛局部极小点的情况,因此,很难保证最终结果是全程最优解。基于传统电机优化算法的诸多弊端,人们开始将目光移至模拟退火算法,该算法的首次提出是在1953年,当时人们在研究二维变相问题时提出了这个理论。模拟退火算法在解决组合优化问题时,模拟统计力学中的热平衡问题,进而确保了最终答案是全程最优解或全程近似最优解。
二、模拟退火算法的应用原理
模拟退火算法的理论基础是蒙特卡罗的迭代求解法,并在此基础上逐渐形成了一种启发式的搜索算法。模拟退火算法在解决组合优化问题时,其计算出发点是物理学理论中的固体退火过程,人们发现这个过程与一般的组合优化问题有相似之处,进而得出了与固体退火原理相近的模拟算法。固体物质退火中,通常需要先将固体溶解,使内部的组成粒子可以自由移动,移动速率随着温度的下降逐渐减小,最终形成低能态的晶格。如果在固体物质凝结点附近的温度下降速率接近零,那么固体物质就会形成基台,此时物体能量处于最低水平。对于组合优化问题来讲,其过程也有上述过程有相似之处,如将组合状态Q1看作固体物质的微观状态,将其在Q1下的能量看作C1,将控制参数P看作温度,那么当P从初始值(足够大)下降到稳定值(足够低)时,可以用模拟算法表述这一过程Q下的热平衡状态Q1,那么增量△C可以用下列方程表述:△C=C(Q1)-C(Q)。下面本文将详细介绍模拟退火算法的两种主要算法:退火过程实现算法、抽样算法。
(一)退火过程实现算法
退火过程实现算法的步骤为:(1)任选一个Q0作为初始状态下的当前解,并此时温度为T0,且计数i=0。(2)令T=Ti,Q=Qi,此时当前解为Qi+1。(3)降温后T开始下降,当前值Ti+1 (二)抽样算法(M法)
抽样算法的步骤为:(1)令R=0,此时Q(0)=Q。(2)根据S(k)所处的温度状态,在其相关邻域中随机抽取一个新的状态Q(k)为当前状态下的对应解,那么△C丿=C(Q1丿)-C(Q(k)).(3)如果△C丿<0,那么当前温度状态下的Q丿可以作为当前正解。(4)Q丿被确定接受之后,令Q(k+1)=Q丿,如果Q丿不被接受,那么令(k+1)=Q(k)。(4)令k=k+1,判断是否满足收敛要求,如果不满足则回到(2)计算,如果满足,则将此时k时确定为收敛k值,计算Q值。
三、模拟退火算法在电机优化设计中的可行性和实验设计
(一)邻域结构变换
在应用模拟退火算法进行电机优化设计的过程中会出现许多新解,也就是解的变换,它是发生在当前邻域内的。邻域的具体范围与控制参数T有着密切关系,当控制参数T处于较大范围值时,邻域相对较大,当T逐渐下降直至趋于零,邻域也会随之减小,因此,上述计算公式中的△C是取决于控制参数T的,当T趋于0时,△C也会逐渐趋于0,最终使算法结果趋于一个稳定的值。
(二)约束条件处理
在电机优化设计过程中,不同状态下的每一个组合状态变量Q是电机的具体参数和尺寸大小,这些参数值和尺寸数据受到电机尺寸范围的限制,而且这些限制都是比较苛刻的,可变动范围也较小。如果利用上述抽样算法进行计算,当解无限接近约束条件限值时,解就会有边界,这样就会导致计算过程异常复杂。由于电机优化设计的边界范围规定比较严格,发生越界的可能性就会很大,那么判断越界的时间就会延长。通过分析我们可以将约束条件范围隐含在解的变换中(直接约束隐含处理见图1),采用排除法或罚函数法来解决。排除法就是将计算过程中出现的不可行解直接排除,在当前解的邻域内直接产生新的解,直至产生符合条件的解。罚函数法就是不予考虑不可行的解,通过在目标函数中加入“罚函数”的方式来检验不可行的解。在实际电机优化过程中,排除法操作起来更见简便,也更易于实现,只要新的解不满足约束条件,就可以立即舍弃,并重新产生新的解,但是在约束条件极为苛刻的情况下,或者约束范围不符合常理,常常会出现可行解的总体数量较少,也就是说排除法在某一邻域内的可行解较少将导致算法进入“陷阱”。使用罚函数法就会巧妙地规避这个问题,因为罚函数法并没有将不可行解排除,而是通过函数检验的方法来寻找不可行的解,这样一来实际算法中需要搜索的有效数值数量就会大大减少,但是有效数值的减少必然导致解的质量下降。因此,在解决电机优化问题时,具体选择哪种方法,需要按照实际情况来选择。确保最终得到的解是可行性的正解。
图1 直接约束隐含处理
(三)Metropolis准则
Metropolis准则能够完整的体现模拟退火算法的启发式特点,它不同于罚函数法中将新产生的解完全接受的特点,也不同于排除算法中只接受性能优良的解。在模拟退火算法中,初期计算过程不仅可以接受符合要求的可行解,也可以更大限度的接受不可行解,随着进程的进展加快,可供接受的不可行解数量就会减少,直至不再接受,此时就会使算法找到全程最优解。
(四)冷却进度表
冷却进度表表示的是控制参数T在变化中所产生一系列数值,控制参数T也是影响整个算法性能的主要因素。一个完整的冷却进度表包括控制参数初始值T0、控制参数递减函数、控制参数变换次数n、控制参数最终值Tn。在确定控制参数初始值T0时,应当确保算法开始就处于平衡状态,也就是固体退火过程中的热平衡状态,那么进程开始时解的变换就可以被接受。控制参数递减函数决定了控制参数每次的衰减量,控制参数递减函数的选取原则为:保证算法速度、控制运行时间。控制参数变换次数n又称为迭代次数,一般与优化问题的计算规模和范围有关,只有n足够大,才能保证最终得到的解是全程最优解。在电机优化的实际计算中,为了简化计算程度方便操作,需要为n确定一个固定的范围,如50-500,这样就可以确保得到的最优解在规定范围之后。
四、结束语
通过分析模拟退火算法在电机优化设计中的应用,可以看出模拟退火算法是一种有效解决优化问题的方法。正是由于模拟算法是基于随机搜索理论之上的,具有其他方法所不具有的启发式特点,这也使得退火模拟算法具备了众多随机算法的优点和算法性能。
【关键词】 模拟退火算法;电机优化设计;应用
电机具有运行可靠、结构简单、维修简便等特点,尤其是单相电机,被广泛应用于家电、电动工具和医疗器械等轻工业设备中。由于这些电机应用范围极广,更新换代速度快,如何借助电子计算机技术对这些电机进行优化设计将成为电机领域相关工作人员密切关注的问题之一。下面本文将以单相电机为例,介绍模拟退火算法在其优化设计中的具体应用。
一、传统电机优化设计概述
单相电机的优化设计用数学理论可以概述为:多变量、有约束、非线性、混合性、目标函数极值点多。目前普遍采用的优化算法有单纯形法、搜索法、鲍威尔法等,上述算法的最终优化结果与初始数据的选择有密切关联,实际运算过程中容易出现过早收敛局部极小点的情况,因此,很难保证最终结果是全程最优解。基于传统电机优化算法的诸多弊端,人们开始将目光移至模拟退火算法,该算法的首次提出是在1953年,当时人们在研究二维变相问题时提出了这个理论。模拟退火算法在解决组合优化问题时,模拟统计力学中的热平衡问题,进而确保了最终答案是全程最优解或全程近似最优解。
二、模拟退火算法的应用原理
模拟退火算法的理论基础是蒙特卡罗的迭代求解法,并在此基础上逐渐形成了一种启发式的搜索算法。模拟退火算法在解决组合优化问题时,其计算出发点是物理学理论中的固体退火过程,人们发现这个过程与一般的组合优化问题有相似之处,进而得出了与固体退火原理相近的模拟算法。固体物质退火中,通常需要先将固体溶解,使内部的组成粒子可以自由移动,移动速率随着温度的下降逐渐减小,最终形成低能态的晶格。如果在固体物质凝结点附近的温度下降速率接近零,那么固体物质就会形成基台,此时物体能量处于最低水平。对于组合优化问题来讲,其过程也有上述过程有相似之处,如将组合状态Q1看作固体物质的微观状态,将其在Q1下的能量看作C1,将控制参数P看作温度,那么当P从初始值(足够大)下降到稳定值(足够低)时,可以用模拟算法表述这一过程Q下的热平衡状态Q1,那么增量△C可以用下列方程表述:△C=C(Q1)-C(Q)。下面本文将详细介绍模拟退火算法的两种主要算法:退火过程实现算法、抽样算法。
(一)退火过程实现算法
退火过程实现算法的步骤为:(1)任选一个Q0作为初始状态下的当前解,并此时温度为T0,且计数i=0。(2)令T=Ti,Q=Qi,此时当前解为Qi+1。(3)降温后T开始下降,当前值Ti+1
抽样算法的步骤为:(1)令R=0,此时Q(0)=Q。(2)根据S(k)所处的温度状态,在其相关邻域中随机抽取一个新的状态Q(k)为当前状态下的对应解,那么△C丿=C(Q1丿)-C(Q(k)).(3)如果△C丿<0,那么当前温度状态下的Q丿可以作为当前正解。(4)Q丿被确定接受之后,令Q(k+1)=Q丿,如果Q丿不被接受,那么令(k+1)=Q(k)。(4)令k=k+1,判断是否满足收敛要求,如果不满足则回到(2)计算,如果满足,则将此时k时确定为收敛k值,计算Q值。
三、模拟退火算法在电机优化设计中的可行性和实验设计
(一)邻域结构变换
在应用模拟退火算法进行电机优化设计的过程中会出现许多新解,也就是解的变换,它是发生在当前邻域内的。邻域的具体范围与控制参数T有着密切关系,当控制参数T处于较大范围值时,邻域相对较大,当T逐渐下降直至趋于零,邻域也会随之减小,因此,上述计算公式中的△C是取决于控制参数T的,当T趋于0时,△C也会逐渐趋于0,最终使算法结果趋于一个稳定的值。
(二)约束条件处理
在电机优化设计过程中,不同状态下的每一个组合状态变量Q是电机的具体参数和尺寸大小,这些参数值和尺寸数据受到电机尺寸范围的限制,而且这些限制都是比较苛刻的,可变动范围也较小。如果利用上述抽样算法进行计算,当解无限接近约束条件限值时,解就会有边界,这样就会导致计算过程异常复杂。由于电机优化设计的边界范围规定比较严格,发生越界的可能性就会很大,那么判断越界的时间就会延长。通过分析我们可以将约束条件范围隐含在解的变换中(直接约束隐含处理见图1),采用排除法或罚函数法来解决。排除法就是将计算过程中出现的不可行解直接排除,在当前解的邻域内直接产生新的解,直至产生符合条件的解。罚函数法就是不予考虑不可行的解,通过在目标函数中加入“罚函数”的方式来检验不可行的解。在实际电机优化过程中,排除法操作起来更见简便,也更易于实现,只要新的解不满足约束条件,就可以立即舍弃,并重新产生新的解,但是在约束条件极为苛刻的情况下,或者约束范围不符合常理,常常会出现可行解的总体数量较少,也就是说排除法在某一邻域内的可行解较少将导致算法进入“陷阱”。使用罚函数法就会巧妙地规避这个问题,因为罚函数法并没有将不可行解排除,而是通过函数检验的方法来寻找不可行的解,这样一来实际算法中需要搜索的有效数值数量就会大大减少,但是有效数值的减少必然导致解的质量下降。因此,在解决电机优化问题时,具体选择哪种方法,需要按照实际情况来选择。确保最终得到的解是可行性的正解。
图1 直接约束隐含处理
(三)Metropolis准则
Metropolis准则能够完整的体现模拟退火算法的启发式特点,它不同于罚函数法中将新产生的解完全接受的特点,也不同于排除算法中只接受性能优良的解。在模拟退火算法中,初期计算过程不仅可以接受符合要求的可行解,也可以更大限度的接受不可行解,随着进程的进展加快,可供接受的不可行解数量就会减少,直至不再接受,此时就会使算法找到全程最优解。
(四)冷却进度表
冷却进度表表示的是控制参数T在变化中所产生一系列数值,控制参数T也是影响整个算法性能的主要因素。一个完整的冷却进度表包括控制参数初始值T0、控制参数递减函数、控制参数变换次数n、控制参数最终值Tn。在确定控制参数初始值T0时,应当确保算法开始就处于平衡状态,也就是固体退火过程中的热平衡状态,那么进程开始时解的变换就可以被接受。控制参数递减函数决定了控制参数每次的衰减量,控制参数递减函数的选取原则为:保证算法速度、控制运行时间。控制参数变换次数n又称为迭代次数,一般与优化问题的计算规模和范围有关,只有n足够大,才能保证最终得到的解是全程最优解。在电机优化的实际计算中,为了简化计算程度方便操作,需要为n确定一个固定的范围,如50-500,这样就可以确保得到的最优解在规定范围之后。
四、结束语
通过分析模拟退火算法在电机优化设计中的应用,可以看出模拟退火算法是一种有效解决优化问题的方法。正是由于模拟算法是基于随机搜索理论之上的,具有其他方法所不具有的启发式特点,这也使得退火模拟算法具备了众多随机算法的优点和算法性能。