⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modcalculatefitnessvalue.bas

📁 用vb编写的一个遗传算法的程序
💻 BAS
字号:
Attribute VB_Name = "ModCalculateFitnessValue"
'计算适应度
Sub CalculateFitnessValue()
Dim i As Integer
Dim x1 As Double, x2 As Double
For i = 0 To PopSize - 1
    x1 = DecodeChromosome(Population(i).chrom, 0, 10, -2.048, 2.048)
    x2 = DecodeChromosome(Population(i).chrom, 10, 10, -2.048, 2.048)
    Population(i).fitness = 100 * (x1 ^ 2 - x2) ^ 2 + (1 - x1) ^ 2
Next i
End Sub

'解码
'参数:软色体串,串的起始位置,串长,所对应变量的下限,上限
Function DecodeChromosome(ch() As Integer, point As Integer, length As Integer, lowerlimit As Double, upperlimit As Double) As Double
Dim i As Integer
Dim temp As Double
temp = 0#
For i = point To point + length - 1
    temp = temp + ch(i) * 2 ^ (i - point)
Next i
DecodeChromosome = lowerlimit + temp * (upperlimit - lowerlimit) / (2 ^ length - 1)
End Function

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -