Abstract

With respect to the block assembly schedule in a shipbuilding enterprise, a spatial resource constrained project scheduling problem (SRCPSP) is proposed, which aims to minimize the makespan of a project under the constraints of the availability of a two-dimensional spatial resource and the precedence relationship between tasks. In order to solve SRCPSP to the optimum, a branch and bound algorithm (BB) is developed. For the BB-SRCPSP, first, an implicitly enumerative branch scheme is presented. Secondly, a precedence based lower bound, as well as an effective dominance rule, is employed for pruning. Next, a heuristic based algorithm is used to decide the order of a node to be selected for expansion such that the efficiency of the algorithm is further improved. In addition, a maximal space based arrangement is applied to the configuration of the areas required each day in an available area. Finally, the simulation experiment is conducted to illustrate the effectiveness of the BB-SRCPSP.

1. Introduction

RCPSP [1] (resource constrained project scheduling problem) is originated from the techniques of CPM (critical path method) and PERT (project evaluation and review technique). Soon after the integer programming model of the RCPSP is proposed, it was proved to be a NP-hard problem. Due to the wide existence of the two conditions in practice, that is, precedence relationship between tasks and resource availability, the RCPSP, which employs these two conditions as hard constraints, has been the hot research topic so far. As the core classical problem in project scheduling, sufficient achievements have been acquired on its algorithms, models, and applications.

The algorithms on RCPSP are classified into two categories, optimal algorithm and approximate algorithm, which produce optimal solution and nearly optimal solution, respectively. Branch and bound algorithm [2] is the most used optimal algorithm, which gets the optimal solution with the cost of time-consuming. For the improvement of efficiency, more efforts are paid to the theory of lower bound, which can avoid large amounts of unnecessary searches. The approximate algorithms are divided into heuristic, metaheuristic, and hybrid heuristic [3]. The heuristic is the mostly employed algorithm to RCPSP, which starts from a partial feasible solution to construct a complete feasible solution. A heuristic contains two parts, priority rule and schedule generation scheme. The metaheuristic often constructs a feasible solution by the use of a heuristic and then improves it to a nearly optimal solution. The classical metaheuristics include simulated annealing [4], tabu search [5], genetic algorithm [6], neural network [7], immune algorithm [8], ant colony [9], and particle swarm [10]. Recently, more and more efforts are involved in the research of hybrid heuristic [11] and satisfactory results have been achieved. The hybrid heuristic is one of the most potential researches in the future.

To satisfy the needs of real applications, different variations are derived from the classical RCPSP: the strict precedence relationship between tasks was extended to a more general precedence relationship [12]; a new type of nonrenewable resource was introduced [13]; the resource usage can have more than one mode [14]; in addition to project makespan, the objective included project cost [15], net present value [16], resource leveling [17], resource investment [18], time-dependent cost [1921], and position-dependent cost [22, 23]. The combinations of different constraints and objectives can produce different resource scheduling model with different background. Meanwhile, the different resource scheduling models were developed from deterministic ones to probabilistic ones so as to cope with different risks and uncertainties in applications.

Lee was the first to study the spatial resource scheduling problem [24]. He employed Lozano-Perez’s two-dimensional arrangement algorithm to solve the problem of how to arrange the nonregular polygons in a rectangle. Lee applied this method to the curved-bottom block assembly scheduling and further to the flat-bottom block assembly scheduling. Also, several other different solution schemes were also proposed to this problem. Afterwards, the ship painting spatial resource scheduling problem was proposed [25]. Next, the ship block erecting spatial resource scheduling problem was studied [26]. Furthermore, the ship megablock assembly spatial resource scheduling problem was tackled [27]. In other application fields, an operation system for reconfigurable embedded platforms was developed [28] and a bin packing problem with the constraint of precedence relationship was presented [29].

