亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? vb_genetic,algorithm.txt

?? 用vb編寫遺傳算法
?? TXT
字號:
這是我用vb寫的遺傳算法程序。是一些通用代碼,與具體問題對應的代碼空出來,用的時候填進去。根據我的經驗,要想用好遺傳算法,代碼必須自己寫,因為問題不同,編碼,雜交,變異算子可能都不一樣。特別是雜交算子,需要根據問題調整,甚至創造出新的雜交方法。而且適應度計算的代碼也需要自己寫,特別是帶約束的優化問題 

see_moonlight say :

Attention to your "Post format", need "Title"

Option Explicit

'遺傳算法參數
Dim GeneLength As Integer '染色體長度
Dim swarmNum As Integer '種群規模
Dim Pc As Double '雜交概率
Dim Pm As Double '突變概率
Dim maxNum As Integer '遺傳算法循環次數
Dim panelBool As Boolean
Dim tournamentBool As Boolean

'種群適應度統計
Dim optGene As Integer '最佳個體的位置
Dim worstGene As Integer '最差個體的位置
Dim sumFitness As Double '適應度總和
Dim meanFitness As Double '平均適應度
Dim maxFitness As Double '最大適應度
Dim minFitness As Double '最小適應度
Dim stdevFitness As Double '適應度標準差

'Dim OriPool() As Byte
Dim OriPool() As Double

'Dim MatePool() As Byte
Dim MatePool() As Double

Dim Fitness() As Double
Dim panelFitness() As Double

Dim FileNum As Integer

'高斯分布隨機數

Function randGauss() As Double
Dim i As Integer
randGauss = 0
For i = 1 To 20
randGauss = randGauss + Rnd
Next i
randGauss = (randGauss - 10) / (1.667) ^ 0.5
End Function

'輪盤賭博選擇算子
Function panelSelection(Fitness() As Double) As Integer

Dim index, fir, las, i As Integer
Dim temp, sum, sumFitness As Double

fir = LBound(Fitness)
las = UBound(Fitness)
sumFitness = 0
For i = fir To las
sumFitness = sumFitness + Fitness(i)
Next i
temp = Rnd * sumFitness '產生隨機數

index = fir - 1
sum = 0

Do While sum < temp
index = index + 1
sum = sum + Fitness(index)
Loop
If index = fir - 1 Then
panelSelection = fir
Else
panelSelection = index
End If

End Function

'錦標賽選擇算子
Function tournamentSele(Fitness() As Double) As Integer
Dim i, j As Integer
i = Int(swarmNum * Rnd + 1)
j = Int(swarmNum * Rnd + 1)
If Fitness(i) >= Fitness(j) Then
tournamentSele = i
Else
tournamentSele = j
End If
End Function

'計算種群適應度
Private Sub outFitness(oriPool() As Double, swarmNum As Integer)

Dim i As Integer
Dim a, b, e As Double
For i = 1 To swarmNum

'//***計算適應度語句***//
Fitness(i) = 0

'//***結束***//

Next i

sumFitness = 0
maxFitness = Fitness(1)
minFitness = Fitness(1)
optGene = 1
worstGene = 1

For i = 1 To swarmNum
sumFitness = sumFitness + Fitness(i)
If Fitness(i) > maxFitness Then
maxFitness = Fitness(i)
optGene = i
End If
If Fitness(i) < minFitness Then
minFitness = Fitness(i)
worstGene = i
End If
Next i

meanFitness = sumFitness / swarmNum

stdevFitness = 0
For i = 1 To swarmNum
stdevFitness = stdevFitness + (Fitness(i) - meanFitness) ^ 2
Next i
stdevFitness = stdevFitness / swarmNum

If maxFitness <> meanFitness Then
e = 1.5
a = (e - 1) * meanFitness / (maxFitness - meanFitness)
b = (1 - a) * meanFitness
For i = 1 To swarmNum
panelFitness(i) = a * Fitness(i) + b
If panelFitness(i) < 0 Then
panelFitness(i) = 0
End If
Next i
Else
For i = 1 To swarmNum
panelFitness(i) = Fitness(i)
Next i
End If

