SPEA2 C++代码实现

上传者: 28597441 | 上传时间: 2022-05-10 09:34:58 | 文件大小: 95KB | 文件类型: ZIP
//个体的类声明: 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(); };

文件下载

资源详情

[{"title":"( 3 个子文件 95KB ) SPEA2 C++代码实现","children":[{"title":"SPEA2","children":[{"title":"end_spea2.txt <span style='color:#111;'> 13.22KB </span>","children":null,"spread":false},{"title":"end_spea2.png <span style='color:#111;'> 45.56KB </span>","children":null,"spread":false},{"title":"MY_SPEA2.txt <span style='color:#111;'> 145.00KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明