
遗传算法
Biggoose1125
这个作者很懒,什么都没留下…
展开
-
Python遗传算法解决作业调度问题(JSP)
import matplotlib.pyplot as pltfrom collections import OrderedDictimport randomimport copyimport datetimejobs = 5 # 工件数machines = 4 # 机器数population_num = 10 # 种群规模population = [] # 初始种群variation_rate = 0.8 # 变异率iters = 50 # 进化次数target_poi原创 2020-11-17 22:27:58 · 6139 阅读 · 10 评论 -
Python遗传算法求解函数极值
注:由于编码选择二进制编码,所以只能在整数范围进行搜索,也就是说求解到的最优解一定是最优的整数解,如果选择一些映射方法可以将离散问题连续化,但这样就和进化算法本身无关了,所以本文只写了基本的遗传算法超参设置染色体长度:10种群:20进化次数:50代变异靶点:3变异方式:插入,交换,局部逆序变异概率:0.1交叉方式:PMX修订两点交叉import matplotlib.pyplot as pltfrom math import *import numpy as npimport r原创 2020-11-17 22:24:53 · 2050 阅读 · 0 评论 -
Python遗传算法部分匹配交叉(PMX)
文章目录问题描述部分匹配交叉步骤(单点交叉为例)代码运行结果问题描述在进化算法的交叉环节中,无论是一点交叉还是两点交叉,基因重组后产生的后代可能出现编码重复的情况,那么就需要我们对产生的子代进行修订,常见修订算法有部分匹配交叉(PMX),顺序交叉(OX),循环交叉(CX)等部分匹配交叉步骤(单点交叉为例)step1: 确定初始种群list1: [9, 3, 5, 4, 6, 0, 2, 1, 7, 8]list2: [1, 4, 0, 2, 7, 8, 6, 9, 5, 3]step2: 随原创 2020-10-07 10:50:08 · 14072 阅读 · 8 评论