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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? form1.frm

?? 基于VB語言編寫的遺傳算法
?? FRM
字號(hào):
VERSION 5.00
Begin VB.Form Form1 
   Caption         =   "Form1"
   ClientHeight    =   3090
   ClientLeft      =   60
   ClientTop       =   450
   ClientWidth     =   4680
   LinkTopic       =   "Form1"
   ScaleHeight     =   3090
   ScaleWidth      =   4680
   StartUpPosition =   2  '屏幕中心
   Begin VB.CommandButton Command1 
      Caption         =   "計(jì)算"
      Height          =   375
      Left            =   2640
      TabIndex        =   0
      Top             =   2400
      Width           =   1935
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Base 1

'遺傳算法參數(shù)
Dim Sample(GeneLength) As Double  '產(chǎn)生樣品基因代碼
Dim Generation As Integer             '運(yùn)行代數(shù)
Dim OriPool(Popsize) As Individual    '初始種群
Dim MatePool(Popsize) As Individual   '子代個(gè)體
Dim Best_Index As Integer
Dim Worst_Index As Integer
Dim BestIndividual As Individual
Dim WorstIndividual As Individual
Dim CurrentBest As Individual
Dim a(Popsize, VaryNum) As Double    '代求的常數(shù)a
Dim X0(DataNum, XNum) As Double     '應(yīng)變量X
Dim Y0()                            '變量值Y
Dim X1(), X2(), X3()                '初始數(shù)據(jù)
Dim aa(VaryNum)                     '求得最優(yōu)a1至a10參數(shù)輸出

Private Sub Form_Load()  '數(shù)據(jù)錄入
X1 = Array(0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.22, 0.33)
X2 = Array(4, 5.5, 4, 5.5, 3.5, 5, 3.5, 5, 3, 4.5, 3, 4.5, 3, 4.5, 0.46, 5.1)
X3 = Array(2, 1, 3, 1.5, 0.5, 2.5, 1, 3, 2, 0.5, 2.5, 1.5, 0.31, 1.01)
For j = 1 To DataNum
    X0(j, 1) = X1(j)
    X0(j, 2) = X2(j)
    X0(j, 3) = X3(j)
Next j
Y0 = Array(0.112, 0.16, 0.154, 0.206, 0.15, 0.19, 0.08, 0.153, 0.09, 0.173, 0.076, 0.187, 0.15, 0.156)
End Sub

Public Sub InitPop()  '初始化種群
Dim i%, j%
Randomize
For i = 1 To Popsize
    For j = 1 To GeneLength
        OriPool(i).Gene(j) = Int(2 * Rnd)
    Next j
    For j = 2 To GeneLength
        OriPool(i).Gene(j) = (OriPool(i).Gene(j) + OriPool(i).Gene(j - 1)) Mod 2  '產(chǎn)生格雷碼
    Next j
Next i
End Sub

