资源简介
未解决早熟问题,若有想法可相互交流
代码片段和文件信息
import numpy as np
import random
file=open(“Buxey.txt“)#数据文件
C =47
#读取数据文件
def readfile(file):
lines=file.readlines()
n=int(lines[0].strip().split(‘\t‘)[0])#工序数
line_times=lines[1:n+1]
lines=lines[n+1:-1]#优先关系
row_times=len(line_times)
rows=len(lines)#优先关系行数
e=np.zeros((rows2))#生成相应大小的零矩阵
times=[0]*n
row=0
row_time=0
for line in lines:
line=line.strip().split(‘\t‘)
line=line[0]
line=line.split(‘‘)
line=[int(line[0])int(line[1])]
e[row:]=line[:]
row+=1
for line in line_times:
line=line.strip().split(‘\t‘)
j=‘‘
for i in line:
j=j+i
line=int(j)
times[row_time]=line
row_time+=1
relation=np.zeros((nn))
for i in range(len(e)):
a=int(e[i][0])-1
b=int(e[i][1])-1
relation[a][b]=1
return nrelationtimes#返回优先关系矩阵和工序时间列表
#自由工序
def freedots(relationn):
frees=[]
for i in range(n):
if not relation[:i].any():
frees.append(i)
return frees
#产生初始种群
def initial(relationpopsizen):#n即代表染色体长度也代表relation矩阵的维度
pop=[]
for i in range(popsize):
pop.append([])
relation_new=relation
pre_dots=list(range(1n+1))
for j in range(n):
b=len(relation_new[0])
frees=freedots(relation_newb)
if len(frees)==1:
a=frees[0]
pop[i].append(pre_dots[a])
pre_dots.remove(pre_dots[a])
relation_new=np.delete(relation_newa0)
relation_new=np.delete(relation_newa1)
else:
a=random.choice(frees)
pop[i].append(pre_dots[a])
pre_dots.remove(pre_dots[a])
relation_new=np.delete(relation_newa0)
relation_new = np.delete(relation_new a 1)
return pop
#计算适应值
def calfitness(poptimes):
time_fenpei=[]#各工序时间
for i in range(len(pop)):
time_fenpei.append([])
for j in pop[i]:
time_fenpei[i].append(times[j-1])
def fenpei(job_fenpeitime_gzzLT):#L表示染色体,T表示对应的时间
if sum(T)<=C:
job_fenpei.append(L)
time_gzz.append(sum(T))
return job_fenpeitime_gzz
l=len(L)
ret=0
j=0
while True:
ret+=T[j]
j+=1
if ret>C:
break
fenpei_1=L[:j-1]
job_fenpei.append(fenpei_1)
time_gzz.append(sum(T[:j-1 ]))
return fenpei(job_fenpeitime_gzzL[j-1:]T[j-1:])
zong_fenpei=[]
zong_time=[]
for i in range(len(pop)):
job_fenpei=[]
time_gzz=[]
cd=fenpei(job_fenpeitime_gzzpop[i]time_fenpei[i])
zong_fenpei.append(c)
zong_time.append(d)
fitnesses=[]#每条染色体的适应值
for i in zong_time:
fitness=0
for j in
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 337 2020-10-28 16:09 Buxey.txt
文件 7978 2020-12-07 16:07 遗传算法生产.py
- 上一篇:人脸检测和识别(opencv3+python)
- 下一篇:亲密数对.py
相关资源
- 基于PyQt实现可视化宽度优先、深度优
- python遗传算法解决八皇后问题
- 用Python解决数据结构与算法问题
- 高德API + Python 解决租房问题_实验楼
- 《用Python解决数据结构与算法问题》
- SVM解兵王问题_python.zip
- python深度,广度,三种启发式搜索解
- Python-使用遗传算法和深度学习训练
- VRP、WRSN问题求解.zip
- n个工人作业分配问题分支限界法pyt
- Python利用神经网络解决非线性回归问
- Python基于回溯法子集树模板解决m着色
- Thompson Sampling 汤普森选样 最优路线问
- 回溯法之最小长度电路板排列问题.
- A*算法解决8数码问题Python实现
- 基于python实现房价预测回归问题
- 遗传算法python
- 骑士周游问题源码
- A*算法解决八数码问题
- 深度优先搜索解决八数码问题
- 经典遗传算法(SGA)解01背包问题的
- 解决pythonSSL问题,pip,easy_install无法
- 蚁群算法在去掉回路的TSP问题中应用
- 华为挑战赛装箱问题解决
- 神经网络-二分类问题(IMDB) Keras
- 遗传算法python代码
- 迷宫问题的A*算法(python实现)
- python单纯形法解线性规划问题
- Python实现简单遗传,粒子群,蚁群,
- python实现的改进的遗传算法解决工件
评论
共有 条评论