Initial commit.

TODO comments
TODO Self Organized Optimization Algorithm - not working properly
TODO Self Organized Optimization Algorithm - ManyToMany variant