7 补充模型
1)模型准备
遗传算法作为一种通用性好、鲁棒性强的启发式随机搜索优化算法,广泛地应用于自动控制、组合优化、图像处理、机器人、人工生命机器学习、人工智能和工程设计等领域中,尤其是当搜索空间很大、问题非常复杂或对问题域的先验知识很少时,使用经典搜索工具如枚举法、启发式方法等不适宜的情况下,遗传算法提供了一种效率高且有效的求解问题的合理方法。实数编码遗传算法的发展时间并不长,但对于参数是连续型变量的数值优化问题,直接采用实数表示基因是特别自然的,它与传统遗传算法——二进制编码遗传算法不同的是口直接采用实数表示基因,等位基因就是实数的取值,染色体则是一个实数向量,染色体的长度即此实数向量的大小。目前,实数编码遗传算法已引起了越来越多的专家学者的关注,且取得了大量的理论研究成果和应用研究成果。
2)模型建立
为了解决用常规方法求解的复杂约束条件下多目标0-1规划容易出现无解和所求的解只是可行解而非全局最优解的问题,可以使用启发式算法、遗传算法。
Step1 初始化
设置种群数N为50,最大迭代数M为500次,利用模型Ⅱ可以得到相对合理的方案把该结果当作初值,对数据进行转化,得到编码的染色体(如2110,1102,5723…)作为一个时间顺序下的通信流程,前两位表示传感器编号,后两位表示控制器编号,这样做就避免了对三维数据求解的困难,同时也有利于交叉和变异。
Step2 选择
选择的思想是在模型Ⅲ的基础上选择适应度函数即为它所给出的约束函数,算法上三维的情况在MATLAB软件实现时使用cell函数构造元组来求解。是在种群中挑选每一次完成接收6个控制器指令的传感器个数最多的优质种群。
Step3 交叉
交叉的思想是在染色体中任选两个基因进行交叉,再任选一个介于1~4的随机数作为交叉节点,然后对两个基因做部分置换即可。
Step4 变异
变异的思想是在染色体中任选n个基因,再任选一个介于1~4的随机数作为变异点,生成符合要求的随机数来置换变异点的基因片段。
Step5 迭代求解
通过迭代保留每一次完成接收6个控制器指令的传感器个数最多的优质种群。
通过上面的步骤可以得到问题(3)和问题(4)的全局优化解。