
preted as, e.g., adjusting the start of a shift for a single
employee.
The above example is a particularly simple case of
the problem; in reality, activities of different projects
have complex interactions across multiple resources,
making the identification of the constraints to be re-
laxed a difficult problem. In some sense, this ap-
proach is similar to the concept of duality known in
continuous optimization (e.g., shadow prices in Lin-
ear Programming), which does not apply to discrete
optimization problems.
We develop two different methods to address the
problem. The first method adapts existing approaches
from the literature, which address the problem in
simpler scheduling models. The second method uti-
lizes relaxations that focus specifically on the target
project. To compare the methods, we present a set of
problem instances designed to model the addressed
scheduling problem, and we evaluate the two meth-
ods using the presented problem instances.
2 RELATED WORK
Following the work of Wang et al. (2016), we focus
on Execution bottleneck machines, which are bottle-
necks in a constructed schedule for a given problem
instance, i.e., not for the model of the production but
for the specific data. The identified execution bottle-
necks may vary between problem instances and their
constructed schedules. Focusing on execution bottle-
necks aims to improve performance for the specific
problem instance, i.e., case-based relaxation.
2.1 Bottlenecks in the RCPSP
To the best of our knowledge, no relevant research
focuses mainly on identifying bottlenecks in the
RCPSP. The closest research on bottlenecks can be
found for the Job-Shop problem—scheduling on unit-
capacity resources.
Luo et al. (2023) studied how identifying bottle-
neck machines can guide the scheduling process of a
genetic algorithm. In their case study, Arkhipov et al.
(2017) proposed a heuristic approach for estimating
project makespan and resource load profiles. Those
estimations are, in turn, used to identify bottleneck re-
sources. However, the identified bottleneck resources
were not addressed further.
2.2 Relaxing the Identified Bottlenecks
Lawrence et al. (1994) studied how identified bottle-
necks shift between machines in response to introduc-
ing relaxations to the original problem. They relaxed
“short-run” bottlenecks by increasing the capacity of
the identified bottleneck resources and then observed
whether the bottlenecks shifted to a different machine.
The authors observed that while such relaxations are
effective at relaxing local bottlenecks, they also in-
crease the “bottleneck shiftiness”.
In their study, R. Zhang et al. (2012) addressed
the Job-Shop problem by first relaxing its capacity
constraints, solving the modified relaxed problem and
identifying bottlenecks in its solution. The obtained
information was used to guide a proposed simulated
annealing algorithm to find a solution to the original
problem. Thus, the relaxation served only as an inter-
mediate step toward obtaining a solution, rather than
being the desired result.
2.3 Contribution
The specific contributions of this paper are:
• We extend two standard Job-Shop bottleneck
identification indicators for application to the
RCPSP. We then develop a method utilizing the
extended indicators for proposing untargeted re-
source constraint relaxations.
• We develop an approach for proposing targeted
relaxations specifically for the RCPSP extended
with time-variant resource capacities.
3 PROBLEM STATEMENT
3.1 Scheduling Model
We assume the PSm | intree |
∑
j
w
j
T
j
variant of the
RCPSP with several extensions to model the ad-
dressed problem.
We define a problem instance I as a 4-tuple
(J ,P , R ,T ), where J = {1,...,n} is the set of jobs,
P is the set of all precedences constraints, R =
{1,...,m} is the set of resources, T ∈ N is the time
horizon of the problem instance.
Each job j ∈ J has a processing duration p
j
and a
due date d
j
. A tardiness weight w
j
defines the penalty
for each time period the job is tardy, i.e., not com-
pleted before its due date. Preemption of jobs is not
allowed. The order of jobs is constrained with prece-
dence constraints i→ j or (i, j) ∈ P . We define the
precedence graph G = (J ,P ), which is assumed to be
an inforest, consisting of a set of connected in-trees.
Jobs are assigned to resources R with time-variant
renewable capacities. The capacity of a resource
k ∈ R during a time period t ∈ {1,. . .,T } is denoted
Bottleneck Identification in Resource-Constrained Project Scheduling via Constraint Relaxation
341