Discrete OptimizationResource leveling in a machine environment
Introduction
Project scheduling aims at allocating resources to activities over time while minimizing some economic objectives. In particular, in resource leveling problems the objective is to minimize a function of the resource utilization over time. In this paper we blend parallel machine scheduling with resource leveling and propose a class of exact methods for solving such problems.
The scheduling problems studied in this paper are as follows: There are m machines, M1 through Mm, L renewable resources R1 through RL, with target levels , and a set of n tasks, N, partitioned into m disjoint subsets N = N1 ∪ N2⋯ ∪ Nm. Those tasks in Ni have to be processed exclusively on machine Mi. Each task j has a processing time pj, release time ej, a deadline dj (all integral numbers), and resource requirements . Preemption of tasks is not allowed. No machine can process more than one task at a time, but there is no limitation on the maximum parallel usage of the resources. A schedule specifies the starting time of every task, i.e., , where Sj is the starting time of task j. A schedule is feasible if ej ⩽ Sj and Sj ⩽ dj−pj hold for every task j, and the processing of any pair of tasks j and k on the same machine is performed in disjoint time periods, i.e., [Sj, Sj + pj) ∩ [Sk, Sk + pk) = ∅ for j, k ∈ Ni with j ≠ k. The resource profile of schedule is a function , where gives the total requirement for resource ℓ at time t in schedule , i.e., , and D is the largest integer time point when some task may be in progress, i.e., D = (maxj∈Ndj)−1. We will consider the following type of objective functions:where the functions satisfy . For instance, with , where wℓ ⩾ 0, we obtainwhile yieldsOf course, for distinct resources, the functions may be different.
A typical application area is workforce leveling when the workforce consists of permanent as well as temporary workers. If the load of the workshop fluctuates over time, then in peak periods, when more workers are needed than the number of permanent employees, extra workers may be hired to meet the demand. To reduce extra hiring costs, a resource leveling problem has to be solved with a linear or quadratic objective function. The quadratic objective function helps to smooth the usage of extra workers, which is highly desirable due to work regulations. For instance, in the lighting industry, workers remove semi-finished goods at the end of the production line and put them on pallets, or perform manual, or semi-automatic packaging of lamps. The number of workers needed mainly depends on the speed of the production line as determined by the production technology, and varies from product to product. The seasonal effect is very strong in the lighting industry and the manufacturers use temporary workers only in peak periods. Main suppliers of a lamp factory are printing houses that produce packaging materials (folding boxes of special design), and the fluctuating demand of their buyer strongly influences their demand and the necessary workforce as well.
We begin with a brief literature review in Section 2. Then we study the complexity of the one machine resource leveling problem in which the starting times of all tasks on all but one machines are fixed. We will show that this problem is NP-hard, but if the ordering of tasks on the remaining machine is fixed, then the optimal starting times can be computed in polynomial time (Section 3). This algorithm will be used both in a heuristic approach as well as in our exact method. We provide an integer programming formulation (Section 4), and based on this a Lagrangian relaxation of our problem in Section 5. We sketch a simple heuristic algorithm in Section 6, and describe our branch-and-bound method in Section 7. The main novelty of the exact method is a new branching rule; and also a shaving technique for strengthening the lower bounds of the nodes, and to narrow the time windows of the tasks. We report on our computational results in Section 8.
Section snippets
Literature review
One of the first heuristics for resource leveling is due to Burgess and Killebrew (1962). This procedure is applicable to CPM/PERT networks consisting of activities (nodes) and temporal relations between them (arcs). It aims at finding the best starting times of the activities by shifting them to the right step-by-step in several rounds. This method has been extended to the multi-project, multi-resource case by Woodworth and Willie (1975). The above procedures cannot handle resource
The one machine resource leveling problem
Suppose the starting times of the tasks on all but one machine are fixed, and we want to solve the resource leveling problem by finding the optimal sequence and starting times for the set of tasks N1 assigned to the remaining unscheduled machine. Let minj∈Nej = v1 < ⋯ < vK < vK+1 = maxj∈Ndj determine a minimal set of intervals such that the resource usage for all resources is constant in the intervals [vk, vk+1), for k = 1, … , K. Let denote the free capacity of resource ℓin the interval [vk, vk+1),
Integer programming formulation
In this section we provide an integer programming formulation for resource leveling problems. The decision variables are xjt ∈ {0, 1}, j ∈ N, t ∈ {ej, … , dj − pj}, and , j ∈ N, t ∈ {0, … , D}. The xjt’s determine a schedule by indicating the starting time of each task, in which yℓt represents the resource usage . The resource leveling problem can be formulated as the following integer program (IP):
Lagrangian relaxation
To obtain the Lagrangian relaxation of the problem (3), (4), (5), (6), (7), we dualize (6), noting that other choices would give different relaxations. Since the objective function and the constraints are separable, we obtain the following mathematical program:whereThe LBi(λ) are integer programs which would
Heuristic approaches
Finding a feasible schedule consists of determining a feasible schedule on each machine. This problem is NP-hard (Sequencing with release times and deadlines in Garey and Johnson (1979)), and there are numerous approaches in the literature to solve it (for example, see Carlier, 1982, Baptiste et al., 2001). Prior to applying exact methods, we can try to use heuristics (e.g. priority lists) or approximation algorithms (see Section 7.4) to find a feasible schedule.
We use local search heuristics
Branch and bound
The nodes in the branch-and-bound search tree represent a constrained version of the original problem, where the time windows of the tasks are narrowed, and the root node represents the original problem. The evaluation of a node proceeds as follows: (1) Constraint propagation, (2) Calculation of lower bound, (3) Shaving, (4) Calculation of upper bound, and (5) Branching. It would be possible to perform steps (1)-(3) repeatedly, but experimental results show that this would be too time-consuming.
Computational results
In order to assess the performance of our exact as well as the heuristic methods, we have implemented them in C++ and generated a series of test instances. For solving the linear programs during branch-and-bound, we used the open-source CLP library from COIN-OR (http://www.coin-or.org/). We evaluated several variants of our exact algorithm and compared the results to those obtained by the commercial solver ILOG CPLEX 11.2 using the IP formulation of the resource leveling problem (3), (4), (5),
Final remarks
We have developed an exact method for solving resource leveling problems in a dedicated machine environment. The exact method finds significantly better results than a tabu search based heuristic with a simple task-reinsertion neighborhood on a wide range of test instances. We have also devised a polynomial time procedure for finding the best starting times of those tasks on the same machine when the starting times of the tasks on the other machines are fixed. There are several ways to extend
Acknowledgments
The authors are grateful to three anonymous referees for constructive comments that helped to improve the presentation of the paper. This work has been supported by the research grant “Digital, real-time enterprises and networks”, OMFB-01638/2009.
References (24)
- et al.
Scheduling subject to resource constraints: Classification and complexity
Discrete Applied Mathematics
(1983) The one-machine sequencing problem
European Journal of Operational Research
(1982)- et al.
A survey of variants and extensions of the resource-constrained project scheduling problem
European Journal of Operational Research
(2010) - et al.
Scheduling parallel dedicated machines under a single non-shared resource
European Journal of Operational Research
(2003) - et al.
Resource levelling for projects with schedule dependent time windows
European Journal of Operational Research
(1999) - et al.
Procedures for resource levelling and net present value problems in project scheduling with general temporal and resource constraints
European Journal of Operational Research
(2000) - et al.
A fast tabu search algorithm for the permutation flow-shop problem
European Journal of Operational Research
(1996) - et al.
Skilled workforce scheduling in service centres
European Journal of Operational Research
(2009) - et al.
Resource leveling in make-to-order manufacturing: Modeling and heuristic solution method
International Journal of Operations Research
(2007) - et al.
Constraint-based Scheduling: Applying Constraint Programming to Scheduling Problems
(2001)
Scheduling Computer and Manufacturing Processes
Variation of activity level on a cyclic arrow diagram
Journal of Industrial Engineering
Cited by (12)
A common approximation framework for early work, late work, and resource leveling problems
2020, European Journal of Operational ResearchCitation Excerpt :Resource leveling is a well studied area of project scheduling, where a number of exact and heuristic methods are proposed for solving it for various objective functions and under various assumptions, see e.g., Kis (2005), Neumann and Zimmermann (2000), Rieck, Zimmermann, and Gather (2012), Verbeeck, Van Peteghem, Vanhoucke, Vansteenwegen, and Aghezzaf (2017). Drótos and Kis (2011) consider a dedicated parallel machine environment, and propose and exact method for solving resource leveling problems optimally with hundreds of jobs. In the same paper, some new complexity results are obtained.
Energy-oriented scheduling based on Evolutionary Algorithms
2015, Computers and Operations ResearchCitation Excerpt :This criterion explicitly penalizes large deviations and therefore is most appropriate for the problem at hand. Because none of the above-mentioned exact solution methods are able to solve problem sizes addressed in this contribution and due to the complexity of the problem (which can be assessed on the grounds that the general resource leveling problem with precedence constraints is NP-hard in the ordinary sense [13] and that even the single-machine resource leveling problem is NP-complete in the strong sense [31]), the use of meta-heuristics as solution method is indispensable ([30,33–35] also come to this conclusion). Rager [4] describes the only meta-heuristics that adequately address the defined energy-oriented scheduling problem by considering the no-wait constraint: a Genetic Algorithm and a Memetic Algorithm.
A multi-criteria master production scheduling approach for special purpose machinery
2014, International Journal of Production EconomicsCitation Excerpt :Anagnostopoulos and Koulinas (2010) state that the “[…] scheduling objective of resource leveling is to make the resource requirements as even as possible over the entire project horizon, usually, without explicit resource considerations to be taken into account”. This statement is consistent with Drótos and Kis's (2011) statement that “in resource leveling problems the objective is to minimize a function of the resource utilization over time”. Typically total squared utilization costs are minimized to achieve balanced resource utilization (Gather et al., 2011).
Scheduling Jobs to Minimize a Convex Function of Resource Usage
2023, Proceedings of the 18th Conference on Computer Science and Intelligence Systems, FedCSIS 2023