Best insertion algorithm for resource-constrained project scheduling problem

Reading time: 5 minute
...

📝 Original Info

  • Title: Best insertion algorithm for resource-constrained project scheduling problem
  • ArXiv ID: 0705.2137
  • Date: 2007-05-23
  • Authors: Researchers from original ArXiv paper

📝 Abstract

This paper considers heuristics for well known resource-constrained project scheduling problem (RCPSP). First a feasible schedule is constructed using randomized best insertion algorithm. The construction is followed by a local search where a new solution is generated as follows: first we randomly delete m activities from the list, which are then reinserted in the list in consecutive order. At the end of run, the schedule with the minimum makespan is selected. Experimental work shows very good results on standard test instances found in PSPLIB

💡 Deep Analysis

Deep Dive into Best insertion algorithm for resource-constrained project scheduling problem.

This paper considers heuristics for well known resource-constrained project scheduling problem (RCPSP). First a feasible schedule is constructed using randomized best insertion algorithm. The construction is followed by a local search where a new solution is generated as follows: first we randomly delete m activities from the list, which are then reinserted in the list in consecutive order. At the end of run, the schedule with the minimum makespan is selected. Experimental work shows very good results on standard test instances found in PSPLIB

📄 Full Content

The resource-constrained project scheduling problem (RCPSP) can be stated as follows.

Given are n activities 1, … , n and r renewable resources. A constant amount of k R units of resource k is available at any time. Activity i must be processed for p i time units; preemption is not allowed. During this time period a constant amount of r i,k units of resource k is occupied. The values R k , P i and r ik are supposed to be non-negative integers. Furthermore, there are precedence relations defined between activities. The objective is to determine starting times s i for the activities i = 1, … , n in such a way that at each time t the total resource demand is less than or equal to the resource availability for each resource type, the given precedence constraints are fulfilled and,

the makespan max 1 max

, where i i i c s p = + , is minimized.

As a generalization of the job-shop scheduling problem the RCPSP is NP -hard in the strong sense.

In recent years, many works have been published including the main research on RCPSP (Kolisch and Hartmann [1], Özdamar and Ulusoy [2]) and great advances have been made in the solving procedures which take into account two different approaches: optimal and heuristic. The optimal approach includes methods such as dynamic programming (Carruthers and Battersby [3]) and implicit enumeration with branch and bound (Talbot and Patterson [4]). Nevertheless, the NP-hard nature of the problem makes it difficult to solve realistic sized projects, in such a way that, in practice, the use of heuristics is necessary. Therefore, besides exact algorithms many authors have developed heuristics for the RCPSP as the only feasible method of handling practical resource constrained project scheduling problems (for survey see [5]).

In this paper we first present a procedure for generating a feasible initial schedule using an adaptation of the randomized best insertion algorithm [6]. The construction is followed by the local search, in which we first delete m activities and then reinsert them back in to the schedule.

Majority of methods start with none of the jobs being scheduled. Subsequently, a single schedule is constructed by selecting a subset of jobs in each step and assigning starting times to these jobs until all jobs have been considered. This process is controlled by the scheduling scheme as well as priority rules with the latter being used for ranking the jobs.

We approach generating initial schedule differently. In the first step, we randomly choose m activities from all the possible activities regardless to their constraints and optimally solve this partial schedule by a branch-and-bound algorithm [7]. The number m is arbitrarily chosen number enabling us to optimally solve this subset very fast; usually we set m between 10 and 25.

In the next step remaining activities were randomly chosen and reinserted in the schedule.

The position of the insertion was obtained by searching all the positions in the schedule.

Between the positions, which are feasible and make the minimal makespan change, one is randomly chosen.

Because some activities are inserted in to the schedule before all their predecessors are, we must check only the activities which are already in the schedule. Therefore we must consider also transitive predecessors preventing the schedule to become infeasible.

Similarly we must also check that at some position there are also all the direct and transitive successors behind reinserted activity.

Our local search was inspired by the good results that were achieved with a similar approach for TSP problem [6]. The main idea is to remove fixed number of vertices from the schedule and insert them back in to the schedule. Whole procedure is very similar to the method described in previous section, with one important distinction. Here we already have a schedule, whereas in the previous method we are building one.

Let us now describe the algorithm. We presume that we already have initial schedule and it is stored in S. Each iteration of our local search consists of the following steps. Interesting question is how many activities should be removed and then reinserted back to the schedule. Our experiments show that the best results are obtained when the number is around 1/10 of activities of project. Removing too few activities does not have the desired effect, since we are not taking the advantages of this approach. On other hand, the number above proposed number usually disrupts the original schedule in such a way that no good results are obtained within comparable times.

One of the advantages of this method is its adaptiveness to systems or projects, where activities are removed or added dynamically. For example in factories situations can occur which need some modification and need for dynamic change of process is needed frequently.

In such situation, other heuristics and meta-heuristics, for example tabu search or simulated annealing, must start from beginning. The

…(Full text truncated)…

📸 Image Gallery

cover.png page_2.webp page_3.webp

Reference

This content is AI-processed based on ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut