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

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

?? ga-1.cpp

?? 幾個C++程序
?? CPP
字號:
// Genetic Algorithm for nonlinear programming
// Written by Microsoft Visual C++
// Copyright by UTLab @ Tsinghua University
// http://orsc.edu.cn/UTLab

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

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

#define N 3  // number of variables
#define M 1  // number of objectives
#define TYPE 1 // 1=max;-1=min
#define GEN 400 // maximum generation number
#define POP_SIZE 30
#define P_MUTATION 0.2
#define P_CROSSOVER 0.3

double  CHROMOSOME[POP_SIZE+1][N+1];
double  OBJECTIVE[POP_SIZE+1][M+1];
double  q[POP_SIZE+1];

static void objective_function(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] = sqrt(x1)+sqrt(x2)+sqrt(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]+2*x[2]*x[2]+3*x[3]*x[3];
	if(a>1) return 0;
	return 1;
}

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

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

  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;
  objective_function();
  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[POP_SIZE+1][N+1];
  int   i, j, k;
  for(i=1; i<=POP_SIZE; i++) {
	  r=myu(0, q[POP_SIZE]);
	  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一区二区三区免费野_久草精品视频
aa级大片欧美| 日韩理论片中文av| 亚洲成人免费影院| 97久久精品人人做人人爽| 日韩女优av电影在线观看| 首页国产欧美久久| 欧美欧美欧美欧美| 亚洲成人久久影院| 91精品国产黑色紧身裤美女| 亚洲制服丝袜一区| 欧美精品色综合| 日本在线不卡视频| 久久免费偷拍视频| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 国产精品素人一区二区| 成人午夜免费av| 亚洲国产aⅴ天堂久久| 欧美日韩久久久一区| 麻豆91免费看| √…a在线天堂一区| 日本久久电影网| 国产在线精品一区二区| 久久久久国产精品麻豆| 91精品国产入口在线| 国产精品一卡二卡在线观看| 国产精品久久看| 成人教育av在线| 亚洲欧洲日韩av| 日韩一区二区在线免费观看| 国产成人亚洲综合色影视| 一区二区三区加勒比av| ww久久中文字幕| 欧美色大人视频| 粉嫩aⅴ一区二区三区四区五区 | 欧美日韩在线观看一区二区 | 免费成人美女在线观看| 国产日韩欧美一区二区三区乱码 | 欧美激情一区二区三区蜜桃视频| 成人福利视频在线| 美国av一区二区| 亚洲影视在线播放| 中文字幕日韩一区| 国产偷v国产偷v亚洲高清| 91精品国产91久久久久久最新毛片| 成人免费高清在线| 成人免费观看男女羞羞视频| 久久精品国产色蜜蜜麻豆| 亚洲一区二区影院| 亚洲欧洲综合另类| 亚洲人成网站影音先锋播放| 国产情人综合久久777777| 久久精品日韩一区二区三区| 91麻豆精品国产91久久久使用方法| 不卡一区二区三区四区| 成人免费看片app下载| 成人性视频免费网站| 色综合中文综合网| 亚洲电影欧美电影有声小说| 国产精品萝li| 亚洲视频小说图片| 一区二区三区蜜桃| 亚洲一区二区三区三| 亚洲最新视频在线观看| 亚洲黄色在线视频| 中文字幕乱码一区二区免费| 中文字幕一区二区不卡| 国产日韩欧美一区二区三区乱码| 国产日韩精品久久久| 国产女人18水真多18精品一级做| 最近日韩中文字幕| 亚洲第一狼人社区| 黄网站免费久久| 色噜噜狠狠色综合中国| 精品国产自在久精品国产| 一区在线播放视频| 天堂va蜜桃一区二区三区| 国产尤物一区二区| 欧美日韩中文精品| 国产片一区二区| 日本一不卡视频| jvid福利写真一区二区三区| 91超碰这里只有精品国产| 国产精品沙发午睡系列990531| 亚洲超碰精品一区二区| av电影在线观看一区| 2023国产精品自拍| 亚洲国产欧美日韩另类综合| 韩日精品视频一区| 日韩欧美成人一区| 亚洲国产一区二区视频| 欧美日韩精品久久久| 亚洲男人天堂一区| 亚洲成人精品在线观看| 国产69精品一区二区亚洲孕妇| 欧美一区二区三区精品| 亚洲综合一二区| 欧美三级欧美一级| 亚洲国产精品精华液网站| eeuss国产一区二区三区| 日本一区二区三区国色天香 | 2023国产精华国产精品| 日本欧美肥老太交大片| 欧美日韩国产免费| 日产国产高清一区二区三区 | 欧美精品在欧美一区二区少妇| 亚洲黄色录像片| 欧美视频中文字幕| 日韩专区一卡二卡| 欧美精品第一页| 国产做a爰片久久毛片| 国产亚洲欧美一级| 91免费观看在线| 天天综合网天天综合色| 精品国产乱码久久久久久牛牛| 久久av老司机精品网站导航| 精品久久久久一区二区国产| 国产福利一区二区| 亚洲欧洲精品一区二区三区| 欧美亚洲综合在线| 青青草国产成人av片免费 | 欧美三级视频在线观看| 男女男精品网站| 中文字幕一区二区在线观看| 欧美日韩亚洲另类| 国产大陆a不卡| 亚洲一区二区av电影| 久久免费看少妇高潮| 欧美羞羞免费网站| 高清在线观看日韩| 五月激情丁香一区二区三区| 国产视频一区二区在线| 久久久久久久免费视频了| 欧美日韩在线三级| 99国内精品久久| 国产精品国产三级国产普通话99| 不卡视频一二三四| 国产主播一区二区| 日本亚洲免费观看| 一区二区欧美视频| 国产精品久久久久久亚洲伦| 精品少妇一区二区三区视频免付费| 99精品视频一区二区三区| 国产精品亚洲一区二区三区妖精 | 日韩一级片网址| 在线观看成人小视频| 99热在这里有精品免费| 国产成人一区二区精品非洲| 国内不卡的二区三区中文字幕 | 欧美电影精品一区二区 | 成人激情图片网| 国产91精品在线观看| 国产一区二区三区电影在线观看| 麻豆91免费观看| 国产高清精品在线| 国产v日产∨综合v精品视频| 风间由美性色一区二区三区| av资源站一区| 欧美日韩不卡在线| 精品国产一区a| 国产婷婷一区二区| 一区二区三区在线观看网站| 亚洲一区日韩精品中文字幕| 琪琪一区二区三区| 国产成人综合在线| 91片黄在线观看| 欧美精品在线观看一区二区| 26uuu国产电影一区二区| 国产三级精品三级| 亚洲影院理伦片| 国产另类ts人妖一区二区| 色婷婷久久久综合中文字幕| 欧美猛男超大videosgay| 视频在线在亚洲| 激情综合一区二区三区| 99久久99久久精品免费观看| 久久综合久久久久88| 亚洲色图在线看| 偷窥少妇高潮呻吟av久久免费| 国产一区二区在线观看视频| 91久久精品一区二区三| 久久综合一区二区| 香蕉乱码成人久久天堂爱免费| 国产精一区二区三区| 欧美日本在线视频| 亚洲精品一卡二卡| 国产.欧美.日韩| 精品国产伦一区二区三区免费| 一区二区三区产品免费精品久久75| 国产精品综合在线视频| 91精品国产91久久久久久最新毛片| 中文字幕在线观看一区二区| 国产伦精品一区二区三区在线观看| 欧美日韩国产乱码电影| 午夜久久久久久久久| 欧美日韩高清影院| 丝袜诱惑亚洲看片| 欧美一区二区视频网站| 日本 国产 欧美色综合| 日韩欧美在线网站| 青草国产精品久久久久久|