NETWORK PROGRAMMING THEORY APPLICATION TO PROJECT PORTFOLIO FORMATION

The paper deals with an application of the network (dichotomous) programming method for solving multi-extremal problems and discrete optimization problems. The concept of a generalized dual problem is introduced and a theorem on its convexity is proved. Network programming method is used to build a business-forming project portfolio as well as an algorithm for solving completely dependent related projects is developed. Also, this method is used to solve the problem of building a business-supporting project portfolio for which the lower cost estimate is obtained. A computational experiment is carried out to evaluate the suggested algorithm, which showed that for large dimensions of the problem it is more effective than for solving the problem by linear programming methods.


INTRODUCTION
The recent scientific literature suggests many definitions of project portfolio. According to Meredith and Mandel (2010) a portfolio is 'a group or set of projects with varying characteristics'. Turner and Müller (2003) propose the following definition of a portfolio: 'An organization where projects are managed together to coordinate interfaces, prioritize resources between projects, and thereby reduce uncertainty'. Artto et al. (2001) consider a project portfolio as 'a collection of projects that are carried out in the same business unit sharing the same strategic objectives and the same resource pool'.

International Project
Management Association argues that a project portfolio can be seen as a collection of projects or programs that are not necessarily linked to one goal. Projects and programs are combined into a portfolio in order to ensure optimal use of the organization's resources and achieve the strategic goals of the organization while minimizing portfolio risks (Coesmans et al., 2018).
Project portfolios may include not only individual projects but also groups of interrelated projects combined into programs. For example, an information technology development program may be a part of the portfolio of organizational development projects.
Based on the above definitions we consider in this paper a project portfolio as a set of projects that are grouped in order to increase management efficiency and to achieve the strategic goals of the organization.
Building of the effective project portfolio is an important and complex task, which implies taking into account the compliance of project goals with the strategic goals of the organization, and maximization of the portfolio value for the organization under existing resource constraints.
The main goal of this paper is the application of the network (dichotomous) programming method for solving multiextremal problems and discrete optimization problems that allows to build a businessforming project portfolio and a businesssupporting project portfolio. This paper has the following structure. In Section 3 the concept of a generalized dual network programming problem is introduced and the theorems are proved, the proofs of which are used to solve the problems of project portfolio formation. In Section 4 the problem of business-forming project portfolio building is analyzed and the algorithm for its solving is developed. In Section 5 the problem of building a businesssupporting project portfolio is examined, an algorithm for its solution based on branch and bound method is suggested as well as a computational experiment is carried out to estimate the computational complexity of the algorithm. Section 6 contains a discussion of the results and perspectives of possible applications.

LITERATURE REVIEW
At the present time due to a high competition in fast changing environment efficient management of the project portfolio is an important tool for the success of any company. Project portfolio management (PPM) helps to achieve the strategic goals of an organization by means of management and optimization activities applied to a project portfolio under certain restrictions (Archer & Ghasemzadeh, 1999;Hyväri, 2014;Momćilović et al., 2014). According to (Levine, 2005) PPM solves key problems of project-based organizations: eliminates the gap between project and operating management and becomes a core of all organizational activities. Project portfolio synergistic effect may be described as a simultaneous achievement of the best financial, economic, social and other results (Maizlish & Handler, 2005).
Most organizations seek to get the maximum benefit from the projects implementation included in the corporate portfolio. At the same time, they operate under a variety of constraints, such as time deadline and resource limitations, product project linkages and environmental constraints.
Over the past decades, a variety of approaches have been suggested to optimize the process of portfolio formation and management, covering various aspects of project management. Most approaches are based on solving optimization problems where it's necessary to build a target function describing the value of the portfolio and to determine the system of constraints imposed on its components.
In 2003, the theory of network programming was developed to obtain exact solutions or upper (lower) estimates of multiextremal (in the particular case -discrete) optimization problems (Burkov et al., 2003) and, subsequently, it was advanced in the following works (Burkov et al., 2005;Burkova, 2009).
The theory of network programming allows to represent a complex function as a superposition of simpler functions. Such a representation is called a network representation and it is convenient to represent it as a graph of the network type, the initial vertices of which correspond to variables, and the rest correspond to the functions included in the superposition. The network programming method for solving optimization problems is applicable when both the objective function and the constraint func-tion have the same network representations (Burkov et al., 2005;Burkova, 2009).
Taking into account that the theory of network programming has a wide range of applicability in various spheres including project management (see, e.g. -Burkov et al., 2017;Kondratjev et al., 2019;Burkov et al., 2011) it seems reasonable to apply the theory to the problem of project portfolio formation that the paper deals with.

