Methods for selecting a research and development (R&D) project portfolio have attracted considerable interest among practitioners and academics. This notwithstanding, the industrial uptake of these methods has remained limited, partly due to the difficulties of capturing all the relevant concerns in R&D portfolio management. Motivated by these difficulties, we develop Contingent Portfolio Programming (CPP) which extends earlier approaches in that it (i) uses states of nature to capture exogenous uncertainties, (ii) models resources through dynamic state variables, and (iii) provides guidance for the selection of an optimal project portfolio that is compatible with the decision maker's risk attitude. Although CPP is presented here in the context of R&D project portfolios, it is applicable to a variety of investment problems where the dynamics and interactions of investment opportunities must be accounted for. The selection of research and development (R&D) projects has attracted considerable interest in the literatures on technology management and operations research (OR). These projects involve many characteristics -such as uncertainties and interdependent resource constraints -that are potentially amenable to analysis by OR techniques. Indeed, there exists a variety of related methods, ranging from scoring methods such as value trees (e.g., Keeney and Raiffa, 1976) and the Analytic Hierarchy Process (AHP; Saaty 1980) to optimization models (see, e.g., Luenberger 1998, p. 106, Gear et al. 1971, Baker 1974, Baker and Freeland 1975, Jackson 1983, Fox et al. 1984, Schmidt and Freeland 1992, Ghasemzadeh et al. 1999 and dynamic programming methods such as decision trees and real options (Hespos and Strassmann 1965, Dixit and Pindyck 1994, Trigeorgis 1996. Yet, despite this plethora of methodological approaches, the industrial uptake of these methods has remained limited (see, e.g., Liberatore and Titus 1983), possibly due to the difficulties of capturing the full range of phenomena that are relevant to the problem of selecting and managing R&D projects.Building on the literatures on decision analysis, technology management, and portfolio optimization, we develop Contingent Portfolio Programming (CPP) as a modeling framework which accommodates most of the characteristics that are relevant to R&D project selection. In CPP, R&D projects are regarded as risky investment opportunities that consume and produce several resources over multiple time periods. The staged nature of R&D projects is captured through project-specific decision trees (cf. Cooper 1993;Gear and Lockett 1973) which support managerial flexibility by allowing the decision maker (DM) to take stepwise decisions on each project in view of most recent information (Trigeorgis 1996). Uncertainties, on the other hand, are modeled through a state tree in the spirit of stochastic programming (see, e.g., Birge and Louveaux 1997).The DM's risk attitude is captured through an objective function that is a combination of a mean-risk model (Markowitz 1959(Ma...