现有150个地点,每个地点有坡度,降水两个属性信息,根据这两个属性信息判断该
地种树,人工草,还是天然草.要求用GA做.请教各位.
MyPD,MyJS是某地的坡度,降水信息,
ArtificialPD, ArtificialJS;    种天然草所需的坡度,降水量
InArtificialPD,InArtificialJS;  种人工草所需的坡度,降水量
WoodPD,WoodJS                    种树所需的坡度,降水量
If MyPD >= ArtificialPD Then
If MyJS > ArtificialJS And MyJS < (ArtificialJS + 10) Then
种人工草
MyLabel = 1 ' 一个地方只许种一种作物,MyLabel是标记
变量,表示已种人工草,不许再种其它作物。
End If
End IfIf MyPD >= InArtificialPD Then
If MyJS > InArtificialJS And MyJS < (InArtificialJS + 10) Then
If MyLabel = 0 Then
种天然草
MyLabel = 1
End If
End If
End If
If MyPD >= WoodPD Then
If MyJS > WoodJS Then
If MyLabel = 0 Then
种树
MyLabel = 1
End If
End If
End If
Can I use GA to cope with it ? if it can, how to cope with the
fitness function?
Thanks in advance!

解决方案 »

  1.   

    我的思路是这样的,瞎琢磨的,千万别见笑。把下面的参数:
    ArtificialPD, ArtificialJS
    InArtificialPD,InArtificialJS
    WoodPD,WoodJS看做是平面的三个参照点。将当地的降水量和坡度看做是平面的一个点。计算该点与三个参照点的直线距离(简单的勾股定理),然后看哪个距离最短,就适合种哪个。灵感来自于曾经编写过的一个判断橘子、苹果、柿子的程序。
      

  2.   

    PD_L = Abs(PD1 - PD2)
    JS_L = Abs(JS1 - JS2)
    L = SQR( PD_L ^ 2 + JS_L ^ 2)至于判断哪个点种什么很容易的。V=0 什么都没种
    V=1 天然草
    V=2 人工草
    V=3 树如果CBool(V)就是种了,否则就是没种。