📄 tschromosome__define.pro
字号:
;{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|
PRO TsChromosome::setPROperty, xPos=xPos, yPos=yPos, names=names
;replaces old traversal order with new one.
IF N_Elements(xPos) NE 0 THEN *self.xPos = xPos
IF N_Elements(yPos) NE 0 THEN *self.yPos = yPos
IF N_Elements(names) NE 0 THEN *self.names = names
Return
END
;{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|
PRO TsChromosome::getPROperty, numGenes=numGenes, xPos=xPos, yPos=yPos, $
fitness=fitness, names=names
;gets these values.
numGenes = self.numGenes
IF Arg_Present(xPos) THEN xPos = *self.xPos
IF Arg_Present(yPos) THEN yPos = *self.yPos
IF Arg_Present(fitness) THEN fitness = self->getFitness()
IF Arg_Present(names) THEN names = *self.names
Return
END
;{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|
FUNCTION TsChromosome::Copy
;Returns and exact duplicate of the chromosome
chromosome = Obj_New('TsChromosome' ,$
numGenes=self.numGenes ,$
xPos=(*self.xPos) ,$
yPos=(*self.yPos) ,$
names=(*self.names) $
)
Return,chromosome
END
;{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|
FUNCTION TsChromosome::GetFitness
;calculates the total distance squared traveled
xPos = *self.xPos
yPos = *self.yPos
indices = LIndgen(self.numGenes-1)
distance = Total((xPos[indices+1]-xPos[indices])^2. + $
(yPos[indices+1]-yPos[indices])^2.)
Return, distance
END
;{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|
FUNCTION TsChromosome::Init,numGenes=numGenes, xPos=xPos, yPos=yPos, $
names=names
;initilizes a new chromosome based upon the input traversal order.
self.numGenes = numGenes
self.xPos = Ptr_New(xPos)
self.yPos = Ptr_New(yPos)
self.names = Ptr_New(names)
Return,1
END
;{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|
PRO TsChromosome::cleanup
;frees pointers
IF Ptr_Valid(self.xPos) THEN Ptr_Free,self.xPos
IF Ptr_Valid(self.yPos) THEN Ptr_Free,self.yPos
IF Ptr_Valid(self.names) THEN Ptr_Free,self.names
Return
END
;{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|{{:|
PRO TsChromosome__Define
void = {TsChromosome ,$
numGenes : 0L ,$ ;number of genes
xPos : Ptr_New() ,$ ;x pos
yPos : Ptr_New() ,$ ;y pos
names : Ptr_New() } ;names of each gene, used for identIFication
Return
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -