An introduction to population approaches for optimization and hierarchical objective functions