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

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

?? unit1.c

?? 一個生產(chǎn)工序安排的算法(采用遺傳算法
?? C
?? 第 1 頁 / 共 2 頁
字號:
    }
else
    {
    for (i = 0; i < NVARS; i++)
       population[worst_mem].gene[i] = population[POPSIZE].gene[i];
    population[worst_mem].fitness = population[POPSIZE].fitness;
    } 
}
/**************************************************************/
/* Selection function: Standard proportional selection for    */
/* maximization problems incorporating elitist model - makes  */
/* sure that the best member survives                         */
/**************************************************************/

void select(void)
{
int mem, i, j, k;
double sum = 0;
double p;

/* find total fitness of the population */
for (mem = 0; mem < POPSIZE; mem++)
      {
      sum += population[mem].fitness;
      }

/* calculate relative fitness */
for (mem = 0; mem < POPSIZE; mem++)
      {
      population[mem].rfitness =  population[mem].fitness/sum;
      }
population[0].cfitness = population[0].rfitness;

/* calculate cumulative fitness */
for (mem = 1; mem < POPSIZE; mem++)
      {
      population[mem].cfitness =  population[mem-1].cfitness +       
                          population[mem].rfitness;
      }

/* finally select survivors using cumulative fitness. */

for (i = 0; i < POPSIZE; i++)
      { 
      p = rand()%1000/1000.0;
      if (p < population[0].cfitness)
            newpopulation[i] = population[0];      
      else
            {
            for (j = 0; j < POPSIZE;j++)      
                  if (p >= population[j].cfitness && 
                              p<population[j+1].cfitness)
                        newpopulation[i] = population[j+1];
            }
      }
/* once a new population is created, copy it back */

for (i = 0; i < POPSIZE; i++)
      population[i] = newpopulation[i];      
}

/***************************************************************/
/* Crossover selection: selects two parents that take part in  */
/* the crossover. Implements a single point crossover          */
/***************************************************************/

void crossover(void)
{
int i, mem, one;
int first  =  0; /* count of the number of members chosen */
double x;

for (mem = 0; mem < POPSIZE; ++mem)
      {
      x = rand()%1000/1000.0;
      if (x < PXOVER)
            {
            ++first;
            if (first % 2 == 0)
                  Xover(one, mem);
            else
                  one = mem;
            }
      }
}
/**************************************************************/
/* Crossover: performs crossover of the two selected parents. */
/**************************************************************/

void Xover(int one, int two)
{
int i;
int point; /* crossover point */

/* select crossover point */
if(NVARS > 1)
   {
   if(NVARS == 2)
         point = 1;
   else
         point = (rand() % (NVARS - 1)) + 1;

   for (i = 0; i < point; i++)
        swap(&population[one].gene[i], &population[two].gene[i]);

   }
}







/*************************************************************/
/* Swap: A swap procedure that helps in swapping 2 variables */
/*************************************************************/

void swap(double *x, double *y)
{
double temp;

temp = *x;
*x = *y;
*y = temp;

}

/**************************************************************/
/* Mutation: Random uniform mutation. A variable selected for */
/* mutation is replaced by a random value between lower and   */
/* upper bounds of this variable                              */
/**************************************************************/

void mutate(void)
{
int i, j;
double lbound, hbound;
double x;

for (i = 0; i < POPSIZE; i++)
      for (j = 0; j < NVARS; j++)
            {
            x = rand()%1000/1000.0;
            if (x < PMUTATION)
                  {
                  /* find the bounds on the variable to be mutated */
                  lbound = population[i].lower[j];
                  hbound = population[i].upper[j];  
                  population[i].gene[j] = randval();
                  }
            }
}

/***************************************************************/
/* Report function: Reports progress of the simulation. Data   */
/* dumped into the  output file are separated by commas        */
/***************************************************************/

void report(void)
{
int i;
double best_val;            /* best population fitness */
double avg;                 /* avg population fitness */
double stddev;              /* std. deviation of population fitness */
double sum_square;          /* sum of square for std. calc */
double square_sum;          /* square of sum for std. calc */
double sum;                 /* total population fitness */

sum = 0.0;
sum_square = 0.0;

for (i = 0; i < POPSIZE; i++)
      {
      sum += population[i].fitness;
      sum_square += population[i].fitness * population[i].fitness;
      }

avg = sum/(double)POPSIZE;
square_sum = avg * avg * POPSIZE;
stddev = sqrt((sum_square - square_sum)/(POPSIZE - 1));
best_val = population[POPSIZE].fitness;

fprintf(galog, "\n%5d: %10.3f, %10.3f, %10.3f;", generation, 
                                      MAXTIME - best_val, MAXTIME - avg, stddev);
}

