蚁群算法TSP(144).zip
蚁群算法,C语言,144个城市TSP。 蚁群算法,C语言,144个城市TSP。 蚁群算法,C语言,144个城市TSP。 蚁群算法,C语言,144个城市TSP。
PlatEMO-PlatEMO_v2.8.0.zip
PlatEMO-PlatEMO_v2.8.0.zip
20种非支配排序算法.zip
20种非支配排序 MATLAB 代码
myNSGA2.zip
自己写的MATLAB NSGAII
PlatEMO-master-2.4.zip
PlatEMO-master-2.4 PlatEMO-master-2.4
tsp遗传算法求解-改进版 .cpp
tsp遗传算法求解-改进版 tsp遗传算法求解-改进版 tsp遗传算法求解-改进版 tsp遗传算法求解-改进版
ypea124-moea-d.zip
多目标优化MOEA/D 代码 (matlab):完全抽离不依赖于平台
多目标优化MOEA/D 代码 (matlab):完全抽离不依赖于平台
多目标优化MOEA/D 代码 (matlab):完全抽离不依赖于平台
OfficeRegClean.rar
可以完美解决安装office2013/2010/2007 64位版本时出现”无法安装64位版本的Office,因为在您的PC上找到了以下32位程序“的问题。
PlatEMO-PlatEMO_v2.2.0.zip
PlatEMO-PlatEMO_v2.2.0PlatEMO-PlatEMO_v2.2.0PlatEMO-PlatEMO_v2.2.0PlatEMO-PlatEMO_v2.2.0PlatEMO-PlatEMO_v2.2.0
PlatEMO v2.0 (2019-4-19)
PlatEMO v2.0 (2019-4-19)
PlatEMO v2.0 (2019-3)
PlatEMO v2.0 (2019-3)
PlatEMO v1.5 (2017-12)
PlatEMO v1.5 (2017-12)
遗传算法解决TSP问题代码 C++
const int city_num = 144; //城市数目
const int individual_num = 2000; //种群初始值
const int age = 500; //遗传代数
const double varation_p = 0.1; //变异因子
typedef struct City_xy //储存给定的城市数据包含序号和坐标
{
int order;
double x;
double y;
}City_xy;
typedef struct City
{
int mark;
}City;
typedef struct Population
{
City city[145]; //城市数组
double distance; //个体城市序列距离之和
double Fitness; //适应度
double Fitness_pi;
}Population;
MOEA/D代码 自己实现 C++版
ZDT1、ZDT2、DTLZ1测试函数也写好了,附有实验效果图,希望对大家学习有帮助!!
void generateLamda(int M)//产生N 个权重向量 weight vector //lamdaM 为 N*M矩阵(N个lamda,每个lamda有m维)
{
//动态生成二维数组
lamdaMat=new double *[N+3];//注意,int*[10]表示一个有10个元素的指针数组
for(int i=1; i<=N+1; i++)
{
lamdaMat[i]=new double[M+1];
}
belta=new double *[N+3];//注意,int*[10]表示一个有10个元素的指针数组
for(int x=1; x<=N+1; x++)
{
belta[x]=new double[M+1];
}
// 2目标
if(M==2)
{
double *array1=new double[N+3];
for(int i=0; i<=N+1; i++)
array1[i]=i*1.0/N;
for(int i=1; i<=N+1; i++)////////////////////////////////
{
lamdaMat[i][1]=array1[i-1];
lamdaMat[i][2]=1-array1[i-1];//保证M个分量之和为1
}
////////////////////////////////////////////////////////////
SPEA2 C++代码实现
//个体的类声明:
class individual
{
public:
double value[Dimension];//每一维xi的值
int sp[2*popsize];
//支配i的集合
int np;//个体i支配的数量
int is_dominated;//集合sp的个数
int rank;//优先级,Pareto级别为当前最高级
double fitness;//个体适应度值
void init();//初始化个体
double fvalue[2];//ZDT1问题目标函数的值
void f_count();//计算fvalue的值
};
//群体的类声明:
class population
{
public:
population();//类初始化
individual P[popsize];
individual Q[popsize];
individual R[2*popsize];
void set_p_q();
//随机产生一个初始父代P,在此基础上采用二元锦标赛选择、
//交叉和变异操作产生子代Q。P和Q群体规模均为popsize
//将Pt和Qt并入到Rt中(初始时t=0),对Rt进行快速非支配解排序,
//构造其所有不同等级的非支配解集F1、F2........
int Rnum;
int Pnum;
int Qnum;
//P,Q,R中元素的个数
void calc_fitness();//计算P ,Q群体的适应度
void Q_make_new_pop();
void f_sort(int i);//对拥挤距快速非支配排序法:重点!!!
void maincal();//主要操作
int Q_choice(int a,int b);
//两个个体属于不同等级的非支配解集,优先考虑等级序号较小的
//若两个个体属于同一等级的非支配解集,优先考虑拥挤距离较大的
void choose_best();
void archive_truncation_procedure();
int min_distance();
};
用贪心思想解决TSP问题代码
用贪心思想解决TSP问题代码+
NSGAII源代码+注释
NSGA2代码+注释
/*利用二进制锦标赛产生子代:
1、随机产生一个初始父代Po,在此基础上采用二元锦标赛选择、交叉和变异操作产生子代Qo, Po 和Qo群体规模均为N
2、将Pt和Qt并入到Rt中(初始时t=0),对Rt进行快速非支配解排序,构造其所有不同等级的非支配解集F1、F2……..
3、按照需要计算Fi中所有个体的拥挤距离,并根据拥挤比较运算符构造Pt+1,直至Pt+1规模为N,图中的Fi为F3
*/
遗传算法求解01背包问题——问题分析
01背包问题属于组合优化问题的一个例子,求解01背包问题的过程可以被视作在很多可行解当中求解一个最优解。01背包问题的一般描述如下:
给定n个物品和一个背包,物品i的重量为Wi,其价值为Vi,背包的容量为C。选择合适的物品装入背包,使得背包中装入的物品的总价值最大。注意的一点是,背包内的物品的重量之和不能大于背包的容量C。在选择装入背包的物品时,对每种物品i只有两种选择:装入背包或者不装入背包,即只能将物品i装入背包一次。称此类问题为0/1背包问题。
01背包问题是NP问题,传统的解决方法有动态规划法、分支界限法、回溯法等等。传统的方法不能有效地解决01背包问题。遗传算法(Genetic Algorithms)则是一种适合于在大量的可行解中搜索最优(或次优)解的有效算法。
01背包测试数据
给定n个物品和一个背包,物品i的重量为Wi,其价值为Vi,背包的容量为C。选择合适的物品装入背包,使得背包中装入的物品的总价值最大。注意的一点是,背包内的物品的重量之和不能大于背包的容量C。在选择装入背包的物品时,对每种物品i只有两种选择:装入背包或者不装入背包,即只能将物品i装入背包一次。称此类问题为0/1背包问题。
遗传算法解决01背包问题分析及代码
01背包问题属于组合优化问题的一个例子,求解01背包问题的过程可以被视作在很多可行解当中求解一个最优解。01背包问题的一般描述如下:
给定n个物品和一个背包,物品i的重量为Wi,其价值为Vi,背包的容量为C。选择合适的物品装入背包,使得背包中装入的物品的总价值最大。注意的一点是,背包内的物品的重量之和不能大于背包的容量C。在选择装入背包的物品时,对每种物品i只有两种选择:装入背包或者不装入背包,即只能将物品i装入背包一次。称此类问题为0/1背包问题。