MANAGEMENT OF RESOURCES IN MULTIUNIT CONSTRUCTION PROJECTS WITH THE USE OF A TABU SEARCH ALGORITHM

. The paper presents the problem of optimal management of the resources in multiunit construction project. During the creation of the models of this kind of the project the flow-shop system is rarely used. Flow-shop system now is widely applied in modelling of industrial processes, computer systems. In the model presented in the paper flow shop system with teams of working groups is used. It allows its users to shorten the time of realization of multiunit construction projects in a significant way, because works in the project can be realized by teams of working groups of any cardinality. This is new model of multiunit construction project which has not been examined in field of scheduling of construction project yet. The presented optimization model of multiunit construction project with teams of working groups performing one type of work is NP-hard optimization problem. During the scheduling of such projects there was an artificial intelligence tool used, i.e. metaheuristic tabu search algorithm. Tabu search algorithm can provide solutions of very good quality. The paper also presents a calculation example of the above mentioned problem. The obtained in calculation example result is fully satisfactory.


Introduction
In the field of construction practice it is not uncommon to encounter cases of realization of such projects, which involve the implementation of either a number of building structures or their separate parts (which constitute the project). The project may include the following examples: multi-storey buildings, residential single-family houses or group of buildings, motorways, roads, pipelines. Such projects are characterized by the repetition of the execution of works on each unit of project. This feature results in the need to specialize working groups in such a way that they carry out works of one type. Working groups in such construction projects move from the previous unit to the next realizing only designated scope of work. Construction projects of this kind are called repetitive projects or multiunit projects (Harris, Ioannou 1998).
Research on the scheduling of the above mentioned projects give us many models providing their accurate description. The models show detailed solutions appearing in it. Such projects as multi-storey buildings, single family houses or a group of other buildings are dominated by methods based on the so-called "Line of Balance" concept -LOB (Arditi et al. 2002). Many techniques based on assumptions of this method include: LSM (Linear Scheduling Method) by Chrzanowski and Johnston (1986), RPM (Repetitive Project Model) by Reda (1990), VPM (Vertical Production Method) by O'Brien (1975). There are also techniques for monitoring and updating of scheduling for repetitive projects using the idea of "critical path" occurring in CPM/PERT methods (e.g. Hamerlink, Rowings 1998;Lucko 2009). As part of the models created for repetitive projects there are optimization problems with different objective functions and constraints often solved. Most problems being solved are optimization problems with such criteria as: minimizing project duration, minimizing total outage time of working groups, minimizing the cost of the project taking into account the imposed deadline conditions. In order to solve this type of optimization tasks, the following tools are applied: linear programming (e.g. Ipsilandis 2007), dynamic programming (e.g. El-Rayes, Mosehli 2001), neural networks (e.g. Adeli, Karim 1997), genetic (e.g. Huang, Sun 2009;Agrama 2014), simulated annealing (e.g. Chen, Shahandashti 2007), or hybrid algorithms (e.g. Ezeldin, Soliman 2009).
Other approaches include models that use system analogous to the flow shop problem encountered in classical scheduling theory. Such scheduling models now are widely used in industrial application, e.g. chemical branches, computer systems, telecomunication networks, in precast production (e.g. Ko, Wang 2010), but rarely in construction projects (e.g. Bożejko et al. 2012). One of the most commonly used models in scheduling theory is permutation flow shop system (Gupta, Stafford 2006). This system can be applied in scheduling of repetitive construction projects when it is a possibility to take into account units processing order in creation an optimal project schedule. One of the constraints in this model is the use of a set of m single working groups (machines in scheduling theory) from the set B = {B 1 , B 2 , B 3 , ..., B k , ..., B m }, in which each group B k can perform work of one k kind. This constraint follows directly from the principles of the flow shop system analyzed in scheduling theory. In practice, we can often encounter the situations when we need to reduce project duration. Project duration can be reduced by assigning more labor to project, in the form of over time or by assigning more resources (working groups). Consequently, below there will be presented a new model of multiunit construction project with use of the flow shop system, which allows its users to use any number of working groups to carry one type of work in project. This process will enable a significant acceleration of the works in the project, while meeting the accepted constraints.