/**************************************************************/
/* Main function: Each generation involves selecting the best */
/* members, performing crossover & mutation and then          */
/* evaluating the resulting population, until the terminating */
/* condition is satisfied                                     */
/**************************************************************/

void main(void)
{
int i,j;

if ((galog = fopen("galog.txt","w"))==NULL)
      {
      exit(1);
      }
generation = 0;

fprintf(galog, "\n Comment:  ");
fprintf(galog, "\n   Machine: #0 to #%d", NMACHINE-1);
fprintf(galog, "\n   Works  : #0 to #%d", NVARS-1);
fprintf(galog, "\n\n Star Simulation...\n");
fprintf(galog, "\ngener-    best       average   standard\ntion      value      fitness   deviation\nnumber\n-----:  ---------,-----------,-----------;");

initialize();
evaluate();
keep_the_best();
while(generation<MAXGENS)
      {
      generation++;
      select();
      crossover();
      mutate();
      report();
      evaluate();
      elitist();
      }
fprintf(galog,"\n\n Simulation completed\n");
fprintf(galog,"\n ==========================================");
fprintf(galog,"\n Result report: \n");
fprintf(galog,"\n Best member: \n");

fprintf(galog,"\n  Works would be arranged on which machine: \n");   
for (i = 0; i < NVARS; i++)
   {
   fprintf (galog,"\n    * Works#%d is done on Machine#%d, consuming time = %fs",i,(int)(population[POPSIZE].gene[i]), time_consuming[(int)(population[POPSIZE].gene[i])][i]);
   }


fprintf(galog,"\n\n\n  Works on Each Machine: \n");   
for ( i = 0; i < NMACHINE ; i ++)
	{
	double sum;
	fprintf( galog, "\n    * Works on Machine#%d: ",i);  
	sum = 0;
	for( j = 0; j < NVARS; j ++)
		{
			if((int)(population[POPSIZE].gene[j]) == i) 
				{
				fprintf( galog, "#%d(%fs),  ",j,time_consuming[i][j]);
				sum += time_consuming[i][j];
				}
		}
	fprintf( galog, " Total Time consumed = (%fs)", sum);

	}   
   
fprintf(galog,"\n\n Best consuming time = %fs\n\n End of report!",MAXTIME - population[POPSIZE].fitness);
fclose(galog);
printf("Success\n");
}
/***************************************************************/



