Introduction of this project
This section describes the internal structure of the CALYPSO. And introducing the basic algorithms of the CALYPSO.
Make sure it is updated when you are developing the CALYPSO.
Basic structure
Main Thread(Runner)
flowchart LR id1[population] -- Calydata --> id2[generator wrapper] -- Calydata --> id3[database] --> id4[workers] --> id1Main Thread (Runner)
Workers Thread(WorkerTreads)
flowchart LR subgraph sent_task direction LR runner -- Calydata --> optimizer optimizer -- optcontext --> dispatcher end subgraph receive_task direction LR id0[dispatcher] -- optcontext --> id1[optimizer] id1[optimizer] -- Calydata --> population endWorkers Thread (WorkerTreads)
Dispatcher
flowchart LR database <-- optcontext --> resource1 & resource2 & ...
Main
The CALYPSO is a Python package.
calypso.x begin at calypso/cli.py:6 and it deal with command line arguments and pass them to calypso.main
flowchart LR
subgraph sg1[Init basic]
direction TB
id1[Find config file] --> id2[Read config file]
id2[Read config file] --> id3[Seed everything]
id3[Seed everything] --> id4[Pick up set]
end
subgraph sg2[Init instance]
direction LR
id5[CalyDatabase]
id6[Population]
id7[Descriptor]
id8[Gbest]
id9[Pbest]
id10[Fitness]
id11[Evolution]
id12[Generator]
id13[Optimizer]
id14[GeneratorWrapper]
Dispatcher
Runner
sg1out(config) --> id5 & id6 & id7 & id8 & id9 & id10 & id11 & id12 & id13 & Dispatcher & Runner
subgraph sg3[Database]
direction TB
id5 --> id5out(database)
end
subgraph sg4[Population]
id5out --> id6 --> id6out(population)
end
subgraph sg5[Descriptor]
id7 --> id7out(descriptor)
end
subgraph sg6[Evolution]
id11 --> id11out(evolutioner)
end
subgraph sg7[Generator]
id12 --> id12out(generator)
end
subgraph sg8[GeneratorWrapper]
id11 & id12 --> id14 --> id14out(generator_wrapper)
end
subgraph FitnessSub
id10 --> id10out(fitness)
end
subgraph OptimizerSub
id10out --> id13 --> id13out(optimizer)
end
subgraph DispatcherSub
id5out --> Dispatcher --> Disout(dispatcher)
end
end
sg1 --> sg2
flowchart LR
subgraph RunnerSub
id5out(database) & id6out(population) & id13out(optimizer) & id14out(generator_wrapper) & Disout(dispatcher) --> Runner
end