merge.c
来自「多目标遗传算法的程序」· C语言 代码 · 共 53 行
C
53 行
/* Routine for mergeing two populations */# include <stdio.h># include <stdlib.h># include <math.h># include "global.h"# include "rand.h"/* Routine to merge two populations into one */void merge(population *pop1, population *pop2, population *pop3){ int i, k; for (i=0; i<popsize; i++) { copy_ind (&(pop1->ind[i]), &(pop3->ind[i])); } for (i=0, k=popsize; i<popsize; i++, k++) { copy_ind (&(pop2->ind[i]), &(pop3->ind[k])); } return;}/* Routine to copy an individual 'ind1' into another individual 'ind2' */void copy_ind (individual *ind1, individual *ind2){ int i, j; ind2->rank = ind1->rank; ind2->constr_violation = ind1->constr_violation; ind2->crowd_dist = ind1->crowd_dist; if (nreal!=0) { for (i=0; i<nreal; i++) { ind2->xreal[i] = ind1->xreal[i]; } } for (i=0; i<nobj; i++) { ind2->obj[i] = ind1->obj[i]; } if (ncon!=0) { for (i=0; i<ncon; i++) { ind2->constr[i] = ind1->constr[i]; } } return;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?