https://medium.com/@monocosmo77/working-with-global-optimization-in-machine-learning-scenarios-part2-d5c6c5239b1c