欢迎来到天天文库
浏览记录
ID:25298073
大小:129.80 KB
页数:26页
时间:2018-11-19
《遗传算法及粒子群算法求解jsp问题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、WORD格式可编辑智能优化算法第五次作业分析:JSP问题是TSP问题相似,前面我们已经解决了TSP问题,现在我们将JSP问题转换为TSP问题来求解。从根本上来看JSP问题只不过是TSP问题的二维化,我们将JSP工件序号作为个体或者粒子,用工件序号作为索引来搜索时间T来进行遗传算法求解和粒子群算法求解,这样只需要改变算法中的适应度函数即可将JSP问题转化为TSP问题。结果:1)PSO:专业知识分享WORD格式可编辑1)GA:GA源码:/*问题:用遗传算法求解JSP问题:*//*洪文杰2016-4-16.智能优化算法第五次作业
2、*/#include#include#includeusingnamespacestd;//--------------------------------宏定义----------------------------------//#defineNUMBER50//种群规模#defineGENE_NUMBER10000//迭代次数#defineN10//工件个数#defineM10//机器个数#defineCROSS0.85//交叉概率#defineABERRANC
3、E0.15//变异概率//-------------------------------全局变量定义-----------------------------//structQtr{intd[M];//n工件的机器加工顺序intt[M];//n工件在当前机器上加工时间}Q[N];//工件加工次序时间intUnit[NUMBER][N];//保存初始专业知识分享WORD格式可编辑种群intChoose_Unit[NUMBER][N];//保存更新的种群intChoose_Number[NUMBER];//被选择的个体编号in
4、tCross[NUMBER];//要交叉的个体一览floatselect_probability[NUMBER];//选择概率floataccumula_probability[NUMBER];//积累概率inthwj[N];//grefenstette编码的个体、也保存最短时间的工件顺序intbest=250000;//最短耗时//--------------------------------函数声明--------------------------------//voidhwj_Q();//读入工件加工次序时间vo
5、idhwj_initial_population();//生成初始种群voidhwj_swap(int*a,int*b);//交换两个数的值voidhwj_fitness();//计算适应度、选择概率、积累概率voidhwj_choose();//轮盘赌选择法找到被选择的个体inthwj_bisearch(floattemp);//顺序查找voidhwj_cross();//进行交叉voidhwj_cross2(inta,intb,intkey);//利用grefenstette编码交叉voidhwj_aberrance(
6、);//进行变异voidhwj_aberrance2(inta,intkey);//利用grefenstette编码变异voidhwj_best();//找到最短路径//--------------------------------主函数----------------------------------//intmain(){intkey=0;//cout<<"thisisthefigure:"<7、------------"<8、---------------------4被选择的个体-----------------"<
7、------------"<8、---------------------4被选择的个体-----------------"<
8、---------------------4被选择的个体-----------------"<
此文档下载收益归作者所有