A U T H O R C O P Y
A variable neighbourhood descent algorithm for theopenpit mine production scheduling problem withmetal uncertainty
Amina Lamghari
1
*, Roussos Dimitrakopoulos
1
and Jacques A Ferland
2
1
McGill University, Quebec, Canada; and
2
University of Montreal, Quebec, Canada
Uncertainty is an inherent aspect of the openpit mine production scheduling problem (MPSP); however, little isreported in the literature about solution methods for the stochastic versions of the problem. In this paper, twovariants of a variable neighbourhood descent algorithm are proposed for solving the MPSP with metal uncertainty.The proposed methods are tested and compared on actual largescale instances, and very good solutions, with anaverage deviation of less than 3% from optimality, are obtained within a few minutes up to a few hours.
Journal of Operational Research Society
advance online publication, 3 July 2013; doi:10.1057/jors.2013.81
Keywords:
stochastic production scheduling; openpit mining; uncertainty; heuristics
The online version of this article is available Open Access
1. Introduction
Production scheduling of openpit mining operations is a challenging and critical issue for mining companies, a keyfactor in determining returns on investments in the order of hundreds of millions of dollars. In scheduling mine production,the mineral deposit is represented as a threedimensional arrayof blocks. Each block has a weight and a metal content estimated using information obtained from drilling. To recover the metal, the block is
ﬁ
rst mined from the ground and thenprocessed in a mill. These operations are termed mining andprocessing, respectively.Blocks are classi
ﬁ
ed as
ore
or
waste
according to their metalcontent.
Ore
blocks are those that have a selling revenue greater than their processing costs, while
waste
blocks have a totalmetal content whose selling revenue is less than the processingcosts. Both
ore
and
waste
blocks must be mined in order to gainaccess to all the
ore
blocks. Any block that must be mined inorder to reach another block is called the predecessor of thesecond block.Decisions on block scheduling are subject to various typesof constraints. The production schedule not only must respect the limits on extraction capacity (
mining constraints
) and thecapacity of the processor (
processing constraints
) at eachperiod of the life of the mine, but also must take intoconsideration the order in which blocks can be removed from the orebody to ensure that a block is not mined before anyof its predecessors (
slope constraints
). In addition, anyblock can be mined only once (
reserve constraints
). Theproblem is to determine which blocks to extract and whento extract them (mining sequence) in order to maximize thenet present value (NPV) of the mine while respecting thevarious constraints.A major complexity in the openpit mine production scheduling problem (MPSP) is that the number of blocks is large, ingeneral in the order of tens to hundreds of thousands, yielding a largescale optimization problem. Another factor adding to thecomplexity of the mine scheduling problem is metal uncertainty,for the metalcontent ofthe blocks is notknown preciselyat the time decisions are made but is inferred from limiteddrilling information. Up to now, most methods developed tosolve the MPSP either ignore the metal uncertainty issue or arenot able to solve largescale instances in which metal uncertainty is accounted for.Indeed, the MPSP has been frequently studied since the1960s (Newman
et al
, 2010). Different methods have beenapplied to solve the deterministic version of the problem, whichassumes that all the problem parameters are well known. Thesemethods can be classi
ﬁ
ed into three categories: exact methods(Dagdelen and Johnson, 1986; Caccetta and Hill, 2003;Ramazan, 2007; Boland
et al
, 2009; Bley
et al
, 2010), heuristicand metaheuristic methods (Gershon, 1987; Denby andScho
ﬁ
eld, 1994; Ferland
et al
, 2007; Chatterjee
et al
, 2010),and hybrid methods (Tolwinski and Underwood, 1996; Sevim and Lei, 1998; Moreno
et al
, 2010). However, the uncertainnature of the problem is ignored in the deterministic version of
*Correspondence: Amina Lamghari, COSMO
—
Stochastic Mine Planning Laboratory, Department of Mining and Materials Engineering, McGill University, FDA Building, 3450 University Street, Room 113, Montreal,Quebec, Canada H3A 2A7.
Journal of the Operational Research Society (2013)
, 1
–
10
©
2013 Operational Research Society Ltd. All rights reserved. 01605682/13www.palgravejournals.com/jors/
A U T H O R C O P Y
the MPSP, resulting in misleading assessments (Ravenscroft,1992; Dowd, 1994; Dimitrakopoulos
et al
, 2002; Godoy andDimitrakopoulos, 2004). Studies that compare stochastic todeterministic approaches (Godoy and Dimitrakopoulos, 2004;Menabde
et al
, 2007; Albor and Dimitrakopoulos, 2009, 2010;Asad and Dimitrakopoulos, 2013) indicate that stochasticapproaches show major improvements in NPV, on the order of 20% to 30%, substantially reduce risk in meeting productionforecasts, and
ﬁ
nd pit limits larger than the ones found bydeterministic approaches, contributing to the sustainable utilization of mineral resources.Inthe stochastic versionsofthe problem, a scenario approachis usually used to handle the metal uncertainty. The scenariosare speci
ﬁ
ed from estimates in the continuous space without any underlying scenario tree structure. Consequently, the multistage approach commonly used in stochastic programmingcannot be used. Three different approaches are used in theliterature. The
ﬁ
rst involves formulations maximizing theexpected NPV over the scenarios describing the metal uncertainty while satisfying the production targets in an averagesense (Menabde
et al
, 2007). The second involves formulationsmaximizing the expected NPV and minimizing deviations from production targets for each individual scenario (Ramazan andDimitrakopoulos, 2007; Albor and Dimitrakopoulos, 2010;Ramazan and Dimitrakopoulos, 2013). The third approach,illustrated in Boland
et al
(2008), takes into account the metaluncertainty via a multistage stochastic programming approachwhere the missing interdependency between scenarios and thedecisions (ie, the missing tree structure) is simulated usingconditional nonanticipativity constraints.While different stochastic models have been developed,solution methods have received relatively less attention.Furthermore, most of the solution methods developed havebeen able to deal only with instances of relatively small size(typically, up to 20000 blocks). The stochastic models proposed in the studies by Menabde
et al
(2007), Ramazan andDimitrakopoulos (2007, 2013), and Boland
et al
(2008) aresolved using the mixed integer programming solver
CPLEX
.The method used in Albor and Dimitrakopoulos (2010) consistsof generating a set of nested pits, grouping these pits intopushbacks, and then generating a schedule based on the pushback designs obtained, while the method used in Lamghari andDimitrakopoulos (2012) is based on Tabu search.In this paper, we propose an ef
ﬁ
cient solution method todeal with large instances of the MPSP with metal uncertainty,where the uncertainty is addressed using a twostage stochasticprogramming approach. Speci
ﬁ
cally, we introduce a metaheuristic method based on a variable neighbourhood descent (VND)procedure (Hansen and Mladenovic, 2001). To generate theinitial solution to be improved by this procedure, we consider two different alternatives. Both are based on a decompositionapproach separating the problem into a series of subproblems,each associated with one period. They differ in the methodused to solve the subproblems. In the
ﬁ
rst alternative, thesubproblems are solved exactly, while in the second one, thesubproblems are solved approximately with a greedy heuristic.We evaluate and compare the performance of the two variantsof the proposed solution method on largescale instances withup to 97307 blocks. The results indicate that both variantsgenerate very good solutions in reasonable computationaltimes. The
ﬁ
rst variant, where the subproblems are solvedexactly,slightly outperformsthesecond oneinterms of solutionquality, while the second variant, where the subproblems aresolved with a heuristic, requires in general signi
ﬁ
cantly lesscomputational time.The remainder of the paper is organized as follows: InSection 2, the approach used to deal with metal uncertainty isoutlined, and a mathematical formulation of the problem isintroduced. The following section brie
ﬂ
y describes the methodsused to generate the initial solution. Section 4 summarizes thevariable neighbourhood procedure used to improve the initialsolution. Computational results on reallife data are reportedand discussedin Section5. Finally, some conclusionsare drawnin Section 6.
2. Mathematical formulation
Referring to the description given in the previous section, theproblem can be formulated as a twostage stochastic programming model (Birge and Louveaux, 1997). In the
ﬁ
rst stage, onedetermines a set of blocks to be mined at each period in order tosatisfy the
reserve constraints
, the
slope constraints
, and the
mining constraints
. The metal content of each block, determining whether the block is
ore
or
waste
, is uncertain at this stage.In the second stage, when the blocks are mined, the metalcontent becomes known. In some periods, the
ore
blocksavailable, requiring processing, may have a total weight exceeding the mill capacity (ie, the
processing constraints
maybe violated). To deal with such a situation, some recourseactions are available, but they induce a cost. The problem isthen to identify a schedule that maximizes the expected NPV of the mining operation minus the expected recourse costsincurred due to the violation of the
processing constraints
.The following notation is used to formulate the mathematicalmodel:
●
T
: the number of periods over which blocks are beingscheduled (horizon).
●
t
: period index, t
=
1,
…
,
T
.
●
W
t
: maximum amount of rock (
ore
and
waste
) that can bemined during period
t
(mining capacity in tons).
●
Θ
t
: maximum amount of
ore
that can be processed in the millduring period
t
(processing capacity in tons).
●
N
: the number of blocks considered for scheduling.
●
i
: block index,
i
=
1,
…
,
N
.
●
P
i
: the set of predecessors of block
i
; that is, blocks that haveto be mined to have access to block
i
.
●
P
i
: the set of direct predecessors of block
i
; that is,
P
i
=
f
p
2 P
i
:
p
is on the level immediately above
i
g
:
2
Journal of the Operational Research Society
A U T H O R C O P Y
●
Γ
i
: the set of successors of block
i
; that is,
γ
∈
Γ
i
if
i
∈
P
γ
.Figure 1 gives a twodimensional illustration of the sets
P
i
,
P
i
, and
Γ
i
.
●
w
i
: the weight of block
i
(in tons).
●
v
i
: the economic value of block
i
. It is a random variabledepending on the metal content of the block.
●
v
t i
=
v
i
=
ð
1
+
d
1
Þ
t
: the discounted economic value of block
i
if mined during period
t
(
d
1
being the discount rate per period).Note that it is assumed that
ore
blocks are processed duringthe same period when they are mined and that the pro
ﬁ
t isalso generated during that period.
●
θ
i
: a random variable indicating if block
i
is an
ore
or a
waste
block
θ
i
=
1 if block
i
isan
ore
block
;
0 otherwise
:
(
It is a random variable because the metal content of a block determines whether the block is
ore
or
waste
.
●
c
t
=
c
ð
1
+
d
2
Þ
t
: unit surplus cost incurred if the total weight of
ore
blocks mined during period
t
exceeds the processingcapacity,
Θ
t
(
c
being the undiscounted surplus cost, and
d
2
represents the risk discount rate).The variables used to formulate the problem are as follows:
●
A binary variable is associated with each block
i
for eachperiod
t
:
x
t i
=
1 if block
i
isminedbyperiod
t
;
0 otherwise
:
(
This means that if block
i
is mined in period
τ
, then
x
it
=
0 for all
t
−
1,
…
,
τ
−
1 and
x
it
=
1 for all
t
=
1,
…
,
T
. If
i
is not minedduring the horizon, then
x
it
=
0 for all
t
=
1,
…
,
T
.
●
A random variable
d
t
is associated with each period
t
.It measures the surplus in
ore
mined during period
t
.The mathematical model can be summarized as follows:max
E
X
N i
=
1
v
1
i
x
1
i
" #
+
E
X
T t
=
2
X
N i
=
1
v
1
i
ð
x
t i

x
t

1
i
Þ
" #

E
X
T t
=
1
c
t
d
t
" #
(1)(
M
) Subject to
x
t

1
i
⩽
x
t i
i
=
1
;
¼
;
N
;
t
=
2
;
¼
;
T
(2)
x
t i
⩽
x
t p
i
=
1
;
¼
;
N
;
p
2 P
i
;
t
=
1
;
¼
;
T
(3)
X
N i
=
1
w
i
x
1
i
⩽
W
1
(4)
X
N i
=
1
w
i
ð
x
t i

x
t

1
i
Þ
⩽
W
t
t
=
2
;
¼
;
T
(5)
X
N i
=
1
θ
i
w
i
x
1
i

d
1
⩽
Θ
1
(6)
X
N i
=
1
θ
i
w
i
ð
x
t i

x
t

1
i
Þ

d
t
⩽
Θ
t
t
=
2
;
¼
;
T
(7)
x
t i
=
0 or 1
i
=
1
;
¼
;
N
;
t
=
1
;
¼
;
T
(8)
d
t
⩾
0
t
=
1
;
¼
;
T
:
(9)The objective function (1) includes two terms to maximizethe expected NPV of the mining operation and to minimize theexpected recourse costs incurred whenever the
processingconstraints
are violated due to metal uncertainty. Constraints(2) guarantee that each block
i
is mined at most once duringthe horizon (
reserveconstraints
). The miningprecedence(
slopeconstraints
) is enforced by constraints (3). Constraints (4) and(5) impose an upper bound
W
t
on the amount of rock (
ore
and
waste
) mined during each period
t
(
mining constraints
).Constraints (6) and (7) are related to the requirements on theprocessing levels (
processing constraints
). The target is to havethe total amount of
ore
mined during any period
t
be smaller than
Θ
t
; otherwise, the surplus penalty cost is equal to
c
t
d
t
.The model is a twostage stochastic programming model. Thevariables
x
it
specifying the mining sequence are the
ﬁ
rststagedecision variables, and the random variables
d
t
measuring thesurplus in
ore
production are the secondstage decision variables.
d
t
depend on both the realization of the metal content andthe
ﬁ
rststage decisions.To transform this stochastic model into an equivalent deterministic one, assume that
S
possible scenarios are availablewhere each scenario
s
speci
ﬁ
es the metal content of each block.Furthermore, assume that the probability of occurrence of scenario
s
is
π
s
, with
P
S s
=
1
π
s
=
1. Let
v
ist
,
θ
is
, and
d
st
denoterespectively a realization of the random variables
v
it
,
θ
i
, and
d
t
.
Figure 1
Illustration of the sets
P
i
,
Γ
i
, and
P
i
.
Amina Lamghari
et al
—
Variable neighbourhood descent algorithm
3
A U T H O R C O P Y
Then, the srcinal model (1)
–
(9) can be reformulated as follows:
max
X
N i
=
1
X
S s
=
1
π
s
v
1
is
x
1
i
+
X
T t
=
2
X
N i
=
1
X
S s
=
1
π
s
v
t is
ð
x
t i

x
t

1
i
Þ

X
T t
=
1
X
S s
=
1
π
s
c
t
d
t s
(10)
(DE) Subject toConstraints (2)
–
(5), (8), and
X
N i
=
1
θ
is
w
i
x
1
i

d
1
s
⩽
Θ
1
s
=
1
;
¼
;
S
(11)
X
N i
=
1
θ
is
w
i
ð
x
t i

x
t

1
i
Þ

d
t s
⩽
Θ
t
t
=
2
;
¼
;
T
;
s
=
1
;
¼
;
S
(12)
d
t s
⩾
0
t
=
1
;
¼
;
T
;
s
=
1
;
¼
;
S
:
(13)The model (DE) utilizes a limited number of scenarios,each specifying the metal content of each block, which thenare used to calculate the corresponding economic value.A natural question to address is how to choose the number of scenarios to consider. This is a wellstudied topic in stochasticoptimization (Dupacova
et al
, 2003) and other
ﬁ
elds (Scheidt and Caers, 2009). The case studies presented in this paper use20 scenarios because past work, such as the work in Albor andDimitrakopoulos (2009), indicates that after about 15 simulatedrepresentations of an orebody, stochastic schedules converge toa stable
ﬁ
nal physical schedule as well as stable forecasts of production performance. This behaviour is not surprising; whilesimulated scenarios represent a mineral deposit at the supportscale of mining blocks, each with a volume of a few cubicmeters, a mine
’
s production schedule represents a grouping of a few thousand of these mining blocks in just one time (mining)period under various constraints. Thus, as the supportscale of a mine
’
s schedule is orders of magnitude larger than that of thesimulated representations of the mineral deposit being scheduled, the stochastic schedule becomes insensitive to additionalscenarios after a relatively small number of scenarios. In thispaper, the set of suf
ﬁ
cient scenarios is provided, and theobjective is to design an ef
ﬁ
cient method to solve the proposedmathematical model.If the
mining
and the
processing constraints
are eliminated,and if the scheduling horizon reduces to a single period, thenthe model (DE) reduces to the classical maximum closure problem. This problem is reducible to the minimumcut problem (Picard, 1976), and thus it can be solved ef
ﬁ
ciently using any of the known polynomial maximum
ﬂ
ow algorithms. However, asBienstock and Zuckerberg (2010) note on page 3,
‘
it can beshown by reduction from max clique that adding a singlecardinality constraint to a maximum closure problem is enoughto make it NPhard
’
. Because the MPSP is more complex thana constrained maximum closure problem, and as realworldMPSP instances are very large, having typically tens tohundreds of thousands blocks, it is most likely not appropriateto solve these largescale realistic instances using an exact method. Instead, we propose a metaheuristic solution methodwhere an initial feasible solution is
ﬁ
rst obtained and thenimproved with a
VND
procedure. The methods used to generatethe initial solution as well as the
VND
procedure are describedin the following sections.
3. Generating the initial solution
We propose to generate the initial solution using two different heuristics based on a decomposition approach where theglobal problem is divided into smaller subproblems, eachassociated with a period
t
(
t
=
1,
…
,
T
). The subproblems aresolved sequentially in increasing order of
t
, and their solutionsare combined to generate the initial solution. The heuristicsdiffer in the method used to deal with the subproblems. In the
ﬁ
rst one, the subproblems are solved exactly, while in thesecond one, the subproblems are solved approximately witha greedy heuristic. Note that since the subproblems aresmaller than the global problem, an exact method can be usedto solve them.
3.1. Subproblem formulation
The subproblem associated with period
t
consists of determining a set of blocks
B
t
to be mined in period
t
. Let us denote by
R
t
=
{block
i
:
x
it
=
0} the set of blocks not mined yet (if
t
=
1,then

R
t
 =
N
; otherwise,
jR
t
j
=
N

j
S
τ
<
t
B
τ
j
). In order tosatisfy the
reserve constraints
, the blocks to be included in
B
t
should be selected from
R
t
. The subproblem associated withperiod
t
can then be summarized as follows:max
X
i
2R
t
X
S s
=
1
π
s
v
t is
y
i

c
t
X
S s
=
1
π
s
d
s
(14)(
SP
t
) Subject to
y
i
⩽
y
p
i
2 R
t
;
p
2 P
i
\R
t
(15)
X
i
2R
t
w
i
y
i
⩽
W
t
(16)
X
i
2R
t
θ
is
w
i
y
i

d
s
⩽
Θ
t
s
=
1
;
¼
;
S
(17)
y
i
=
0or1
i
2 R
t
(18)
d
s
⩾
0
s
=
1
;
¼
;
S
(19)where
y
i
=
1 if block
i
isincludedintheset
B
t
ð
i
:
e
:;
isminedinperiod
t
Þ
;
0 otherwise
:
8<:
Recall that if block
i
is mined in period
t
, then
x
i
τ
=
0 for all
τ
=
1,
…
,
t
−
1 and
x
i
τ
=
1 for all
τ
=
1,
…
,
T
.
4
Journal of the Operational Research Society
A U T H O R C O P Y
Logical implications of the constraints are used to generatevalid inequalities to strengthen the formulation above and makethe subproblems easier to solve. To be more speci
ﬁ
c, consider any block
i
∈
R
t
. On the one hand, the slope constraints requirethat to include
i
in
B
t
, we must also include all blocks
j
∈
N
i
=
P
i
∩
R
t
(the set of blocks that are predecessors of
i
and not mined yet). On the other hand,
i
should not be included in
B
t
if
w
i
+
P
j
2N
i
w
j
>
W
t
because this would lead to violation of the
mining constraints
. Hence, we add the following constraints tothe model (
SP
t
):
y
i
⩽
e
i
i
2 R
t
(20)where
e
i
is a parameterequal to 1 if the extraction ofblock
i
willnot lead to violation of the mining constraints and 0 otherwise;that is,
e
i
=
1 if
w
i
+
P
j
2N
i
w
j
⩽
W
t
;
0 otherwise
:
8<:
3.2. Subproblem solution methods
Two different methods are introduced to solve the subproblems. In the
ﬁ
rst method, the formulation (14)
–
(20) is solvedusing the branchandcut algorithm (BC) implemented in themixed integer programming solver
CPLEX
.The second methodis a sequentialgreedyheuristicprocedure(GH) where at each iteration we try to include in the set
B
t
aninverted cone formed by a
‘
base
’
block in
R
t
and all itspredecessors not mined yet. Let us analyse a typical iteration.Let
V
t
=
W
t

P
b
2B
t
w
b
and
O
t s
=
max
f
Θ
t

P
b
2B
t
θ
bs
w
b
;
0
g
be the residual mining capacity and the residual processingcapacity under scenario
s
, respectively. For each block
i
∈
R
t
,we denote:
●
Ω
i
=
{
i
}
∪
{
j
:
j
∈
N
i
} the set formed by block
i
and all itsunmined predecessors (ie, the inverted cone whose base is
i
).
●
α
i
=
P
k
2
Ω
i
w
k
: the total weight of blocks in
Ω
i
.
●
β
is
=
P
k
2
Ω
i
θ
ks
w
k
: the total weight of
ore
blocks in
Ω
i
under scenario
s
.
●
γ
i
=
P
k
2
Ω
i
P
S s
=
1
π
s
v
t ks
: the total expected discounted economic value of blocks in
Ω
i
.
●
ξ
i
=
γ
i

c
t
P
S s
=
1
π
s
max
f
β
is

O
t s
;
0
g
: the total contributionof blocks in
Ω
i
to the objective function (14).Consider the set
A
=
{
i
∈
R
t
:
α
i
⩽
V
t
} of blocks
i
∈
R
t
whoseweight plus the weight of their predecessors not mined yet doesnot exceed the residual mining capacity. Clearly, only coneshaving blocks in
A
as their base can be added to
B
t
whilesatisfying the
slope constraints
and the
mining constraints
.Select the block
i
*
∈
A
maximizing the value of
ξ
i
. Ties arebroken up randomly. Remove all blocks
k
∈
Ω
i
*
from
R
t
, addthem to
B
t
, and update
V
t
,
O
st
for each
s
=
1,
…
,
S
, and theset
A
. This process is repeated until the
mining constraints
areapproximately satis
ﬁ
ed; that is, until
X
i
2B
t
w
i
⩽
δ
W
t
(21)where
δ
is a random number in the interval [
δ
1
,
δ
2
], and
δ
1
and
δ
2
are parameters of the procedure in [0,1].Note that choosing blocks along with their predecessors(an inverted cone at each iteration) allows a look ahead featuregenerating better solutions than the myopic approach of choosing blocks one by one.
4. Improving the initial solution
As mentioned before, the initial solution
x
=
S
T t
=
1
B
t
isimproved by applying an adaptation of the
VND
methodproposed by Hansen and Mladenovic (2001). The basic idea of
VND
is to combine different descent heuristics based ondifferent neighbourhood structures to escape from local optima.In the following, we
ﬁ
rst describe the neighbourhood structuresused in our adaptation of the
VND
method. Next, we outline theprocedure used to improve the solution
x
.
4.1. Neighbourhood structures
Three neighbourhood structures are used in our adaptationof the
VND
method. The
ﬁ
rst structure tries to swap twoblocks scheduled in consecutive periods. For example, a
waste
block scheduled to be mined in period 1 and having nosuccessors scheduled in period 1 could be left behind to bemined in period 2. In its place, an
ore
block scheduled tobe mined in period 2 could be mined in period 1 provided that its predecessors are scheduled in period 1. The mining capacityshould not be exceeded in either period as a result of the swap.The second and third structures try to make room for newblocks ina given period byscheduling some blocks tobe minedin that period backward or forward while satisfying the
slope
and the
mining constraints
. A more formal description of thethree neighbourhood structures as well as an outline of thestrategy used to explore them is given below.
●
N
1
(
Exchange
or
Swap
): Let
i
and
j
be two blocks mined inperiods
t
and (
t
+1), respectively. An exchange consists of replacing
B
t
and
B
t
+1
by (
B
t
−
{
i
})+{
j
} and (
B
t
+1
−
{
j
})+{
i
},respectively. The exchange of two blocks is feasible if theresulting solution is feasible; that is, only if it satis
ﬁ
es the
slope
and the
mining constraints
. Figure 2 gives a twodimensional illustration of an
exchange
move involving twoblocks,
i
and
j
, with
T
=
2.
●
N
2
(
Shiftafter
): Let
i
be a block mined in period
t
, andlet
I
=
{
i
}
∪
{block
γ
:
γ
∈
Γ
i
∩
B
t
} denote the set including
i
and its successors mined in the same period. A shiftafter consists of replacing
B
t
and
B
t
+1
by
B
t
−
I
and
B
t
+1
+
I
,respectively. Clearly, the
slope constraints
are satis
ﬁ
ed inthe resulting solution since the blocks are moved along with
Amina Lamghari
et al
—
Variable neighbourhood descent algorithm
5