亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gasample.cpp

?? 源程序
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
void preselect()
{
    int j;
    sumfitness = 0;
    for(j = 0; j < popsize; j++) sumfitness += oldpop[j].fitness;
}

int select()  /* 輪盤賭選擇*/
{
    extern float randomperc();
    float sum, pick;
    int i;
    pick = randomperc();
    sum = 0;
    if(sumfitness != 0)
    {
        for(i = 0; (sum < pick) && (i < popsize); i++)
            sum += (float)(oldpop[i].fitness/sumfitness);
    }
    else
        i = rnd(1,popsize);
    return(i-1);
}

void statistics(struct individual *pop)  /* 計(jì)算種群統(tǒng)計(jì)數(shù)據(jù) */
{
    int i, j;
    sumfitness = 0.0;
    min = pop[0].fitness;
    max = pop[0].fitness;
    /* 計(jì)算最大、最小和累計(jì)適應(yīng)度 */
    for(j = 0; j < popsize; j++)
    {
        sumfitness = sumfitness + pop[j].fitness;            
        if(pop[j].fitness > max) max = pop[j].fitness;        
        if(pop[j].fitness < min) min = pop[j].fitness;         
        /* new global best-fit individual */
        if(pop[j].fitness > bestfit.fitness)
	  {
	   for(i = 0; i < chromsize; i++)
	    bestfit.chrom[i]      = pop[j].chrom[i];
            bestfit.fitness    = pop[j].fitness;
            bestfit.varible   = pop[j].varible;
            bestfit.generation = gen;
	  }
      }
    /* 計(jì)算平均適應(yīng)度 */
    avg = sumfitness/popsize;
}

void title()
{
  
  printf("SGA Optimizer");
  
  printf("基本遺傳算法");
}

void repchar (FILE *outfp,char *ch,int repcount)
{
    int j;
    for (j = 1; j <= repcount; j++) printf("%s", ch);
}

void skip(FILE *outfp,int skipcount)
{
    int j;
    for (j = 1; j <= skipcount; j++) printf("\n");
}

void objfunc(struct individual *critter)  /* 計(jì)算適應(yīng)度函數(shù)值 */
{
    unsigned mask=1;
    unsigned bitpos;
    unsigned tp;
    double  bitpow ;
    int j, k, stop;
    critter->varible = 0.0;
    for(k = 0; k < chromsize; k++)
    {
        if(k == (chromsize-1))
            stop = lchrom-(k*(8*sizeof(unsigned)));
        else
            stop =8*sizeof(unsigned);
        tp = critter->chrom[k];
        for(j = 0; j < stop; j++)
        {
            bitpos = j + (8*sizeof(unsigned))*k;
            if((tp&mask) == 1)
            {
                bitpow = pow(2.0,(double) bitpos);
                critter->varible = critter->varible + bitpow;
            }
            tp = tp>>1;
        }
    }
    critter->varible =-1+critter->varible*3/(pow(2.0,(double)lchrom)-1);
    critter->fitness =critter->varible*sin(critter->varible*10*atan(1)*4)+2.0;
}

void  mutation(unsigned *child)   /*變異操作*/
{
    int j, k, stop;
    unsigned mask, temp = 1;
    for(k = 0; k < chromsize; k++)
    {
        mask = 0;
        if(k == (chromsize-1))
            stop = lchrom - (k*(8*sizeof(unsigned)));
        else
            stop = 8*sizeof(unsigned);
        for(j = 0; j < stop; j++)
        {
            if(flip(pmutation))
            {
                mask = mask|(temp<<j);
                nmutation++;
            }
        }
        child[k] = child[k]^mask;
    }
}