In this paper, a spatial resource constrained project scheduling problem is modeled and a corresponding branch and bound algorithm is developed. This paper is organized as follows: in Section 2, a conceptual model is proposed; in Section 3 the branch and bound method is described; a demonstrative simulation example is presented in Section 4; and the summary conclusion is provided in the final section.

2. Spatial Resource Constrained Project Scheduling Problem (SRCPSP)

For ship manufacturing enterprises, spatial resource scheduling is a representative problem in the shipbuilding project management. Here, the ship block assembly project is used as an example to illustrate it. A block is a cubic module with different shape and volume that is divided from a ship in the design stage (a large ship is generally divided into hundreds of blocks), which is the most important intermediate product in a ship building. All blocks will be assembled together to form a ship according to the precedence relationship between them. The assembly of blocks is operated on a platform, which is a two-dimensional area equipped with jigs. Since for a shipbuilding enterprise, the platform is an expensive and scare resource, whose utility efficiency has a direct impact on the makespan of a ship. The optimization of the platform configuration is the key problem to be solved in a ship block assembly project scheduling. The platform scheduling is how to arrange the start time of each task such that the makespan of a ship block assembly project is minimized under the constraints of the precedence relationship between block assembly tasks and the availability of platform resource. In a ship building enterprise, except for the assembly of blocks, the painting of blocks, the general assembly of blocks, and the erecting of blocks into a final ship are also operated on different types of platforms, which are also expensive and scare resources in an enterprise. Therefore, for the different production project plans, the spatial resource scheduling is a key problem for a manufacturing enterprise to solve. The spatial resource constrained project scheduling problem (SRCPSP) can be expressed as follows:

A SRCPSP has a set of tasks, . Each task has a requirement for spatial resource k, where and denote the width and length of a two-dimensional area , respectively. And each task will be completed in a period of . The resource requirements and durations for the dummy start and end tasks 0 and are 0. There are a set of spatial resources, , each of which has a availability , where and denote the width and length of a two-dimensional area , respectively. Formula (2) represents the precedence relationship between tasks, which means that a task cannot start before any of its predecessors . Formulae (2)–(5) present the spatial resource constraint; they define that for each day, the spatial resource requirements and for any two tasks and which have the same type of resource cannot overlap (see (3)) and the width and length of spatial resource requirements for any tasks should be confined in the corresponding dimensions and of the available spatial resource (see (4) and (5)). In order to produce a better optimal solution, the 90-degree-based rotation of the required area is permitted. Formula (6) denotes two orientations for each required area ; indicating that the width of is parallel to the width of and indicating that the length of is parallel to the width of . The objective of SRCPSP is to minimize the makespan (see (1)).

3. A Branch and Bound Algorithm for SRCPSP (BB-SRCPSP)

A branch and bound algorithm includes branch scheme and bound computation. For the branch and bound algorithm to SRCPSP, the arrangement of a spatial area required by a task in the available area should also be specified. This section will tackle these three problems involved in the branch and bound algorithm for SRCPSP (BB-SRCPSP).

3.1. Branch Scheme

The branching scheme involves how to develop the nodes of a tree from one root node. Each node in a tree represents a partial schedule, and the root node represents one in which only the start task 0 is schedule at time zero. Related to each decision time , there are four sets of tasks, the partial schedule in which each task is assigned a start time, the active schedule in which each task is being processed but not completed, the complete schedule in which each task is finished, and a decision set in which the predecessors of each task are in such that it could be selected as the next task to be scheduled.

For the nodes that are expanded from an ancestor, they have the same decisions made previously, which means that except for the current tasks that are scheduled, the tasks that are scheduled previously have the same start time. Given a node, the production of its braches can be described as follows: at a decision time p, there are four sets of tasks, , , , and , related to a node b, which will produce several descendants at next time q, each corresponding to a branch. We will select the complete time of the first task in which has the earliest finish time as the next decision time . Then we will decide the alternatives from , each of which should satisfy the resource constraints. An alternative may be any task in or a combination of the tasks in that could be scheduled at time q.