Public Function Decoding(Pool#(), Start1%, Length1%) As Double    '解碼
Dim j%, TempCode() As Double, LL%, N#
    LL = Length1 - Start1 + 1
    ReDim TempCode(LL) As Double
    N = (Max_Var - Min_Var) / (2 ^ LL - 1)
    k = 0
    For j = Start1 To Length1
         k = k + 1
         TempCode(k) = Pool(j)                                 '解碼
    Next j
    Decoding = Min_Var
    For j = 1 To LL
        Decoding = Decoding + TempCode(j) * 2 ^ (j - 1) * N    '解碼
    Next j
End Function

Public Sub CalculateFitness()  '計(jì)算種群適應(yīng)度
Dim i%, j%, f(Popsize) As Double
For i = 1 To Popsize
    For j = 1 To VaryNum
        a(i, j) = Decoding(OriPool(i).Gene, (j - 1) * Length + 1, j * Length) '對(duì)這個(gè)種群解碼
    Next j
Next i
For i = 1 To Popsize
    For j = 1 To DataNum
        OriPool(i).Value(j) = a(i, 1) + a(i, 2) * X0(j, 1) + a(i, 3) * X0(j, 2) + a(i, 4) * X0(j, 3) + a(i, 5) * X0(j, 1) * X0(j, 2) + a(i, 6) * X0(j, 1) * X0(j, 3) + a(i, 7) * X0(j, 2) * X0(j, 3) + a(i, 8) * X0(j, 1) ^ 2 + a(i, 9) * X0(j, 2) ^ 2 + a(i, 10) * X0(j, 3) ^ 2
    Next j
Next i
For i = 1 To Popsize
    f(i) = 0    '另初值為零,得注意這里
    For j = 1 To DataNum
        f(i) = f(i) + (OriPool(i).Value(j) - Y0(j)) ^ 2    '剩余平方和
    Next j
Next i
For i = 1 To Popsize
    If FunctonMode = "MinImization" Then        '形式F(X)=Cmax-f(x)
       If Cmax > f(i) Then
          OriPool(i).Fitness = Cmax - f(i)
       Else
          OriPool(i).Fitness = 0
       End If
    ElseIf FunctonMode = "MaxImization" Then    '形式F(X)=f(x)-Cmin
       If Cmin < f(i) Then
          OriPool(i).Fitness = f(i) - Cmin
       Else
          OriPool(i).Fitness = 0
       End If
    End If
Next i
End Sub

Public Sub FindBestandWorstIndividual()     '尋求每代最優(yōu)和最差個(gè)體
Dim i%
BestIndividual = OriPool(1)
WorstIndividual = OriPool(1)
For i = 1 To Popsize
    If OriPool(i).Fitness > BestIndividual.Fitness Then
       BestIndividual = OriPool(i)
       Best_Index = i
    ElseIf OriPool(i).Fitness < BestIndividual.Fitness Then
       WorstIndividual = OriPool(i)
       Worst_Index = i
    End If
Next i
If Generation = 0 Then
   CurrentBest = BestIndividual
Else
   If BestIndividual.Fitness > CurrentBest.Fitness Then CurrentBest = BestIndividual
End If
End Sub

Public Sub FindEexllent()  '尋求精英個(gè)體
Dim i%, j%, CurrentPool(Popsize) As Individual, Temp As Individual
For i = 1 To Popsize
    CurrentPool(i) = OriPool(i)
Next i
For i = 1 To Popsize
    For j = i + 1 To Popsize
        If CurrentPool(i).Fitness <= CurrentPool(j).Fitness Then
           Temp = CurrentPool(i)
           CurrentPool(i) = CurrentPool(j)
           CurrentPool(j) = Temp
        End If
    Next j
Next i
For i = 1 To GoodNum
    MatePool(i) = CurrentPool(i)
Next i
End Sub

Public Sub SelectOperator()  '比例選擇法
Dim i%, Cfitness(Popsize) As Double, Sum As Double, P As Double
Randomize
Sum = 0
For i = 1 To Popsize
    Sum = Sum + OriPool(i).Fitness '計(jì)算適應(yīng)度總和
Next i
For i = 1 To Popsize
   Cfitness(i) = OriPool(i).Fitness / Sum  '選擇概率
Next i
For i = 2 To Popsize
    Cfitness(i) = Cfitness(i) + Cfitness(i - 1)
Next i
For i = GoodNum + 1 To Popsize
    P = Rnd * Cfitness(Popsize)
    Index = 1
    Do While P > Cfitness(Index)
       Index = Index + 1
    Loop
    MatePool(i) = OriPool(i)
Next i
For i = 1 To Popsize
    OriPool(i) = MatePool(i) '選擇后個(gè)體賦值給原種群
Next i
End Sub

Public Sub OrderSelection()          '排序選擇
Dim i%, j%, SumFitness#, Cfitness(Popsize) As Double, C#, P#
Dim CurrentPool(Popsize) As Individual, Temp As Individual
Dim Index As Integer
Randomize
For i = 1 To Popsize
    CurrentPool(i) = OriPool(i)
Next
SumFitness = 0
For i = 1 To Popsize
    SumFitness = SumFitness + CurrentPool(i).Fitness    '適應(yīng)度總和
Next i
If SumFitness = 0 Then SumFitness = 10 '如果適應(yīng)度和為零,則強(qiáng)迫為某一個(gè)值,防止出錯(cuò)!
For i = 1 To Popsize     '適應(yīng)度由大至小進(jìn)行排列
    For j = i + 1 To Popsize
        If CurrentPool(i).Fitness < CurrentPool(j).Fitness Then
           Temp = CurrentPool(i)
           CurrentPool(i) = CurrentPool(j)
           CurrentPool(j) = Temp
        End If
    Next j
Next i
Cfitness(1) = CurrentPool(1).Fitness / SumFitness         '第一個(gè)的概率
C = Cfitness(1)
For i = 1 To Popsize
    'Cfitness(i) = CurrentPool(i).Fitness / SumFitness
    Cfitness(i) = C * (1 - C) ^ (i - 1)
Next i
For i = 2 To Popsize
    Cfitness(i) = Cfitness(i) + Cfitness(i - 1)         '累計(jì)概率
Next i
For i = GoodNum + 1 To Popsize
    P = Rnd * Cfitness(Popsize - 40) '產(chǎn)生隨機(jī)數(shù)
    Index = 1
    Do While P > Cfitness(Index)
       Index = Index + 1
    Loop
    MatePool(i) = CurrentPool(Index)
Next i
For i = 1 To Popsize
    OriPool(i) = MatePool(i)  '選擇后個(gè)體賦值給原種群
Next i
End Sub

Public Sub SampleCode(Sample#()) '產(chǎn)生樣本
Randomize
For j = 1 To GeneLength
    Sample(j) = Int(2 * Rnd)
Next j
End Sub

Public Sub CrossoverOperator()  '交叉算法,精英個(gè)體不交叉、變異直接進(jìn)入下一代
Dim i%, j%
Dim CoupleNum%, Wife%, Husband%
Dim TempW(GeneLength) As Double, TempH(GeneLength) As Double
Dim SampleW(GeneLength) As Double, SampleH(GeneLength) As Double

CoupleNum = CInt(Popsize * Pc / 2)   '交叉對(duì)數(shù)
Randomize
For i = 1 To CoupleNum
    Wife = Int((Popsize - GoodNum) * Rnd + GoodNum + 1)
    Husband = Int((Popsize - GoodNum) * Rnd + GoodNum + 1)
    Do While Husband = Wife
       Husband = Int((Popsize - GoodNum) * Rnd + GoodNum + 1)
    Loop
    Call SampleCode(SampleW())    '均勻交叉樣本代碼1
    Call SampleCode(SampleH())    '均勻交叉樣本代碼2
    For j = 1 To GeneLength
        TempW(j) = OriPool(Wife).Gene(j)       '存放臨時(shí)數(shù)據(jù)
        TempH(j) = OriPool(Husband).Gene(j)
    Next j
    For j = 1 To GeneLength
        If SampleW(j) = 1 Then
           OriPool(Wife).Gene(j) = TempH(j)      '樣本1中為1的表示由父提供代碼,0表示母提供代碼
        End If
        If SampleH(j) = 0 Then
           OriPool(Husband).Gene(j) = TempW(j)  '樣本1中為1的表示由父提供代碼,0表示母提供代碼
        End If
    Next j
Next i
End Sub

Public Sub MutationOperator()  '變異算法,精英個(gè)體不交叉、變異直接進(jìn)入下一代
Dim i%, j%, TemRnd#, mm%
For i = GoodNum + 1 To Popsize
    For j = 1 To GeneLength
        TemRnd = Rnd
        If TemRnd <= Pm Then
           OriPool(i).Gene(j) = (OriPool(i).Gene(j) + 1) Mod 2
           mm = mm + 1
        End If
    Next j
Next i
'Debug.Print mm  '突變數(shù)目
End Sub

Private Sub Command1_Click()
Call InitPop    '初始化

For Generation = 1 To MaxNum
    Call CalculateFitness
    Call FindBestandWorstIndividual
    Call FindEexllent
    'Call SelectOperator   '比例選擇
    Call OrderSelection   '排序選擇
    Call CrossoverOperator
    Call MutationOperator
    Debug.Print "當(dāng)前運(yùn)算到第"; Generation; " 代    ";
    Debug.Print "BestIndividual.Fitness="; Cmax - BestIndividual.Fitness
   ' Debug.Print "WorstIndividual.Fitness="; WorstIndividual.Fitness;
    'Debug.Print "CurrentBest.Fitness="; CurrentBest.Fitness
Next Generation

'#######結(jié)果輸出########
    For j = 1 To VaryNum
        aa(j) = Decoding(CurrentBest.Gene, (j - 1) * Length + 1, j * Length) '對(duì)這個(gè)種群解碼
    Next j
    For i = 1 To VaryNum
        Debug.Print "a("; i; ")="; aa(i)
    Next i
    For i = 1 To DataNum
        Debug.Print "CurrentBest.Value("; i; ")="; CurrentBest.Value(i)
    Next i
    erro = 0
    For j = 1 To DataNum
        erro = erro + (CurrentBest.Value(j) - Y0(j)) ^ 2         '標(biāo)準(zhǔn)方差
    Next j
    Debug.Print "剩余平方和Erro^2="; erro
'#######結(jié)果輸出########
End Sub















?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲午夜高清国产拍精品| 日韩欧美成人一区| 美女被吸乳得到大胸91| 亚洲欧美一区二区视频| 日韩免费观看2025年上映的电影| 不卡区在线中文字幕| 久久精品国产亚洲高清剧情介绍| 亚洲欧美日韩一区二区| 久久久国产精品麻豆| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲一区二区三区在线| 久久午夜羞羞影院免费观看| 欧美人成免费网站| 在线视频一区二区三| 国产.欧美.日韩| 美腿丝袜亚洲一区| 天天综合色天天综合| 亚洲一区在线观看免费| |精品福利一区二区三区| 久久精品人人爽人人爽| 精品美女一区二区| 欧美一二三区在线观看| 欧美日韩日日摸| 欧美在线啊v一区| 色系网站成人免费| 97精品视频在线观看自产线路二| 国产91清纯白嫩初高中在线观看| 国内久久精品视频| 91视频免费播放| 国产毛片精品视频| 国产一区视频在线看| 六月丁香婷婷色狠狠久久| 石原莉奈一区二区三区在线观看| 亚洲影视资源网| 亚洲国产精品综合小说图片区| 亚洲精品视频在线看| 亚洲嫩草精品久久| 亚洲激情av在线| 亚洲一区在线观看网站| 亚洲18女电影在线观看| 天堂一区二区在线| 欧美a级理论片| 激情国产一区二区| 国产精品一二三区| 不卡的av在线| 色94色欧美sute亚洲线路一ni| 在线亚洲高清视频| 欧美精品在线观看播放| 日韩一级大片在线| 精品国产一区二区精华| 国产拍欧美日韩视频二区| 亚洲国产精品v| 亚洲欧美日韩电影| 亚洲bdsm女犯bdsm网站| 老汉av免费一区二区三区| 国产酒店精品激情| 91在线视频官网| 欧美日韩激情在线| 日韩欧美国产电影| 日本一二三四高清不卡| 亚洲精品成人a在线观看| 亚洲国产日日夜夜| 麻豆freexxxx性91精品| 国产a级毛片一区| 在线观看成人小视频| 在线电影欧美成精品| 久久精品综合网| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲成av人片在www色猫咪| 老司机免费视频一区二区三区| 成人综合在线观看| 欧美三级电影精品| 久久久精品2019中文字幕之3| 亚洲视频免费在线| 日本sm残虐另类| 波多野结衣在线一区| 欧美三日本三级三级在线播放| 精品免费国产一区二区三区四区| 中文字幕av不卡| 午夜视频在线观看一区二区 | 一区二区日韩电影| 久久精品99国产精品| 99久免费精品视频在线观看| 欧美日韩国产首页在线观看| 国产亚洲欧美色| 亚洲成a人v欧美综合天堂| 国产成人在线视频网址| 欧美日韩在线播放三区| 国产午夜三级一区二区三| 亚洲一区视频在线观看视频| 国产酒店精品激情| 欧美高清视频在线高清观看mv色露露十八 | 一本色道**综合亚洲精品蜜桃冫 | 久久在线观看免费| 亚洲尤物在线视频观看| 成人午夜短视频| 欧美一区二区二区| 亚洲精品日日夜夜| 国产成人精品影院| 日韩欧美国产一区二区在线播放| 亚洲欧美日韩国产一区二区三区| 精品一区二区三区在线视频| 欧美日韩一区二区三区四区 | 91美女在线观看| 久久久亚洲精品一区二区三区| 亚洲第一会所有码转帖| av网站免费线看精品| 久久蜜桃av一区精品变态类天堂 | 在线视频欧美精品| 国产精品天天看| 黄色小说综合网站| 欧美日韩视频第一区| 亚洲免费观看高清在线观看| 国产成人8x视频一区二区 | 亚洲宅男天堂在线观看无病毒| 国产不卡视频一区| 精品国产第一区二区三区观看体验| 亚洲bt欧美bt精品| 欧美日韩在线免费视频| 一区二区三区丝袜| 91亚洲精华国产精华精华液| 中文字幕第一区第二区| 国产一区二区三区在线观看免费| 日韩一区二区在线观看视频播放 | 成人性生交大合| 国产亚洲精品资源在线26u| 久久精品国产精品青草| 884aa四虎影成人精品一区| 亚洲成年人影院| 欧美手机在线视频| 亚洲成人第一页| 欧美美女直播网站| 日韩黄色小视频| 宅男噜噜噜66一区二区66| 天天爽夜夜爽夜夜爽精品视频| 欧美色综合网站| 亚洲1区2区3区4区| 欧美一区二区视频在线观看| 美女脱光内衣内裤视频久久影院| 制服丝袜成人动漫| 久久精品久久综合| 久久香蕉国产线看观看99| 国产98色在线|日韩| 亚洲国产精品国自产拍av| 成人网页在线观看| 亚洲欧美日韩国产一区二区三区| 91福利国产精品| 日韩精品福利网| 自拍偷拍欧美精品| 日本久久一区二区三区| 亚洲香蕉伊在人在线观| 91精品国产高清一区二区三区| 美女国产一区二区三区| 国产日韩视频一区二区三区| 成人av电影在线观看| 亚洲综合丁香婷婷六月香| 欧美精品电影在线播放| 精品中文av资源站在线观看| 日本一区二区三区四区| 色视频一区二区| 日韩精品三区四区| 久久久www成人免费无遮挡大片| 成人爽a毛片一区二区免费| 亚洲精选视频在线| 日韩一区二区精品| 成人黄页毛片网站| 亚洲成a人片在线观看中文| 精品国产露脸精彩对白| 99精品视频中文字幕| 日韩av一区二区在线影视| 久久久久久毛片| 在线免费一区三区| 九九精品一区二区| 亚洲欧美偷拍另类a∨色屁股| 欧美三级在线看| 国产成人免费视频一区| 夜夜嗨av一区二区三区网页| 欧美videos大乳护士334| 91免费看片在线观看| 久久精品国产秦先生| 亚洲精选一二三| 久久影院午夜片一区| 欧美亚洲愉拍一区二区| 国产一区二区三区观看| 亚洲综合色噜噜狠狠| 久久久国际精品| 制服丝袜亚洲精品中文字幕| 成人sese在线| 久久精品国产亚洲a| 亚洲一区二区欧美日韩| 国产女人18水真多18精品一级做| 9191久久久久久久久久久| 成人精品免费看| 精品在线一区二区三区| 亚洲一区在线观看免费 | 69堂国产成人免费视频| 97se狠狠狠综合亚洲狠狠| 麻豆视频观看网址久久| 亚洲国产毛片aaaaa无费看 | 精品国产三级a在线观看|