int crossover (unsigned *parent1, unsigned *parent2, unsigned *child1, unsigned *child2)
/* 由兩個(gè)父?jìng)€(gè)體交叉產(chǎn)生兩個(gè)子個(gè)體 */
{
    int j, jcross, k;
    unsigned mask, temp;
    if(flip(pcross))
    {
        jcross = rnd(1 ,(lchrom - 1));/* Cross between 1 and l-1 */
        ncross++;
        for(k = 1; k <= chromsize; k++)
        {
            if(jcross >= (k*32))
            {
                child1[k-1] = parent1[k-1];
                child2[k-1] = parent2[k-1];
            }
            else if((jcross < (k*32)) && (jcross > ((k-1)*32)))
            {
                mask = 1;
                for(j = 1; j <= (jcross-1-((k-1)*32)); j++)
                {
                    temp = 1;
                    mask = mask<<1;
                    mask = mask|temp;
                }
                child1[k-1] = (parent1[k-1]&mask)|(parent2[k-1]&(~mask));
                child2[k-1] = (parent1[k-1]&(~mask))|(parent2[k-1]&mask);
            }
            else
            {
                child1[k-1] = parent2[k-1];
                child2[k-1] = parent1[k-1];
            }
        }
    }
    else
    {
        for(k = 0; k < chromsize; k++)
        {
            child1[k] = parent1[k];
            child2[k] = parent2[k];
        }
        jcross = 0;
    }
    return(jcross);
}

void advance_random()  /* 產(chǎn)生55個(gè)隨機(jī)數(shù) */
{
    int j1;
    double new_random;
    for(j1 = 0; j1 < 24; j1++)
    {
        new_random = oldrand[j1] - oldrand[j1+31];
        if(new_random < 0.0) new_random = new_random + 1.0;
        oldrand[j1] = new_random;
    }
    for(j1 = 24; j1 < 55; j1++)
    {
        new_random = oldrand [j1] - oldrand [j1-24];
        if(new_random < 0.0) new_random = new_random + 1.0;
        oldrand[j1] = new_random;
    }
}

int flip(float prob) /* 以一定概率產(chǎn)生0或1 */
{
    float randomperc();
    if(randomperc() <= prob)
        return(1);
    else
        return(0);
}

void randomize()  /* 設(shè)定隨機(jī)數(shù)種子并初始化隨機(jī)數(shù)發(fā)生器 */
{
    float randomseed;
    int j1;
    for(j1=0; j1<=54; j1++)
      oldrand[j1] = 0.0;
    jrand=0;
      do
        {
            
             printf("隨機(jī)數(shù)種子[0-1]:");
              scanf("%f", &randomseed);
         }
        while((randomseed < 0.0) || (randomseed > 1.0));
    warmup_random(randomseed);
}

double randomnormaldeviate() /* 產(chǎn)生隨機(jī)標(biāo)準(zhǔn)差 */
{
    //double sqrt(), log(), sin(), cos();
    float randomperc();
    double t, rndx1;
    if(rndcalcflag)
    {   rndx1 = sqrt(- 2.0*log((double) randomperc()));
        t = 6.2831853072 * (double) randomperc();
        rndx2 = rndx1 * sin(t);
        rndcalcflag = 0;
        return(rndx1 * cos(t));
    }
    else
    {
        rndcalcflag = 1;
        return(rndx2);
    }
}

float randomperc() /*與庫(kù)函數(shù)random()作用相同, 產(chǎn)生[0,1]之間一個(gè)隨機(jī)數(shù) */
{
    jrand++;
    if(jrand >= 55)
    {
        jrand = 1;
        advance_random();
    }
    return((float) oldrand[jrand]);
}

int rnd(int low, int high) /*在整數(shù)low和high之間產(chǎn)生一個(gè)隨機(jī)整數(shù)*/
{
    int i;
    float randomperc();
    if(low >= high)
        i = low;
    else
    {
        i =(int)((randomperc() * (high - low + 1)) + low);
        if(i > high) i = high;
    }
    return(i);
}


void warmup_random(float random_seed)  /* 初始化隨機(jī)數(shù)發(fā)生器*/
{
    int j1, ii;
    double new_random, prev_random;

    oldrand[54] = random_seed;
    new_random = 0.000000001;
    prev_random = random_seed;
    for(j1 = 1 ; j1 <= 54; j1++)
    {
        ii = (21*j1)%54;
        oldrand[ii] = new_random;
        new_random = prev_random-new_random;
        if(new_random<0.0) new_random = new_random + 1.0;
        prev_random = oldrand[ii];
    }
    advance_random();
    advance_random();
    advance_random();
    jrand = 0;
}