Optimization model of the considered multiunit project
The basis for the creation of the models used in many industrial applications is the permutation flow shop problem (FP), which is considered in scheduling theory. As it has been mentioned before in these models a given set of work is carried out only by one working group (machine in scheduling theory). This system is shown schematically in Figure 1.
As mentioned above, one of the constraints in permutation flow shop system is the use of a set of m single working groups (machines in scheduling theory) from the set B = {B 1 , B 2 , B 3 , ..., B k , ..., B m }, in which each group B k can perform work of one k kind. In new presented model it is possible to use any number of working groups to carry one type of work in the project. In models which use permutation flow shop problem the decisive variable is a sequence (permutation) of object realization: π = (π(1), π(2), ..., π(k), ..., π(n)), where n -number of units. This permutation is constant in process of carry-ing out of all works in project. In turn, in the new model of multiunit construction project presented in the paper, there is the adopted assumption that the units processing order can be different for types of works in project. In addition, there is a particular type of assignment of a given work performed in the specified unit to be implemented by the selected working group from the entire team of working groups. The assumed allocation of resources to realization of works in units significantly increases the number of possible schedules and implies a possibility of acceleration of works in project. In the model presented in the paper decisive variable will be a set of permutations with detailed allocation of working groups to performing works in units of project (see decisive variable in the model).
The next constraint in the models which use permutation flow shop problem is sequence of carrying out of works in project. It is assumed in these models each works should be realized in sequence, without additional interruption, i.e. next work should be realized after ending of previous work. At any time only one type of work may be carried out. In the new model presented in paper the new type of sequence dependences of works in units are introduced. These sequence dependence for each unit are given on the example of directed acyclic graph: where M is a set of nodes representing works in project; F is a set of arcs. Arcs are used to show the precedence relationships that exist between the works in units. It is assumed that relationships can be as follows (PMBOKPMI 2013): SS (start -start), FF (finish -finish), FS (finish -start) with the accepted values of lag or lead, which can take any value. The form of the graph K is the same for each unit. Values of lags or leads can be different in units of project. Additional constraint in the new model presented in the paper is the possibility to take into account additional times required for the movement of the working groups between units, depending on the type of the working group and the sequencing of units' realization. This situation can be happen when units of project are distant from each other. Above described constraints in model presented in paper are new in research of scheduling models of multiunit construction projects, which use flow shop processing.
The following optimization model of multiunit project is defined. Adopted assumption is that any numbers of specialized working groups perform the work of one type.
There are the following parameters defined: -The project is constituted by a set of units: -For the execution of the works in the project, there are teams of working groups created, each of which performs one type of work. They form a set of: -In each team of working group B k ∈ B there is m k ≥1 of the same working groups (of the same performance and constitution): -Each unit Z j ∈ Z requires performance of m works which constitute the set: -It is assumed that work O jk ∈ O j can be realized by the working group B ki ⊂ B k . Work duration time O jk performed by the group B ki equals p jk > 0. The set of duration of p j works from the set O j is defined by vector: -The sequence dependence of O j works for unit Z j are given on the example of directed acyclic graph K = (M, F) (2). M is a set of nodes representing works O j of unit Z j (|M|= mn). F is a set arcs. Arcs are used to show the precedence relationships that exist between the works in units. It is assumed that relationships can be as follows: SS (start -start), FF (finish -finish), FS (finish -start) with the accepted values of lag or lead, which can take any value. -Additional time required for the movement of the working groups between units, depending on the type of the working group and the sequencing of units realization is defined by matrix S S k = [s S gh ] n x n , where g ∈ 1..n, h ∈ 1..n, k ∈ 1..m. The following constraints are defined: -It is assumed that at any time, each working group from B k team can perform only one work. -It is assumed that work O jk ∈ O j is performed without any stops by one working group from B k team in p jk > 0 time. Decisive variable is units processing order, which is defined by m-tuple: π = (π 1 , π 2 , ..., π k , ..., π m ).
(7) Fig. 2. Example of a graph G(π) for model of multiunit project presented in the paper (m = 7, n = 3) with a marked critical path Performing of the work k by the team of working group B k in all units in project is defined by set: where: π ki = (π ki (1), π ki (2), ..., π ki (l), ..., π ki (n ki )). π ki determines the processing order of units by working group B ki from the team of working groups B k ⊂ B of size m k .
In the new presented model the task is to find a schedule (S, A), (where S = [S jk ] n × m , A = [a jk ] n × m and S jk defines earliest start time for carrying out works in unit Z j by team of working groups B k and a jk defines number of working group allocated to carrying out works in unit Z j ) in order to minimize or maximize value of objective function, while meeting the accepted constraints.
Criterion (objective function) is a term C max of implementation of all works in all units. Optimization task in the model is to find a schedule for the work realization which minimizes the value of the objective function C max , satisfying the constraints given above.
The considered model can be represented in the form of a disjunctive graph G(π). The form of the graph is dependent upon an established decisive variable π (an example of such a graph is given in Figure 2 n} is a set of nodes representing works in units of project. Nodes (start), (finish) is fictitious nodes representing start and finish operation. Weight of node (k, j) is equal to the time of work execution p k, ( ) ki l π , weights of nodes (start), (finish) equal 0. The set of E(π) = E F ∩ E S (π) depends on the assumed decisive variable π. Vertical arcs (sequential, representing processing order of units) from the set E S (π) are between nodes π ki (l-1) i π ki (l), where i = 1, ..., m k , k = 1, .., m, l = 2, ..., n ki . Horizontal arcs (technological) from the set E F are between node standing for work k and nodes which are predecessors of k work for unit π ki (j). The weight of the vertical arc from set E S (π) is s S k, ki π (l-1) ki π (l) . The weight of the horizontal arc from set E F is the lag or lead time depending on assumed relationships: SS, FF, FS.
The earliest finish time for works can be determined from the recursive formula: = we get classical flow shop problem with parallel machines with the C max criterion. In literature this problem is strongly NP-hard. From this fact it follows that the presented optimization model of multiunit project with multiple working groups performing one type of work is also NP-hard and because of the constraint (any value of lags in the adopted relationships -SS, FF, FS) it is not possible to create a branchand-bound algorithm for solving optimization problems. Such an algorithm would enable its users to solve a given discrete optimization task in an accurate way, however, it would require a computational time in the form of very rapidly increasing exponential function along with an increase in the size of the problem. The solution to this problem adopted in the analyzed model of multiunit project was with the use of an approximate, metaheuristic tabu search algorithm.

