为了解决优化问题,优化算法产生了,优化算法可以解释为一种寻找最优解的规则,根据其具体寻优的方法,可以将其分作非智能算法与智能算法。非智能算法指传统算法以及现代算法中的一些直接算法,一般来说具有较为清晰的结构、问题和条件信息,比如,牛顿法,共轭梯度法等。区别于非智能算法,智能优化算法的产生是通过模拟某一些自然现象、生物的群体行为以及人工智能[3],算法的规则与性质比较直观,从中可以看出自然机理,现代的智能优化算法包括模拟退火算法、禁忌搜索算法、蚁群算法、遗传算法等,本次论文中主要运用到其中的粒子群算法。下面是几种比较常见的智能算法原理。论文网
1。3。1 模拟退火算法
模拟退火算法来源于固体加热后的退火原理,固体被加热时内能增大,内部粒子呈无序状,在冷却过程中慢慢变得有序,而在其中每个温度,粒子都会达到平衡态,完全冷却后变为基态,内能减到最小。每个粒子在温度T时,平衡的概率为E-△E/(kT),其中E为T温度时的内能,△E为内能的改变量,k为常数。使用固体退火法来解决优化问题时,把内能E看作目标函数值,温度T看作控制参数,就可以以模拟固体退火的方法来解决优化问题[4]。先确定初始解i以及控制参数T的初值,然后进行迭代运算,新解不断产生,计算新解与当前解目标函数差值,凭此决定接受新解与否,逐步衰减控制参数T的值,算法到达结束条件时将当前解作为结果输出。
1。3。2 遗传算法
遗传算法的模拟对象是生物进化论以及遗传学理论。遗传算法与自然进化十分相像,甚至可以说是对采用数学的方式对生物进化进行仿真。在遗传算法中,搜索过程由一定数量的,经过基因编码的个体组成的群体开始,基因编码即将求解问题的解转化为位串形式,化作每个个体的“染色体”,再通过适应度函数来评价每个个体的“染色体”适应度,把适应度低的个体淘汰,把适应度高的个体留下,进入遗传运算,形成下一代群体。遗传运算的种类包括选择、交叉、变异三种[4]。选择运算:把自身适应度已经较高的个体、配对交叉产生的新个体遗传到下一代;交叉运算:产生新的个体;变异运算:对某些个体的基因位串上的某些数值做改动。遗传算法的基本过程是:设置最大进化次数,随机产生群体→评价每个个体适应度→运算→得到下一代群体→重复进化直到最大进化次数,最后把适应度最高的个体输出作为算法结果。
1。3。3 蚁群算法
蚁群算法的来源是蚁群的社会性行为,每个蚂蚁个体在觅食过程中会在经过路径中留下信息素,路径上经过的个体越多,信息素就会越浓,蚁群在寻找食物时,比较倾向于沿着信息素比较高的轨迹。于是越来越多的蚂蚁个体通过信息素高的轨迹,这条轨迹上的信息素也就越浓,互相助长之后,蚁群就能够得到最优的觅食路径。蚁群算法是一种群体算法,蚁群中有信息的共享,而蚁群对于目标问题搜索空间的探索主要以三种方式:蚂蚁的记忆、信息素的传递和蚁群的群体活动[5]。
1。3。4 粒子群算法
粒子群算法同蚁群算法一样,也是群体算法,其来源是鸟群的社会性行为,鸟群觅食过程中,每个个体考虑自身位置,向群体最优位置(群体中离食物最近的位置)与个体最优位置(个体历史离食物最近位置)学习,从而引导整个群体向食物靠近。在粒子群算法中,通过迭代运算来进行在解空间中对目标问题最优解的搜寻过程。算法开始时,在解空间中随机产生一定数量的初始粒子,每个粒子的位置就是目标问题的潜在解,每个粒子的适应度也经过适应度函数的评价,其当前适应度值与自身历史最佳位置适应度相比较,将较优者作为新的自身历史最佳位置,再与群体最佳位置的适应度相比较,将较优者作为新的群体最佳位置,随着粒子位置的不断变化更新群体最佳位置,引导群体向可能存在最优解的空间移动[5],最后最大迭代次数到达,输出的群体最佳位置就是算法所搜索到的最优解。