A demonstrative example is shown on how to branch a node. Figure 1 is the Gantt chart of a partial schedule: , , , , and . Assume that the availability of the only one type of resource and the resource requirements , , and of tasks 3, 4, and 5 are 1, 2, and 4, respectively. According to the tree creation process described above, the next decision time is the completion time of task 2; . At time , the alternative set since the requirement of each alternative in is no more than the resource availability at time . So from the node corresponding to partial schedule at time p, three branches will be produced, which correspond to three partial schedules at time q, , , and . As is indicated above, the three branches have a common partial schedule shown in Figure 1, . The current scheduled tasks at time of the three descendant partial schedules are the only difference between them. The produced branches are shown in Figure 2.

3.2. Bound Computation

The tree will have an exhaustive enumeration if no pruning is introduced and the branch and bound algorithm will be very time-consuming. In order to improve the efficiency of BB-SRCPSP, we design some pruning strategies.

The lower bound based pruning is the most effective method that is employed in the literatures. A lower bound is a predicted value on the makespan of a partial schedule, . An upper bound is always set as the makespan of the incumbent optimal solution, UB. If , it can be deduced that from the partial schedule , a better optimal solution than the incumbent will never be produced and then the corresponding node should be pruned; that is, it is unnecessary to create branches from this node. The lower bound value will be computed once a new partial schedule is produced and the incumbent upper bound will be updated if a better optimal solution is found.

For BB-SRCPSP, we compute the precedence based lower bound ). Given a partial schedule , assuming the set of tasks that are scheduled at time to be H, the can be computed as follows: where is the critical path length from node to the end node of a project and is the set of immediate successors of node i.

Given a partial schedule , if some tasks can be left-shifted without violating either the resource or precedence constraints, this partial schedule will be dominated. This is a very effective dominance rule that is used for pruning. A demonstrative example is given on how this dominance rule works. Emanating from a root node is three branches nodes 2, 3, and 4, shown in Figure 3. One of the descendants of node 1 is node 5, which corresponds to the partial schedule shown in Figure 4. Note that the task 2 in Figure 4 could be left-shifted by 3 time units without violating any constraint, so this partial schedule would be dominated and the corresponding node 5 in the tree should be pruned.

It is known that the order of the same node in the tree chosen to be expanded has a great impact on whether or when it will be pruned and thus on the efficiency of a BB algorithm. The node in the tree which has the largest lower bound will be selected for expansion. Then an arbitrary node will be selected to break the ties if more than one candidate tasks exist.

3.3. Arrangement of a Spatial Area

For a traditional RCPSP, the resource constraint requires that the sum of the quantities of the resource demands of the tasks on each day is no larger than the quantity of the same type resource availability. But for a SRCPSP, the satisfaction of the resource constraint means that in addition to that for a RCPSP, the precise position of an area required by a task should also be specified in an available area. The configuration of an area is a very complicated problem. In order to get a better optimal solution, the area available on each day should be filled more efficiently; alternatively speaking, the configuration of an area will impact the quality of a solution.

The configuration of an area is a two-dimensional packing problem. So far, many methods have been presented to tackle it, among which the maximal space-based algorithm is proved to be very effective and is employed in our BB-SRCPSP. Each time if there would be more than one maximal space produced, the one with the smallest distance to a corner of the available area will be chosen as the one to be filled and the corner of the selected maximal space with the least distance to a corner of the available area will be chosen as the position that a task will be put on.

To illustrate how the maximal space is produced, the reader is referred to Figure 5. Initially, the left-bottom corner of area 1 is used to put an area and then two maximal spaces are produced, areas 2 and 3. Afterwards, the area 2 is selected and three maximal spaces are generated, areas 4, 5, and 6.

4. Simulation Experiment

In this section, a set of simulated data is used to illustrate the proposed branch and bound algorithm for SRCPSP, which is adapted from the well-known PSPLIB [30]. The instance includes 9 tasks; the precedence relationship between tasks is shown in Figure 6. There are two types of spatial resources, whose availability is square units. The parameters for each task are listed in Table 1.

