遗传算法求解
① 确定决策变量和约束条件;
② 建立优化模型;
③ 确定编码方法: 用长度为10位的二进制编码串来分别表示两个决策变量 x1.,x2,x3。10位二进制编码串可以表示从0~1023之间的1024个不同的数,故将 x1,x2,x3的定义域离散化为1023个均等的区域,包括两个端点在内共有1024个不同的离散点。从离散点-5.12 到离散点5.12, 依次让它们分别对应于从 0000000000(O)~1111111111(1023)之间的二进制编码。再将分别表示x1.,x2,x3的三个10位长的二进制编码串连接在一起,组成一个30位长的二进制编码串,它就构成了这个函数优化问题的染色体编码方法。使用这种编码方法,解空间和遗传算法的搜索空间就具有一一对应的关系。例如 , x:0000110111 11011100011001100011就表示一个个体的基因型,其中前10位表示x1.,中间10位表示x2,后10位表示x3。
④ 确定解码方法:解码时需要将30位长的二进制编码串切断为三个10位长的二进制编
码串,然后分别将它们转换为对应的十进制整数代码,分别记为y1.,y2,y3。.依据个体编码方法和对定义域的离散化方法可知,将代码yi转换为实数变量xi的解码公式为
⑤ 确定个体评价方法:由于函数的值域总是非负的,并且优化目标是求函数的最大值,故可将个体的适应度直接取为对应的函数值,即:
⑥ 设计遗传算子:选择运算使用比例选择算子,交叉运算使用单点交叉算子,变异运算使用基本位变异算子。
⑦ 确定遗传算法的运行参数:群体大小M=80,终止进