Communication-based load allocation and restoration to improve efficiency and resilience in smart grids integrated with renewables and electric vehicles