Size and Topology Optimization for Trusses with Discrete Design Variables by Improved Firefly Algorithm. (4th June 2017)