GENERALIZED DUAL PROBLEM IN THE METHOD OF NETWORK PROGRAMMING
The method idea is the possibility of representing a function (or set of functions) in the form of a superposition of simpler functions. Such a superposition is convenient to represent in the form of a directed network without contours the inputs of which correspond to variables (zero level), and the rest of the nodes correspond to functions included in the superposition (network representation).
The problem solution at the final node of the network gives an upper (lower) estimate for the initial problem. If the network representation is a tree, then the solution of the problem in the final node of the network gives the optimal solution of the initial problem. If the objective function and the set of functions representing the constraints of the problem are s-similar, in each node of the network representation (starting from the nodes of the first level), it is possible to solve simpler optimization problems with fewer variables and (or) constraints.
Assume that we solve the maximum problem and the objective function is a nondecreasing function of its variables.
Theorem 1. The solution of the problem at the final node of the network representation (network input) gives an upper estimate of the initial problem.
Proof. The set of solutions of the modified network contains all the solutions of the initial problem. These solutions have the following form. If one arc of the obtained solution enters the node corresponding to the variable, then all arcs entering this node also belong to the obtained solution. It follows that the obtained optimal solution of the modified problem gives a lower bound for the optimal solution of the initial problem.
The requirement of a non-decreasing objective function can be weakened if we consider three-level structures ( Figure 1): (1) In this case, it is enough to require nondecreasing function Φ(φ) by function φ j , ( Figure 1).
Thus, the network programming method provides a fairly universal way to obtain upper (lower) estimates of a wide class of discrete optimization problems as well as multi-extremal continuous problems. These estimates can be used in the branch and bound method.
Assume that the structure of the network representation is a tree. In this case, the following theorem takes place.
Theorem 2. The solution of the problem in the final node of the network representation gives the optimal solution of the initial problem.
Proof. The proof of Theorem 2 directly follows from the Theorem 1, namely, for the tree not only the set of solutions of the modified network contains all solutions of the initial problem. The opposite is also true -the set of solutions of the initial problem coincides with the set of solutions of the modified network since the set of solutions with input index is greater than when the one is empty.
Typically, there are many network representations for the optimization problem. Naturally, it raises the issue of a choice of such a network representation for which to get upper (lower) estimates is the minimum (maximum).
Example 1. Let's consider the problem of maximizing the function (2) under the constraint (3) where x i are 2 or 3. To make ƒ(x) s-similar to φ(x) , let's write it as (4) In this case, the functions have a single network representation structure (Figure 2), where (5) Solve evaluation problems in node (y 1 , z 1 ) and (y 2 , z 2 ).
At the node (y 1 , z 1 ) we solve the maximization problem y 1 = 2x 1 + x 2 under the constraint z 1 = 3x 1 2 x 2 ≤ P 1, where P 1 is a parameter. The solution of this problem is given in Table 1.
At the node (y 2 , z 2 ) we solve the maximization problem y 2 = 2x 2 + 5x 3 under the constraint z 2 = 3x 2 2 x 3 ≤ P 2 , where P 2 is a parameter. The solution of this problem is given in Table 2.
At the node (ƒ,φ) we solve the maximization problem F 1 (P 1 ) + F 2 (P 2 ) under the constraint P 1 + P 2 ≤ 60. The solution of this problem is given in Table 3.
Optimal solution is defined by the cell (60; 26). Upper estimate is equal to 26. Note that this estimate corresponds to 2 solutions: at the node (y 1 , z 1 ) the solution is x 2 =3, x 1 =2; at the node (y 2 , z 2 ) the solution is x 2 =2, x 3 =3. This pair of solutions does not define a valid solution.
However, as shown above, solving two evaluation problems we obtain an estimate 25. At the same time we have solutions: at the node (y 1 , z 1 ) the solution is x 1 =2, x 2 =2; at the node (y 2 , z 2 ) the solution is x 3 =3, x 2 =2.
Since the values x 2 in both problems are the same, the pair of these solutions defines the valid one, and hence is the optimal solution of the initial problem.
Definition 2. The problem of finding a network representation for which the upper 9 I. Burkova / SJM 16 (1) (2021) Table 1. The solution of the maximization problem y 1 = 2x 1 + x 2 under the constraint z 1 = 3x 1 2 x 2 ≤ P 1, where P 1 is a parameter. Table 2. The solution of the maximization problem y 2 = 2x 2 + 5x 3 under the constraint z 2 = 3x 2 2 x 3 ≤ P 2 , where P 2 is a parameter Table 3. The solution of the maximization problem F 1 (P 1 ) + F 2 (P 2 ) under the constraint P 1 + P 2 ≤ 60 (lower) estimate is minimal (maximal) is called a generalized dual problem (GDP).
In (Burkova, 2009) there is a constructed GDP for the classical problem of nonlinear optimization (7) and simple network representation structure (Figure 3), where x j is a j problem constraint, Let's introduce generalized (dual) functions h j (x) so that (8) and consider (m+1) evaluation problem. The first m evaluation problems are to maximize h j (x) under the constraint φ j (x)≤b j . The last problem is as follows (9) If we indicate F j (h j ) as the value of the objective function in the optimal solution of j evaluation problem and F(h) as the value of the objective function in the optimal solution of (m+1) evaluation problem, then functional value of (10) gives an upper estimate for the initial problem. GDP is the definition of functions that satisfy (8) and minimize (10). In particular, if we have h j (x) = λ; φ j (x),λ j >0 , then GDP becomes the method of Lagrange multipliers.
In (Burkova, 2009) it was proved that at network representation (Figure 3) GDP is a convex programming problem. Let's give a generalization of this result to arbitrary network representation structures.
Theorem 3. GDP is a convex programming problem.
Proof. Let's consider an arbitrary network representation of the constraint system structure. First, let's consider a method of constructing a network representation of the objective function, ssimilar network representation of the constraints system. Let the network G(x,u) defines the network representation of the constraints system, Q 1 -the set of nodes of the first level (from the nodes of this level begin the solution of evaluation problems), r -the number of these nodes. Divide the function ƒ(x) into r of parts h i (x), 10 I. Burkova / SJM 16 (1) (2021)  In each node i we solve the maximization problem z 1 = h i (x) under constraint φ i (x) ≤p i ( p i -parameter). Indicate z i 0 (p i ,h) as a value z i in the optimal solution of this problem. Indicate u i as a set of directly following nodes for the node i, r i as a number of these nodes. Divide the function z i 0 (p i ,h) into r i of parts z ij 0 (p ij ,h), j u i . Indicate Q 2 as a set of nodes of the second level, v i as a set of set of immediately preceding nodes for a node i Q 2 . At node i let's solve the maximization problem: under the constraint (13) Indicate z i 0 (p i ,h) as a value z i in the optimal solution of this problem. Solving the problem at the first level nodes, let's go to nodes of the second level and etc. until to the final node. Consider the problem (12) -(13) solved at the nodes of the network. Let's take two feasible solutions of the generalized dual problem h 1 and h 2 . It is obvious that their convex linear combination h = ah 1 + (1-a)h 2 is also a valid GDP solution.
There is also (14) therefore (15) Thus, at each node we get a convex functional, which proves the theorem.
Let's consider examples of network programming theory application to the problems of project portfolio formation.

