資源簡介
是基于遺傳算法的最短路徑選擇 選用c++語言進行編寫程序

代碼片段和文件信息
#include?“stdafx.h“
#include?“stdio.h“?????//標準輸入輸出庫
#include?“stdlib.h“????//標準函數庫
#include?“time.h“????
#include?“iostream.h“
#include?“iomanip.h“
#include?“math.h“???//數學函數庫
#define??MAX???1???????????????//設定求最大適應值
#define??MIN???2
#define??CHROMLENGTH??13???????//染色體長度,注意編碼變化時,要隨時修改
#define??MAXNUM???????1000
#define??Cmax??30???????????????//估計最大值
#define??Cmin??0????????????????//估計最小值
int??????PopSize?=?150;??????????????//每代最大個體數
int??????FunctionMode?=?MIN;
double???m_fPc?=?0.9;???????????????????//交叉概率
double???m_fPm?=?0.009;?????????????????//變異概率
int??????MaxGeneration?=?20;????????????//最大世代數
int??????d[150][13];????????????????????//找到染色體并拷貝到這個數組中
int??????s[150][13];
int??????generation;???????????????????????//世代數
int??????Best_Index;??????????????????????//最好個體下標
int??????Worst_Index;??????????????????????//最壞個體下標
struct?individual??????//定義個體數據結構
{
double?chrom[CHROMLENGTH+1];?????????//染色體
double?value;?????????????????????????//函數值
double?fitness; ???????????????????//適應度??
};??
struct?individual
??????????BestIndividual;??????????????//當代最佳個體
struct?individual
??????????WorstIndividual;
struct?individual?
??????????Group[150];?????????????????//種群
double?Random(double?Low?double?High)//本函數實現隨機產生Low-High之間的實數?.意思:隨機
{??
return((double)rand()/RAND_MAX)*(High-Low)+Low;
}
double?Max(double?a?double?b)
{
if(a>=b)?return?a;
else?return?b;
}
void?GenerateInitialPopulation()//種群初始化,二進制編碼初始化其中‘1‘表示路徑頂點在最短路徑中‘0‘則反之
{
int?ij;
????
for(i?=?0;?i? {
for(j?=?1;?j? {????
Group[i].chrom[j]?=?(int)(Random(110)<6)?‘\0‘:‘\1‘;
}
Group[i].chrom[CHROMLENGTH-1]?=?‘\1‘;
Group[i].chrom[0]?=?‘\1‘;
}
}
void?CalculateobjectValue()??//計算個體值
{
int?ijl;
??
int?a[13][13]=
{{0?????3????5?????4?????MAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUM}
{MAXNUM0?????MAXNUMMAXNUM9?????5?????MAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUM}
{MAXNUMMAXNUM0?????MAXNUM4?????3?????5?????MAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUM}
{MAXNUMMAXNUMMAXNUM0?????MAXNUM1?????7?????MAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUM}
{MAXNUMMAXNUMMAXNUMMAXNUM0?????MAXNUMMAXNUM1?????5?????MAXNUMMAXNUMMAXNUMMAXNUM}
{MAXNUMMAXNUMMAXNUMMAXNUMMAXNUM0?????MAXNUM8?????4?????6?????MAXNUMMAXNUMMAXNUM}
{MAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUM0?????4?????4?????2?????MAXNUMMAXNUMMAXNUM}
{MAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUM0?????MAXNUMMAXNUM4?????2?????MAXNUM}
{MAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUM0?????MAXNUM6?????9?????MAXNUM}
{MAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUM0?????7?????5?????MAXNUM}
{MAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUM0?????MAXNUM1?????}
{MAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUMMAXNUM0?????2?????}
{MAXNUM
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1220??2008-06-02?10:27??基于遺傳算法的最短路徑計算C++\Debug\StdAfx.obj
?????文件??????74752??2010-06-06?12:06??基于遺傳算法的最短路徑計算C++\Debug\vc60.idb
?????文件??????61440??2010-05-17?16:21??基于遺傳算法的最短路徑計算C++\Debug\vc60.pdb
?????文件?????229500??2010-05-17?16:21??基于遺傳算法的最短路徑計算C++\Debug\ycsf_zdlj.exe
?????文件?????245516??2010-05-17?16:21??基于遺傳算法的最短路徑計算C++\Debug\ycsf_zdlj.ilk
?????文件??????25090??2010-05-17?16:21??基于遺傳算法的最短路徑計算C++\Debug\ycsf_zdlj.obj
?????文件?????328792??2010-05-17?16:21??基于遺傳算法的最短路徑計算C++\Debug\ycsf_zdlj.pch
?????文件?????533504??2010-05-17?16:21??基于遺傳算法的最短路徑計算C++\Debug\ycsf_zdlj.pdb
?????文件????????667??2005-03-20?10:39??基于遺傳算法的最短路徑計算C++\StdAfx.h
?????文件???????9046??2008-06-02?11:45??基于遺傳算法的最短路徑計算C++\ycsf_zdlj.cpp
?????文件???????3437??2010-06-06?12:06??基于遺傳算法的最短路徑計算C++\ycsf_zdlj.dsp
?????文件????????526??2010-06-06?12:08??基于遺傳算法的最短路徑計算C++\ycsf_zdlj.dsw
?????文件??????58368??2010-06-06?12:08??基于遺傳算法的最短路徑計算C++\ycsf_zdlj.ncb
?????文件??????48640??2010-06-06?12:08??基于遺傳算法的最短路徑計算C++\ycsf_zdlj.opt
?????文件????????252??2010-06-06?12:06??基于遺傳算法的最短路徑計算C++\ycsf_zdlj.plg
?????文件?????????64??2009-06-01?13:51??基于遺傳算法的最短路徑計算C++\說明.txt
?????文件?????293098??2008-06-02?11:20??基于遺傳算法的最短路徑計算C++\路徑圖.bmp
?????目錄??????????0??2010-05-17?16:21??基于遺傳算法的最短路徑計算C++\Debug
?????目錄??????????0??2010-06-06?12:08??基于遺傳算法的最短路徑計算C++
-----------?---------??----------?-----??----
??????????????1913912????????????????????19
評論
共有 條評論