Keywords

1 Introduction

The continuous development of companies is related to the implementation of new technological solutions in the IT area, modern organizational forms, new methods of communication and marketing, introducing new products and services to the market, etc. All this means that companies are forced to implement an increasing number of projects at the same time. This trend has resulted in a significant increase in the role of multi-project management [1, 2]. The effective implementation of simultaneous projects, very often from different areas of operation, enables the company to quickly develop [3]. Today, most companies manage multiple projects, although they are still looking for the best decision support tools in these complex environments.

Most modern IT tools supporting multi-project management [4] include scheduling, task prioritization, risk management [5], etc. Some also enable resource allocation [6]. Wherein the allocation of resources, if already included in such tools, is usually in the quantitative aspect. Contemporary resources can fulfill various functions. They can also be configurable, extended with new functionalities, etc. This completely changes the approach to the problem of resource allocation. In this case we can talk about multidimensional resources, each dimension of which is a specific function/features that the resource carries out. A good example of such a resource is a modern employee, and functions are his competencies. Another example is a computer/microprocessor and the functions are the corresponding software.

In this context it is extremely important to correctly allocate appropriately configured resources to individual project tasks. The problem can be formulated more generally than the allocation itself. Do we have a sufficient amount of properly configured resources to implement a set of projects? Are any resource features missing?

The main contribution of the paper is a resource configuration model that takes into account individual features/functions of resources and its implementation using the universal modeling language AMPL (A Mathematical Programming Language) [7]. The model enables decision support in multi-project management in the context of resource allocation and configuration. In particular, decisions regarding project feasibility in the context of available resources, defining missing resources or the need to reconfigure existing resources, etc.

2 Problem Statement and Illustrative Example

The problem of the configuration and allocation of multidimensional resources in multi-project management is discussed. The most basic definition of multi-project management (MPM) is managing an environment in which people are working on multiple projects simultaneously [8]. In such an environment, management has to deal with parallel projects of different dates and sizes, but with a common pool of resources. The very concept of multi-project management is quite new, so there is a lack of strategies, techniques and tools to deal with it effectively. Many project managers complain about a shared pool of resources, which often results in shuffling people and other resources that are used in their projects [9].

The problem of the configuration and allocation of resources in the multi-project environment is defined as follows:

  • A set of projects to be performed is given (o – project index o ∈ O). The project consists of a set of tasks (k – task index k ∈ K). Failure to complete any task is tantamount to failure to complete the entire project.

  • Each project is characterized by a specific/given schedule of performing tasks, which is known and unchanging. Note: So, the problem under consideration is not a scheduling problem, but a variation and development of the resource allocation problem. This has some practical justification, as in many cases the contracting authority imposes a project implementation schedule.

  • Resources with certain features/functions (e – feature index e ∈ E) are needed for each task. The general idea of multidimensional resources is shown in Fig. 1. Table 1 shows sample resources and their features with values in parentheses.

  • If several resource features/functions are required to perform a task, a resource with all the necessary features is allocated.

  • Generally, resources can be configured, i.e. supplemented with new features (note: not every resource can be supplemented with every feature).

  • A feature of a resource can be equated with its dimension. A resource can generally have many dimensions, or it can be supplemented with further dimensions. Therefore, this type of resource is called multidimensional resources.

  • Resources may be temporarily unavailable.

Table 1. Resources and their features
Fig. 1.
figure 1

Model of multidimensional resources/resource-feature-value of the feature

For such a problem, a few basic questions can be formulated (Table 2) which are crucial for the project management process in the context of resources.

Obtaining answers to the above questions is very important in multi-project management and may determine the success of a given set of projects. It also enables efficient management of resources and their rational use. It also facilitates the reaction if there is a lack of a resource or if the resource does not have the needed feature. The proposed questions concern both reactive decisions (Q1A, Q1B, Q2, Q3A, Q4A) and proactive decisions (Q1C, Q3B, Q4B). In order to present the defined problem of the configuration of multidimensional resources let us consider the illustrative example exam_01.

Table 2. Questions regarding resources in multi-project management

Illustrative Example exam_01.

A set of five projects o1..o5 is given, which should be implemented in accordance with the schedule shown in Fig. 2. As part of the implementation of the above set of projects, tasks k1..k25 should be implemented. Appropriate features e1..e10 of resources are necessary for the implementation of each task. The list of the required features of the resources necessary for the implementation of individual tasks in the orders is presented in Table 3. Table 4 presents the list of resources and their features. A three-value coding was used for this: 1-means that a given resource has a given feature, 0-means that a given resource does not have a given feature but can acquire it, −1-means that a given resource does not have a given feature and cannot acquire it.