Problem statement
There are m business-forming projects (BF-projects). Each of such projects allows you to implement n i related business projects. Indicate a i as an effect of the implementation of ί-th business-forming project i=1,m, a ij -an effect of the implementation of j-th related project, j=1,n i in case if the ί-th business-forming project is implemented, δ ij is an effect of the implementation of j-th related project, if ί-th BF-project isn't implemented, c iimplementation costs of ί-th BF-project, c ijimplementation costs of j-th project accompanying for the ί-th business-forming project j=1,n i . Indicate x i =1, if ί-th BFproject is included in the portfolio, x i =0, otherwise; x ij =1, if j-th project accompanying to ί-th BF-project project is included in the portfolio, x ij =0 alternatively. Define maximizing (17) under the constraint (18) where R -the value of the investment Fund.

Solution algorithm for completely dependent related projects
Let's consider the example when the related projects are completely dependent on the business-forming project, i.e. if the BFproject is not implemented, the related BFprojects also can't be implemented. In formal notation, this means that for δ ij =0 all ί, j. The peculiarity of this example is the fact that there is a network representation of the problem with the structure of the dichotomous tree type network representation.
To show this, let's consider the general problem of formation a portfolio of interdependent projects. There are n projects. A matrix is given, a ij elements of which determine the effect (we can say, the synergetic effect), if both project ί and project j are implemented. The problem is to define x={x i }, i=1,n maximizing (19) under the constraint (20) It is easy to show that the problem (17) -(18) is a special example of the problem (19) - (20).
Define a graph of project relations. It consists of n nodes (by the number of projects). Two nodes and j are connected by an edge (i,j), if a ij >0.
Let's give a definition of a special type of graph relations -"Bush". Consider the graph in Figure 4. In fact, this graph reflects the situation with several BF-projects, each of which has several related projects. As is known, a graph consisting of several trees is called a forest. In our example, we are not dealing with trees, but rather with "bushes". It is therefore natural to call a graph consisting of several "bushes" by a "shrub" (Figure 4).
Let's ask when problem (19) -(20) admits a network representation with a dichotomous tree structure. The answer to this question is given by the following theorem.

