❶ 基本遗传算法介绍
遗传算法是群智能优化计算中应用最为广泛、最为成功、最具代表性的智能优化方法。它是以达尔文的生物进化论和孟德尔的遗传变异理论为基础,模拟生物进化过程和机制,产生的一种群体导向随机搜索技术和方法。
遗传算法的基本思想:首先根据待求解优化问题的目标函数构造一个适应度函数。然后,按照一定的规则生成经过基因编码的初始群体,对群体进行评价、遗传运算(交叉和变异)、选择等操作。经过多次进化,获得适应度最高的一个或几个最优个体作为问题的最优解。
编码是对问题的可行解的遗传表示,是影响算法执行效率的关键因素的之一。遗传算法中,一个解 称为个体或染色体(chromosome),染色体由被称为基因(gene)的离散单元组成,每个基因控制颜色体的一个或多个特性,通常采用固定长度的0-1二进制编码,每个解对应一个唯一的二进制编码串编码空间中的二进制位串称为基因型(genotype)。而实际所表示问题的解空间的对应点称为表现型(phenotype)。
种群由个体构成,每个个体的染色体对应优化问题的一个初始解。
适应度函数是评价种群中个体对环境适应能力的唯一确定性指标,体现出“适者生存,优胜劣汰”这一自然选择原则。
遗传算法在每次迭代过程中,在父代种群中采用某种选择策略选择出指定数目的哥特体提进行遗传操作。最常用的选择策略是正比选择(proportional selection)策略。
在 交叉算子中,通常由两个被称为父代(parent)的染色体组合,形成新的染色体,称为子代(offspring)。父代是在种群中根据个体适应度进行选择,因此适应度较高的染色体的基因更有可能被遗传到下一代 。通过在迭代过程中不断地应用交叉算子,使优良个体的基因得以在种群中频繁出现,最终使得整个种群收敛到一个最优解。
在染色体交叉之后产生的子代个体,其基因位可能以很小的概率发生转变,这个过程称为变异。变异是为了增强种群的多样性,将搜索跳出局部最优解。
遗传算法的停止准则一般采用设定最大迭代次数或适应值函数评估次数,也可以是规定的搜索精度。
已Holland的基本GA为例介绍算法等具体实现,具体的执行过程描述如下:
Step 1: 初始化 。随机生成含有 个个体的初始种群 ,每个个体经过编码对应着待求解优化问题的一个初始解。
Step 2: 计算适应值 。个体 ,由指定的适应度函数评价其适应环境的能力。不同的问题,适应度函数的构造方式也不同。对函数优化问题,通常取目标函数作为适应度函数。
Step 3: 选择 。根据某种策略从当前种群中选择出 个个体作为重新繁殖的下一代群体。选择的依据通常是个体的适应度的高低,适应度高的个体相比适应度低的个体为下一代贡献一个或多个后代的概率更大。选择过程提现了达尔文“适者生存”原则。
Step 4: 遗传操作 。在选出的 个个体中,以事件给定的杂交概率 任意选择出两个个体进行 交叉运算 ,产生两个新的个体,重复此过程直到所有要求杂交的个体杂交完毕。根据预先设定的变异概率 在 个个体中选择出若干个体,按一定的策略对选出的个体进行 变异运算 。
Step 5: 检验算法等停止条件 。若满足,则停止算法的执行,将最优个体的染色体进行解码得到所需要的最优解,否则转到 Step 2 继续进行迭代过程。
❷ 缇ゆ櫤鑳戒紭鍖栫畻娉曟湁鍝浜涳纻
鎺㈢储鏅鸿兘娴锋磱锛氭彮绉樼兢鏅鸿兘浼桦寲绠楁硶镄勫氩厓涓栫晫
鍦ㄥ綋浠婄殑绉戞妧棰嗗烟锛岀兢鏅鸿兘浼桦寲绠楁硶濡傚悓镨镨ㄦ槦娌筹纴姹囱仛浜嗘棤鏁板垱鏂版濈淮镄勭伀鑺便傝繖浜涚畻娉曞熼壌镊镊铹剁晫涓镄勬櫤鎱э纴灏嗗姩鐗╄屼负銆佹暟瀛︽硶鍒欎笌鐗╃悊铡熺悊宸у栾瀺钖堬纴灞旷幇鍑哄己澶х殑浼桦寲鑳藉姏銆备互涓嬫槸涓浜涗护浜虹滩鐩镄勭兢鏅鸿兘绠楁硶锛屽畠浠钖勫叿鐗硅壊锛屽悇链夊崈绉嬨
棣栧厛锛岃╂垜浠镵氱剑浜庣敓鐗╃晫镄勭伒镒熴绮掑瓙缇や紭鍖栵纸PSO锛锛屽傚悓楦熺兢涓镄勯呜埅钥呭紩棰嗙潃瀵绘垒链浼樿В镄勬柟钖戯绂浜哄伐铚傜兢锛圆BC锛锛屽垯妯′豢铚滆渹镄勯泦浣揿岗浣滐纴瀵绘垒椋熺墿婧愮殑鏁堢巼𨱍娄汉锛钀ょ伀铏绠楁硶锛团A锛鍜甯冭胺楦熸悳绱锛圕S锛锛屽垯鍊熼壌浜嗘槅铏镄勯棯鐑佽屼负鍜岃縼寰欑瓥鐣ャ傛洿链鏋滆潎浼桦寲绠楁硶锛团OA锛鍜鍊欓笩浼桦寲锛圡BO锛锛屾彮绀轰简镊铹剁晫涓瑙呴熺瓥鐣ョ殑寰濡欎箣澶勶纴浠ュ强楦熺兢绠楁硶锛圔SA锛锛屽皢缇や綋鏅烘収鍙戞尌鍒版瀬镊淬傚ぇ璞℃父鐗т紭鍖栵纸EHO锛夊拰铦楄櫕浼桦寲绠楁硶锛圙OA锛夊垯灞旷ず浜嗙敓鐗╃兢浣撶殑锷ㄦ佸钩琛¤兘锷涳纴钥娴锋磱鎹曢熻呯畻娉曪纸MPA锛鍒欐ā𨰾熶简娴锋磱鐢熸佷腑镄勭珵浜変笌钖堜綔銆
鎺ョ潃锛屾垜浠杞钖戞暟瀛﹀拰鐗╃悊娉曞垯镄勫惎杩銆傞粦娲炵畻娉曪纸BHA锛夛纴濡傚悓瀹囧畽涓镄勫闷鍣钥咃纴瀵绘垒链娣辩殑瑙e喅鏂规堬绂姝e鸡浣椤鸡绠楁硶锛圫CA锛锛屽垯宸у椤湴铻嶅悎浜嗗懆链熸ц繍锷ㄧ殑阔靛緥銆傜儹浜ゆ崲浼桦寲锛圱EO锛夊拰鍧囱浼桦寲锛圗O锛夊垯鎻绀轰简鐗╃悊杩囩▼涓镄勪紭鍖栫瓥鐣ワ纴璁╃畻娉曟洿锷犵簿鍑嗐
褰撶劧锛岀兢鏅鸿兘骞堕潪浠呴檺浜庢ゃ傚己澶х殑阆椾紶绠楁硶锛圙A锛変互镊铹堕夋嫨镄勫师鐞嗛┍锷锛宸鍒呜繘鍖栵纸DE锛鍒椤熼壌鐢熺墿杩涘寲杩囩▼镄勯殢链烘у拰阃傚簲镐э绂钥屽拰璋愭悳绱锛圚S锛夊拰缁呜弻瑙呴熶紭鍖栫畻娉曪纸BFOA锛夊垯灞旷幇鍑哄井瑙备笘鐣岀殑寰瑙傛櫤鎱с
铹惰岋纴灏界¤繖浜涚畻娉曞𪾢鐜颁简鍗撹秺镄勬帰绱㈠拰寮鍙戞綔锷涳纴瀹为檯搴旂敤涓锛屾疮涓绉岖畻娉曢兘链夊叾灞闄愭с傚傚悓娌℃湁鍏嶈垂鍗堥愮殑瀹氱悊锛屼紭鍖栬繃绋嬮渶镙规嵁鍏蜂綋闂棰桦畾鍒讹纴璋冩暣绠楁硶镄勬ц兘骞宠锛屼互鎻愬崌鍏跺湪鐗瑰畾鍦烘櫙涓嬬殑琛ㄧ幇銆
镐荤殑𨱒ヨ达纴缇ゆ櫤鑳戒紭鍖栫畻娉曟槸涓鐗囧厖婊℃椿锷涚殑鍒涙柊棰嗗烟锛屽畠浠浠ヨ嚜铹跺拰绉戝︾殑鏅烘収涓烘寚寮曪纴涓鸿В鍐冲嶆潅闂棰樻彁渚涗简镞犻檺鍙鑳姐傞氲繃娣卞叆鐞呜В鍜屽阀濡椤簲鐢锛岃繖浜涚畻娉曞皢鎺ㄥ姩绉戞妧杩涙ワ纴濉戦犳湭𨱒ャ
❸ IA优化算法是什么
IA优化算法指的是免疫算法是模仿生物免疫机制,结合基因的进化机理,人工构造出的一种新型智能优化算法。它具有一般免疫系统的特征,采用群体搜索策略,通过迭代计算,最终以较大的概率得到问题的最优解。
相比较于其他算法,免疫算法利用自身产生多样性和维持机制的特点,保证了种群的多样性,克服了一般寻优过程(特别是多峰值的寻优过程)中不可避免的“早熟”问题,可以求得全局最优解。免疫算法具有自适应性、随机性、并行性、全局收敛性、种群多样性等优点。
免疫算法主要模块:
抗原识别与初始抗体产生。根据待优化问题的特点设计合适的抗体编码规则,并在此编码规则下利用问题的先验知识产生初始抗体种群。
抗体评价。对抗体的质量进行评价,评价准则主要为抗体亲和度和个体浓度,评价得出的优质抗体将进行进化免疫操作,劣质抗体将会被更新。
免疫操作。利用免疫选择、克隆、变异、克隆抑制、种群刷新等算子模拟生物免疫应答中的各种免疫操作,形成基于生物免疫系统克隆选择原理的进化规则和方法,实现对各种最优化问题的寻优搜索。