Smart Grid, Demand Response and Optimization: A Critical Review of Computational Methods