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 + -
显示快捷键?