### Article

## A Boolean programming problem of choosing an optimal portfolio of projects and optimal schedules for them by reinvesting within the portfolio the profit from project implementation

A problem of choosing an optimal portfolio of projects from a set of *m* projects that are to be financed under a limited budget, along with a schedule for their implementation within a period of time [1,*T*], where each project can commence at moments 1,*T *and last for several consecutive time segments, is considered. Each project requires a certain volume of investment to be distributed within a period of time that is a subset of consecutive time segments from [1,*T*], some projects from the set can generate profit upon completion according to a certain schedule, and the generated profit can be reinvested in the other projects. In the basic problem, it is assumed that all the projects are equally important (so that there are no priorities for choosing a subset of projects that should commence or be completed earlier that the others), and there is no order for executing any projects from the set. These assumptions transform the basic problem into a problem of finding an optimal order (schedule) for commencing the projects, where optimality can be understood, for instance, in the sense of the number of projects that can be completed within the period [1,*T*]. A mathematical formulation of the basic problem in the form of a Boolean programming one is proposed, and some generalizations of the problem, including those obtained by imposing certain precedence conditions on the execution of the projects, are discussed.