For illustrative example exam_01, questions Q1A and Q1B were formulated with the data instances as in the tables (Table 3, Table 4).

The answer to question Q1A required a lot of work by the operator who, by manually analyzing the data from Tables 2 and 3, the Gantt chart (Fig. 2), after many attempts stated that the resources with specific characteristics (Table 4) do not allow the implementation of projects o1..o2 according to the specified schedule (Fig. 2).The answer to question Q1B and the remaining questions, Q2..Q4, despite the small size of exam_01, was unsuccessful. It was not possible to answer this question by performing manual analysis with an acceptable amount of work and operator time, e.g. within an hour.

Fig. 2.
figure 2

Schedules for the implementation of project tasks with the required features

Table 3. Required resource characteristics for the implementation of individual project tasks
Table 4. Features of individual resources

The analysis of this and other similar illustrative examples showed that manual or semi-automatic/e.g. using tools such as spreadsheets /, finding answers to questions Q1..Q4 is very difficult, if not impossible. These findings became the motivation to undertake research on the development of a model to support decisions in the field of the configuration and allocation of resources with specific characteristics to tasks. An additional area of this research involved ways of implementing the model that would enable quick answers to the questions posed.

3 Decision Support Model for the Configuration of Multidimensional Resources

As a result of the problem analysis and the results of illustrative examples, work was undertaken to work out the decision support model for the configuration of multimodal dimensions. Figure 3 shows the general concept of building the model. The model is based on two basic sets, a set of constraints (Table 5) and a set of questions (Table 2). Model parameters are data on resources, their features and schedules. The model was formulated as a constraint satisfaction problem (CSP) [10]. Depending on the question included in the model, the model may take the form of binary integer programming (BIP). The description of the constraints (1).. (14) of the model is presented in Table 5, while the description of decision variables, indexes and parameters is presented in Table 6.

Fig. 3.
figure 3

Model building concept

