资源简介
多目标优化算法--NSGA-III,在大于3个目标也很有效。
自己理解原理后修改出来的简洁版(自用)
代码片段和文件信息
function chromo = crossover(pick_sel chromo)
global NP f_num x_num x_min x_max pc yita1
temp = chromo(pick_sel 1:x_num+f_num); % 取出选中的个体
off_s = [];
for i = 1:NP
% 选出两个不同的个体交叉
pick = randperm(NP 2);
while pick_sel(pick(1)) == pick_sel(pick(2))
pick = randperm(NP 2);
end
off_1 = temp(pick(1) 1:x_num); off_2 = temp(pick(2) 1:x_num);
if rand < pc
for j = 1:x_num
u = rand;
if u < 0.5
gama = (2 * u)^(1 / (yita1 + 1));
else
gama = (1 / (2 * (1 - u)))^(1 / (yita1+1));
end
off_1(j) = 0.5 * ((1 + gama) * off_1(j) + (1 - gama) * off_2(
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-10-15 18:49 NSGA-III\
文件 1399 2019-10-12 10:16 NSGA-III\crossover.m
文件 1321 2019-10-12 09:40 NSGA-III\crowding_distance_sort.m
文件 763 2019-10-12 10:56 NSGA-III\elitism.m
文件 342 2019-10-12 18:25 NSGA-III\initialize.m
文件 1320 2019-10-12 19:09 NSGA-III\main.m
文件 763 2019-10-12 10:24 NSGA-III\mutation.m
文件 2473 2019-10-12 10:52 NSGA-III\non_domination_sort.m
文件 2633 2019-10-12 18:28 NSGA-III\ob
文件 712 2019-10-12 09:55 NSGA-III\selection.m
文件 2333 2019-10-12 18:40 NSGA-III\test.m
- 上一篇:三菱Q与显控通讯方法
- 下一篇:爬虫滴滴成都位置及其他属性信息数据
评论
共有 条评论