Resource allocation problem in project management

Resource allocation problems in project management are notoriously complex. Therefore the development of efficient algorithms for solving various specific cases is a real problem. This paper shows a specific case of the problem, where a program has a particular structure. The resource allocation problem in such a program is reduced to classical Johnson's problem or job-shop scheduling problem. Effective solution methods, by way of reducing to maximum flow problems, are suggested for some types of resources. For other cases, heuristic rules are developed, with a description of the situations in which these rules allow good enough solutions to be obtained.

Some papers under this topic are devoted to the application of research operations methods in project management (see, e.g., [16][17][18]). A significant proportion of the models and methods of project management are the tasks of building schedules for project implementation, mainly related to the allocation of limited resources. Resource allocation problems on networks refer to complex multi-extremal problems.
There are a small number of models with exact solution methods. In general case, approximate and heuristic algorithms are applied. The complexity of the problems increases even more when we consider transfer time of resources between jobsthe simplest task of determining the sequence of work execution by one team becomes a complex travelling salesman task when transfer time period of a team from job to job is considered.
The paper proceeds as follows. Section 2 introduces a general framework for problem solving and all relevant definitions. In Sections 3-5, for three resource subclasses (Subclasses 1-3), it develops efficient algorithms based on the method of network planning, a crucial maximum flow problem. In Section 6, it shows that the problems in subclasses 4-7 have no efficient exact methods of solution and their solutions are heuristic algorithms, algorithms of local optimization or genetic algorithms. Resource allocation in heuristic algorithms is based on heuristic priority rules of activities. Section 7 concludes the paper.

Problem definition
Let us consider a program that consists of n projects; each of them is a coherent chain of three activities. The amount of work ij W and dependence   ij ij fu of execution activity speed on the amount of resources ij u it performs are set for each activity. Activities may be performed using resources of different types, of which there is a limited number. The problem lies in the allocation of resources in a program minimizing its duration. General case problems are the so-called NP-hard problems with no effective methods of exact solution [16]. Assume that the dependence where ij amaximum number of resources that can be used to perform work (i, j).  ( The activities of the first and third types are carried out in the minimum time Consider the solution methods for these subclasses of problem.

Subclass 1
Once the resources of the second and third types are sufficient, the duration of activities of the second and third types are respectively equal to Sort the activities in the descending order 1 q , i.e. 1 2 . n q q q    To solve the problem let us define a bipartite network out of   21 n  nodes (Fig. 1).
Nodes of the first network layer (excluding the input node) correspond to projects but nodes of the second layer correspond to time interval. Let T be the time of completion of the program. Set the bandwidth of arcs (0, i) is equal to 0ii cW  , and the bandwidth of the Set the bandwidth of the arcs (i, j) is equal to Define a flow of the maximum value in the resulting network.

Theorem 1. The minimum T, at which the flow of the maximum value saturates the input arcs, defines the optimal solution of the problem.
Proof. Let T be set. Denote with is x the amount of the first activity of the i-type project that is carried out in the s-interval: the first interval is the interval To ensure that all activities have been completed it is necessary and sufficient to fulfill the It follows that   is x is the flow and so the minimum T at which the flow saturates the input of the arcs corresponds to the minimum time of completion of the program.
A lower bound for the minimum duration of the program can be obtained from the conditions It allows the following result to be reached: Example 1. Let us consider a program consisting of the four projects for which details are given in Tab. 1.
From formula (4) we obtain 1 (6) Thus, we obtain a lower bound of the program duration: Now it's possible to create a bipartite network. The first layer of nodes, as before, corresponds to projects and the second layer corresponds to intervals. An arc (j, s) connects the node j to the node s if the activity can be performed in s interval .
The bandwidth of the arcs   0, i is equal to the amount of work

Subclass 3
In this subclass the resources of the third type are limited. Accordingly, the activity durations of the first and second types are equal to where T is the time of the program completion. Respectively, define the bandwidth of the arcs, as is in the previous cases: The minimum T at which the maximum flow saturates the input arcs defines the optimal solution of the problem. The proof is similar to Theorem 1. Get a lower bound for the program duration that is more accurate than in the previous cases. To this end define the minimal r interval number such that Notice that the score obtained by analogy with the previous cases is equal to Bipartite graph for the case T = 15 is shown in Fig. 1. In this case, the maximum flow saturates the input arcs and that's why the solution obtained is optimal (accurate to whole number T).
and is the equivalent to the program amount. Let us give a generalization of this result to the subclass 3. Consider the following algorithm for the resource allocation.
(3)    The first step: The choice of rules is defined by a specific problem. So if the amount of the third type 3 V exceeds the amounts of activities 1 V and 2 V of the first and second types, it is important to start the performance of activities of the third type. In this case, apply the modified rule 2 (first and foremost, the projects with a minimum total duration of activities of the first and second types are carried out). If the activities of the second type have the greatest amount of 2 V then the combined rule applies. First rule 2 applies, then after the activities of the second type have been completed apply rule 3. If the activities of the first type have the greatest amount of 1 V then the modified rule 3 applies (first and foremost, the activities of the first type with the maximum total duration of activities of the second and third types are carried out).

Conclusion
This paper shows the resource allocation problems in the program. For a number of resource types (Subclasses 1-3), effective methods for their solution have been developed, which are implemented by way of reducing these problems to maximum flow problems. Heuristic rules of solution are suggested for some difficult cases (Subclasses 4-7). There were considered situations in which these rules allow good enough solutions to be obtained. It is interesting to consider further the resource allocation problems in the program using the criterion of maximizing profits and justification of the effectiveness of the heuristic rules for different classes of problems.
Other extensions of the reviewed problem are also of great interest. So, different projects of the program can be tied up with dependencies showed in a network diagram. They can be like "start-finish", "start-start", "finish-start" and "finish-finish" or nonbinding dependencies (i.e. may not be executed, but their violation leads either to the increase of the project duration or to the increase of its cost).
A program can have several goals. For instance, a region development program has economic, social, environmental and other goals; therefore, the problem becomes multicriteria. There are so-called multi-purpose projects, which implementation contributes to the different objectives. The possible presence of the so-called interdependent projects should be also noted, joint implementation of which gives an additional (synergistic) effect.
Further development of the work is also associated with risk management. Responses to the risks associated generally with the activities for risks reduction or with exclusion of high-risk projects from the program. In practice, however, qualitative risk assessment (low, medium, high) are generally used. It should be noted that today the theory of risk management programs based on their qualitative assessments is rather poorly developed.