freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于遺傳算法求解背包問題畢業(yè)論文(參考版)

2025-06-27 15:52本頁面
  

【正文】 }}。 coutThe information in Genome is as below:endl。 }else{//失敗 coutOH,Sorry!。 coutThe information in Genome is as below:endl。 indexMaxResult = maxFitness(hashTable)。//產(chǎn)看是否滿足SIM coutnCountendl。 //更新種群 printGenome()。 //交叉 mutation()。nCountnGenerations){ nCount++。 while(flagamp。 flag = checkFitness()。用于隨機產(chǎn)生染色體 //generatePopulation()。 } } checkCapacity(parentGenome,i)。j++){ if(parentGenome[i].Gene[j]==1){ parentGenome[i].Weight += Weight[j]。i++){ for(int j=0。 //初始化染色體種群 for(int i=0。 bool flag = true。 }}void main(){ int nGenerations = 1000。j++){ coutparentGenome[i].Gene[j]。 for(int j=0。i++){ coutparentGenome[i].Weight。t mutate! } } } }}//打印所有的父代染色體void printGenome(){ for(int i=0。 nextGenome[i].Fitness += Value[partPos]。 }else{ if(nextGenome[i].Weight+Weight[partPos]CAPACITY){ nextGenome[i].Gene[partPos]=1。 nextGenome[i].Weight = Weight[partPos]。 if(probMP){ int partPos = rand()%NUMG。 iPOPSIZE 。 } sortFitness(indexCF,nextGenome)。 calculateFitness(nextGenome,i+POPSIZE/2)。 checkCapacity(nextGenome,i)。 } calculateCapacity(nextGenome,i)。j++){ nextGenome[i].Gene[j] = parentGenome[Father].Gene[j]。 } for(。j++){ nextGenome[i].Gene[j] = parentGenome[Father].Gene[j]。 for(int j=0。 int Father = selectIndex()。 iPOPSIZE/2 。 sortFitness(indexPF,parentGenome)。j++){ parentGenome[indexPF[i]].Gene[j] = nextGenome[indexCF[i]].Gene[j]。 for(int j=0。i++){ parentGenome[indexPF[i]].Fitness = nextGenome[indexCF[i]].Fitness。 for(int i=0。j++){ parentGenome[indexPF[i]].Gene[j] = parentGenome[indexPF[iPOPSIZE*8/10]].Gene[j]。 for(int j=0。i++){ parentGenome[indexPF[i]].Fitness = parentGenome[indexPF[iPOPSIZE*8/10]].Fitness。 }}//精英策略:保持優(yōu)秀的父染色體void keepBestParents(){ for(int i=POPSIZE*8/10。i++){ indexFitness[i] = selectedMaxFitness(Genome)。 for(int i=0。 } } return maxPos。amp。 iPOPSIZE 。 i = POPSIZE。 iPOPSIZE 。//獲取當前HASH表中的最大Fitness的索引int selectedMaxFitness(GENE *Genome){ int maxPos = 0。 } } return index。 } End++。 Begin = End。 crossProb = (double)summaryBE/(double)summaryF。 summaryF = summaryFitness(0,POPSIZE)。 bool flag = true。 int summaryF = 0。 double crossProb = 。 } } return summaryF。 iEnd 。i++){ summaryF += parentGenome[i].Fitness。 } }else{ for(int i=Begin。 iEnd 。//計算從Begin-End位置的染色體的適應度之和int summaryFitness(int Begin,int End){ int summaryF = 0。}//賭輪選擇函數(shù)代碼段int Begin = 0。 } TraverseHashTable(hashTable)。amp。 double pDiff = hashTable[index].Diff/(double)POPSIZE。 } } index = maxFitness(hashTable)。 if(parentGenome[i].FitnesshashTable[index].maxFitness){ hashTable[index].maxFitness = parentGenome[i].Fitness。 pNodeNext = hashTable[index].Next。 if(NULL==pNode){ pNode = new HASHNODE。 hashTable[index].Count++。 iPOPSIZE 。 initHashTable(hashTable)。 int index = 0。 } coutendl。 while(NULL!=lastPos){ coutlastPosFitness:。 lastPos = hashTable[i].Next。i++){ if(hashTable[i].Count==0){ continue。 for(int i=0。 HASHNODE *lastPos = NULL。 } return pHead。 lastPos = pHead。 while(NULL!=pHead){ if(pHeadFitness==Fitness){ break。 } } return index。i++){ if(hashTable[i].maxFitnessmaxF){ maxF = hashTable[i].maxFitness。 for(int i=1。 }}//在HASH表頭結(jié)點中搜索最大的適應度int maxFitness(HEAD *hashTable){ int maxF = hashTable[0].maxFitness。 hashTable[i].Diff= 0。i++){ hashTable[i].maxFitness = 0。 } }}//初始化HASH表void initHashTable(HEAD * hashTable){ for(int i=0。 Genome[iD].Weight = Weight[idModify]。 } }}//染色體大小檢查void checkCapacity(GENE * Genome,int iD){ while(Genome[iD].WeightCAPACITY){ int idModify = rand()%NUMG。 jNUMG 。 } }}//計算染色體的適應度void calculateFitness(GENE * Genome,int iD){ Genome[iD].Fitness = 0。 jNUMG 。//子染色體索引//計算染色體的大小void calculateCapacity(GENE * Genome,int iD){ Genome[iD].Weight = 0。int indexPF[POPSIZE]。//新的染色體//需要裝入背包的物品的大小和價值int Weight[NUMG]={6,9,8,8,6, 1, 10,5,7, 1}??勺孕芯帉戨S機生成染色體的函數(shù)來生成染色體GENE parentGenome[NUMG]={ {0,0,{0,0,1,0,1,1,0,1,0,1}}, {0,0,{0,0,1,1,0,0,0,1,0,1}}, {0,0,{0,0,0,1,1,0,0,0,1,1}}, {0,0,{0,1,0,0,0,1,0,1,1,0}}, {0,0,{1,0,1,0,0,1,1,0,0,1}}, {0,0,{1,1,0,0,0,1,0,0,1,1}}, {0,0,{0,1,0,0,0,1,0,1,1,0}}, {0,0,{1,0,1,1,0,1,0,0,0,0}}, {0,0,{1,1,1,0,1,1,0,1,0,0}}, {0,0,{1,1,1,1,0,0,0,0,0,0}}}。 //染色體中對應的基因}GENE。 //每個染色體的大小 int Fitness。//頭結(jié)點//HASH表HEAD hashTable[DIST]。 HASHNODE *Next。 int Count。}HASHNODE。define SIM //算法終止條件之一:染色體之間的相似度上限define MP //變異率define DIST 13 //程序中HASH表的距離//程序中用到的HASH表中鏈表結(jié)點結(jié)構定義typedef struct Node{ int Fitness。最后,感謝所有在生活和學習上給予我?guī)椭娜?!參考文獻:[1] 陳國良,[M].北京:人民郵電出版社,~10. [2] 陳文清. 遺傳算法綜述[J]. 武漢: 華中科技大學,~58.[3] [D].博士學位論文,哈爾濱。每一次,碰到一個困難,不知該如何繼續(xù)的時候,總是身邊的朋友鼓勵我,幫助我查找相關資料,因為對人工智能不太熟悉,所以論文完成階段也是困難重重,但通過網(wǎng)上論壇上咨詢,朋友的幫助,也一步步克服了困難,所以在這里也要特別感謝那些幫助過我的認識的和不認識的朋友。從一開始的開題報告答辯就一直磕磕碰碰,那個時候差點失去信心,不知道接下來的論文工作該如何進行,但鄧老師還是用他的切身經(jīng)歷鼓勵我,以他淵博的學識、科學嚴謹?shù)闹螌W態(tài)度、一絲不茍的工作作風和無私忘我的奉獻精神深深地影響著我,將使我受益終身。首先,我衷心地感謝我的指導老師鄧大勇老師,我的整個論文都是在鄧大勇老師的關懷和細心指導下完成的。到目前,遺傳算法的理論機制仍不是很清楚,這可能和生命科學的研究一樣,將是一個永恒的研究課題,但也是一個難題。遺傳算法的商業(yè)應用五花八門,覆蓋面甚廣。如果一個應用問題不能求得目標函數(shù)的全局最優(yōu)值,而只能或只希望求一定意義下的滿意解,這時,可供選擇的方法之一自然是遺傳算法,因為遺傳算法比其他算法有更多的優(yōu)勢。6 展望遺傳算法作為一種對生物進化現(xiàn)象進行仿真的程序,取得了人工遺傳的模擬效果,具有自適應性。 我們通過上述例子,嚴格按照遺傳算法對背包問題進行了完整的求解,事實說明,用遺傳算法來解決此類組合優(yōu)化問題也是比較有效的,而且非常好用,它的解的空間比較大,而且在最后能無限度地接近最優(yōu)解。 遺傳算法利用目標函數(shù)的信息,而不是導
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1