This research aims to plan a “good-enough” schedule with leveling of resource contentions. We use the existing critical chain project management-max-plus linear framework. Critical chain project management is known as a technique used to both shorten the makespan and observe the due date under limited resources; the max-plus linear representation is an approach for modeling discrete event systems as production systems and project scheduling. If a contention arises within a single resource, we must resolve it by appending precedence relations. Thus, the resolution framework is reduced to a combinatorial optimization. If we aim to obtain the exact optimal solution, the maximum computation time is longer than 10 hours for 20 jobs. We thus experiment with Simulated Annealing (SA) and Genetic Algorithm (GA) to obtain an approximate solution within a practical time. Comparing the two methods, the former was beneficial in computation time, whereas the latter was better in terms of the performance of the solution. If the number of tasks is 50, the solution using SA is better than that using GA.
This research aims to plan a “good-enough” schedule with leveling of resource contentions. References [
After defining the max-plus algebra, we define the CCPM-MPL framework with the help of [
We define a set
The priority of operator
The zero and unit elements for operators
where
We define the following relevant matrices and vectors:
・ n: number of tasks;
・
・
・
・
・
・
・
・
・
The earliest task-completion times of all tasks,
where
Matrixes
Then, the latest task-starting times,
The latest input times,
As a consequence, the total floats of all tasks can be calculated using Equations ((5) and (8)):
All tasks can be classified into two types:
We then calculate two matrices,
In the CCPM framework, there are two types of buffers, referred to as feeding and project buffers. The size of each buffer is calculated by
where
Feeding buffers are inserted wherever a non-critical task joins into a critical one. A project buffer is inserted on the eve of an output to avoid tardiness of the project. To reflect the insertion of the two types of buffers, we incur weights to the adjacency matrix
Now we can calculate the earliest task-completion,
Matrix
We treat
We explain the resolution of resource contentions with the help of [
・
・
・
We consider
Tasks 1, 4, and 5 are processed by resource 1, whereas tasks 2 and 3 are processed by resource 2. If resource 2 processes tasks 2 and 3 simultaneously, a resource contention occurs. We avoid contentions between tasks 2 and 3 by appending two precedence relations, which are expressed by broken arrows in
In addition, the processing order of tasks,
Our numerical simulation to level resource contentions shows that the maximum
computation time was longer than 10 hours for 20 jobs. We thus consider the development of approximate methods within a short computation time.
We experiment with an optimization based on Genetic Algorithm (GA) and Simulated Annealing (SA), both of which are common metaheuristics.
We experiment with an optimization based on the GA developed in [
Algorithm 1: Genetic Algorithm
STEP 1. Set mutation parameter and termination condition,
STEP 2. Generate a random solution,
STEP 3. Focusing on a row vector of
STEP 4. If a mutation occurs having probability
STEP 5. Swap two tasks of
STEP 6. Create the new earliest output times,
STEP 7. If
STEP 8. Terminate if the termination condition is satisfied. If otherwise, return to STEP4.
SA [
Algorithm 2: Simulated Annealing
STEP 1. Initialize the temperature and cooling parameters,
STEP 2. Generate a random solution,
STEP 3. Generate a neighboring solution,
STEP 4. Calculate
STEP 5. If
STEP 6. Update the temperature parameter,
STEP 7. Repeat STEPS3-6.
STEP 8. Terminate if the temperatures are sufficiently low. If otherwise, return to STEP3.
We obtain solutions using the SA- and GA-based algorithms. We use a personal computer with the following execution environment:
・ machine: Dell Optiplex 9020;
・ CPU: Intel® Core™ i7-4790 3.60 GHz;
・ OS: Microsoft Windows 7 Professional;
・ memory: 4.0 GB;
・ programming language: MATLAB R2015b.
The test cases for the numerical experiment are generated under the following conditions:
・ number of cases: 100;
・ number of resources,
・ number of resources for task,
・ duration time,
We obtain approximate solutions using two metaheuristics. The temperature and cooling parameter are set to
Method | Number of tasks | ||
---|---|---|---|
10 | 15 | 20 | |
Simulated Annealing | 1.001 | 1.002 | 1.006 |
Genetic Algorithm | 1.000 | 1.001 | 1.000 |
Method | Number of tasks | ||||
---|---|---|---|---|---|
10 | 20 | 30 | 40 | 50 | |
Simulated Annealing | 155.335 | 260.48 | 365.485 | 467.925 | 563.795 |
Genetic Algorithm | 155.215 | 259.055 | 361.755 | 465.45 | 568.955 |
here that the solution using the SA-based algorithm is better than that using the GA if the number of tasks is 50.
This research has studied the planning of a “good-enough” schedule with leveling of resource contentions. We utilized an existing framework called the CCPM-MPL. The resolution framework was reduced to a combinatorial problem. We used SA- and GA-based algorithms to obtain approximate solutions within short time. Moreover, we used the 2-opt neighborhood to generate a neighboring solution in the SA-based algorithm. Comparing the two methods, the SA-based algorithm was beneficial in terms of computation time, whereas the latter was better in terms of the performance of the solution. In addition, when the number of tasks was 50, the value of the solution using the SA-based algorithm was better than that using the GA-based algorithm.
Developing an original heuristic to level resource contentions within a short computation time is our future work.
Yokoyama, H. and Goto, H. (2016) Resolution of Resource Contentions in the CCPM-MPL Using Simulated Annealing and Genetic Algorithm. American Journal of Operations Research, 6, 480-488. http://dx.doi.org/10.4236/ajor.2016.66044