The planning process of public and private companies relies on optimal project selection and scheduling and the efficient allocation of scarce resources. This process is complicated due in part to the fact that project investment must consider multiple criteria, project cash flows are uncertain, and there are several operational business and technical constraints. The proposed mixed-integer programming model assists the planning manager/analyst by choosing from a bank of projects in which projects to invest and when to invest. The model maximizes the sum of net present values of the chosen projects while minimizing their variance. The model satisfies simultaneously a set of precedence relations among projects; early and tardy project starting dates; exogenous budget limits; and endogenous project cash flow generation. Finally, by quantifying the opportunity cost, the model shows how arbitrary project selection and sequencing can reflect non-desirable solutions for the company and the society.