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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 2-1.cpp

?? 最近研究遺傳算法
?? CPP
字號:
// Genetic Algorithm
// For Example 2.1 (2-1.tex) in "Uncertain Programming" by B. Liu
// Written by Microsoft Visual C++
// Copyright by USLab at Tsinghua University

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "USLab.h"

static void  initialization(void);
static void  evaluation(int gen);
static void  selection(void);
static void  crossover(void);
static void  mutation(void);
static void  f(void);
static int   constraint_check(double x[]);

#define N 3  // number of variables
#define M 1  // number of objectives
int   TYPE=1; // 1=max;-1=min
int   GEN=200; // maximum generation number
int   POP_SIZE=30;
double P_MUTATION=0.2;
double P_CROSSOVER=0.3;
double OBJECTIVE[31][M+1], q[31], CHROMOSOME[31][N+1];

static void f(void)
{
	double x1,x2,x3;
	int i;
	for(i = 1; i <= POP_SIZE; i++) {
		x1 = CHROMOSOME[i][1];
		x2 = CHROMOSOME[i][2];
		x3 = CHROMOSOME[i][3];
		OBJECTIVE[i][1] = (x1*x1*x2*x3*x3)/(2*x1*x1*x1*x3*x3+
		  3*x1*x1*x2*x2+2*x2*x2*x3*x3*x3+x1*x1*x1*x1*x2*x2*x3*x3);
	}
	for(i=1;i<=POP_SIZE;i++)
	  OBJECTIVE[i][0]= OBJECTIVE[i][1];
}

static int constraint_check(double x[])
{
	double a;
	int n;
	for(n=1;n<=N;n++) if(x[n]<=0) return 0;
	a = x[1]*x[1]+x[2]*x[2]+x[3]*x[3];
	if(a<1||a>4) return 0;
	return 1;
}

static void initialization(void)
{
  double x[N+1];
  int i,j;
  for(i=1; i<=POP_SIZE; i++){
	  mark:
	  for(j=1; j<=N; j++) x[j]=myu(0,2);
	  if(constraint_check(x)==0) goto mark;
	  for(j=1; j<=N; j++) CHROMOSOME[i][j]=x[j];
  }
}

main()
{
  int i, j;
  double a;

  //srand(100);
  q[0]=0.05; a=0.05;
  for(i=1; i<=POP_SIZE; i++) {a=a*0.95; q[i]=q[i-1]+a;}
  initialization();
  evaluation(0);
  for(i=1; i<=GEN; i++) {
	  selection();
	  crossover();
	  mutation();
	  evaluation(i);
	  printf("\nGeneration NO.%d\n", i);
	  printf("x=(");
	  for(j=1; j<=N; j++) {
		  if(j<N) printf("%3.4f,",CHROMOSOME[0][j]);
		  else printf("%3.4f",CHROMOSOME[0][j]);
	  }
	  if(M==1) printf(")\nf=%3.4f\n", OBJECTIVE[0][1]);
	  else {
	      printf(")\nf=(");
	      for(j=1; j<=M; j++) {
		     if(j<M) printf("%3.4f,", OBJECTIVE[0][j]);
		     else printf("%3.4f", OBJECTIVE[0][j]);
		  }
          printf(")  Aggregating Value=%3.4f\n",OBJECTIVE[0][0]);
	  }
  }
  printf("\n");
  return 1;
}

static void evaluation(int gen)
{
  double a;
  int   i, j, k, label;
  f();
  if(gen==0){
	 for(k=0; k<=M; k++) OBJECTIVE[0][k]=OBJECTIVE[1][k];
	 for(j = 1; j <= N; j++) CHROMOSOME[0][j]=CHROMOSOME[1][j];
  }
  for(i=0; i<=POP_SIZE; i++){
	  label=0;  a=OBJECTIVE[i][0];
	  for(j=i+1; j<=POP_SIZE; j++)
		 if((TYPE*a)<(TYPE*OBJECTIVE[j][0])) {
			 a=OBJECTIVE[j][0];
			 label=j;
		 }
	  if(label!=0) {
		 for(k=0; k<=M; k++) {
			 a=OBJECTIVE[i][k];
			 OBJECTIVE[i][k]=OBJECTIVE[label][k];
			 OBJECTIVE[label][k]=a;
		 }
		 for(j=1; j<=N; j++) {
			 a=CHROMOSOME[i][j];
			 CHROMOSOME[i][j]=CHROMOSOME[label][j];
			 CHROMOSOME[label][j]=a;
		 }
	  }
  }
}

