In recent years, supply chains have become increasingly globalized. As a consequence, the world's supply of all types of parts has become more susceptible to disruptions. Some of these disruptions are extreme and may have global implications. Our research is based on the supply risk management problem faced by a manufacturer. We model the problem as a dynamic program, design and implement approximate dynamic programming (ADP) algorithms to solve it, to overcome the well-known curses of dimensionality. Using numerical experiments, we compare the performance of different ADP algorithms. We then design a series of numerical experiments to study the performance of different sourcing strategies (single, dual, multiple, and contingent sourcing) under various settings, and to discover insights for supply risk management practice. The results show that, under a wide variety of settings, the addition of a third or more suppliers brings much less marginal benefits. Thus, managers can limit their options to a backup supplier (contingent sourcing) or an additional regular supplier (dual sourcing). Our results also show that, unless the backup supplier can supply with zero lead time, using dual sourcing appears to be preferable. Lastly, we demonstrate the capability of the proposed method in analyzing more complicated realistic supply chains.