void main(int argc,char *argv[])    /*  主程序  */

{
    struct individual *temp;
   // FILE   *fopen();
    void   title();
    char   *malloc();
       /* if((outfp = fopen(argv[1],"w")) == NULL)
        {
           printf("Cannot open output file %s\n",argv[1]);
            exit(-1);
        }*/
     
     title();
     printf("輸入遺傳算法執(zhí)行次數(shù)(1-5):");
     scanf("%d",&maxruns);
     for(run=1; run<=maxruns; run++)
    {
        initialize();
        for(gen=0; gen<maxgen; gen++)
        {
         printf("\n第 %d / %d 次運(yùn)行: 當(dāng)前代為 %d, 共 %d 代\n", run,maxruns,gen,maxgen);
            /* 產(chǎn)生新一代 */
            generation();
            /* 計(jì)算新一代種群的適應(yīng)度統(tǒng)計(jì)數(shù)據(jù) */
            statistics(newpop);
            /* 輸出新一代統(tǒng)計(jì)數(shù)據(jù) */
            report();
            temp = oldpop;
            oldpop = newpop;
            newpop = temp;
        }
        freeall();
    }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区三区在线视频| 欧美成人官网二区| 蜜桃久久av一区| 中文字幕av一区二区三区免费看| 欧美日韩精品综合在线| 国产三级三级三级精品8ⅰ区| 色综合久久综合网欧美综合网| 极品少妇一区二区| 亚洲午夜精品17c| 亚洲三级在线播放| 久久久国产精品麻豆| 制服丝袜成人动漫| 欧美色偷偷大香| 色综合久久中文综合久久牛| 国产精品一卡二| 麻豆精品在线看| 日韩精品成人一区二区三区| 亚洲三级在线观看| 国产精品传媒入口麻豆| 久久久久久日产精品| 91精品婷婷国产综合久久竹菊| 色系网站成人免费| 一本大道久久精品懂色aⅴ| 国产精品888| 精品一区二区三区在线观看 | 国产亚洲精品超碰| 欧美电影免费观看高清完整版在线观看 | 欧美怡红院视频| 99国产精品国产精品久久| 国产一区二区三区美女| 蜜桃在线一区二区三区| 午夜精品久久久久久久| 99riav久久精品riav| 成人午夜av电影| 高清免费成人av| 国产iv一区二区三区| 国产成人av福利| 国产精品66部| 成人免费的视频| jlzzjlzz亚洲女人18| 91一区二区三区在线观看| 99v久久综合狠狠综合久久| av不卡一区二区三区| 91丨porny丨国产入口| 色婷婷国产精品久久包臀| 在线观看日韩电影| 欧美亚洲国产一区在线观看网站| 色一情一伦一子一伦一区| 色域天天综合网| 欧美日韩国产a| 日韩欧美国产不卡| 欧美激情一区二区三区在线| 国产精品欧美久久久久无广告| 日韩一区在线免费观看| 亚洲国产综合91精品麻豆| 丝袜脚交一区二区| 看电视剧不卡顿的网站| 国产精品一区在线观看乱码| 国产成a人亚洲| 91麻豆精东视频| 欧美日产国产精品| 欧美xxxx在线观看| 亚洲欧洲国产日本综合| 亚洲资源在线观看| 精品一区二区三区免费视频| 国产一区二区不卡老阿姨| 99久久久久久| 在线电影欧美成精品| 亚洲精品一区二区三区精华液| 中文字幕av免费专区久久| 亚洲一卡二卡三卡四卡无卡久久| 日本亚洲免费观看| 福利一区二区在线| 欧美视频三区在线播放| 精品久久久久一区二区国产| 国产精品免费av| 日韩电影在线一区二区三区| 国产成人综合网| 欧美影院一区二区| 久久久另类综合| 亚洲午夜精品久久久久久久久| 激情久久五月天| 色菇凉天天综合网| 久久精品夜色噜噜亚洲aⅴ| 一区二区高清视频在线观看| 久久99精品久久久久婷婷| 一本一本大道香蕉久在线精品 | 亚洲一二三专区| 国产一区二区三区免费看| 91国在线观看| 国产欧美精品一区| 日韩av一二三| 97精品久久久午夜一区二区三区| 日韩一级二级三级精品视频| 中文字幕亚洲综合久久菠萝蜜| 久久精品国产澳门| 91美女视频网站| 久久精品亚洲精品国产欧美kt∨| 亚洲综合久久av| 大胆欧美人体老妇| 精品久久久三级丝袜| 午夜精品视频一区| 日本韩国欧美国产| 亚洲国产精品激情在线观看| 精品在线亚洲视频| 欧美日本乱大交xxxxx| 亚洲欧洲精品一区二区三区 | 中文字幕国产一区| 裸体歌舞表演一区二区| 日本精品一区二区三区高清| 国产精品久久影院| 国产在线精品免费| 日韩视频在线永久播放| 亚洲一二三四区| 一本大道久久精品懂色aⅴ| 国产精品午夜久久| 国产精品一区一区三区| 精品欧美久久久| 九九九精品视频| 日韩美女在线视频| 日本在线不卡一区| 欧美一区二区三区免费在线看| 一区二区三区丝袜| 色www精品视频在线观看| 亚洲欧洲www| www.欧美日韩| 亚洲女女做受ⅹxx高潮| 99久久综合色| 自拍偷拍国产亚洲| 99久久亚洲一区二区三区青草 | 日韩高清不卡一区二区三区| 欧美午夜精品久久久久久超碰 | 成人av一区二区三区| 国产欧美综合在线观看第十页| 国产美女精品在线| 久久这里只有精品6| 国产精品一二三四五| 国产视频一区在线观看| 国产激情91久久精品导航| 国产亚洲精品中文字幕| 成人综合在线网站| 中文字幕亚洲欧美在线不卡| 成人午夜伦理影院| 亚洲精品中文在线影院| 色欧美88888久久久久久影院| 亚洲精品国产视频| 欧美视频一区在线| 免费一区二区视频| 久久久国产一区二区三区四区小说 | 麻豆精品一区二区三区| 精品国产一区二区在线观看| 国产在线精品一区二区不卡了| 国产丝袜欧美中文另类| 不卡一区二区三区四区| 洋洋成人永久网站入口| 欧美日韩精品一区视频| 麻豆成人av在线| 国产午夜一区二区三区| 99综合电影在线视频| 一个色妞综合视频在线观看| 欧美另类高清zo欧美| 久久99精品国产.久久久久久 | 日本v片在线高清不卡在线观看| 欧美一区二区黄| 国产乱码一区二区三区| 国产精品女主播av| 欧美视频一二三区| 韩国v欧美v亚洲v日本v| 国产精品不卡一区二区三区| 欧美亚一区二区| 久久成人av少妇免费| 国产精品久久久久三级| 欧美日韩一区二区三区视频| 久久99精品国产.久久久久久| 国产精品热久久久久夜色精品三区 | 91亚洲国产成人精品一区二区三| 一区二区三区在线观看动漫| 欧美一级日韩免费不卡| www.成人网.com| 久久国产免费看| 日韩一区中文字幕| 日韩欧美三级在线| 97久久超碰精品国产| 久久国产欧美日韩精品| 亚洲制服丝袜一区| 国产欧美一区视频| 欧美精品777| 91视频精品在这里| 国产精品性做久久久久久| 五月激情综合网| 国产精品久久免费看| 欧美电视剧在线观看完整版| 97精品电影院| 国产精品综合视频| 午夜精品成人在线视频| 综合久久一区二区三区| 精品国产乱码久久久久久1区2区| 欧美自拍丝袜亚洲| 99精品黄色片免费大全| 国产精品夜夜嗨|