?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成av人片在www色猫咪| 久久精品无码一区二区三区| 亚洲国产精品精华液网站| 91视频免费看| 亚洲成人动漫在线观看| 欧美日韩国产经典色站一区二区三区| 午夜视频在线观看一区| 欧美成人女星排名| 国产精品资源在线看| 国产精品色哟哟网站| 91老师片黄在线观看| 亚洲成年人网站在线观看| 欧美伦理视频网站| 日韩高清在线观看| 久久综合久久鬼色| 成人高清视频免费观看| 亚洲一级片在线观看| 91精品国产麻豆| 国产精品一区不卡| 亚洲一二三四在线观看| 欧美一级高清片| 成人国产精品免费网站| 亚洲成在人线免费| 久久久综合激的五月天| 91视频一区二区三区| 亚洲成人www| 欧美国产日韩精品免费观看| 欧美中文字幕一区| 久久99国产精品尤物| 一区二区三区在线观看视频| 日韩一区二区三| 99精品视频中文字幕| 日韩中文字幕av电影| 亚洲国产激情av| 91麻豆精品国产无毒不卡在线观看| 韩国精品久久久| 亚洲午夜精品一区二区三区他趣| 欧美xxxxx牲另类人与| 91猫先生在线| 国产精品综合网| 性做久久久久久久免费看| 欧美激情在线一区二区三区| 欧美精品日日鲁夜夜添| 成人激情午夜影院| 美女国产一区二区三区| 夜夜嗨av一区二区三区四季av| 精品成人一区二区三区| 日本久久一区二区| 成人动漫在线一区| 精品无人码麻豆乱码1区2区| 亚洲一级二级在线| 中文字幕在线观看不卡| 久久久美女毛片| 日韩精品一区国产麻豆| 欧美网站一区二区| 色综合久久99| 国产91丝袜在线18| 久久99精品久久久久久国产越南| 亚洲最新在线观看| 国产精品久久久99| 国产午夜精品福利| 精品国产99国产精品| 欧美一区二区播放| 欧美日韩一区二区三区免费看| 99精品久久免费看蜜臀剧情介绍| 九九久久精品视频| 日本午夜精品视频在线观看| 一区二区三区在线观看国产 | 欧美男人的天堂一二区| 91亚洲精品久久久蜜桃| 国产成a人亚洲| 国产一区激情在线| 韩国av一区二区三区| 精品一区二区三区久久久| 日本三级韩国三级欧美三级| 亚洲风情在线资源站| 亚洲愉拍自拍另类高清精品| 亚洲美女屁股眼交3| 麻豆91在线播放免费| 美女网站在线免费欧美精品| 日本亚洲视频在线| 日本特黄久久久高潮| 久久成人免费网站| 九色综合狠狠综合久久| 国产一区免费电影| 国产精品一区二区在线观看网站| 国产激情偷乱视频一区二区三区| 国产一区二区三区美女| 国产成人免费视| 国产成人精品影视| av亚洲精华国产精华精| 一本一道综合狠狠老| 91老司机福利 在线| 欧美精选一区二区| 日韩欧美成人一区| 国产亚洲欧美激情| 国产精品欧美精品| 亚洲六月丁香色婷婷综合久久| 亚洲精品日日夜夜| 亚洲va天堂va国产va久| 免费高清视频精品| 国产盗摄一区二区| 成人av资源在线| 69堂精品视频| 久久久久一区二区三区四区| 国产精品国产a级| 日韩有码一区二区三区| 国产酒店精品激情| 色噜噜久久综合| 精品欧美一区二区在线观看| 国产精品色呦呦| 日韩精品亚洲专区| 懂色av一区二区夜夜嗨| 在线观看免费亚洲| 精品国产91洋老外米糕| 自拍偷在线精品自拍偷无码专区| 亚洲网友自拍偷拍| 东方欧美亚洲色图在线| 欧美做爰猛烈大尺度电影无法无天| 91麻豆精品国产91久久久更新时间 | 国产精品996| 色综合婷婷久久| 久久综合久色欧美综合狠狠| 亚洲男女毛片无遮挡| 激情综合色综合久久综合| 91免费看`日韩一区二区| 日韩视频免费直播| 亚洲精品自拍动漫在线| 韩国精品久久久| 欧美日韩国产精选| 国产精品伦理在线| 极品美女销魂一区二区三区| av成人免费在线观看| 精品国产乱码91久久久久久网站| 亚洲人妖av一区二区| 韩国女主播成人在线观看| 欧美婷婷六月丁香综合色| 中文字幕国产一区二区| 美国欧美日韩国产在线播放| 色成人在线视频| 欧美—级在线免费片| 另类成人小视频在线| 欧美丝袜自拍制服另类| 日韩一区欧美小说| 国产xxx精品视频大全| 日韩一区二区免费在线观看| 亚洲国产一区二区三区| 99久精品国产| 国产欧美一区二区精品婷婷| 久久99最新地址| 91精品国产欧美日韩| 婷婷夜色潮精品综合在线| 色88888久久久久久影院野外| 国产精品区一区二区三| 国产精品99精品久久免费| 精品国产乱码久久久久久闺蜜| 日韩成人免费在线| 欧美一区二区视频在线观看2020 | 国产午夜亚洲精品午夜鲁丝片| 日本亚洲视频在线| 欧美日韩精品一区二区| 一个色综合网站| 91成人在线免费观看| 亚洲欧美成人一区二区三区| 99久久精品一区二区| 一区在线中文字幕| 不卡视频一二三四| 中文一区二区在线观看| 一本色道久久综合狠狠躁的推荐| 国产亚洲欧洲一区高清在线观看| 国内精品国产成人国产三级粉色| 精品久久久久久亚洲综合网| 毛片不卡一区二区| 日韩欧美国产电影| 久久99国产精品久久| 2023国产精品自拍| 国产剧情一区二区三区| 日本一区二区免费在线| 成人黄色软件下载| 综合激情网...| 精品视频全国免费看| 性欧美大战久久久久久久久| 制服丝袜在线91| 九色综合国产一区二区三区| 国产亚洲欧美日韩在线一区| 99视频一区二区三区| 亚洲综合色网站| 制服丝袜亚洲色图| 国产精品888| 亚洲色图视频网| 欧美日韩专区在线| 美脚の诱脚舐め脚责91| 国产视频一区二区三区在线观看| 暴力调教一区二区三区| 亚洲国产精品视频| 精品久久久久久无| 99re66热这里只有精品3直播 | 91黄色免费观看| 秋霞午夜鲁丝一区二区老狼| 久久久精品中文字幕麻豆发布|