At time , , , , and . 7 nodes numbered 2, 3, 4, 5, 6, 7, and 8 are created as shown in Figure 7 and the corresponding partial schedules are illustrated in Figures 8, 9, 10, 11, 12, 13, and 14.

The lower bounds, , for nodes 2, 5, 6, and 8, are equal to 13, respectively. So node 6 is selected arbitrarily for expansion.

From node 6, , , , , and . 3 nodes numbered 9, 10, and 11 are created as shown in Figure 7 and the corresponding partial schedules are illustrated in Figures 15, 16, and 17.

The lower bounds, , for nodes 2, 5, 8, 9, 10, and 11, are equal to 13, respectively. So node 10 is selected arbitrarily for expansion.

From node 10, , , , , and . 3 nodes numbered 12, 13, and 14 are created as shown in Figure 7 and the corresponding partial schedules are illustrated in Figures 18, 19, and 20.

The lower bounds, , for nodes 2, 5, 8, 9, 11, 12, 13, and 14, are equal to 13, respectively. So node 14 is selected arbitrarily for expansion.

From node 14, , , , , and . Then , , , , and . 1 node numbered 15 is created as shown in Figure 7 and the corresponding partial schedule is illustrated in Figure 21.

The lower bounds, , for nodes 2, 5, 8, 9, 11, 12, 13, and 15, are equal to 13, respectively. So node 15 is selected arbitrarily for expansion.

From node 15, , , , , and . Then , , , , and . 1 node numbered 16 is created as shown in Figure 7 and the corresponding partial schedule is illustrated in Figure 22.

The lower bounds, , for nodes 2, 5, 8, 9, 11, 12, 13, and 16, are equal to 13, respectively. So node 16 is selected arbitrarily for expansion.

From node 16, , , , , and . 1 node numbered 17 is created as shown in Figure 7 and the corresponding partial schedule is illustrated in Figure 23. As , then an optimal schedule is produced, .

The lower bounds, , for nodes 2, 9, 12, and 13, are equal to 13, respectively. So node 13 is selected arbitrarily for expansion.

From node 13, , , , , and . 1 node numbered 18 is created as shown in Figure 7 and the corresponding partial schedule is illustrated in Figure 24.

For the partial schedule corresponding to node 18, the task 3 can left-shift to 0 without violating the constraints, so this partial schedule is dominated and the node 18 is pruned. The dominance rule is also applied to nodes 9 and 12, and the descendants of nodes 2, 3, 4, 5, and 7, as shown in Figure 7.

The same algorithm process is implemented to node 8 and another optimal schedule is produced as shown in Figure 25. The descendants expanded from node 8 are illustrated in Figure 7. As it is better than the previous one shown in Figure 23, it is the best solution for the instance.

5. Conclusion

For the spatial resource scheduling problem, a sophisticated branch and bound algorithm is developed to achieve the optimal solution. The branching is an implicit enumeration based scheme and the lower bound is computed based on the critical path of a network. In order to improve the efficiency of BB-SRCPSP, an effective dominance rule is employed and a heuristic based node selection is adopted. For the optimization of the area arrangement, the maximal space based algorithm is applied. The proposed BB-SRCPSP is the first to solve a spatial resource scheduling problem to its optimal solution and thus is a guideline for the design of a more efficient branch and bound algorithm in this field.

Conflict of Interests

The authors declare that they have no financial and personal relationships with other people or organizations that can inappropriately influence their work, and they also declare that there is no conflict of interests regarding the publication of this paper.

Acknowledgments

This work was supported in part by NSFC under Grant no. 61202345, NSFS under Grant no. ZR2012FM006, and SDPW under Grant no. IMZQWH010016. The authors thank the 3 reviewers and handling editor for their meticulous reading of the paper and constructive comments which greatly improved the paper.