of the machine capacity constraint for machine m and
timeslot k in SG iteration l.
In the standard SG method we use a common for-
mula for the calculation of step-sizes:
s
l
= α
l
Z
∗
− Z
D
(λ
l
)
k
γ
l
k
2
, (14)
with a scalar α
l
, 0 < α
l
< 2. Z
∗
is an upper bound
on Z
D
and is updated if feasibility repair improves
the upper bound. The search is initialised with a pa-
rameter α
0
, and α
l
is halved after Γ iterations if no
improvement in Z
D
has been achieved.
The step-sizes for the surrogate SG method are
calculated according to (Bragin et al., 2014):
s
l
= β
l
s
l−1
˜
γ
l−1
k
˜
γ
l
k
, (15)
with the surrogate subgradient vector
˜
γ
l
. The param-
eter β
l
is adjusted according to
β
l
= 1 −
1
Ω · l
ρ
, ρ = 1 −
1
l
r
, (16)
with configuration parameters Ω and r. The step-size
calculation is initialised with configuration parame-
ter s
0
. With the step-size formula (15) (Bragin et al.,
2014) prove convergence of the surrogate SG method,
and they show that upon convergence the lower bound
property of dual cost is preserved.
4.2 Variable Neighbourhood Search
To solve a one job scheduling problem approximately
we propose a Variable Neighbourhood Search (VNS)
heuristics with the following neighbourhood struc-
tures. Let J denote the number of operations of the
job under consideration.
Neighbourhood Structure AM1: An operation j is
chosen at random, and a random alternative ma-
chine is assigned to j. If this move causes
the violation of precedence constraints, it is re-
jected. AM1 is configured with a distance param-
eter AM1
Dist
, denoting the number of operations
for whom alternative machines are assigned cas-
cadingly. Assigning an operation j to a different
machine implies that the duration is changed.
Neighbourhood Structure AM2: An operation j is
chosen at random, and a random alternative ma-
chine is assigned to j. The new beginning time
of j and all successive operations k > j is the re-
spective earliest feasible beginning time consider-
ing the precedence constraints, plus some small,
random slack. AM2 uses a distance parameter
AM2
Dist
.
Neighbourhood Structure SL: Applying SL to the
incumbent solution, a neighbour solution results
from a cascade of leftward shifts, starting with a
random operation j. Let x
SL
be the neighbour so-
lution after shifting j, and let σ denote the avail-
able slack between operations j − 1, j. The shift
distance SL
Dist
is a random integer from the inter-
val (1, σ). If σ = 0 the move SL is rejected. Other-
wise in the next step of the cascade operation j +1
is shifted leftward, with distance SL
Dist
. Succes-
sively the operations j, j + 1, ..., J are shifted left-
ward by SL
Dist
. After each shift the cost of the
resulting neighbour solution are evaluated accord-
ing to (9). The neighbour solution with minimal
cost is the result of applying SL.
Neighbourhood Structure SR: Analogous to SL the
neighbourhood structure SR defines a cascade of
rightward shifts, with a shift distance SR
Dist
. The
cascade starts with a random operation and ends
with the first operation.
In the shaking phase of the proposed VNS the neigh-
bourhood structure AM2 is used, with increasing val-
ues for AM2
Dist
. If no improvement is achieved, the
last shaking level is the generation of a new random
solution “in the neighbourhood” of the incumbent so-
lution. The term “neighbourhood” reflects the fact
that the beginning time of the first operation in the
random solution is within a maximal distance L to the
beginning time of the first operation in the incumbent
solution. However, this last level is a massive shak-
ing of the incumbent solution, and allows to bridge
broad valleys in the fitness landscape, guiding the lo-
cal search to new areas in the search space.
In the local search phase the neighbourhood struc-
tures SL → AM1 → SR are used, in the indicated se-
quence. Figure Algorithm 1 shows the pseudocode of
the proposed VNS algorithm. The algorithm is ini-
tialised in lines 2 - 7. An initial solution is generated
at random, and configuration parameters are set. The
indicated values for parameters A, B, F, L, G are exem-
plary. For a randomly generated solution, parameter
G denotes the maximal distance between two consec-
utive operations.
5 COMPUTATIONAL RESULTS
In computational experiments with the problem in-
stances outlined in figure 1 we compared the perfor-
mance of two algorithms:
1. Algorithm StDP : Standard SG solves the dual
problem, dynamic programming is used to solve
ICORES 2017 - 6th International Conference on Operations Research and Enterprise Systems
238