Solution to computational problem with the use of tabu search algorithm
Nowadays a tabu search algorithm (abbreviated as TS) is successfully used to solve various optimization problems due to the very good quality of delivered solutions (Glover, Laguna 1997;Nowicki, Smutnicki 1998;Bożejko et al. 2013). It replicates the natural searching process to find solutions to problems posed by men. Basic version of the TS algorithm starts its working with a particular startup solution. Then, for this solution, there is neighborhood found. It is defined as a set of solutions that can be created after performing of moves in a given solution, i.e. transformation of a given solution into another one according to established rules. The solution with the smallest value of the objective function is sought in the neighborhood. This solution is a base solution for the next iteration. The result of the algorithm is the best solution of the whole search trajectory. Below there is a general algorithm of TS method used to solve flow shop problems in scheduling theory.
Let π ∈ Π be any permutation, LT -tabu list, cadopted objective function, whereas π* -the best so far found solution (in the beginning we adopt permutation π for π*).
Step 1. Determine neighborhood N π of permutation π which does not contain a list of items prohibited by LT; Step 2. Find permutation d ∈ N π such that: Step 3. If c(d) < c(π*), to π* ← d; Put attributes d on LT list; π ← d; Step 4. If Finish_Condition, then STOP otherwise go to Step 1.
Tabu search method has many degrees of freedom: the choice of a move and determining the neighborhood, forms implementing the mechanism of tabu (e.g. the length of the tabu list, form of attributes), search strategy. Currently TS algorithm is one of the most effective tools used in the scheduling theory. Its form used to solve the optimization problem in the presented model is based on the work (Nowicki, Smutnicki 1998).
Algorithm tabu search used in presented model starts with the initial solution. It is assumed that initial solution (a m-tuple π, -see decive variable) is obtained randomly. Then we should to assume the following basic elements of algorithm: movement, neighbourhood, tabu list, completion condition. Movement is a function transforming one solution into another. Neighbourhood is a set of solution which is possible to obtain from a determined solution by means of a class of movements. In presented algorithm TS it is assumed that movement is "insertion" type. The "insertion" move operates on set π k (Eqn (10)) and removes a job placed at a position in this set and inserts it in another position of this set. More precisely "insertion" move is assumed as v = (k, a, y, b, z). It means that at center k (i.e. team of working groups) the job (i.e. unit number) at position y on machine (i.e. working group) a will be move at position z on machine b. Instance: let π k = ((2, 3, 1), (5, 4)), "insertion" move v = (k, 1, 2, 2, 1). After "insertion" move v we get π k v = ((2, 1), (3, 5, 4)). In presented algorithm TS the neighbourhood N π consists of unit processing orders π (Eqn (9)) with the set π k v generated by all possible "insertion" movements in a given randomly chosen set π k .
The next basic element in presented algorithm TS is the tabu list LT. The tabu list LT is a list including attributes of movements of recently examined solutions. For a, y, b, z) it is assumed the following attributes: ( 1) The important elements of tabu list LT are conditions when movement v for unit processing order π (Eqn (7)) is forbidden according to tabu list LT (to prevent generating a cycle). For movement v = (k, a, y, b, z), where a = b it is assumed following conditions: movement v = (k, a, y, b, z) which is realized to the right (i.e. y < z) is forbidden when the tabu list LT includes at least such the pair of jobs (i.e. units) (j 1 , j 2 ), where j 1 = π(i) for y < i ≤ z and j 2 = π(y). Respectively, movement v = (k, a, y, b, z) which is realized to the left (i.e. y > z) is forbidden when the tabu list LT includes at least such the pair of jobs (j 1 , j 2 ), where j 1 = π(i) for z ≤ i < y and j 2 = π(y). For movement v = (k, a, y, b, z), where a ≠ b it is assumed following conditions: movement v = (k, a, y, b, z) is forbidden when the tabu list LT includes at least such the pair of jobs (i.e. units) (j 1 , j 2 ), where j 1 = π kb (i) for 1 ≤ i < z, j 2 = π ka (y) or j 1 = π ka (y), j 2 = π kb (i) for z ≤ i ≤ n kb (n kb -length of π kb ). The only parameter of tabu list is its length (the number of its elements). In presented algorithm TS length of tabu list equals 1/3 nm. The completion condition is as following: the algorithm TS stops after 20000 iterations. Programming implementation of TS algorithm for the considered model was made by author of the paper in Mathematica environment.

