When a malfunction occurs in a Smart Grid electricity provisioning system, it is vitally important to quickly diagnose the problem and take corrective action. The self-healing problem refers to the need to take action in near real time to reallocate power to minimize the disruption. To address this need, we present a collection of integer linear programming (ILP) models designed to identify optimal combinations of supply sources, demand sites for them to serve, and the pathways along which the reallocated power should flow. The models explicitly support the uncertainty associated with alternative sources such as wind power. A simulator configured with multiple intelligent distributed software agents has been developed to support the evaluation of the model solutions.