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

正文內(nèi)容

數(shù)學(xué)建模遺傳算法與優(yōu)化問題-在線瀏覽

2025-05-25 02:43本頁面
  

【正文】 :ones, zeros, sum, size, length, subs, double 等,以及 for, while 等基本程序結(jié)構(gòu)語句,讀者可參考前面專門關(guān)于Matlab的介紹,也可參考其他數(shù)學(xué)實驗章節(jié)中的“相關(guān)函數(shù)(命令)及簡介”內(nèi)容,此略.三、實驗內(nèi)容上述例1的求解過程為:群體中包含六個染色體,每個染色體用22位0—1碼,變量區(qū)間為 ,取Fmin=,遺傳代數(shù)為50代,則運用第一種終止條件(指定遺傳代數(shù))的Matlab程序為:[Count,Result,BestMember]=Genetic1(22,6,39。x*x+2*x+39。x*x+2*x+39。global Count。Count=1。PopulationFitness=Fitness(PopulationCode,FunctionFitness,MinX,MaxX,MumberLength)。PopulationProbability=Probability(PopulationFitnessF)。EachMaxFitness(Count)=EachGenMaxFitness。while CountGen NewPopulation=Select(Population,PopulationProbability,MemberNumber)。 NewPopulation=Crossing(Population,FunctionFitness,MinX,MaxX,MumberLength)。 NewPopulation=Mutation(Population,MutationProbability)。 PopulationFitness=Fitness(Population,FunctionFitness,MinX,MaxX,MumberLength)。 PopulationProbability=Probability(PopulationFitnessF)。 [NewPopulation,CurrentBest,EachGenMaxFitness]=Elitist(Population,PopulationFitness,MumberLength)。 MaxFitness(Count)=CurrentBest(length(CurrentBest))。endDim=size(Population)。for i=1:Dim(1) Result(1,i)=Translate(Population(i,:),MinX,MaxX,MumberLength)。BestMember(1,1)=Translate(CurrentBest(1:MumberLength),MinX,MaxX,MumberLength)。close allsubplot(211)plot(EachMaxFitness)subplot(212)plot(MaxFitness)【程序說明】:(1) MumberLength: 表示一個染色體位串的二進制長度.(例1中取22)(2) MemberNumber: 表示群體中染色體的個數(shù).(例1中取6個)(3) FunctionFitness: 表示目標函數(shù),是個字符串,因此用表達式時,用單引號括出.(例1中是)(4) MinX: 變量區(qū)間的下限.(例1中是中的)(5) MaxX: 變量區(qū)間的上限.(例1中是中的 2)(6) Fmin: 定義適應(yīng)函數(shù)過程中給出的一個目標函數(shù)的可能的最小值,由操作者自己給出.(例1中取Fmin=)(7) MutationProbability: 表示變異的概率,一般都很小.()(8) Gen: 表示遺傳的代數(shù),也就是終止程序時的代數(shù).(例1中取50)另外,: Count 表示遺傳的代數(shù);Result 表示計算的結(jié)果,也就是最優(yōu)解;BestMember表示最優(yōu)個體及其適應(yīng)值.附錄2:子程序 function Population=PopulationInitialize(MumberLength,MemberNumber)Temporary=rand(MemberNumber,MumberLength)?!境绦蛘f明】子程序 .這個初始群體含有MemberNumber個染色體,每個染色體有MumberLength個基因(二進制碼).附錄3:function PopulationFitness=Fitness(PopulationCode,FunctionFitness,MinX,MaxX,MumberLength)Dim=size(PopulationCode)。for i=1:Dim(1)PopulationFitness(i)=Transfer(PopulationCode(i,:),FunctionFitness,MinX,MaxX,MumberLength)。Dim=size(PopulationCode)。endPopulationData=MinX+PopulationData*(MaxXMinX)/(2^Dim(2)1)。PopulationData=Translate(PopulationCode,MinX,MaxX,MumberLength)。x39。 【程序說明】子程序 Transfer 把群體中的染色體的目標函數(shù)值用數(shù)值表示出來,它是Fitness的重要子程序.其有5個輸入?yún)?shù)分別為PopulationCode, FunctionFitness, MinX, MaxX,MumberLength.附錄6:function PopulationFitnessF=FitnessF(PopulationFitness,Fmin)Dim=size(PopulationFitness)。for i=1:Dim(2)if PopulationFitness(i)Fmin PopulationFitnessF(i)=PopulationFitness(i)Fmin。endend【程序說明】.其輸入?yún)?shù)如下:PopulationFitness 為群體中染色體的目標函數(shù)值,F(xiàn)min為定義適應(yīng)函數(shù)過程中給出的一個目標函數(shù)的可能的最小值.附錄7:子程序 function PopulationProbability=Probability(PopulationFitness)SumPopulationFitness=sum(PopulationFitness)?!境绦蛘f明】子程序 用于計算群體中每個染色體的入選概率,輸入?yún)?shù)為群體中染色體的適應(yīng)函數(shù)值PopulationFitness.附錄8:子程序 function NewPopulation=Select(Population,PopulationProbability,MemberNumber)CProbability(1)=PopulationProbability(1)。endfor i=1:MemberNumber r=rand(1)。 while rCProbability(Index) Index=Index+1。end【程序說明】子程序 根據(jù)入選概率(計算累計概率)在群體中按比例選擇部分染色體組成種群,該子程序的3個輸入?yún)?shù)分別為:群體Population,入選概率PopulationProbability,群體中染色體的個數(shù)MemberNumber.附錄9:子程序 function NewPopulation=Crossing(Population,FunctionFitness,MinX,MaxX,MumberLength)%%PopulationFitness=%% Fitness(Population,FunctionFitness,MinX,MaxX,MumberLength)。%%[SortResult,SortSite]=sort(PopulationProbability)。Dim=size(Population)。 Population(Dim(1),:)=Population(Dim(1)1,:)。endfor i=1:2:Dim(1)1 SiteArray=randperm(Dim(2))。 Temp=Population(i,1:Site)。 Population(i+1,1:Site)=Temp?!境绦蛘f明】子程序 用于群體中的交叉并產(chǎn)生新群體.其輸入?yún)?shù)為:Population, FunctionFitness,MinX,MaxX,MumberLength.附錄10:function NewPopulation=Mutation(Population,MutationProbability)Dim=size(Population)。 Site=randperm(Dim(2))。 end if Population(i,Site(1))==0 Population(i,Site(1))=1?!境绦蛘f明】.輸入?yún)?shù)為:群體Population和變異概率MutationProbability.附錄11:function [NewPopulationIncludeMax,CurrentBest,EachGenMaxFitness]=Elitist(Population,PopulationFitness,MumberLength)global Count CurrentBest。[MaxFitness,MaxSite]=max(PopulationFitness)。if Count==1 CurrentBest(1:MumberLength)=Population(MaxSite,:)。else if CurrentBest(MumberLength+1)PopulationFitness(MaxSite)。 CurrentBest(MumberLength+1)=PopulationFitness(MaxSite)。endNewPopulationIncludeMax=Population。對于小空間,經(jīng)典的窮舉法就足夠了;而對大空間,則需要使用特殊的人工智能技術(shù)。它從一個初始族出發(fā),由選擇算子選出性狀好的父本,由雜交算子進行雜交運算,變異算子進行少許變異,在一定概率規(guī)則控制下隨機搜索模型空間。 遺傳算法的結(jié)構(gòu): Procedure Genetic Algorithm begin initialize evaluate while (not terminationcondition) do beginselect from alter evaluate end end 圖1. 遺傳算法的結(jié)構(gòu) 在第次迭代,遺傳算法維持一個潛在解的群體。然后通過選擇更合適個體(次迭代)形成一個新的群體。雜交組合了兩個親體染色體(即待求參數(shù)的二進制編碼串)的特征,通過交換父代相應(yīng)的片斷形成了兩個相似的后代。雜交算子的目的是在不同潛在解之間進行信息交換。變異算子的意圖是向群體引入一些額外的變化性。(2
點擊復(fù)制文檔內(nèi)容
數(shù)學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1