Table 5. Description and meaning of model constraints
Table 6. Decision variables, indexes and parameters
$$\sum\limits_{{{\text{i}} \in {\text{I}}}} {{\text{X}}_{{{\text{u}},{\text{i}},{\text{k}}}} + {\text{Y}}_{{{\text{u}},{\text{k}}}} = 1} \;\forall \;{\text{k}} \in {\text{K}},{\text{u}} \in {\text{U}}$$
(1)
$${\text{X}}_{{{\text{u}},{\text{i}},{\text{k}}}} \le {\text{g}}_{{{\text{i}},{\text{k}}}} \;\forall \;{\text{i}} \in {\text{I}},{\text{k}} \in {\text{K}},{\text{u}} \in {\text{U}}$$
(2)
$${\text{X}}_{{{\text{u}},{\text{i}},{\text{k}}}} \le {\text{f}}_{{{\text{u}},{\text{i}}}} \;\forall \;{\text{i}} \in {\text{I}},{\text{k}} \in {\text{K}},{\text{u}} \in {\text{U}}$$
(3)
$$\sum\limits_{{{\text{k}} \in {\text{K}}}} {Y_{{{\text{u}},{\text{k}}}} } \le {\text{St}} \cdot {\text{Wx}}_{{\text{u}}} \forall \;{\text{u}} \in {\text{U}}$$
(4)
$$\sum\limits_{{{\text{u}} \in {\text{U}}}} {{\text{Wx}}_{{\text{u}}} } \le {\text{L}}$$
(5)
$${\text{es}}_{{{\text{i}},{\text{k}},{\text{e}}}} = ({\text{ew}}_{{{\text{i}},{\text{e}}}} + {\text{Ex}}_{{{\text{i}},{\text{e}}}} ) \cdot {\text{ej}}_{{{\text{k}},{\text{e}}}} \forall {\text{i}} \in {\text{I}},{\text{k}} \in {\text{K}},{\text{e}} \in {\text{E}}$$
(6)
$$(1 - {\text{g}}_{{{\text{i}},{\text{k}}}} ) \le \sum\limits_{{{\text{e}} \in {\text{E}}}} {{\text{ej}}_{{{\text{k}},{\text{e}}}} } - \sum\limits_{{{\text{e}} \in {\text{E}}}} {{\text{es}}_{{{\text{i}},{\text{k}},{\text{e}}}} } \forall \;{\text{i}} \in {\text{I}},{\text{k}} \in {\text{K}}$$
(7)
$${\text{ST}} \cdot (1 - {\text{g}}_{{{\text{i}},{\text{k}}}} ) \le \sum\limits_{{{\text{e}} \in {\text{E}}}} {{\text{ej}}_{{{\text{k}},{\text{e}}}} } - \sum\limits_{{{\text{e}} \in {\text{E}}}} {{\text{es}}_{{{\text{i}},{\text{k}},{\text{e}}}} } \forall \;{\text{i}} \in {\text{I}},{\text{k}} \in {\text{K}}$$
(8)
$${\text{X}}_{{{\text{u}},{\text{i}},{\text{k}}1}} + {\text{X}}_{{{\text{i}},{\text{i}},{\text{k}}2}} \le 1\forall {\text{i}} \in {\text{I}},{\text{k}}1 \in {\text{K}},{\text{k}}2 \in {\text{K}} \wedge {\text{h}}_{{{\text{k}}1,{\text{k}}2}} = 1$$
(9)
$${\text{Ex}}_{{{\text{i}},{\text{e}}}} \le {\text{ep}}_{{{\text{i}},{\text{e}}}} \forall {\text{i}} \in {\text{I}},{\text{e}} \in {\text{E}}$$
(10)
$${\text{Cost1}} = \sum\limits_{{{\text{i}} \in {\text{i}}}} {\sum\limits_{{{\text{e}} \in {\text{E}}}} {({\text{ek}}_{{{\text{i}},{\text{e}}}} \cdot {\text{Ex}}_{{{\text{i}},{\text{e}}}} )} }$$
(12)
$$\sum\limits_{{{\text{u}} \in {\text{U}}}} {\sum\limits_{{{\text{k}} \in {\text{K}}}} {({\text{Y}}_{{{\text{u}},{\text{k}}}} \cdot {\text{b}}_{{{\text{o}},{\text{k}}}} )} } \le {\text{St}} \cdot {\text{Z}}_{{\text{o}}} \forall {\text{o}} \in {\text{O}}$$
(12)
$${\text{Cost2}} = \sum\limits_{{{\text{o}} \in {\text{O}}}} {({\text{Z}}_{{\text{o}}} \cdot {\text{r}}_{{\text{o}}} )}$$
(13)
$${\text{Z}}_{{\text{o}}} ,{\text{Wx}}_{{\text{u}}} ,{\text{Y}}_{{{\text{u}},{\text{k}}}} ,{\text{Ex}}_{{{\text{i}},{\text{e}}}} ,{\text{X}}_{{{\text{u}},{\text{i}},{\text{k}}}} \in \{ 0,1\} \,\forall \,{\text{i}} \in {\text{I}},{\text{k}} \in {\text{K}},{\text{u}} \in {\text{U}},{\text{e}} \in {\text{E}},{\text{o}} \in {\text{O}}$$
(14)

A significant aspect of the analyzed problem of resource configuration is the fact that the i (i ∈ I) resources may be unavailable due to various causes (e.g. breakdown, scheduled inspection, etc.). Assume that, uj denotes the case of unavailability of selected resources (e.g. u1 = {i3, i7} means that we are analyzing a case where the i3, i7 resources are unavailable, whereas if u2 = {i3} it denotes a case where the i3 resource is unavailable, where i3, i7 ∈ I, etc.). U denotes a set of all such analyzed (interesting to us) cases of employee unavailability uj ∈ U. It is easy to calculate that if we have 5 resources and if we examine all possible single unavailability of resources, the U set will comprise 5 elements. On the other hand, if we want to account for all possible unavailability of two resources, the U set will comprise 10 or 15 elements if we also take single unavailability into account, etc. In operating practice, a situation where the U set has to be taken into account with elements specifying unavailability of random two, three, four, etc. resources happens very rarely.

4 Computational Experiments

The model was implemented using the universal modeling language AMPL (Appendix A) language and the mathematical programming/constraint programming environment GUROBI [11]. Subsequently, numerous computational experiments were carried out, divided into two stages. In the first stage, all the questions for the illustrative example exam_01 were answered. The answer to question Q1A was NO, the answer to questions Q1B and Q1C – in order to realize the set of projects, three resources, i2, i4, i8, should acquire feature e9, and resource i8 additionally feature e10. Figure 4 shows the appropriate allocation of resources to tasks. In this allocation, resources i2, i4, i8 have new features as per the answer to question Q1C. The next questions are about resources with altered characteristics according to Q1C.

