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.
RCPSP [
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 [
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 [
Lee was the first to study the spatial resource scheduling problem [
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
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,
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
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
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
A demonstrative example is shown on how to branch a node. Figure
The Gantt chart of a partial schedule at time
The produced branches from a partial schedule at time
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,
For BB-SRCPSP, we compute the precedence based lower bound
Given a partial schedule
The three branches emanated from the root node.
The Gantt chart of a partial schedule corresponding to node 5.
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.
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
The production of maximal spaces.
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 [
The parameters of tasks.
Task number | Duration | Length, width | Area type |
---|---|---|---|
1 | 0 | 0, 0 | |
2 | 6 | 3, 1 | 1 |
3 | 2 | 3, 2 | 2 |
4 | 3 | 2, 1 | 1 |
5 | 7 | 2, 2 | 2 |
6 | 2 | 2, 2 | 1 |
7 | 7 | 3, 1 | 2 |
8 | 4 | 3, 2 | 1 |
9 | 0 | 0, 0 |
The precedence relationships between tasks.
At time
The search tree.
The partial schedule corresponding to node 2.
The partial schedule corresponding to node 3.
The partial schedule corresponding to node 4.
The partial schedule corresponding to node 5.
The partial schedule corresponding to node 6.
The partial schedule corresponding to node 7.
The partial schedule corresponding to node 8.
The lower bounds,
From node 6,
The partial schedule corresponding to node 9.
The partial schedule corresponding to node 10.
The partial schedule corresponding to node 11.
The lower bounds,
From node 10,
The partial schedule corresponding to node 12.
The partial schedule corresponding to node 13.
The partial schedule corresponding to node 14.
The lower bounds,
From node 14,
The partial schedule corresponding to node 15.
The lower bounds,
From node 15,
The partial schedule corresponding to node 16.
The lower bounds,
From node 16,
The partial schedule corresponding to node 17.
The lower bounds,
From node 13,
The partial schedule corresponding to node 18.
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
The same algorithm process is implemented to node 8 and another optimal schedule is produced as shown in Figure
The partial schedule corresponding to node 23.
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.
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.
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.