Packing-Inspired Algorithms for Periodic Scheduling Problems with
Harmonic Periods
Josef Grus
1,4 a
, Claire Hanen
2,3 b
and Zden
ˇ
ek Hanz
´
alek
4 c
1
DCE, FEE, Czech Technical University in Prague, Czech Republic
2
Sorbonne Universit
´
e, CNRS, LIP6, F-75005 Paris, France
3
UPL, Universit
´
e Paris Nanterre, F-92000 Nanterre, France
4
IID, CIIRC, Czech Technical University in Prague, Czech Republic
Keywords:
Periodic Scheduling, Harmonic Periods, Height-Divisible 2D Packing, First Fit Heuristic.
Abstract:
We tackle the problem of non-preemptive periodic scheduling with a harmonic set of periods. Problems of this
kind arise within domains of periodic manufacturing and maintenance and also during the design of industrial,
automotive, and avionics communication protocols, where an efficient static schedule of messages is crucial
for the performance of a time-triggered network. We consider the decision variant of the periodic scheduling
problem on a single highly-utilized machine. We first prove a bijection between periodic scheduling and a
particular 2D packing of rectangles (we name it height-divisible 2D packing). We formulate the problem
using Constraint Programming and compare it with equivalent state-of-the-art Integer Linear Programming
formulation, showing the former’s superiority on difficult instances. Furthermore, we develop a packing-
inspired first fit heuristic, which we compare with methods described in the literature. We justify our proposed
methods on problem instances inspired by the communication of messages on one channel.
1 INTRODUCTION AND
RELATED WORK
Periodic Scheduling Problems (PSPs) often arise
when dealing with manufacturing and maintenance
schedules. Another important application area is the
configuration of communications protocols in the in-
dustrial, automotive, and avionics domains. The con-
figuration is based upon an offline generated schedule
specifying start times of so-called time-triggered mes-
sages, typically used for safety-relevant functions. It
is important to have an efficient solution because the
demand for communication bandwidth has been in-
creasing significantly when messages from a cam-
era, lidar, or radar become a part of safety-relevant
functions in modern self-driving cars (Hanzalek et al.,
2023).
In this paper, we study the decision problem of
scheduling non-preemptive jobs on a single machine,
where the periods of the jobs are harmonic; for any
two distinct periods, it holds that the longer period
a
https://orcid.org/0000-0002-1136-370X
b
https://orcid.org/0000-0003-2482-5042
c
https://orcid.org/0000-0002-8135-1296
is divisible by the shorter one. We assume that the
schedule has to be strictly periodic: the interval be-
tween two occurrences of the same job is equal to the
job period.
PSPs with a harmonic set of periods and process-
ing times are easier to solve than the more general
case (Korst et al., 1996). However, the case with
harmonic periods and non-harmonic processing times
was proven to be strongly NP-complete in (Cai and
Kong, 1996). Schedules with harmonic periods were
applied in many industrial settings. For example,
in FlexRay standard (a communication protocol used
in higher-class cars (Lukasiewycz et al., 2009; Dvo-
rak and Hanzalek, 2014)), we aim to find a periodic
schedule for a so-called static segment where the jobs
represent the messages and the machine represents the
physical communication channel. Furthermore, Boe-
ing’s avionics-related problem instances were solved
using methods for harmonic periods in (Eisenbrand
et al., 2010b) as well.
The general PSPs are usually modeled using
time-indexed formulations or relative order formu-
lations, implemented using Integer Linear Program-
ming (ILP) in (Eisenbrand et al., 2010b) or Satisfiabil-
Grus, J., Hanen, C. and Hanzálek, Z.
Packing-Inspired Algorithms for Periodic Scheduling Problems with Harmonic Periods.
DOI: 10.5220/0012325800003639
Paper published under CC license (CC BY-NC-ND 4.0)
In Proceedings of the 13th International Conference on Operations Research and Enterprise Systems (ICORES 2024), pages 101-112
ISBN: 978-989-758-681-1; ISSN: 2184-4372
Proceedings Copyright © 2024 by SCITEPRESS Science and Technology Publications, Lda.
101
ity Modulo Theory in (Minaeva and Hanzalek, 2021).
In (Hladik et al., 2020), PSP with harmonic periods,
precedence constraints, and dedicated machines was
tackled using a local search first-fit heuristic.
Other methods exploit characteristics of the PSP
with harmonic periods. In this case, the feasible
schedule can be visualized using the bin tree repre-
sentation, shown in (Eisenbrand et al., 2010a), or us-
ing the 2D packing approach described in this paper.
In (Eisenbrand et al., 2010a), authors use the com-
pressed bin trees to develop a first fit heuristic to solve
a machine minimization problem. Later in (Eisen-
brand et al., 2010b), the authors presented an alterna-
tive well-performing ILP formulation. Similar first fit
heuristic and ILP formulation, used for the FlexRay
bus optimization, were shown in (Lukasiewycz et al.,
2009). In (Dvorak and Hanzalek, 2014), a first-
fit-based heuristic was utilized to create a FlexRay
schedule that could be embedded into multiple mod-
els of vehicles. In (Marouf and Sorel, 2011), authors
performed a schedulability analysis of both harmonic
and non-harmonic PSPs.
The crucial correspondence between the PSP with
harmonic periods and the height-divisible 2D packing
problem was outlined in our previous paper (Hanen
and Hanzalek, 2020). This allows us to get inspira-
tion from the algorithms developed for the packing
and cutting problems. In (Fleszar and Hindi, 2002),
authors presented a bin-focused heuristic. A similar
method, generalized for a variable-sized bin packing,
was presented in (Haouari and Serairi, 2009).
In the 2D case, the guillotine cutting and k-stage
packing problems can be considered a generalization
of the height-divisible 2D packing later defined in this
paper. On the other hand, height-divisible 2D pack-
ing is more general than 1D packing. In (Ntene and
van Vuuren, 2009), authors provide the overview of
guillotine heuristics for strip packing and present their
own size alternating stack heuristic, further improved
in (Ortmann et al., 2010). Finally, we can special-
ize the ideas of general packing heuristics, such as the
work of (Crainic et al., 2008) for 3D bin-packing, into
our height-divisible problem environment.
With respect to the relevant research, the main
contributions of our paper are the following:
We give a new proof of the equivalence of the PSP
with harmonic periods on a single machine and
the height-divisible 2D packing problem, and we
show that any solution obtained for the 2D pack-
ing problem can be transformed into a canonical
form.
We present a Constraint Programming (CP) for-
mulation of the problem and compare it with the
state-of-the-art ILP model.
We present a packing-inspired heuristic, which
enables us to solve more highly utilized problem
instances in comparison with baseline methods.
2 PROBLEM DEFINITION
We consider a set of n independent jobs, J
1
,...,J
n
to be performed repeatedly on a single machine.
Each job J
i
is characterized by its integer process-
ing time p
i
and its integer period T
α
i
. Periods be-
long to a harmonic set T
0
,...,T
r1
of size r, so that
k {1,...,r 1}, T
k
= b
k
T
k1
where b
k
is an inte-
ger. We define the least period w = T
0
, and we define
the hyper-period
ˆ
H to be the least common multiplier
of periods. Due to the harmonic nature of the period
set,
ˆ
H is equal to the longest period T
r1
.
Any periodic schedule defines for each job J
i
a
start time f irst
i
T
α
i
of its first occurrence. The j-th
occurrence of J
i
will start at time f irst
i
+ ( j 1)T
α
i
,
where j 1. We consider the existence of a feasible
schedule here. Let o be the starting time of the first
job J
f
with the least period w. We choose o as the
origin. So we define s
i
such that:
s
i
=
f irst
i
o i f f irst
i
o
f irst
i
+ T
α
i
o otherwise
.
We call time interval [o,o +
ˆ
H) the ”observation
interval”. Notice that for any integer k 1, the sched-
ule of time interval [o +(k 1)
ˆ
H,o + k
ˆ
H) is the same
as the schedule of the observation interval shifted by
(k 1)
ˆ
H time units. In the rest of the paper, we con-
sider without loss of generality that the first occur-
rence of a job J
i
starts at s
i
in the observation interval.
Let us now decompose s
i
with respect to the least
period w: s
i
= u
i
+ v
i
· w, with u
i
< w, and integer v
i
.
Also, u
i
+ p
i
w, since an occurrence of job J
i
needs
to fit between two occurrences of J
f
at o and o + w.
A feasible schedule has to be collision-free. We
call collision between two jobs J
i
,J
j
a situation when
two occurrences of these jobs are processed simulta-
neously. An example of the observation interval of
the collision-free schedule is described in Section 3.2
and is shown in Figure 1a.
We denote by B
k
=
k
i=1
b
i
, B
0
= 1, so that:
T
k
= B
k
w. (1)
We can now state the necessary and sufficient con-
dition for a collision to occur in a periodic schedule.
Lemma 1. A periodic schedule induces a collision
between two jobs J
i
,J
j
with periods T
α
i
,T
α
j
such that
α
i
α
j
if and only if the following conditions hold:
u
i
< u
j
+ p
j
and u
j
< u
i
+ p
i
(2)
ICORES 2024 - 13th International Conference on Operations Research and Enterprise Systems
102
κ N [0,
B
α
j
B
α
i
), v
j
= v
i
+ κB
α
i
(3)
Proof. Suppose that the occurrences k, k
of J
i
,J
j
col-
lide. For this to happen, the two following conditions
must hold:
s
i
+ kT
α
i
+ p
i
> s
j
+ k
T
α
j
and s
j
+ k
T
α
j
+ p
j
> s
i
+ kT
α
i
. (4)
We decompose s
i
= u
i
+ v
i
· w and s
j
= u
j
+ v
j
· w:
u
i
+ (v
i
+ kB
α
i
)w + p
i
> u
j
+ (v
j
+ k
B
α
j
)w
and
u
i
+ (v
i
+ kB
α
i
)w < u
j
+ (v
j
+ k
B
α
j
)w + p
j
(5)
u
i
+ p
i
u
j
> (v
j
v
i
+ k
B
α
j
kB
α
i
)w
and
(v
j
v
i
+ k
B
α
j
kB
α
i
)w > u
i
u
j
p
j
(6)
As u
i
+ p
i
u
j
< w and v
i
,v
j
are integers, this can
occur only if v
j
v
i
+ k
B
α
j
kB
α
i
0.
Similarly, as u
i
u
j
p
j
> w the second condi-
tion can occur only if v
j
v
i
+ k
B
α
j
kB
α
i
0.
Hence v
j
v
i
+ k
B
α
j
kB
α
i
= 0. As B
α
j
is a
multiple of B
α
i
, there exists an integer κ such that
v
j
v
i
= κB
α
i
, which proves (3).
Now, if this condition holds, then a collision oc-
curs if u
j
< u
i
+ p
i
and u
i
< u
j
+ p
j
, which finally
proves the lemma.
Utilization η
i
of a job J
i
is the proportion of the
time the job uses: η
i
=
p
i
T
α
i
. The utilization of the
instance is equal to U =
n
i=1
η
i
. Obviously, U is not
greater than 1 in feasible instances.
3 2D PACKING AND PERIODIC
SCHEDULING
In this section, we first present a special case of a
2D packing problem and then show the packing prob-
lem associated with a periodic scheduling instance.
Finally, we prove the equivalence between the two
problems by establishing the correspondence between
schedule times and 2D coordinates of rectangles.
3.1 Height-Divisible 2D Packing
Problem
We define the Height-Divisible 2D (HD2D) packing
problem. An instance of HD2D packing is defined
by n rectangles. Each rectangle R
i
has width
i
and
height h
i
. These rectangles are to be packed in a 2D
bin of width w and height H. We assume that there are
r different heights H
0
··· H
r1
, each one divides
H and that they form a harmonic set: each a height H
k
divides H
j
if j < k. Note, that H
0
= H and H
r1
= 1.
A feasible packing defines the bottom left corner
coordinates (x
i
,y
i
) of the rectangles, so there are no
collisions between two rectangles, and they all fit into
the bin (x
i
+
i
w, y
i
+ h
i
H).
A packing is said to be height divisible if the
height coordinate y
i
is divisible by the height of the
rectangle:
y
i
mod h
i
= 0.
So, the HD2D packing problem is to find a fea-
sible height-divisible packing. We can now state the
conditions of a collision between two rectangles in a
height-divisible packing.
Lemma 2. In a height-divisible packing, a collision
between rectangles R
i
and R
j
such that h
j
h
i
occurs
iff all following conditions hold:
x
j
< x
i
+
i
, and x
i
< x
j
+
j
(7)
y
i
y
j
< y
i
+ h
i
, (8)
Proof. Obviously, a collision occurs if:
x
i
j
< x
j
< x
i
+
i
(9)
y
i
h
j
< y
j
< y
i
+ h
i
(10)
Assuming h
j
h
i
, h
j
divides h
i
and also divides
y
j
and y
i
. Consequently, the inequality y
i
h
j
< y
j
re-
formulates to y
i
y
j
and the other inequalities remain
the same.
3.2 HD2D Packing Instance Associated
with a PSP Instance
We can now define a 2D packing instance associated
with a periodic scheduling instance with harmonic pe-
riods. Consider an instance I of the scheduling prob-
lem. We define an associated instance φ(I) of the
HD2D packing problem.
We set H =
ˆ
H
w
= B
r1
. To each job J
i
we associate
a rectangle R
i
of width
i
= p
i
and height h
i
=
ˆ
H
T
α
i
, to
fit in a bin of width w and height H.
Packing-Inspired Algorithms for Periodic Scheduling Problems with Harmonic Periods
103
(a) Periodic scheduling problem.
(b) Height-divisible 2D packing problem.
Figure 1: Solutions to PSP and HD2D packing problem,
with corresponding jobs and rectangles presented using the
same colors. Row indices use the mixed-radix system.
To give an intuition of the correspondence be-
tween a periodic schedule and a height-divisible pack-
ing, we first develop it on an example in Figures 1.
The main idea is to arrange the periodic schedule in
rows, as shown in Figure 1a. A row indexed by v rep-
resents the schedule of the time window [vw, (v+1)w)
of the observation interval.
The instance contains 12 jobs J
1
,...,J
12
. J
1
is the
only job with the shortest period T
α
1
= T
0
= 20. Jobs
J
2
,J
3
have period equal to 40, jobs J
4
,...,J
9
have pe-
riod equal to 80, and finally, jobs J
10
,J
11
,J
12
have pe-
riod equal to 240. The chart of the periodic schedule
in Figure 1a therefore has width w = T
0
= 20, and its
height is equal to
ˆ
H/w = B
3
= 12. The 2D bin of
the corresponding HD2D packing problem shown in
Figure 1b has the same width w and height H.
Figure 1a shows the chart of the feasible periodic
schedule over a single observation interval of length
T
3
= 240. Origin 0 is set by the start time of job J
1
,
and we stack each time window of length w = 20 on
top of the previous one (see the rows in Figure 1a with
their three-digit row numbers using mixed-radix sys-
tem formally defined in Section 3.3). We can see that,
e.g., job J
4
has a period of 80, as its subsequent oc-
currence is at the fourth row from its previous occur-
rence. Note that jobs with the same period use similar
colors.
Figure 1b shows the corresponding height-
divisible packing view of the same solution. The
packing is obtained by interchanging the rows as fol-
lows: we swap the three-digit row numbers in Fig-
ure 1a such that the most significant digit becomes
the least significant digit and vice versa. Finally, we
obtain Figure 1b by ordering the rows according to
their new three-digit numbers. For example, the row
with J
11
has number 1
3
1
2
0
2
= 6 in Figure 1a and af-
ter the swap, the same row has number 0
2
1
2
1
3
= 4 in
Figure 1b.
We can see the occurrences of the original jobs
have been merged, and the dimensions of the result-
ing rectangles correspond to those described in Sec-
tion 3.2. But this is just an observation based on
one example, which does not guarantee a compact
shape of rectangles in HD2D packing. The formal
proof of the equivalence of both problems is derived
in Section 3.3 and uses positions of jobs and rectan-
gles rather than three-digit numbers of rows used in
this Section 3.2.
Note that there exists a bin tree representation of
PSP with harmonic periods. It was used in (Eisen-
brand et al., 2010a) and is closely related to our
HD2D packing perspective. The bin tree represents
the PSP with a tree, with each level of nodes corre-
sponding to one of the periods. Examples of the bin
tree and HD2D packing representations are shown in
Figures 7, 8 in (Minaeva and Hanzalek, 2021).
3.3 Flip Operation and Equivalence
Between HD2D Packing Problem
and PSP
In this section, we will formally introduce a flip oper-
ation, first introduced in our paper (Hanen and Han-
zalek, 2020). The flip operation allows us to pro-
vide new proof of a bijection between feasible peri-
odic schedules and HD2D packing of the associated
packing instance in Theorem 1.
Theorem 1. To any periodic feasible schedule of the
instance I, a feasible height-divisible 2D packing of
φ(I) is associated.
J
i
,
x
i
= u
i
y
i
= h
i
· f lip(v
i
,α
i
,b)
(11)
Conversely, from a height-divisible 2D packing of
φ(I) we can define a feasible schedule as follows:
J
i
,
u
i
= x
i
v
i
= f lip(
y
i
h
i
,α
i
,B f (b, α
i
))
(12)
We first introduce the theoretical framework used
to prove Theorem 1. Let y be any natural number.
ICORES 2024 - 13th International Conference on Operations Research and Enterprise Systems
104
It is known that y < H can be decomposed uniquely
according to the mixed radix numerical system b =
(b
1
,...,b
r1
) as follows:
y = y
1
B
0
+ y
2
B
1
+ y
3
B
2
+ ... + y
r1
B
r2
with i > 0,y
i
< b
i
. This decomposition is usually
denoted with the most significant digits to the left as
follows:
[y]
b
= [y
r1
]
b
r1
...[y
1
]
b
1
(13)
Notice that in the usual base decomposition (for
example, base 2 for a binary decomposition), the
components of the base vector b are all equal (for ex-
ample, equal to 2 for the binary decomposition).
Let us generalize the transformation proposed by
(Lukasiewycz et al., 2009) for the binary decompo-
sition of a number by defining two operators: Let
B f (b, k) be the operator that flips the k first compo-
nent of the base vector b:
B f (b, k) = (b
k
,b
k1
,...,b
1
,b
k+1
...,b
r1
) (14)
Let now f lip(y, k,b) be the number constructed
by flipping the k least significant digits of the decom-
position [y]
b
to give a number expressed with respect
to base vector b
= B f (b, k):
[ f lip(y, k, b)]
b
= [y
r1
]
b
r1
...[y
k+1
]
b
k+1
[y
1
]
b
1
...[y
k
]
b
k
(15)
Notice that the r 1 k most significant digits are not
modified.
Hence, we have:
f lip(y,k, b) = y
k
·1+y
k1
·b
k
+...+y
1
(b
2
···b
k
)+
y
k+1
(b
1
···b
k
) + . . . + y
r1
(b
1
···b
r2
) (16)
Example: consider the base vector b = (2,2,3)
used in Figure 1a. So H = 12. Let us consider y =
10. Its decomposition along b is [y]
b
= [2]
3
[1]
2
[0]
2
=
0 + 1 · 2 + 2 · 4. B f (b, 3) = (3,2,2). f lip(y, 3, b) =
[0]
2
[1]
2
[2]
3
= 2 +1 · 3 + 0 · 6 = 5.
This flip operation has some important properties
that will be used to transform the scheduling problem
into an equivalent packing problem. The following
lemma expresses the reversibility of the flip and the
fact that equidistant integers (with distance B
k1
) be-
come consecutive integers after the flip operation.
Lemma 3. For any integer y < H,
f lip( f lip(y,k, b),k,B f (b, k)) = y (17)
if [y
k
]
b
k
< b
k
1, then
f lip(y + B
k1
,k, b) = f lip(y,k, b) + 1 (18)
and if [y
k
]
b
k
> 0,
f lip(y B
k1
,k, b) = f lip(y,k, b) 1 (19)
If y is a multiple of B
k
, z < B
k
and k
k then
f lip(y+z,k
,b) = f lip(y,k
,b) + f lip(z, k
,b) (20)
Proof. Obviously, B f (B f (b,k),k) = b, since a dou-
ble flip of the k first digits lead to the initial digits.
This proves (17). Let us consider (18). If we add
B
k1
to y, the digit [y
k
]
b
k
increases by one unit, so
after the flip operation, this digit will be the least sig-
nificant; hence, the corresponding number increases
by 1. Similar arguments hold for (19). Finally, if y is
a multiple of B
k
, its k least significant digits are null
with respect to base b. If z < B
k
its digits from k + 1
to the last one are null, so the sum y + z consists in the
k first digits of z followed by the next digits of y. If
k
k f lip(y,k
,b) has k
k first flipped digits from
the digits k to k
of y and f lip(z,k
,b) starts with k
k
null digits followed by the flipped k digits of z. So, the
sum is exactly the flipped digits from y + z.
We are now able to prove the equivalence between
PSP and HD2D packing problem.
Proof of Theorem 1.
Proof. The proof relies on the properties of the flip
operation stated in Lemma 3 and the expressions of
collisions stated in Lemma 1 and 2.
Assume that there is a feasible schedule of in-
stance I. Now, assume that a collision occurs in the
associated 2D packing between rectangles R
i
and R
j
such that h
i
h
j
, so that T
α
i
T
α
j
.
So according to equation (7), and as x
i
= u
i
,x
j
=
u
j
we have u
j
< u
i
+ p
i
and u
i
< u
j
+ p
j
. This implies
that the condition (2) of Lemma 1 holds, and thus, as
there is no collision in the schedule, the second condi-
tion cannot hold: v
j
v
i
cannot be a multiple of B
α
i
.
Now according to Lemma 2, equation (9), the col-
lision in the packing implies that:
y
i
y
j
< y
i
+ h
i
.
Assume that y
j
= y
i
+ . Notice that as h
j
divides
h
i
, and as h
j
divides y
j
, it should also divide . More-
over:
y
j
= h
j
· f lip(v
j
,α
j
,b) = h
i
· f lip(v
i
,α
i
,b) +
f lip(v
j
,α
j
,b) =
h
i
h
j
f lip(v
i
,α
i
,b) +
h
j
with
h
j
<
h
i
h
j
Now according to Lemma 3,
v
j
= f lip(
y
j
h
j
,α
j
,B f (b, α
j
))
= f lip(
h
i
h
j
f lip(v
i
,α
i
,b) +
h
j
,α
j
,B f (b, α
j
))
Packing-Inspired Algorithms for Periodic Scheduling Problems with Harmonic Periods
105
Observe that
h
i
h
j
=
T
α
j
T
α
i
= b
α
i
+1
...b
α
j
. And
h
j
<
h
i
h
j
= b
α
i
+1
...b
α
j
. So applying Lemma 3 with base
B f (b, α
j
) we can say that:
v
j
= f lip(
h
i
h
j
f lip(v
i
,α
i
,b), α
j
,B f (b, α
j
))
+ f lip(
h
j
,α
j
,B f (b, α
j
))
In the base representation B f (b,α
j
) the α
j
α
i
least significant digits of
h
i
h
j
f lip(v
i
,α
i
,b) equal
0. And the next α
i
digits are the ones of v
i
flipped. So that the α
i
least significant digits of
f lip(
h
i
h
j
f lip(v
i
,α
i
,b), α
j
,B f (b, α
j
)) in the base rep-
resentation b are equal to the α
i
least significant dig-
its of v
i
in base representation b followed by digits 0.
Hence v
i
= f lip(
h
i
h
j
f lip(v
i
,α
i
,b), α
j
,B f (b, α
j
)).
Moreover the number f lip(
h
j
,α
j
,B f (b, α
j
)) has
its α
i
least significant digits equal to 0 in the base rep-
resentation b. So that it is a multiple of B
α
i
:
v
j
= v
i
+ κB
α
i
. (21)
Since we know that v
j
<
T
α
j
w
= B
α
j
, we have
κ <
B
α
j
B
α
i
. So condition (3) of Lemma 1 holds, which
contradicts our assumption that no collision occurs.
Conversely, assume that we have a feasible pack-
ing and let us assume that there is a collision in
the associated schedule between jobs J
i
and J
j
with
T
α
i
T
α
j
. The first condition of Lemma 1 holds so
that the first condition of Lemma 2 holds either. This
implies that the condition (8) of Lemma 2 does not
hold, and either y
i
> y
j
or y
j
y
i
+ h
i
.
But if a collision occurs in the schedule, we should
have: v
j
= v
i
+ κB
α
i
.
So,
y
j
h
j
= f lip(v
j
,α
j
,b)
= f lip(v
i
+ κB
α
i
,α
j
,b)
= f lip( f lip(
y
i
h
i
,α
i
,B f (b, α
i
)) + κB
α
i
,α
j
,b)
Notice that as y
i
< H so that
y
i
h
i
< B
α
i
and thus when performing the operation
f lip(
y
i
h
i
,α
i
,B f (b, α
i
)), we get a number still
less than B
α
i
. We can then apply Lemma 3, and we
get:
f lip( f lip(
y
i
h
i
,α
i
,B f (b, α
i
)) + κB
α
i
,α
j
,b)
= f lip( f lip(
y
i
h
i
,α
i
,B f (b, α
i
)),α
j
,b) + κ
=
B
α
j
B
α
i
·
y
i
h
i
+ κ
Now h
i
B
α
i
= h
j
B
α
j
= H, so that:
y
j
= y
i
+ κ · h
j
(22)
Now we know that κ <
B
α
j
B
α
i
=
h
i
h
j
. So y
j
< y
i
+ h
i
and condition (8) of Lemma 2 holds, a contradiction.
3.4 Canonical Form of a HD2D Packing
In this section, we prove that any HD2D packing can
be put in a canonical form for which the packed rect-
angles’ heights decrease from the left to the right.
Definition 1. A height-divisible packing is said to be
in canonical form if for all i, j {1,...,n}
h
i
> h
j
, y
j
y
i
, y
j
+ h
j
y
i
+ h
i
= x
i
+
i
x
j
(23)
Such a packing corresponds to a schedule of the
observation interval where in each interval [kw,(k +
1)w) (i.e., the k-th row in Figure 1a), jobs are sched-
uled in increasing order of periods.
Theorem 2. If there exists a feasible packing of width
, then there exists a feasible canonical packing of
width .
Proof. By induction on r the number of different
heights of rectangles. Of course, if r = 1, the theorem
holds. Assume this is true for any height-divisible
packing with at most r different heights. Consider
an instance with r + 1 different heights. We claim
that the rectangles of maximal height H = H
0
can be
packed at the left of the bin, and the other rectangles
can be right-shifted accordingly. Let
be the sum of
the lengths of the rectangles of height H
0
. Consider
H
1
the second largest height. If R
j
is a rectangle of
height h
j
H
1
, we know that its vertical coordinate
is a multiple of h
j
. So there exists a non-negative in-
teger q such that y
j
= qh
j
= q
H
1
+ y
j
, with y
j
0
and y
j
+ h
j
H
1
.
So we can consider
H
0
H
1
so-called sub-bins of
height H
1
and width
in which all remaining rect-
angles are packed. Here, rectangle R
j
is packed in
sub-bin q
. The set of rectangles packed into a sub-
bin has at most r different heights. By induction, all
the rectangles packed in a sub-bin can be packed with
a canonical packing.
The canonical form of the packing shown in Fig-
ure 1b is presented in Figure 2. The canonical form
also shows sub-bins, which are crucial for the descrip-
tion of heuristics. The original 2D bin of size w × H
starts from the left as a single sub-bin of height H.
Once all rectangles with height H
0
= H are packed
ICORES 2024 - 13th International Conference on Operations Research and Enterprise Systems
106
Figure 2: Canonical form of the packing shown in Fig-
ure 1b. Sub-bin division is highlighted by special T-like
guillotine cuts in gray, red, and green colors, that are appli-
cable in the canonical form only.
(grey rectangle R
1
in Figure 2), the remaining free
space to the right of the parent sub-bin is divided to
H
0
H
1
sub-bins of height H
1
. Once rectangles with height
H
1
are packed (reddish rectangles R
2
,R
3
), we divide
each sub-bin into
H
1
H
2
sub-bins of height H
2
. This con-
tinues until sub-bins of height H
r1
= 1 are created,
and the rectangles with the smallest height are packed.
In Figure 2, the lower sub-bin of height 6 con-
tains rectangles R
3
,R
4
,R
9
,R
10
,R
11
,R
12
. The division
of sub-bins is also highlighted by the colored T-like
contours. For example, the sub-bin of height 6, where
rectangle R
2
is packed, divides itself into two sub-
bins, each containing two rectangles of height 3.
4 CP MODEL
We use the bin formulation, found in (Lukasiewycz
et al., 2009; Eisenbrand et al., 2010b), to model and
solve the single machine PSP with harmonic periods.
We formulate the problem from the HD2D packing
perspective, and the solution to the PSP is obtained
using the equations from Section 3.3. The bin for-
mulation only assigns the rectangles to suitable sub-
bins, as described in the previous section. Once such
an assignment is obtained, the packing solution in the
canonical form is recovered.
We model the bin formulation using CP. We rely
on the pack constraint (Shaw, 2004). The constraint
pack(L,a,l) couples together list L of groups’ load
variables, list a of items’ assignment variables, and
list l of items’ sizes, so:
a
i
{0,...,|L| 1} i {0, . ..,|a| 1} (24)
L
i
=
j :a
j
=i
l
j
i {0,...,|L| 1} (25)
Thus, each item is assigned to one of the groups,
and each group’s load variable contains the sum of its
assigned items’ sizes.
To model the HD2D packing problem, we use one
pack constraint for each distinct height H
k
. This pack
constraint uses load variables L
k
= (L
k
0
,...,L
k
H
0
/H
k
1
)
to model
H
0
H
k
sub-bins of height H
k
. The sub-bins are
indexed from bottom to top. Lists of widths l
k
and
assignment variables a
k
are associated with all rect-
angles with height h
j
= H
k
. With these definitions,
the used pack constraints are:
pack(L
k
,a
k
,l
k
) k {0, . . . , r 1} (26)
Such constraint distributes the rectangles with
height H
k
among sub-bins with height H
k
, and the
load variable L
k
i
is equal to the sum of widths of rect-
angles that are assigned to i-th sub-bin of height H
k
.
Then, for each row of height 1 in the packing, we sum
together loads of sub-bins that intersect such row (see
Figure 2). We ensure that such sum does not exceed
the width of the 2D bin w:
r1
k=0
L
k
i/H
k
w i {0,...H
0
1} (27)
In the case of line 4 in Figure 2 we sum up L
0
0
= 1
plus L
1
0
= 2 plus L
2
1
= 2 plus L
3
4
= 15.
These two sets of constraints are sufficient to
model the problem. Once solved, the assignment of
rectangles to sub-bins is determined from values of
variables a
k
.
5 HEURISTICS
While the exact approaches completely search the so-
lution space, their performance diminishes with an in-
creasing number of jobs to schedule. On the other
hand, even simple heuristics are often able to find a
solution for large instances (Hladik et al., 2020).
All studied heuristics process the jobs one by
one, ordered first non-decreasingly by their period
and then non-increasingly by their processing times.
The period ordering (known as rate-monotonic in the
time-triggered community) is natural, several heuris-
tics rely on it, and it produces a solution in canonical
form. The secondary ordering by processing times is
used by the bin packing and scheduling approxima-
tion algorithms (e.g., in (Della Croce and Scatamac-
chia, 2018)).
5.1 Baseline Heuristics
5.1.1 Time-Wise First Fit
In (Hladik et al., 2020), authors originally tackled
the problem with dedicated machines and precedence
Packing-Inspired Algorithms for Periodic Scheduling Problems with Harmonic Periods
107
constraints. Their algorithm schedules each job as
soon as possible, minimizing the job’s start time in
the yet-unfinished schedule. Due to the time-oriented
aspect of the heuristic, we denote it T-FF.
5.1.2 Spatial First Fit and Best Fit
In (Eisenbrand et al., 2010a), the first fit is also used.
However, the rectangles of the corresponding HD2D
packing problem are packed to the lowest available
sub-bin instead. We refer to this approach as a spa-
tial first fit. Furthermore, we also tested best fit as a
sub-bin selection policy; thus, we obtained two dis-
tinct variants of the algorithm, denoted S-FF and S-
BF respectively. Note that the best-fit selection can be
viewed as a single-dimension ”Residual Space” merit
function, used to pack items in (Crainic et al., 2008).
5.1.3 Longest Processing Time First
The last baseline approach is the well-known Longest
Processing Time First list scheduling algorithm for
parallel machines scheduling (Della Croce and Scata-
macchia, 2018). We follow the same spatial approach
of Section 5.1.2, but for the current job, its corre-
sponding rectangle is packed into the least occupied
sub-bin. We denote this method LPT.
5.2 Rectangle-Guided First Fit
We observed that the baseline heuristics often cannot
schedule infrequent long jobs, whose corresponding
rectangles are wide and low. These rectangles are
packed later in the process when the packing is mostly
filled. Following this observation, we designed our
heuristic, called rectangle-guided first fit, using the
HD2D packing perspective. The algorithm consists
of two phases. In the first phase, so-called dummy
rectangles are created, and in the second phase, the
rectangles (including dummy rectangles) are packed
using a modified first fit heuristic.
Partly inspired by ”wide” and ”narrow” rectan-
gles of (Ntene and van Vuuren, 2009; Ortmann et al.,
2010), the dummy rectangles are created for each dis-
tinct height H
k
of the problem. For H
r1
= 1, there are
no dummy rectangles. For each subsequent height H
k
,
the dummy rectangles are constructed based on both
real and dummy rectangles of height H
k+1
. As the
newly created rectangles are taller, they will be pro-
cessed earlier by the heuristic and will reserve space
for the smaller ones. However, their only purpose is
to provide a look-ahead; once all the rectangles with
height H
k
are packed, we remove all the dummy rect-
angles with height H
k
from the sub-bins and continue
with packing the rectangles of height H
k+1
.
(a) Pessimistic construction.
(b) Optimistic construction.
Figure 3: Bag view of dummy rectangles for height H
1
= 6
constructed for instance from Section 3.2.
5.2.1 On Construction of Dummy Rectangles
Dummy rectangle of height H
k
and width l essen-
tially consists of H
k
/H
k+1
bins of height H
k+1
, each
with width l. Our aim is to create dummy rectan-
gles by filling these bins with the smaller rectangles
of height H
k+1
, so the new rectangles roughly cap-
ture how the smaller rectangles could be packed. We
create the rectangles heuristically using 1D bin pack-
ing. To avoid confusion with the 2D packing, we call
the one-dimensional bins bags. We propose two ap-
proaches for constructing dummy rectangles.
The pessimistic approach sorts the rectangles with
height H
k+1
by their width. We start with an empty
list of bags. If a rectangle R
i
with width l
i
fits in one
of the existing bags, it is packed according to the best
fit policy. If not, a new dummy rectangle of height H
k
is created, with width l
i
. Simultaneously, H
k
/H
k+1
bags of size l
i
are created, and R
i
fully fills one of
them. The process repeats until all the rectangles are
packed in the bags. Since many bags may contain
holes, not all constructed dummy rectangles are com-
pletely filled with the smaller ones. This is shown in
Figure 3a. Three dummy rectangles of height 6 were
created from rectangles of height 3, but two bags as-
sociated with two narrower rectangles were not fully
filled. Note that the blue rectangle is the dummy rect-
angle created for H
2
= 3. We refer to our algorithm
using pessimistic construction as RG-FF-PES.
The optimistic variant fills the bags in a ”preemp-
tive manner” and always keeps at most a single bag
not full. We start with an empty list of bags. Until
we exhaust all the rectangles with height H
k+1
, we
select the widest R
i
with width l
i
. If it fits any (i.e.,
the single not full) bag, we pack it to it. If the bag has
ICORES 2024 - 13th International Conference on Operations Research and Enterprise Systems
108
(a) T-FF. (b) S-FF. (c) RG-FF-OPT.
Figure 4: Unfinished (a), (b) and finished (c) packings created by different methods on instance from Section 3.2.
vacant size 0 < A < l
i
, we split R
i
into two rectangles
with widths A and l
i
A. The first rectangle is packed
into the bag, and the second is pushed back among
the remaining rectangles. If all the bags are full, we
create a new dummy rectangle of height H
k
and width
l
i
, push a new bag with size l
i
· H
k
/H
k+1
to the list of
bags, and pack R
i
into it; this new bag is a concate-
nation of H
k
/H
k+1
bags of width l
i
, that make up the
rectangle. We denote this variant of the algorithm as
RG-FF-OPT.
Note that only the last bag might contain holes.
In Figure 3b, all the bags were actually fully filled.
Also, notice that rectangles R
5
,R
7
were split into two
parts. Due to the splitting and the usage of a sin-
gle rather than H
1
/H
2
= 2 bags, we cannot simply
partition the packed dummy rectangle into a feasible
packing of rectangles that filled the associated bag;
in a pessimistic case, it is possible (see Figure 3a).
However, since the dummy rectangles only provide a
look-ahead, this ”preemptiveness” does not cause is-
sues with the final packing.
5.2.2 First Fit Packing
Once the dummy rectangles are constructed, our al-
gorithm follows the first fit approach of algorithm
S-FF. All the rectangles, both real and dummy,
are sorted following the policy of Section 5; first,
non-increasingly by height, then non-increasingly by
width.
Our algorithm differs from S-FF in two ways.
Once the last rectangle of height H
k
is packed, we
remove packed dummy rectangles from all the sub-
bins, recalculate the sub-bins’ utilizations, and then
continue packing the rectangles of height H
k+1
. The
second difference is the packing policy. If the cur-
rent rectangle R
i
fits any sub-bin, we pack it accord-
ing to the first fit policy. If not, we do not im-
mediately stop the algorithm; the sub-bins may be-
come under-utilized once the dummy rectangles are
removed. Thus, if R
i
is a dummy rectangle, we pack
it to the least utilized sub-bin, temporarily exceeding
the sub-bin’s size. If R
i
is a real rectangle, we find
the sub-bins that would fit R
i
after removal of dummy
rectangles. If such sub-bins exist, we pack R
i
to the
least utilized one; otherwise, the heuristic fails to find
a feasible solution. If all real rectangles are packed,
the algorithm finishes successfully, and we transform
the packing into the schedule.
Internally, we use the compressed bin tree repre-
sentation of (Eisenbrand et al., 2010a) so the com-
plexity of the first fit packing of a single rectangle is
O(n) given n rectangles to pack (i.e., jobs to sched-
ule). Since for each height H
k
we need to process
O(n) real and dummy rectangles, the overall com-
plexity of our solution is O(r · n
2
).
5.3 Comparison of Methods
In Figures 4, we compare T-FF, S-FF, and RG-FF-
OPT methods on example instance from Section 3.2,
using the HD2D packing view. Neither T-FF nor S-
FF methods were successful, as they were not able to
reserve space for blue rectangle R
10
. Notice that T-
FF and S-FF put rectangle R
8
to different sub-bins.
While both methods process R
8
at the same moment,
T-FF selects the time-wise earliest start time for the
associated job, while S-FF selects the lowest sub-
bin. Finally, RG-FF-OPT used dummy rectangles
to reserve enough space for R
10
by putting rectangles
R
2
,R
3
into different sub-bins.
6 EXPERIMENTS
The algorithms were implemented in Python 3.10.
Experiments were performed on an Intel Xeon Sil-
ver 4110@2.10 GHz, using IBM ILOG CP Optimizer
v22.1.1 and Gurobi v10.0.2.
6.1 Experimental Data
We evaluated the methods on several sets of syntheti-
cally generated problem instances. Due to the success
of the method by (Hladik et al., 2020), we only gen-
Packing-Inspired Algorithms for Periodic Scheduling Problems with Harmonic Periods
109
Table 1: Number of instances solved by each method on instance sets S
1
,S
2
,S
3
.
heuristic exact
set # instances LPT T-FF S-FF S-BF RG-FF-PES RG-FF-OPT ILP CP
S
1
3518 2213 3233 3248 3263 3378 3378 3518 3518
S
2
800 122 558 562 563 681 694 800 800
S
3
297 8 14 15 15 24 29 289 289
Table 2: Characteristics of the instance sets.
set # instances average jobs median η
i
[%] median p
i
/T
0
[%]
S
1
3518 84 0.098 0.40
S
2
800 57 1.563 6.25
S
3
297 47 1.719 9.10
D
6
2
200 84 0.278 3.50
D
6
3
200 405 0.028 3.25
D
6
5
200 3719 0.001 3.00
D
3
20
200 1473 0.019 6.88
erated feasible instances with utilization U equal to
100 %.
The first sets of instances were generated using the
scheme proposed in (Hladik et al., 2020). Starting
with a selected period T
0
, a single job with period and
processing time equal to T
0
is generated. Then, for a
given number of iterations, one of the jobs with period
T
α
i
= T
k
is selected and is either split into two new
jobs of the same period but shorter processing times
or is divided into b
k+1
jobs with the same processing
time and period equal to T
k+1
.
Set S
1
contains original instances from (Hladik
et al., 2020). The original generation scheme of-
ten created instances with many long-period short-
processing times jobs that are relatively easy to solve.
We modified the generator scheme to account for this
and produced sets S
2
, and S
3
.
Then, we generated 4 sets of difficult instances us-
ing HD2D packing perspective (in canonical form).
We ensured that the majority of jobs had a process-
ing time greater than 13. These short-jobs-free in-
stances seemed to be the most difficult to solve; their
sets were labeled by the letter D. Four sets with 200
instances were created. Each instance set D
r
T
used pe-
riod set {800 · T
k
| k 0,...,r 1}.
Characteristics of the instance sets are shown in
Table 2. We show the number of generated instances
and the average number of jobs in the instance. Me-
dian η
i
is the median utilization across all the jobs of
the instance set. Similarly, median p
i
/T
0
is the me-
dian value of the processing time of the job, normal-
ized by the minimum period T
0
of the associated in-
stance. We can see that the simpler instances contain
only around 80 jobs. However, thanks to their diverse
characteristics, we use them to thoroughly compare
our heuristics.
6.2 Success Rates of the Methods
First, we evaluated how many instances each method
can successfully solve. CP and ILP solvers were lim-
Table 3: Number of instances solved by exact methods on
difficult instance sets.
set # instances ILP CP
D
6
2
200 95 152
D
6
3
200 1 36
D
6
5
200 0 0
D
3
20
200 0 0
Table 4: Number of instances solved by RG-FF-OPT and
combinations of heuristics M
i
on instance sets S
1
,S
2
,S
3
.
set # instances RG-FF-OPT M
1
M
2
M
3
M
A
S
1
3518 3378 3423 3439 3437 3459
S
2
800 694 709 726 725 742
S
3
297 29 30 30 30 33
ited to 3 minutes of computation time per instance.
We found that the heuristics could not find any
feasible solutions in the case of the difficult D
r
T
in-
stances. Thus, we only used these instances to com-
pare CP and ILP. As is reported in Table 1 both solvers
can solve smaller instances S
1
,S
2
,S
3
. However, CP is
more successful on the mentioned difficult instances
shown in Table 3, given the limited computation time
of 3 minutes. We suspect that the reason is an ef-
ficient formulation that relies on the powerful pack
constraint. However, for difficult sets D
6
5
, D
3
20
, nei-
ther method found any solution. We use these sets
later in Section 6.3 to highlight the shortcomings of
the CP in comparison with heuristics.
The results of heuristics on sets S
1
,S
2
,S
3
are also
reported in Table 1. We can see that on all these sets,
the packing-inspired methods RG-FF-PES and RG-
FF-OPT defeated the baseline heuristics, with the op-
timistic variant RG-FF-OPT being the best. This is
most pronounced for set S
2
. Our revised generation
scheme made the instances harder to solve; this was
highlighted by set S
3
, where heuristics solved only a
few instances. Finally, except for LPT, the results of
baseline heuristics do not differ significantly.
We were also interested in the possible orthogo-
nality of the studied heuristics; if each type of the
heuristic would solve a distinct subset of the in-
stances, we could run them as a portfolio and achieve
a higher overall success rate. For each pair of heuris-
tics, we determined the number of instances of the
instance set solved by at least one heuristic from the
pair, and we present several interesting combinations.
M
1
is combination of RG-FF-OPT and RG-FF-PES,
M
2
is combination of RG-FF-OPT and S-BF, and M
3
ICORES 2024 - 13th International Conference on Operations Research and Enterprise Systems
110
Table 5: Results of the utilization experiment on instance sets S
1
,S
2
,S
3
.
heuristic exact
LPT T-FF S-FF S-BF RG-FF-PES RG-FF-OPT CP10 CP60
set # instances # succ avg U
F
# succ avg U
F
# succ avg U
F
# succ avg U
F
# succ avg U
F
# succ avg U
F
# succ avg U
F
# succ avg U
F
S
1
3518 3452 0.962 3512 0.994 3512 0.995 3512 0.995 3518 0.998 3518 0.998 3518 0.999 3518 0.999
S
2
800 788 0.923 798 0.988 798 0.989 798 0.989 800 0.997 800 0.996 800 1.000 800 1.000
S
3
297 277 0.915 296 0.964 296 0.965 296 0.966 297 0.978 297 0.977 297 1.000 297 1.000
is combination of RG-FF-OPT and T-FF. Finally, M
A
corresponds to running all the heuristics together.
From the results reported in Table 4, we can see
that the combination of the two proposed methods
does not offer much improvement. On the other hand,
when we use our heuristic with the S-BF (M
2
), the re-
sults are significantly better, increasing the number of
successes by 30 in the case of set S
2
. However, set
S
3
remains problematic for heuristics to solve, even
when we would run all the heuristics together (M
A
).
6.3 Utilization Experiment
While the results reported in Section 6.2 show the
power of the CP, we also studied how each method
tackles the instances with utilization U < 1.0. While
the heuristics have trouble solving instances with
U = 1.0, they might be successful when U is slightly
lower. We study this in the following experiment.
For a given method and instance, we evaluate
whether the method successfully solves the instance.
If not, we remove the job with the smallest value of
utilization η
i
and repeat the process. When the suc-
cess eventually occurs, we report the final utilization
U
F
of the instance. Thus, if the method solved each
instance immediately or just after a few iterations, it
would report all the values U
F
close to 1. Note that
the jobs are removed in a deterministic way, as out-
lined; there might exist a situation when removing
a single longer job would make the instance easier
than removing several shorter jobs consecutively. We
remove the jobs until the utilization of the instance
reaches U < 0.7 when the failure is reported. The ex-
periment was performed for each instance set using
all the heuristics, as well as the CP solver with a time
limit: CP10 was limited to 10 seconds of computa-
tion, while CP60 was limited to 60 seconds.
The number of successes (i.e., number of in-
stances for which success occurred before U
F
< 0.7)
and an average value of U
F
of successful attempts on
instance sets S
1
,S
2
,S
3
are shown in Table 5. All the
heuristics, with the exception of the LPT, are able to
solve most of the instances with just a slight reduction
of their overall utilization. This matches the results re-
ported in (Hladik et al., 2020). On instance sets S
2
,S
3
(see Figure 5), which were generated with our modi-
fied scheme, the proposed heuristics RG-FF-PES and
RG-FF-OPT report average value of U
F
1 % higher
Figure 5: Utilization experiment on instance set S
3
. Colored
dots mark final utilizations U
F
for each instance. Black dots
mark the average value per method.
Figure 6: Utilization experiment on instance set D
6
5
. Col-
ored dots mark final utilizations U
F
for each instance. Black
dots mark the average value per method.
than achieved by their baseline counterparts (with the
theoretical maximum being 3 %). These results again
suggest that the proposed methods perform better on
the instances with infrequent long jobs.
Results on difficult sets D
r
T
are reported in Table 6.
Interestingly, most heuristics are able to solve them
once the instances’ utilization slightly drops. Regard-
ing the performance of the CP solver, interesting re-
sults are reported for the largest instances of D
6
5
,D
3
20
.
There, the performance of CP10 and CP60 diminishes
in contrast with heuristics (whose runtime is at most
0.2 seconds), as is also shown in Figure 6. Thus, as
the instance size grows and with a limited computa-
tion time, it may be better to use heuristics to create a
slightly less utilized schedule.
7 CONCLUSION
In this paper, we studied the PSP with a harmonic set
of periods and non-preemptive jobs on a single ma-
chine. We formally proved that the studied problem
is equivalent to the HD2D packing problem and that
each feasible schedule and its associated packing can
Packing-Inspired Algorithms for Periodic Scheduling Problems with Harmonic Periods
111
Table 6: Results of the utilization experiment on difficult instance sets.
heuristic exact
LPT T-FF S-FF S-BF RG-FF-PES RG-FF-OPT CP10 CP60
set # instances # succ avg U
F
# succ avg U
F
# succ avg U
F
# succ avg U
F
# succ avg U
F
# succ avg U
F
# succ avg U
F
# succ avg U
F
D
6
2
200 188 0.873 200 0.995 200 0.994 200 0.995 200 0.994 200 0.992 200 1.000 200 1.000
D
6
3
200 139 0.805 200 0.996 200 0.996 200 0.996 200 0.997 200 0.996 200 0.999 200 1.000
D
6
5
200 61 0.755 200 0.997 200 0.997 200 0.997 200 0.998 200 0.998 144 0.937 200 0.986
D
3
20
200 0 - 200 0.997 200 0.997 200 0.997 200 0.997 200 0.996 200 0.991 200 0.997
be transformed into the canonical form. We used the
CP with a bin formulation and showed its effective-
ness compared to the ILP. Then, we proposed heuris-
tics based on the HD2D packing perspective, suitable
for scheduling instances with infrequent long jobs.
We have shown the advantages of our method in
comparison with several baseline heuristics on sets
of synthetically generated instances. Furthermore,
we performed an experiment where we incrementally
lowered the utilization of instances. The experiments
allowed us to compare the heuristics and observe the
CP’s shortcomings when limited computation time
is in place. The experiments have shown that the
short-jobs-free instances with 100 % utilization are
the most difficult to solve. However, rate-monotonic-
based heuristics work very well whenever the utiliza-
tion slightly drops. The empty space of 99% utiliza-
tion instance behaves as infrequent, very short jobs,
which can fill the fragmented space left at the end of
the constructive heuristics run.
We aim to use the presented results and heuristics
as a basis of evolutionary algorithms to tackle more
complex problems with dedicated machines, prece-
dence relations, and a criterion to optimize.
ACKNOWLEDGEMENTS
This work was supported by the Grant Agency of
the Czech Technical University in Prague, grant
No. SGS22/167/OHK3/3T/13.
This work was co-funded by the European
Union under the project ROBOPROX - Robotics
and advanced industrial production (reg. no.
CZ.02.01.01/00/22 008/0004590).
REFERENCES
Cai, Y. and Kong, M. (1996). Nonpreemptive scheduling
of periodic tasks in uni- and multiprocessor systems.
Algorithmica, 15(6):572–599.
Crainic, T. G., Perboli, G., and Tadei, R. (2008). Extreme
point-based heuristics for three-dimensional bin pack-
ing. INFORMS J. Comput., 20:368–384.
Della Croce, F. and Scatamacchia, R. (2018). Longest pro-
cessing time rule for identical parallel machines revis-
ited. Journal of Scheduling, 23/2:163–176.
Dvorak, J. and Hanzalek, Z. (2014). Multi-variant time
constrained FlexRay static segment scheduling. 2014
10th IEEE WFCS, pages 1–8.
Eisenbrand, F. et al. (2010a). Scheduling periodic tasks in
a hard real-time environment. Automata, Languages
and Programming, 6198:299–311.
Eisenbrand, F. et al. (2010b). Solving an avionics real-time
scheduling problem by advanced IP-methods. Euro-
pean Symposium on Algorithms, pages 11–22.
Fleszar, K. and Hindi, K. S. (2002). New heuristics for one-
dimensional bin-packing. Comput. Oper. Res., 29(7).
Hanen, C. and Hanzalek, Z. (2020). Periodic scheduling
and packing problems. CoRR, abs/2011.01898.
Hanzalek, Z., Zahora, J., and Sojka, M. (2023). Cone
slalom with automated sports car trajectory planning
algorithm. IEEE Trans. on Vehicular Technology.
Haouari, M. and Serairi, M. (2009). Heuristics for the vari-
able sized bin-packing problem. Comput. Oper. Res.,
36(10).
Hladik, R., Minaeva, A., and Hanzalek, Z. (2020). On
the complexity of a periodic scheduling problem with
precedence relations. In Proc. of COCOA 2020.
Korst, J., Aarts, E., and Lenstra, J. K. (1996). Scheduling
periodic tasks. INFORMS J. Comput., 8(4):428–435.
Lukasiewycz, M. et al. (2009). FlexRay schedule optimiza-
tion of the static segment. In Proc. of IEEE/ACM
CODES+ISSS 2009, pages 363–372.
Marouf, M. and Sorel, Y. (2011). Scheduling non-
preemptive hard real-time tasks with strict periods. In
ETFA2011, pages 1–8.
Minaeva, A. and Hanzalek, Z. (2021). Survey on periodic
scheduling for time-triggered hard real-time systems.
ACM Comput. Surv., 54(1).
Ntene, N. and van Vuuren, J. H. (2009). A survey and com-
parison of guillotine heuristics for the 2D oriented of-
fline strip packing problem. Discrete Optimization,
6(2):174–188.
Ortmann, F. G., Ntene, N., and van Vuuren, J. H. (2010).
New and improved level heuristics for the rectangu-
lar strip packing and variable-sized bin packing prob-
lems. EJOR, 203(2):306–315.
Shaw, P. (2004). A constraint for bin packing. In Interna-
tional Conference on Principles and Practice of Con-
straint Programming.
ICORES 2024 - 13th International Conference on Operations Research and Enterprise Systems
112