91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 381KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-04
  • 語言: C/C++
  • 標(biāo)簽: 背包問題??遺傳算法??

資源簡介

本程序使用遺傳算法來解決背包問題,0-1背包問題,使用C語言編寫,帶測試數(shù)據(jù)

資源截圖

代碼片段和文件信息

#include
#include
#include?
#include?
#include?

#define?ROUND?1500
#define?INIT?100????????????????//初始染色體數(shù)目
#define?TotalGoods?50//30??????????//貨物總數(shù)
#define?Load???????300//550?????????//背包總?cè)萘???
int?Weights[TotalGoods];??????????????????//存儲每件貨物重量數(shù)組????
int?Values[TotalGoods];???????????????????//存儲每件貨物價值數(shù)組
int?TotalWeights[INIT];?????????????//存儲每個組合的總重量
int?TotalValues[INIT];??????????????//存儲每個組合的總價值
double?Fitness[INIT];????????????????????????//適應(yīng)度

char?ParentChromosome[INIT][TotalGoods+1];//存儲父代基因組合,即染色體
char?ChildChromosome[INIT][TotalGoods+1];?//存儲子代基因組合,即染色體
double?Prob[INIT];???????????????????//每個組合的選擇概率,用于輪盤賭選擇
int?count?=?0;

/*******************************************************/
//讀取配置文件?????????????
//Line1:????貨物重量
//Line2:????貨物價值
//Line3……:備選初始組合,因為初始組合是隨機(jī)產(chǎn)生的,不能保證滿足“重量和<背包容量”,須在本程序中進(jìn)行判斷
/******************************************************/

void?ReadConfFIle(char?*filename)
{
int?i?j;
int?sum=0;
char?*fname?=?filename;
FILE?*fid?=?fopen(fname?“r“);
for?(i=0;?i {
fscanf(fid?“%d“&Weights[i]);
}
for?(i=0;?i {
fscanf(fid?“%d“?&Values[i]);
}
//從文件中讀取滿足約束條件的組合作為初始組合
for?(i=0;?i {

fscanf(fid?“%s“?&ParentChromosome[i]);
sum=0;
for?(j=0;?j {
sum?+=?(int)(ParentChromosome[i][j]-48)?*?Weights[j];
}
if(sum?>=?Load)
{
i--;
}

}
fclose(fid);

}
/*******************************************/
//計算所有個體的適應(yīng)度
//得到適應(yīng)度數(shù)組
//輸入:
// ??char?Chromosome[][]:?父輩基因的組合
//輸出:
//????double?*fitness????:?所有基因組合的適應(yīng)度
/******************************************/

void?CalculateFitness(char??Chromosome[][TotalGoods+1],?double?*fitness?)
{
int?ij;

for?(i=0;?i {
TotalValues[i]?=?0;
TotalWeights[i]=0;
for?(j=0;?j {
TotalWeights[i]+=Weights[j]*(int)(Chromosome[i][j]-48);
TotalValues[i]?+=Values[j]?*(int)(Chromosome[i][j]-48);
}

fitness[i]=(double)TotalValues[i];

}

}
/********************************************************/
//通過輪盤賭來選擇確定選擇交叉的父染色體
//parent中存儲了兩個選擇的父染色體的下標(biāo)
//輸入:
//?????double?*fitness:?適應(yīng)度,即每一個組合的價值
//?????double?*prob???:?每個組合的選擇概率
//輸出:
//?????int?*parent????:?選擇出來的兩個父染色體的標(biāo)號
/*******************************************************/

void?RoundRobinSelection(double?*fitness?double?*prob?int?*parent)
{
double?FintnessSum?=?0;
int?i?j;
double?r1?r2?r;
double?ProbSum=0;
int?parent1?parent2;

for?(i=0;?i {
FintnessSum?+=?fitness[i];
}
for?(i=0;?i {
prob[i]?=?(float)fitness[i]?/?FintnessSum;?
}


r1?=?rand()?/(double)?(RAND_MAX);
r2?=?rand()/(double)?(RAND_MAX);
if(r1>r2)
{
r=?r1;
r1?=?r2;
r2?=?r;
}

for?(i=0;?i {
if?(ProbSum?=?r1)
{
parent[0]?=?i;
break;
}
ProbSum?+=?prob[i];
}
f

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????531968??2015-03-06?16:13??GA_Knapsack\0-1背包問題測試數(shù)據(jù)(提供參考).xls

?????文件??????31232??2015-03-06?20:15??GA_Knapsack\Debug\GA_Knapsack.exe

?????文件?????404552??2015-03-06?20:15??GA_Knapsack\Debug\GA_Knapsack.ilk

?????文件?????429056??2015-03-06?20:15??GA_Knapsack\Debug\GA_Knapsack.pdb

?????文件??????11734??2015-03-06?20:15??GA_Knapsack\GA_Knapsack\Debug\BuildLog.htm

?????文件??????19488??2015-03-06?20:15??GA_Knapsack\GA_Knapsack\Debug\GA.obj

?????文件????????663??2015-03-06?11:40??GA_Knapsack\GA_Knapsack\Debug\GA_Knapsack.exe.embed.manifest

?????文件????????728??2015-03-06?11:40??GA_Knapsack\GA_Knapsack\Debug\GA_Knapsack.exe.embed.manifest.res

?????文件????????621??2015-03-06?20:15??GA_Knapsack\GA_Knapsack\Debug\GA_Knapsack.exe.intermediate.manifest

?????文件?????????65??2015-03-06?20:15??GA_Knapsack\GA_Knapsack\Debug\mt.dep

?????文件??????60416??2015-03-06?20:15??GA_Knapsack\GA_Knapsack\Debug\vc90.idb

?????文件??????69632??2015-03-06?20:15??GA_Knapsack\GA_Knapsack\Debug\vc90.pdb

?????文件???????6754??2015-03-06?20:39??GA_Knapsack\GA_Knapsack\GA.cpp

?????文件???????3980??2015-03-06?11:38??GA_Knapsack\GA_Knapsack\GA_Knapsack.vcproj

?????文件???????1421??2015-03-06?20:39??GA_Knapsack\GA_Knapsack\GA_Knapsack.vcproj.STAP1ZWWA147.Administrator.user

?????文件???????3554??2015-03-06?13:05??GA_Knapsack\GA_Knapsack\input.txt

?????文件????????983??2015-03-06?20:47??GA_Knapsack\GA_Knapsack\ReadMe.txt

?????文件?????133246??2015-03-06?20:17??GA_Knapsack\GA_Knapsack\result.txt

?????文件??????15993??2015-03-06?19:24??GA_Knapsack\GA_Knapsack\test.txt

?????文件??????????0??2015-03-06?19:59??GA_Knapsack\GA_Knapsack\test2.txt

?????文件?????584704??2015-03-06?20:39??GA_Knapsack\GA_Knapsack.ncb

?????文件????????899??2015-03-06?11:07??GA_Knapsack\GA_Knapsack.sln

????..A..H.?????17408??2015-03-06?20:39??GA_Knapsack\GA_Knapsack.suo

?????目錄??????????0??2015-03-06?20:15??GA_Knapsack\GA_Knapsack\Debug

?????目錄??????????0??2015-03-06?16:22??GA_Knapsack\Debug

?????目錄??????????0??2015-03-06?20:39??GA_Knapsack\GA_Knapsack

?????目錄??????????0??2015-03-06?20:47??GA_Knapsack

-----------?---------??----------?-----??----

??????????????2329097????????????????????27



............此處省略0個文件信息

評論

共有 條評論