V3FIT
ga_select.f
1  SUBROUTINE ga_select(mate,ipick)
2 c#######################################################################
3 c
4 c This routine SELECTs the better of two possible parents for mating.
5 c
6  USE ga_mod
7  IMPLICIT NONE
8  INTEGER :: mate, ipick, IFirst, isecond
9  SAVE
10 c
11  IF(ipick+1.gt.npopsiz) CALL ga_shuffle(ipick)
12  ifirst=ipick
13  isecond=ipick+1
14  ipick=ipick+2
15  IF(fitness(ifirst).gt.fitness(isecond)) THEN
16  mate=ifirst
17  ELSE
18  mate=isecond
19  END IF
20 c WRITE(3,*)'select',ifirst,isecond,fitness(ifirst),fitness(isecond)
21 c
22  END SUBROUTINE ga_select