3.1 Overview of Firefly Algorithm