This paper proposes an optimization strategy to assist utility operators to recover power distribution systems after large outages. Specifically, a mixed-integer linear programming (MILP) model is developed for co-optimizing crews, resources, and network operations. The MILP model coordinates damage isolation, network reconfiguration, distributed generator redispatch, and crew/resource logistics. In addition, a framework for integrating different types of photovoltaic (PV) systems in the restoration process is developed. We consider two different types of crews, namely, line crews for damage repair and tree crews for obstacle removal. We also model the repair resource logistic constraints. Furthermore, a new algorithm is developed for solving the distribution system repair and restoration problem (DSRRP). The algorithm starts by solving DSRRP using an assignment-based method, then a neighborhood search method is designed to iteratively improve the solution. The proposed method is validated on modified IEEE 123-and 8500-bus distribution test systems.Active power charge/discharge of the BESS at bus i P/Q L i,ϕ,t Active/reactive load supplied at bus i, phase ϕ and time t P/Q P V i,ϕ,tThe active/reactive power output of the PV at bus i P/Q G i,ϕ,t Active/reactive power generated by DG at bus i, phase ϕ and time t P/Q K k,ϕ,t