Applying limited-preemptive scheduling to peak load reduction in smart buildings