End Sub

Private Sub Command1_Click()

Dim i, j As Integer
Dim iterNum As Integer
Dim coupleNum As Integer
Dim wife, husband As Integer
Dim mateLocation As Integer
Dim tempint As Integer
Dim tempdbl As Double

Dim mutationLoc As Integer
Dim copySelection As Integer
Dim tempRnd As Double
Dim str As String

FileNum = FreeFile
Open "C:\My Documents\panel data\result.txt" For Output As FileNum

swarmNum = 20
Pc = 0.8
Pm = 0.001

maxNum = 30

panelBool = False
tournamentBool = True

GeneLength = 13
coupleNum = CInt(swarmNum * Pc / 2)

ReDim OriPool(1 To swarmNum, 1 To GeneLength)
ReDim MatePool(1 To swarmNum, 1 To GeneLength)
ReDim Fitness(1 To swarmNum)
ReDim panelFitness(1 To swarmNum)

'initialize originpool'

Randomize

For i = 1 To swarmNum

'//***初始化種群***//

'For j = 1 To GeneLength
'OriPool(i, j) = Int(2 * Rnd)
'Next j

For j = 1 To 9
OriPool(i, j) = Rnd
Next j

For j = 10 To 12
OriPool(i, j) = 100 * Rnd
Next j

OriPool(13) = Rnd

'//***初始化結束***//

Next i

For iterNum = 1 To maxNum

Call outFitness(oriPool, swarmNum)

Print #FileNum, "第" + CStr(iterNum) + "代解"
For i = 1 To swarmNum
str = ""
For j = 1 To GeneLength
If TypeName(OriPool(i, j)) = "Double" Then
str = str & Format(OriPool(i, j), "0.000") & ","
Else
str = str & CStr(OriPool(i, j))
End If
Next j

If TypeName(OriPool(i, 1)) = "Double" Then
str = Left(str, Len(str) - 1)
End If

Print #FileNum, str, Format(Fitness(i), "0.000")

Next i

str = "最優個體 "
For j = 1 To GeneLength
If TypeName(OriPool(optGene, j)) = "Double" Then
str = str & Format(OriPool(optGene, j), "0.000") & ","
Else
str = str & CStr(OriPool(optGene, j))
End If
Next j
If TypeName(OriPool(optGene, GeneLength)) = "Double" Then
str = Left(str, Len(str) - 1)
End If
Print #FileNum, str, Format(Fitness(optGene), "0.000")

str = "最差個體 "
For j = 1 To GeneLength
If TypeName(OriPool(worstGene, j)) = "Double" Then
str = str & Format(OriPool(worstGene, j), "0.000") & ","
Else
str = str & CStr(OriPool(worstGene, j))
End If
Next j
If TypeName(OriPool(worstGene, GeneLength)) = "Double" Then
str = Left(str, Len(str) - 1)
End If
Print #FileNum, str, Format(Fitness(worstGene), "0.000")
str = "平均適應度 = " & Format(meanFitness, "0.000") & " ; "
str = str & "適應度標準差 = " & Format(stdevFitness, "0.000")
Print #FileNum, str

'//***復制算子無需改動***//
'copy operator'

For i = 1 To swarmNum

If panelBool Then
copySelection = panelSelection(panelFitness)
End If
If tournamentBool Then
copySelection = tournamentSele(Fitness)
End If
For j = 1 To GeneLength
MatePool(i, j) = OriPool(copySelection, j)
Next j

Next i
'//***復制算子無需改動***//

'crossover operator'

For i = 1 To coupleNum
wife = Int(swarmNum * Rnd + 1)
husband = Int(swarmNum * Rnd + 1)
mateLocation = Int(GeneLength * Rnd + 1)
For j = 1 To mateLocation
If TypeName(MatePool(wife, j)) = "Double" Then
tempdbl = MatePool(wife, j)
MatePool(wife, j) = MatePool(husband, j)
MatePool(husband, j) = tempdbl
Else
tempint = MatePool(wife, j)
MatePool(wife, j) = MatePool(husband, j)
MatePool(husband, j) = tempint
End If
Next j
Next i

