Multi-Objective Energy Optimization with Load and Distributed Energy Source Scheduling in the Smart Power Grid