The answer to question Q2 is related to the emergence of new o6 and o7 designs. Assume all data are as in illustrative example exam_01 (including modified resources i2, i4, i8). There will be new projects with a task implementation schedule as in Fig. 5 with the requirements as to the characteristics of resources as in Table 7. The answer to question Q2 is as follows. In order to implement a set of projects together with new projects without changing the already planned assignments of resources to tasks (Fig. 4), resource i1 should acquire the e8 feature, resource i3 should acquire the e9 feature, and resource i9 should acquire the e5 feature. The new method of allocating resources to tasks consistent with the answer to question Q2 is presented in Fig. 6.

Fig. 4.
figure 4

Allocation of resources for the implementation of tasks

Fig. 5.
figure 5

Schedules for the implementation of additional projects with the required features for the tasks

Table 7. Resource features needed to carry out specific tasks of additional projects

Question Q3A was formulated as follows: Will the lack of the i5 resource from t = 8 enable the execution of the order set o1..o5? The answer to this question is unthinkable. Therefore, question Q3B was asked in the form: How should the configuration and resource allocation be changed? Answer: The method of assigning resources to tasks should be changed as shown in Fig. 7.

Fig. 6.
figure 6

Allocation of resources for the implementation of tasks, taking into account new projects

Fig. 7.
figure 7

Allocation of resources for the implementation of tasks (resource unavailability i5 from time t = 8)

The last question, Q4, seems to be the most difficult as it is proactive and requires a lot of checks. They were formulated in the form: How should resources be configured to be able to implement a set of o1..o5 projects (according to the schedule in Fig. 2 for resources with characteristics from Table 4) in the event of the unavailability of any resource? In practice, depending on the resource, the unavailability may result from breakdowns, renovation and inspection, absence, etc. For question Q4 formulated in this way, the obtained answer defines an additional configuration of resources in the form: resource i3 should acquire feature e9, resource i4 should acquire feature e4, resource i5 should acquire the e6 feature and resource i9 should acquire the e2 feature. Figure 8 shows two exemplary (there are ten of them all) allocations of resources to tasks in the event of unavailability i1 and i4.

Fig. 8.
figure 8

The allocation of resources to tasks using the resource unavailability i1 or i4

The second stage of the computational experiments was to assess the effectiveness of the model implementation method. The experiments were carried out for ten different instances of In1..In10 data (instance In3 is illustrative example examp_01). Individual data instances differed in the number of projects (N_o), the number of tasks (N_k), the number of resources (N_z) and the number of features (N_e). This translates into the size of the solved examples, i.e. the number of decision variables (V) and constraints (C), and, consequently, the computation time (T). Questions Q1A (the question required the least effort, simple general question) and question Q4 (the question required the greatest effort of calculations, due to the need to check the unavailability of each of the i1..i10 resources) were selected for the experiments of this phase. The computation times for all data instances for both questions are presented in Table 8.

It turned out that the calculations lasted from 4 to 471 s, which was an acceptable timeframe and confirmed the correctness of the implementation method (AMPL and GUROBI). For data instances of much larger sizes, it is planned to use the proprietary hybrid approach [12] and selected metaheuristics for the implementation of the model.

Table 8. Results of the second phase of computational experiments

5 Conclusions

The model proposed in the paper can be the basis for the design of decision support systems in the scope of the allocation and configuration of resources in multi-project management. Taking into account many features of resources (so-called multidimensions resources) in the model significantly increases the possibility of their configuration and increases the flexibility of assignment to tasks. On the other hand, the proposed model assumes the invariability of project schedules, which significantly simplifies its computational complexity and eliminates the need to additionally solve the problem of task scheduling. One of the advantages of the model is that it can be used in both proactive and reactive modes. Questions Q3B and Q4B are typically proactive in nature, question Q2 can be both proactive and reactive, while the rest of the questions are reactive in nature. All this translates into a wide range of decision support, especially in the area of resource allocation and configuration. In practice, the decision-maker, using this model, can make decisions such as: Is it possible to accept a set of projects for implementation or not? How can you configure your resources so that the project set can be implemented? How can you configure your resource set so that in the event of the unavailability of any one, the set of projects can be implemented? etc. Future works will cover the development of the model in terms of: (a) introducing additional questions, (b) the possibility of assigning several resources to the task, (c) adding logical constraints, (d) introducing the costs of resource configuration, and (e) implement the model using a hybrid approach integrating MP, CLP and GA [12, 13]. It is planned to use the proposed model to support decisions, including in the problems of production scheduling [14], vehicle routing problems [15], project management [16], and configuration of employee competences [17].