Case study
On behalf of the investor the contractor is to realize a project in the form of the construction of n = 12 petrol stations that are distant from each other. This implies the need to take into account the additional time needed to move working groups between different stations. In the project, each station requires realization of m = 15 works, among which the sequence dependence is presented in Table 2. The contractor assumes that it has the following amounts of working groups, for each of the works, which have the same performance and size: k = 1 (A -land development) -3 groups; k = 2 (B -earth works) -3 groups; k = 3 (C -foundations) -4 groups; k = 4 (D -tanks and freylits) -2 groups; k = 5 (Ewater supply system) -4 groups; k = 6 (F -electrical grid) -3 groups; k = 7 (G -masonry works) -4 groups; k = 8 (H -steelworks) -3 groups; k = 9 (J -roofing) -4 groups; k = 10 (K -roads and square) -5 groups; k = 11 (L -installations) -4 groups; k = 12 (M -plastering) -3 groups; k = 13 (N -floors, tiles) -3 groups; k = 14 (O -painting) -3 groups; k = 15 (P -equipment installation) -3 groups. On the basis of not only productivity in the individual stations but also the composition and performance of working groups there were durations of works execution established, which are shown in Table 1. The relationships between works are the same in all stations and are shown in Table 2. The types of relationships between works and lag times for each station are shown  Table 3. The relationships for station j = 1 are shown in Figure 3. Data concerning the time required due to the movement of the working groups between stations (depending on the type of the working group and the order of stations realization) are stored in the form of 15 matrices S S k (k = 1...15): S S 2 = S S 3 = S S 7 = S S 8 = S S 12 = s S gh = 1, S S 1 = S S 4 = S S 5 = S S 6 = S S 9 = S S 11 = S S 13 = S S 14 = S S 15 = s S gh = 0, S S 10 = s S gh = 2. In connection with such a fixed structure and characteristics of the used resources (working groups), the contractor has the ability to create an optimal schedule in reference to the criterion of the duration of the entire project which is C max .
The numbers in parentheses means the numbers of stations in the project. In the double parentheses are given stations processing order for m = 15 works and teams of working groups. In the single parentheses are given stations processing order for each working group from team Fig. 4. Schedule of multiunit project for reference solution of working groups. For instance: for work m = 1 (set π 1three groups) first working group carries out works in stations 1, 2, 3, 4, second working group -in stations 5, 6, 7, 8, third working group -in stations 9, 10, 11, 12. The duration of the realization of the presented project for the adopted decisive variable π equals 534 working days.
The schedule for the reference solution is shown in Figure 4. Calculations with TS algorithm were performed three times. The obtained approximate minimum duration time of the entire project as shown in the example (the best value C max ) was 264 working days, which was achieved in the 16250 iterations of the algorithm operation (Fig. 5). The value of the objective function for the reference decisive variable was 534 working days. This important confirmation not only of the effectiveness of the algorithm but also of the need to search for optimal solutions in the planning of construction projects (Podolski 2008). On one hand such realization of works (various units processing orders for all works) allows a big reduction in execution time of the project. But on the other hand it introduces complication in works organization of multiunit project due to complicated decisive variable.
Presented in the paper new model allows its practitioners to determine the suboptimal schedules of multiunit construction projects. The model can be used in situation when investor sets the deadline of the project. Contractor using presented model has a possibility of creation of optimal schedule which meets the investor's deadline of the project. Suboptimal schedule takes into account limited resources of contractor, i.e. teams of working group of known size.
Presented model can be used in deterministic situations. The technological and organizational conditions of the project, bill of quantities are known in project. Resources (working groups) are available all the time in the project. Works in the project are carried out by working groups with adopted productivity and quality. The next assumption of using presented model is that every unit in project requires performance of the same set of works. The model can be used when investor needs to carry out all works in all units in the project. The model can be applied for large projects with group of buildings that are distant from each other such as e.g. residential singlefamily houses, petrol stations, commercial buildings. result was improved by 50.6% with the use of TS algorithm.
In the double parentheses are given stations processing order for m = 15 works and teams of working groups. In the single parentheses are given stations processing order for each working group from team of working groups. For instance: for work m = 2 (set π 2 -three groups) first working group carries out works in stations 12, 10, 4, 8, second working group -in stations 11, 6, 1, 7, 9, third working group -in stations 2, 5, 3.

Conclusions
Multiunit projects are special cases of construction projects, in which optimization problems may arise. These problems for general models are usually NP-hard. It means that it is impossible to solve practical problems by algorithms providing accurate solutions in reasonable time. Scheduling theory is a field in which certain tools are used, i.e. metaheuristic algorithms for solving this kind of problems that may also occur in the scheduling of construction projects. Scheduling theory is also a field where we can find certain models for scheduling of construction projects. In this case the flow shop problem with parallel machines was proper to describe new model of multiunit construction project. It is important that in presented new model it is assumed that works in project were carried out with various sequences of units for given kind of work. Such realization of works in case study enabled a reduction in the execution time of the project by more than 50% using algorithm TS. This is