遗传算法VB程序

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Dim Script As Object

Public Enum CrossOver

On ePoi

ntCrossOver TwoPoi

ntCrossOver

Un

iformCrossOver

End Enum

Public Enum Selecti

on RouletteWheelSelection

StochasticTourame

nt

Ran domLeagueMatches

StochasticU ni versalSample

ing

碉用其Eval 函数 '单点交叉 '两点交叉 '平均交叉

'轮盘赌选择 '随机竞争选择 '随机联赛选择 '随机遍历取样

End Enum

Public Enum En Cod ing

Bi nary

'标准二进制编码 Gray

'格雷码 End Enum

Private Type GAi nfo

Cordi nate() As

Double

End Type

咲********************************** ***********************************

'函数名:BinaryToGray

'参 数:Value -要转换的二进制数的实值

'说 明:如3对应的二进制表示为 0011,而用格雷码表示为 0010,这个函数的

0011代表的实数

' 而返回的是0010所代表的实数(2)

'返 回 值:返回格雷码对应的二进制数的实值

'开发语言:B 语言

'作者:yyf

Public Fun cti on Bin aryToGray(Value As Long) As Long

Dim V As Long, Max As Long

Dim start As Long, mEnd As Long, Temp As Long, Coun ter As Long

Dim Flag As Boolea n

V = Value: Max = 1

While V > 0

Wend 二进制码转格雷码 value 为

咲********************************** 二进制码转格雷码

***********************************

If Max = 0 Then Exit Function

Flag = True

mE nd = Max - 1

While start < mEnd

Temp = (mE nd + start - 1) / 2

If Value <= Temp The n

If Not Flag The n

Cou nter = Cou nter + (mEnd - start + 1) / 2 End If

mEnd = Temp

Flag = True

Else

If Flag Then

Cou nter = Cou nter + (mEnd - start + 1) / 2 End If

Temp = Temp + 1

start = Temp

Flag = False

End If

Bin aryToGray = Coun ter

End Function

'函数名:BinaryToGray

'参 数:Value -要转换的二进制数的实值

'说 明:如3对应的二进制表示为 0011,而用格雷码表示为 0010,这个函数的 0010代表的实数

' 而返回的是0010所代表的实数(2)

'返 回 值:返回格雷码对应的二进制数的实值

Public Fun cti on GrayToB in ary(Value As Long) As Long

Dim V As Long, Max As Long

Dim start As Long, mEnd As Long, Temp As Long, Coun ter As Long

Dim Flag As Boolea n

V = Value: Max = 1

While V > 0

V = V / 2咲********************************** 格雷码转二进制码 *********************************** value 为

咲********************************** 格雷码转二进制码

***********************************

mE nd = Max - 1

While start < mEnd

Temp = Coun ter + (mE nd - start + 1) / 2

If Flag Xor (Value < Temp) The n

If Flag Then Counter = Temp

start = (start + mEnd + 1) / 2

Flag = False

Else

If Not Flag Then Counter = Temp

mEnd = (start + mEnd - 1) / 2

Flag = True

End If

Wend

GrayToB inary = start

End Function

咲********************************** 十进制转转二进制码*********************************** '函数名:DecToB in ary

'参数:Value -要转换的十进制数'返回值:返回对应的二进制数

相关文档
最新文档