Theorem 4. In order that problem (19) -(20) allows a network representation of the dichotomous tree under any a ij ≠0, it is necessary and sufficient that the project relations graph is a "shrub".
Proof. The sufficiency is obvious. Indeed, the "shrub" admits a network representation with a dichotomous tree structure. Such a representation for one bush is shown in Figure 5.
Necessity. Let the graph of relations is not a "bush", i.e. there is always a chain of length 3 in it. However such a chain can't be realized under arbitrary a ij ≠0 dichotomous tree structure that is easy to verify.

Partially dependent related projects
Consider a situation in which one or more related projects have their own businesses independent of the business project. This situation corresponds to the graph of relations ( Figure 6). }, i=1,m, j=1,n j maximizing (21) under the constraint (22) Note that the interaction graph of projects is no longer a "shrub", so there is no network representation with the structure of the dichotomous tree. The exception is the special case when the business-forming project has only one accompanying project.

Problem statement. Define {x i },{x ij
To solve the problem, let's consider two options x i =0 or x i =1 for each "bush".  (24) where R i -parameter. 0≤R i ≤R .
As a result, we get the dependence B i1 (R i )of the i-bush maximum effect on the amount of funding R i . The above problem is solved by the method of dichotomous programming. The problem, as above, is solved by the method of dichotomous programming. The solution is the reverse method.

Problem statement
Suppose there are m types of needs required to provide a certain group of businesses. There are also n business-supporting projects (BSP) each of which is able to meet the need for a specific product. Indicate b j as the implementing cost of the j-BSP, c ij -the cost of providing i-need by j-BSP.
Definition. Portfolio of the Q businesssupporting projects will be called complete if for any need there is a BSP j Q that can respond to this need. Indicate R i as a set of BSPs that can responds i-need, where a set of BSPs from the full set Q that can respond the i need. It is obvious that consumers (businesses) will choose BSP s, which will provide the need with the minimum cost, that is (31) The total cost of providing businesses will be (32) Problem statement. To determine the full set of Q BSPs in which the total cost (32) is minimal.
Comment 1. If a large time interval is considered, then to define с ij discounting periods should be taken into account.
Comment 2. It is supposed that the implementation of BSPs is carried out in one period.

Lower cost estimates obtaining
To obtain the lower cost estimates, apply the network programming method. Indicate P j as a set of needs that j BSP can provide, m j is a number of such needs. Divide each j BSP for which m j >1 to m j elementary BSPs with implementation cost s ij , i p j so that (33) It is obvious that each elementary BSP provides only one need. In this case, the problem is easily solved. Namely, it will provide i-need for BSP k, for which the cost is (34) The total cost is (35)

Theorem 5. Total cost (35) gives a lower estimate of total cost (32).
Proof. The proof follows from the fact that any solution to the minimization problem (32) is a valid solution to the problem (33), (35).
The problem is easy to reduce to the problem of linear programming. To do this, let's take the variables (36) It is obvious that (37) We have a linear programming problem: maximize (38) under the constraints (33) and (37).

Corollary. If a feasible solution to the initial problem is obtained as a result of the solution of the generalized dual problem, then this solution is optimal.
Proof. The proof follows from the fact that we obtain an achievable lower estimate, it means that the corresponding solution is optimal.

Branch and bound method
The solution results of the generalized dual problem, which give a low estimate for the initial problem, can be used in the branch and bound method.
Note that the exact solution of the generalized dual problem requires the solution of the linear programming problem. This will require computational time that may not be offset by a possible decrease in the number of branches. At the same time, any feasible solution to the generalized dual problem gives a lower estimate for the initial problem. Therefore, we can take any feasible solution of the generalized dual problem to obtain a low estimate of subsets.
Comment. If u j -c ij < 0 , then assume that s ij = 0 and repeat the procedure to define the rest s ij .

Computational experiment
There was developed a computer program to assess the computational complexity of an algorithm with the help of which problems of varying complexity were solved. The complexity of М problem was estimated by the number of variables of the generalized dual problem, i.e.
Each problem was solved in two ways. In the first one, a generalized dual problem as a linear programming problem was solved to obtain lower estimate. In the second method, the lower estimates were obtained on the basis of a fixed partition based on expressions (40), (41). 5 problems for each dimension from 3 to 15 were solved.
The results are shown in Table 4. The table shows that at small dimensions (from 3 to 6) the obtaining estimates by solving the problem of linear programming have less computational complexity. However, for large dimensions, obtain-ing estimates based on a fixed partition is more efficient.

CONCLUSION
The paper examines the application of the network programming theory for the project portfolio formation. To this end, the concept of a generalized dual problem as problems of network representation are introduced, for which the upper (lower) estimate is minimal (maximum) and it is proved that the generalized dual problem is a convex programming problem.
This result is used to develop a number of algorithms for the project portfolio formation, including, in particular, businessforming and business-supporting projects. The lower estimates of the portfolio value are obtained and it is shown that the results of solving the generalized dual problem can be used in branch and bound method, often used in solving discrete optimization problems.
Network programming method is used to solve other problems that arise in the project management, e.g., the development of programs for destruction of chemical weapons, providing road safety, and restructuring of various enterprises (Burkov et al., 2017;Kondratjev et al., 2019;Burkov et al., 2011). The tools of the method can be applied in such areas of project management as project risk management, communications management, quality management, contract management.
Based on the results of the study, it's possible to suggest a universal scheme of the network programming method application for project management problems consisting of the following steps: 1. Building network representations for the target function and constraints with the same structure.
2. Setting initial values of dual variables. 3. Solutions of the assessment tasks. 4. Purposeful change of dual variables values.

Table 4. Computation results (assessing the computational complexity of the algorithm)
Promising area of the network programming method application can be also the development of effective algorithms for solving various traditional problems of discrete optimization.
These algorithms allow to develop universal program products that solve a wide range of problems of discrete and multiextreme optimization, creation of intelligent control systems.
The network programming method has certain limitations on the scope of its application. They are associated with the difficulties of formalizing management decisions and taking into account project uncertainty and risk. Therefore to improve the efficiency and reliability of management decisions it is suggested to apply the network programming method in combination with the robust approach for assessing risk parameters.