nsga 的java实现_多目标遗传算法 ------ NSGA-II (部分源码解析)介绍

本文介绍了基于遗传算法的多目标优化算法NSGA-II,特别是其Java实现。主要内容包括非支配排序、精英策略、选择、变异、解码、评估、合并等关键步骤的解析,并提供了C语言版源码的部分核心代码分析。
摘要由CSDN通过智能技术生成

NSGA(非支配排序遗传算法)、NSGA-II(带精英策略的快速非支配排序遗传算法),都是基于遗传算法的多目标优化算法,是基于pareto最优解讨论的多目标优化。

在官网:

http://www.iitk.ac.in/kangal/codes.shtml

可以下载到  NSGA-II  的C语言版源码,下载最新版后打开如下:

c5e5ee497c908e513104a050d92eff54.png

其中,nsga2r.c  为主文件,打开后找到核心代码,如下:

1 for (i=2; i<=ngen; i++)2 {3 selection (parent_pop, child_pop);4 mutation_pop (child_pop);5 decode_pop(child_pop);6 evaluate_pop(child_pop);7 merge (parent_pop, child_pop, mixed_pop);8 fill_nondominated_sort (mixed_pop, parent_pop);9 /*Comment following three lines if information for all10 generations is not desired, it will speed up the execution*/

11 fprintf(fpt4,"# gen = %d\n",i);12 report_pop(parent_pop,fpt4);13 fflush(fpt4);14 printf("\n gen = %d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值