A major source of inefficiency in power grids is the underutilization of generation capacity. This is mainly because load demand during peak hours is much larger than that during off-peak hours. Moreover, extra generation capacity is needed to maintain a security margin above peak load demand. As load demand keeps increasing and two-way communications are enabled by smart meters (SMs), demand response (DR) has been proposed as an alternative to installing new power plants in smart grids. DR makes use of real-time schemes to allow users to modify their load demand patterns according to their energy consumption costs. In particular, when load demand is high, energy consumption cost will be high and users may decide to postpone certain amount of their consumption needs. This strategy may effectively reduce the peak load demand and increases the off-peak demand, and hence could increase existing generation capacity utilization and reduce the need to install extra generation plants. In this paper, we consider a third-party managing the energy consumption of a group of users, and formulate the load scheduling problem as a constrained multi-objective optimization problem (CMOP). The optimization objectives are to minimize energy consumption cost and to maximize a certain utility, which can be conflicting and non-commensurable. We then develop two evolutionary algorithms (EAs) to obtain the Pareto-front solutions and the ε-Pareto front solutions to the CMOP, respectively, which are validated by extensive simulation results.