static void selection()
{
  double r, temp[31][N+1];
  int   i, j, k;
  for(i=1; i<=POP_SIZE; i++) {
	  r=myu(0, 0.785);
	  for(j=0; j<=POP_SIZE; j++) {
		  if(r<=q[j]) {
			  for(k=1; k<=N; k++) temp[i][k]=CHROMOSOME[j][k];
			  break;
		  }
	  }
  }
  for(i=1; i<=POP_SIZE; i++)
	 for(k=1; k<=N; k++)
		 CHROMOSOME[i][k]=temp[i][k];
}

static void crossover()
{
  int   i, j, jj, k, pop;
  double r, x[N+1], y[N+1];
  pop=POP_SIZE/2;
  for(i=1; i<=pop; i++) {
	 if(myu(0,1)>P_CROSSOVER) continue;
	 j=(int)myu(1,POP_SIZE);
	 jj=(int)myu(1,POP_SIZE);
	 r=myu(0,1);
	 for(k=1; k<=N; k++) {
		 x[k]=r*CHROMOSOME[j][k]+(1-r)*CHROMOSOME[jj][k];
		 y[k]=r*CHROMOSOME[jj][k]+(1-r)*CHROMOSOME[j][k];
	 }
	 if(constraint_check(x)==1)
		 for(k=1; k<=N; k++) CHROMOSOME[j][k]=x[k];
	 if(constraint_check(y)==1)
		 for(k=1; k<=N; k++) CHROMOSOME[jj][k]=y[k];
  }
}