'mutation operator'
For i = 1 To swarmNum

'//***二進制編碼變異***//
For j = 1 To GeneLength
tempRnd = Rnd
If tempRnd <= Pm Then
MatePool(i, j) = (MatePool(i, j) + 1) Mod 2
End If
Next j
'//***二進制編碼變異結束***//

Next i

'//***加速器***//

'//***加速器結束***//

'//***將交配池的個體復制到原始池***//
For i = 1 To swarmNum
For j = 1 To GeneLength
OriPool(i, j) = MatePool(i, j)
Next j
Next i


Next iterNum

Text1.Text = "the end"

End Sub 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲丝袜精品丝袜在线| 亚洲综合在线观看视频| 亚洲免费在线看| 轻轻草成人在线| 99视频超级精品| 日韩欧美一级精品久久| 1区2区3区精品视频| 久久疯狂做爰流白浆xx| 欧美午夜精品久久久久久孕妇| 国产亚洲精品7777| 秋霞影院一区二区| 欧美亚一区二区| 综合分类小说区另类春色亚洲小说欧美| 日韩高清一级片| 91高清视频免费看| 亚洲婷婷国产精品电影人久久| 激情综合网最新| 69堂精品视频| 亚洲自拍偷拍av| 91色在线porny| 国产清纯白嫩初高生在线观看91 | 国产网站一区二区三区| 午夜精品久久久久久久| 91蝌蚪porny| 国产精品美女久久久久aⅴ| 国精产品一区一区三区mba桃花| 欧美日韩午夜在线视频| 亚洲精品精品亚洲| 成人黄动漫网站免费app| 久久久无码精品亚洲日韩按摩| 另类的小说在线视频另类成人小视频在线| 在线免费不卡视频| 一区二区成人在线| 色婷婷亚洲婷婷| 亚洲精品国产a| 91蜜桃网址入口| 亚洲美女偷拍久久| 色综合久久久久网| 亚洲最新在线观看| 在线观看www91| 亚洲国产aⅴ成人精品无吗| 91高清视频免费看| 亚洲第一狼人社区| 欧美日韩国产a| 亚洲成a人v欧美综合天堂| 这里是久久伊人| 久久精品噜噜噜成人av农村| 精品久久国产字幕高潮| 极品美女销魂一区二区三区| 久久精品在线免费观看| 成人影视亚洲图片在线| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | ●精品国产综合乱码久久久久 | 国产午夜精品一区二区三区视频| 国产精品一二二区| 中文字幕不卡在线| 91丨porny丨最新| 亚洲一区二区在线视频| 3d动漫精品啪啪一区二区竹菊| 天堂资源在线中文精品| 日韩一级大片在线观看| 国精品**一区二区三区在线蜜桃| 国产清纯美女被跳蛋高潮一区二区久久w| 成人黄色在线看| 亚洲五码中文字幕| 欧美r级在线观看| www.欧美日韩| 亚洲一区二区3| 欧美xxxxxxxxx| 91亚洲国产成人精品一区二三| 亚洲国产sm捆绑调教视频 | 欧美日韩大陆在线| 国产一区二区三区香蕉| 国产精品二区一区二区aⅴ污介绍| 欧美在线观看一区二区| 国内精品第一页| 亚洲一区二区三区在线看| 久久午夜电影网| 欧美性猛交xxxx乱大交退制版| 麻豆精品精品国产自在97香蕉| 国产精品理伦片| 日韩视频免费观看高清完整版在线观看 | 欧美亚洲一区二区在线| 色狠狠一区二区三区香蕉| 久久国产精品免费| 一区二区三区国产豹纹内裤在线| 精品捆绑美女sm三区| 欧美无砖砖区免费| 成人动漫一区二区在线| 卡一卡二国产精品| 亚洲国产毛片aaaaa无费看| 日本一区二区三区久久久久久久久不| 欧美日韩在线观看一区二区| 成人国产精品免费观看动漫| 九色综合狠狠综合久久| 亚洲一区免费观看| 亚洲欧美日韩国产一区二区三区| 精品日韩av一区二区| 制服丝袜亚洲播放| 色天使久久综合网天天| 丰满少妇在线播放bd日韩电影| 午夜电影久久久| 伊人性伊人情综合网| 国产精品久久久久久亚洲毛片| 欧美成人国产一区二区| 欧美卡1卡2卡| 欧美日韩精品一区二区天天拍小说| 一本久久a久久精品亚洲| 国产91精品久久久久久久网曝门 | 美国精品在线观看| 樱花草国产18久久久久| 国产精品初高中害羞小美女文| 久久天堂av综合合色蜜桃网| 日韩免费电影网站| 91精品国产色综合久久| 欧美天堂亚洲电影院在线播放| 91久久线看在观草草青青| 日韩欧美二区三区| 日韩午夜小视频| 精品国产三级电影在线观看| 日韩一卡二卡三卡国产欧美| 日韩欧美国产综合在线一区二区三区| 欧美日韩国产高清一区二区三区| 欧美中文字幕一二三区视频| 欧美日韩国产小视频在线观看| 欧美图片一区二区三区| 欧美性受极品xxxx喷水| 欧美日韩国产一区二区三区地区| 欧美日韩电影一区| 91麻豆精品国产91久久久更新时间 | 日韩女优av电影| 日韩欧美中文字幕一区| 精品久久一区二区三区| 久久亚洲二区三区| 国产精品久久久久久久久免费樱桃| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 亚洲激情第一区| 亚洲福中文字幕伊人影院| 日韩国产精品久久久| 美女视频免费一区| 国产激情偷乱视频一区二区三区| 成人avav影音| 欧美日韩一区二区三区在线| 91精品国产高清一区二区三区蜜臀| 在线电影院国产精品| 亚洲精品一线二线三线无人区| 国产区在线观看成人精品| 亚洲精品高清视频在线观看| 免费观看日韩电影| 国产精品影音先锋| 一本色道久久综合狠狠躁的推荐 | 制服丝袜中文字幕一区| 久久综合九色综合欧美亚洲| 成人欧美一区二区三区黑人麻豆| 一区二区在线观看视频 | 成av人片一区二区| 欧美日韩不卡一区| 国产精品国产精品国产专区不片| 一区二区三区不卡在线观看| 久草热8精品视频在线观看| 成人国产在线观看| 欧美一区二区三区视频免费播放 | 欧美videossexotv100| 亚洲欧洲日产国产综合网| 欧美aaaaa成人免费观看视频| 成人网页在线观看| 欧美电视剧在线观看完整版| 亚洲视频一区二区免费在线观看 | 天堂在线亚洲视频| 高清国产一区二区| 日韩欧美亚洲国产另类| 亚洲一区在线电影| 99国产精品久久久久久久久久久 | 色一区在线观看| 久久久久青草大香线综合精品| 一区二区三区国产精品| 成人动漫在线一区| 久久先锋资源网| 蜜臀av一区二区在线免费观看| 日本高清不卡视频| 国产精品久久久久婷婷| 麻豆国产精品视频| 91麻豆精品久久久久蜜臀| 亚洲人成影院在线观看| 成人激情开心网| 久久亚洲精精品中文字幕早川悠里| 午夜影院在线观看欧美| 成人av在线看| 国产日韩亚洲欧美综合| 美女在线视频一区| 欧美一区二区大片| 天天色综合天天| 69堂亚洲精品首页| 日本美女视频一区二区| 欧美日韩另类一区| 视频一区二区中文字幕| 欧美日韩成人综合在线一区二区| 亚洲国产色一区| 欧美日韩精品专区| av网站一区二区三区|