Pyevolve Graph

110 views
Skip to first unread message

Peter Greaves

unread,
May 6, 2014, 2:16:26 AM5/6/14
to pyev...@googlegroups.com
Hi Everyone,

I'd like to check the performance of my GA using the plotting function available in pyevolve. I've set up the database adapter:

sqlite_adapter = DBAdapters.DBSQLite(identify="ex1", resetDB=True,frequency=1, commit_freq=1)

And I get a file in my directory called pyevolve.db when I run my code, but it only plots one generation when I am running it for 20 generations and committing and saving data every generation. Does anyone have any idea why this might be?

Code is below, thanks for any help.

Pete

from pyevolve import G1DList

from pyevolve import Mutators, Initializators

from pyevolve import GSimpleGA, Consts

from pyevolve import DBAdapters



# This is the Sphere Function

def EvalFunc(xlist):


global SectionProps,Sections,SectionToAnalyse,NodesList,ElNormTarget,OptimInput,K,Kl,M,Rlb,Damping,Cdb,TestType,TestStandPitch,BladePitch,gravity

Args=(SectionProps,Sections,SectionToAnalyse,NodesList,ElNormTarget,OptimInput,K,Kl,M,Rlb,Damping,Cdb,TestType,TestStandPitch,BladePitch,gravity,False)

xg=np.array(xlist[:])

Error=OptimFunc(xg,*Args)

return 1.0/Error

sqlite_adapter = DBAdapters.DBSQLite(identify="ex1", resetDB=True,frequency=1, commit_freq=1)

genome = G1DList.G1DList(12)

sqlite_adapter.setStatsGenFreq(1)

genome.setParams(rangemin=0.0, rangemax=1.0)

genome.initializator.set(Initializators.G1DListInitializatorReal)

genome.mutator.set(Mutators.G1DListMutatorRealGaussian)

genome.evaluator.set(EvalFunc)


ga = GSimpleGA.GSimpleGA(genome)

ga.setDBAdapter(sqlite_adapter)


ga.setMinimax(Consts.minimaxType["maximize"])

ga.setGenerations(200)

ga.setMutationRate(0.01)


ga.evolve(freq_stats=1)

sqlite_adapter.open(ga)

sqlite_adapter.insert(ga)

sqlite_adapter.commitAndClose()



best = ga.bestIndividual()

Args=(SectionProps,Sections,SectionToAnalyse,NodesList,ElNormTarget,OptimInput,K,Kl,M,Rlb,Damping,Cdb,TestType,TestStandPitch,BladePitch,gravity,True)

xg=np.array(best[:])

Error,Forces,Mass,ElNorm=OptimFunc(xg,*Args)

#python "C:\Python27\Lib\site-packages\Pyevolve\pyevolve_graph.py" -i ex1 -1


Reply all
Reply to author
Forward
0 new messages