This paper introduces a new strategy for controlling electric water heaters (EWH) using mixed-integer linear programming (MILP). It has two major contributions: 1) To balance between cost savings and the discomfort (cold water) that Demand Response (DR) could bring, the discomfort is modeled as undelivered energy in the objective of the problem rather than a thermal constraint. This improves both sides of the cost-saving Vs. User-comfort trade-ff. 2) in EWH control, many previous works only rely on electricity prices for scheduling. However, this work is among the very few works that also consider consumption for scheduling. Further, by treating the hot water withdrawal pattern as a random variable, the algorithm finds the best setpoints for EWH via stochastic optimization over a range of possible hot water withdrawal patterns, rather than requiring perfect foresight of withdrawal. The result of these changes is an algorithm that can let the temperature fall below minimum when probability of energy usage is low without affecting user comfort while other methods always keep the temperature above minimum. The effectiveness of this approach on improving both sides of the cost Vs. discomfort trade-off and the effectiveness of stochastic approach is confirmed by comparison with two other methods.