⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eval.c

📁 遗传算法的一个源代码
💻 C
字号:
#include <stdio.h>#include "const.h"#include "type.h"#include "extern.h"#include "exfunc.h"#include <math.h>/*==================================================================*/double eval_org(IPTR pj)                         /* eval_org obviously takes a pointer to the org                         Called from gen.c and init.c */{  int n, pid, status;  int i;  double val[30];  double sum;  sum = 0.0;  for(i = 0; i < nvars; i++){    val[i] = decode(pj, i+10, 10);    sum += val[i] * val[i];  }  return sum;}double decode(IPTR pj, int index, int size){  return ((double) bin_to_dec(&(pj->chrom[index]), size) - 512.0)/100.0;}double bin_to_dec(int *chrom, int l){  int i;  double prod;  prod = 0.0;  for(i = 0; i < l; i++){    prod += (chrom[i] == 0 ? 0.0 : pow((double)2.0, (double) i));  }  return prod;}void dec_to_bin(int ad, int *barray, int size){  int i, t;  t = ad;  for(i = 0; i < size; i++){    barray[i] = t%2;    t = t/2;  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -