Mathematical Problems in Engineering

Volume 2015, Article ID 628259, 9 pages

http://dx.doi.org/10.1155/2015/628259

## A Branch and Bound Algorithm for Project Scheduling Problem with Spatial Resource Constraints

^{1}School of Economics and Management, Harbin Institute of Technology, Weihai 264209, China^{2}Department of Mathematics, Harbin Institute of Technology, Weihai 264209, China^{3}School of Software, Sun Yat-sen University, Guangzhou 510275, China

Received 1 September 2014; Accepted 28 September 2014

Academic Editor: Yunqiang Yin

Copyright © 2015 Shicheng Hu et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### 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 [19–21], 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.