static void mutation(void)
{
  int i, j, k;
  double x[N+1], y[N+1], infty, direction[N+1];
  double INFTY=10, precision=0.0001;
  for(i=1; i<=POP_SIZE; i++) {
	  if(myu(0,1)>P_MUTATION) continue;
	  for(k=1; k<=N; k++) x[k] = CHROMOSOME[i][k];
	  for(k=1; k<=N; k++)
		  if(myu(0,1)<0.5) direction[k]=myu(-1,1);
		  else direction[k]=0;
	  infty=myu(0,INFTY);
	  while(infty>precision) {
		  for(j=1; j<=N; j++) y[j]=x[j]+infty*direction[j];
		  if(constraint_check(y)==1) {
			 for(k=1; k<=N; k++) CHROMOSOME[i][k]=y[k];
			 break;
		  }
		  infty=myu(0,infty);
	  }
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕乱码久久午夜不卡| 亚洲欧美乱综合| av不卡在线播放| 国产调教视频一区| 欧美性一区二区| 亚洲视频免费在线| 免费不卡在线观看| 国产成a人亚洲| 国产成人精品午夜视频免费| 五月天婷婷综合| 国产精品国产精品国产专区不蜜| 欧美一级精品在线| 国产一区二区不卡老阿姨| 精品一区二区三区不卡| 久久se精品一区二区| 色狠狠综合天天综合综合| 亚洲sss视频在线视频| 国产麻豆精品在线观看| 欧美精品免费视频| 成人午夜av影视| 麻豆国产欧美日韩综合精品二区| 国产成人午夜电影网| 国产精选一区二区三区| 国精产品一区一区三区mba桃花| 日本视频一区二区| 一区二区三区精品在线| 91丨porny丨国产| 免费在线观看一区| 欧美午夜电影网| 亚洲国产成人午夜在线一区| 久久国产欧美日韩精品| 精品日韩99亚洲| 91视频免费看| 午夜av一区二区| 久久众筹精品私拍模特| 亚洲婷婷综合色高清在线| 麻豆精品国产91久久久久久| 欧美日韩久久久一区| 欧美日韩国产精品成人| 国产精品成人一区二区三区夜夜夜| 男人的天堂久久精品| 99久久99精品久久久久久| 精品国内二区三区| 亚洲电影第三页| 国产精品久久久久久久久免费樱桃 | 91黄色小视频| 欧美日本乱大交xxxxx| 日韩一区二区三区四区五区六区| 国产夜色精品一区二区av| 亚洲图片欧美色图| 久久国产麻豆精品| 蜜桃av一区二区在线观看| 欧美一级午夜免费电影| 久久综合一区二区| 亚洲一区在线视频| 福利一区在线观看| 中文欧美字幕免费| 日韩黄色免费网站| 国产尤物一区二区在线| 国产精品18久久久久久久久| 欧美三级日韩三级国产三级| 日本在线不卡视频| 久久er精品视频| 久热成人在线视频| 麻豆一区二区99久久久久| 国产麻豆精品theporn| 欧美精品777| 亚洲第一激情av| 欧美激情综合在线| 国产在线不卡一区| 亚洲综合在线视频| 精品国产乱码久久久久久牛牛 | 国产一区二区三区av电影| wwwwxxxxx欧美| 极品尤物av久久免费看| 欧美一卡二卡在线| 亚洲国产精品影院| 欧美在线啊v一区| 日日骚欧美日韩| 精品日韩一区二区三区免费视频| 亚洲国产中文字幕在线视频综合| 91久久精品一区二区二区| 欧美日韩精品免费| 日日欢夜夜爽一区| 欧美日韩大陆在线| 欧美私模裸体表演在线观看| 国产喂奶挤奶一区二区三区| 玉足女爽爽91| 成人综合在线网站| 久久久美女毛片| 在线视频中文字幕一区二区| 麻豆极品一区二区三区| 麻豆精品一区二区三区| 亚洲影院免费观看| 午夜成人在线视频| 国产老肥熟一区二区三区| 99国内精品久久| 欧美久久久久免费| 中文字幕乱码亚洲精品一区 | 久久久五月婷婷| 色老汉av一区二区三区| 美腿丝袜亚洲一区| 日产欧产美韩系列久久99| 国产人妖乱国产精品人妖| 欧美日韩色一区| 91在线视频18| 不卡视频免费播放| 国产自产高清不卡| 久久国产精品99久久人人澡| 中文字幕免费在线观看视频一区| 精品国产一区二区精华| 欧美日韩和欧美的一区二区| 99精品热视频| 国产91精品入口| 国产精品综合一区二区| 免播放器亚洲一区| 亚洲成av人片www| 亚洲综合成人在线视频| 综合色天天鬼久久鬼色| 亚洲欧洲另类国产综合| 欧美一级片在线| 欧美tickling挠脚心丨vk| 不卡一区二区在线| 91精品国产综合久久久蜜臀图片| 本田岬高潮一区二区三区| 久久99这里只有精品| 亚洲激情av在线| 国产精品成人一区二区艾草 | 亚洲电影你懂得| 欧美电视剧免费观看| 制服丝袜av成人在线看| 日本在线观看不卡视频| 日韩激情一二三区| 久久成人久久鬼色| 国产精品88888| 成人免费高清视频| 成人av动漫网站| 色欧美88888久久久久久影院| 欧美日韩一区成人| 欧美一区二区久久久| 精品第一国产综合精品aⅴ| 久久久精品免费观看| 综合精品久久久| 亚洲高清免费观看| 激情久久五月天| 99久久综合色| 这里只有精品99re| 中文字幕国产精品一区二区| 亚洲欧美日韩国产中文在线| 午夜亚洲国产au精品一区二区| 久久av中文字幕片| 91丨九色丨国产丨porny| 欧美日本精品一区二区三区| 久久久777精品电影网影网| 成人免费在线视频| 日本aⅴ亚洲精品中文乱码| 成人在线一区二区三区| 欧美日韩免费视频| 国产亚洲精品久| 天天做天天摸天天爽国产一区 | 精品一区二区日韩| 99久久夜色精品国产网站| 91精品国产麻豆国产自产在线 | 成人av中文字幕| 日韩一区二区精品在线观看| 国产蜜臀97一区二区三区| 玉米视频成人免费看| 国产精品综合久久| 欧美乱熟臀69xxxxxx| 亚洲欧美在线另类| 精品一区二区三区视频在线观看 | 欧美一卡二卡在线观看| 亚洲日本韩国一区| 国产成人免费xxxxxxxx| 67194成人在线观看| 亚洲人成网站精品片在线观看| 精品亚洲国内自在自线福利| 欧美午夜片在线观看| 国产精品丝袜在线| 精品在线视频一区| 欧美一卡二卡在线观看| 亚洲午夜精品17c| 99久久国产综合色|国产精品| 精品区一区二区| 日韩影院免费视频| 欧美色精品在线视频| 一区二区三区欧美日| 99精品一区二区三区| 久久精品欧美日韩精品| 老司机精品视频线观看86| 欧美日韩国产一区| 亚洲午夜精品网| 欧美日韩你懂的| 亚洲高清免费视频| 欧美日韩你懂的| 午夜精品视频一区| 日韩亚洲欧美一区二区三区| 亚洲h在线观看| 欧美色图一区二区三区| 亚洲免费在线视频一区 二区|