主权项 |
一种辅助船舶进行避碰决策的方法,它包括以下步骤:1)针对船舶本身的每一航向和航速进行编码,并将每一航向和航速的编码串联在一起形成一个染色体X<sub>i</sub>,该染色体共Q位,形成n条染色体作为该船舶的初始种群Φ={X<sub>1</sub>,X<sub>2</sub>,...,X<sub>n</sub>},i=1,2,...,n;2)计算初始种群中每个染色体X<sub>i</sub>的适应度值f(X<sub>i</sub>),利用该适应度值f(X<sub>i</sub>)计算该染色体被选中的概率P<sub>i</sub>,利用随机数生成器随机产生[0,1]内的随机数r<sub>p</sub>,并判断二者的大小关系:若r<sub>p</sub><P<sub>i</sub>,X<sub>i</sub>被保留,否则X<sub>i</sub>被淘汰,且种群中剩余染色体的数量为M;3)求出种群中染色体的最大适应值f<sub>max</sub>和平均适应值f<sub>avg</sub>,并根据二者计算交叉概率P<sub>c</sub>;4)从[1,M]中产生2个随机数i和j,且i≠j,决定两个进行交叉的染色体X<sub>i</sub>和X<sub>j</sub>;从[1,Q]中产生一个随机数k决定染色体的交叉位;利用随机数生成器随机产生[0,1]内的随机数r<sub>c</sub>,并判断该随机数r<sub>c</sub>与交叉概率P<sub>c</sub>的大小:若r<sub>c</sub><P<sub>c</sub>,则将X<sub>i</sub>和X<sub>j</sub>从第1位至交叉位k之间的编码互换,组成2条新的染色体;否则,不变;5)求出上一步形成的种群中的最大适应值和平均适应值,并根据二者计算变异概率P<sub>m</sub>;6)从[1,M]中产生一个随机数i决定进行变异的染色体X<sub>i</sub>;从[1,Q]中产生一个随机数k决定染色体的变异位;从[0,1]中产生一个随机数r<sub>m</sub>,并判断r<sub>m</sub>和P<sub>m</sub>的大小关系:若r<sub>m</sub><P<sub>m</sub>,则执行变异:设X<sub>i</sub>上的第k位为x<sub>ik</sub>,对x<sub>ik</sub>进行补运算,即令<img file="FDA0000773783380000011.GIF" wi="286" he="80" />为X<sub>i</sub>上的第k位上的新值;7)判断种群中染色体的数量是否为1,若为1,则该染色体为最优解,即得到本船舶安全的航向和航速,算法终止;否则返回步骤2)直到得到最优解。 |