+ All Categories
Home > Documents > Improving Benders Decomposition to Solve the Tree …ferland/Tutorial/Forestry/Tree_Bucking.pdf ·...

Improving Benders Decomposition to Solve the Tree …ferland/Tutorial/Forestry/Tree_Bucking.pdf ·...

Date post: 25-Jun-2018
Category:
Upload: trinhtram
View: 223 times
Download: 0 times
Share this document with a friend
22
Improving Benders Decomposition to Solve the Tree-Bucking Problem * Sylvie Roussel, epartement d’informatique et de recherche op´ erationnelle, Universit´ e de Montr´ eal and Jacques A. Ferland, epartement d’informatique et de recherche op´ erationnelle, Universit´ e de Montr´ eal and Lorena Pradenas, Department of industrial engineering, University of Concepci´on and Van Hien Nguyen, epartement de math´ ematiques, Facult´ es universitaires Notre-Dame-de-la-Paix Namur June 2004 * This research was supported by NSERC grant (OGP0008312). The first author received a NSERC fellowship during her M.Sc. Studies, and the third author
Transcript

Improving Benders Decomposition to Solve theTree-Bucking Problem ∗

Sylvie Roussel,Departement d’informatique et de recherche operationnelle,

Universite de Montrealand

Jacques A. Ferland,Departement d’informatique et de recherche operationnelle,

Universite de Montrealand

Lorena Pradenas,Department of industrial engineering,

University of Concepcionand

Van Hien Nguyen,Departement de mathematiques,

Facultes universitaires Notre-Dame-de-la-PaixNamur

June 2004

∗This research was supported by NSERC grant (OGP0008312). The first author received a NSERC fellowshipduring her M.Sc. Studies, and the third author

2

Abstract

The tree bucking problem is formulated as a mixed integer linear programming problem includinga first level of decision to select the proper bucking (crosscutting) rule for each stand and a secondlevel to determine the transportation plan from the stands to the sawmills and the exportationsites. The Benders decomposition is used to deal with the problem. Additional strategies toimprove the efficiency of Benders decomposition to solve this problem are introduced and evaluatednumerically using four problems.

Key words: Benders decomposition, tree bucking, mixed integer programming, Tabu Search.

3

1 Introduction

Consider a forestry firm having rights to harvest some territory in order to fulfill the demand forseveral products at the sawmills that it operates and for exportation. The firm territory is dividedinto stands that represent forest units of minimal dimension. Each stand is a homogeneous unitcontaining trees of the same species and of the same age. Furthermore all its surface has the sametype of soil, allowing that the same forestry management be undertaken for all trees.

The forest products are the logs produced during the harvesting of the stands. They areclassified according to the log species, their length, and the diameter class to which their smallerextreme belongs. The demand at the sawmills and for exportation is specified in terms of volume(m3) for the different products.

The problem analyzed in this paper is part of the operational level in the hierarchical planningprocess. To harvest a stand, the firm has to select a bucking (crosscutting) rule in order to generatethe products required. Each specific bucking rule used at a specific stand generates volumes ofthe different products. The firm has also to determine the transportation plan from the standsto the sawmills and to the exportation sites in order to minimize the total transportation cost.The purpose of this paper is twofold. First, the problem is formulated as a mixed integer linearprogramming problem where transportation subproblems are embedded. The formulation of theproblem is very well suited to apply Benders decomposition. Then the second purpose of thispaper is to introduce different strategies to improve the efficiency of Benders decomposition tosolve the problem. Different combinations of these strategies give rise to several variants that arecompared numerically using four problems.

In Section 2, the problem is formulated. The Benders decomposition to deal with the problemis summarized in Section 3. The Tabu Search Procedure used to solve the relaxed master problemsof the Benders decomposition is introduced in Section 4 together with some features or strategiesto improve its efficiency. In Section 5, two additional features are added to the Benders decompo-sition. First, a Tabu Search Procedure is applied for a short while on the original formulation ofthe problem in order to improve the upper bound on the optimal value. Furthermore, the feasiblesolution generated in this phase is used to generate a second set of Benders cuts. The numericalresults and their analysis are included in Section 6. Finally Section 7 includes concluding remarks.

4

2 Problem Formulation

Naturally, the problem includes two levels of decision:

i) select the most appropriate bucking rule for each stand in order to generate the appropriatevolumes of the different products;

ii) determine the best transportation strategy to fulfill the demands in order to minimize thetotal transportation cost.

In the following model, we assume that each stand is completely harvested during the periodusing a unique bucking rule. An extension of the model would be to allow using two or morecombined bucking rules at the same stand in order to increase the flexibility.

In order to formulate the mathematical model, consider the following notation:

NI: Number of different products i ∈ I = {1, 2, . . . , NI}NJ : Number of stands j ∈ J = {1, 2, . . . , NJ}NK: Number of sawmills or exportation sites k ∈ K = {1, 2, . . . , NK}NLj: Number of bucking rules available at stand j, ` ∈ Lj = {1, 2, . . . , NLj}O`

ji: Number of m3 of product i ∈ I generated at stand j ∈ J if bucking rule` ∈ Lj is used.

Dki: Demand (in m3) for product i ∈ I at destination (sawmill or exportation site)k ∈ K.

cijk: Cost for transporting 1 m3 of product i ∈ I from stand j ∈ J to destination

k ∈ K.

The following variables are associated with the two levels of decision:

i) selection variables

y`j =

1 if bucking rule ` ∈ Lj is used at stand j ∈ J

0 otherwise

ii) transportation variables

xijk = number of m3 of product i ∈ I transported

from stand j ∈ J to destination k ∈ K.

5

The mathematical model is summarized as follows

Min∑

i∈I

j∈J

k∈K

cijkx

ijk (2.1)

Subject to∑

`∈Lj

y`j = 1 j ∈ J (2.2)

k∈K

xijk ≤

`∈Lj

y`jO`ji j ∈ J, i ∈ I (2.3)

j∈J

xijk ≥ Dki k ∈ K, i ∈ I (2.4)

y`j = 0 or 1 j ∈ J, ` ∈ Lj (2.5)

xijk ≥ 0 i ∈ I, j ∈ J, k ∈ K. (2.6)

The objective function (2.1) is equal to the total transportation cost to be minimized. Constraints(2.2) indicate that exactly one rule j ∈ Lj is used at each stand j ∈ J . Constraints (2.3) and(2.4) correspond to the availability and demand constraints of the transportation problem for eachproduct i ∈ I. Note that

∑`∈Lj

y`jO`ji denotes the total volume of product i ∈ I available at the

stands according to the bucking rules selected. A preliminary formulation of the problem wherethe overall benefit is maximized is found in [9, 10].

Let y and x denote the vector of values of the selection variables y`j and the vector of values ofthe transportation variables xi

jk, respectively. It is easy to see that for some y satisfying (2.2), thetransportation constraints (2.3) and (2.4) may not be feasible for all i ∈ I. In order to facilitatethe resolution of the problem, we introduce a modified model where all y satisfying (2.2) allow theexistence of a feasible solution of the transportation constraints (2.3) and (2.4) by penalizing theshortages of the products. For this, consider

Oji(y) : the shortage for product i ∈ I associated with the vector of selection

variables y satisfying (2.2) : Oji(y) = Max{0, ∑

k∈K Dki −∑j∈J

∑`∈Lj

y`jO`ji}

ji : fictitious stand producing the missing volume Oji(y) of product i,

ji ∈ JF = {j1, j2, . . . , jNI}cijik

= Mki, a penalty cost much larger than any transportation cost,ji ∈ JF , i ∈ I, k ∈ K.

The modified model is then summarized as follows:

6

(P ) Min v(y, x) =∑

i∈I

j∈J∪{ji}

k∈K

cijkx

ijk (2.7)

Subject to∑

`∈Lj

y`j = 1 j ∈ J (2.8)

k∈K

xijik≤ Oji

(y) i ∈ I (2.9)

k∈K

xijk ≤

`∈Lj

y`jO`ji ∈ J, i ∈ I (2.10)

j∈J∪{ji}xi

jk ≥ Dki k ∈ K, i ∈ I (2.11)

y`j = 0 or 1 j ∈ J, ` ∈ Lj (2.12)

xijk ≥ 0 i ∈ I, j ∈ J ∪ {ji}, k ∈ K. (2.13)

If we compare with the earlier model, then we see that the objective function (2.7) and the demandconstraints (2.11) are modified to account for the fictitious stands ji ∈ JF , and new availabilityconstraints (2.9) are added for the fictitious stands ji ∈ JF .

3 Solution Approach Using the Benders Decomposition

The structure of problem (P ) is very well suited to apply Benders decomposition. Referring toGeoffrion’s presentation [2] of Benders [1] decomposition, consider the selection variables y as thecomplicating variables, and denote

Y =

y :

`∈Lj

y`j = 1, j ∈ J ; y`j = 0 or 1, j ∈ J, ` ∈ Lj

.

In order to generate an equivalent problem to (P ), first make a projection on the space of variablesy; i.e.,

(EP ) Miny∈Y

i∈I

Min{ ∑

j∈J∪{ji}

k∈K

cijkx

ijk : (2.9), (2.10), (2.11), (2.13)

}

7

It is worthy to note that once the values of the selection variables y are fixed, the problem specifiedin terms of the transportation variables xi

jk is separable into NI transportation problems associatedwith the NI products i ∈ I.

Now, consider the transportation problem associated with product i:

(Pi(y)) Min∑

j∈J∪{ji}

k∈K

cijkx

ijk

Subject to∑

k∈K

xijik≤ Oji

(y) (3.1)

k∈K

xijk ≤

`∈Lj

y`jO`ji j ∈ J (3.2)

j∈J∪{ji}xi

jk ≥ Dki k ∈ K (3.3)

xijk ≥ 0 j ∈ J ∪ {ji}, k ∈ K (3.4)

Associate the dual variables µiji, µi

j (j ∈ J), and νik (k ∈ K) with constraints (3.1), (3.2), and

(3.3), respectively. Hence the dual problem (Di(y)) of (Pi(y)) is as follows:

(Di(y)) Max−Oji(y)µi

ji−∑

j∈J

`∈Lj

y`jO`jiµ

ij +

k∈K

Dkiνik

Subject to − µij + νi

k ≤ cijk j ∈ J ∪ {ji}, k ∈ K (3.5)

µij ≥ 0 j ∈ J ∪ {ji} (3.6)

νik ≥ 0 k ∈ K. (3.7)

Note that an additional benefit of using fictitious stands to transform the original probleminto its formulation (P ) is that problems (Pi(y)), i ∈ I, are always feasible for any value of y.Hence by strong duality of linear programming, the optimal values of (Pi(y)) and (Di(y)) areequal. Hence (EP ) is equivalent to the following problem (ED) where the optimal values of theproblems (Pi(y)) are replaced by those of the associated dual problems (Di(y)), i.e.

(ED) Miny∈Y

i∈I

Max{−Oji

(y)µiji−∑

j∈J

`∈Lj

y`jO`jiµ

ij +

k∈K

Dkiνik : (3.5), (3.6), (3.7

)} .

8

Let {µiw

j , νiwk , j ∈ J ∪ {ji}, k ∈ K : w ∈ Wi

}

denote the set of extreme points of the feasible domain of (Di(y)). Hence the following problem(EDE) is equivalent to (P ):

(EDE) Min z(y) =∑

i∈I

zi

Subject to −Oji(y)µiw

ji−∑

j∈J

`∈Lj

y`jO`jiµ

iwj +

k∈K

Dkiνiwk ≤ zi i ∈ I, w ∈ Wi (3.8)

`∈Lj

y`j = 1 j ∈ J

y`j = 0 or 1 j ∈ J, ` ∈ Lj

Note that (EDE) does not include any feasibility cuts because the problems (Pi(y)), i ∈ I arefeasible for any value of y.

In the Benders decomposition approach, a sequence of relaxed problems of (EDE) are solvedwhere Wi are replaced by subsets W i ⊂ Wi for all i ∈ I. These relaxed problems of (EDE)are denoted (EDE). At each iteration, in order to verify if the optimal solution y of (EDE) isfeasible for (EDE), the corresponding transportation problems (Pi(y)) are solved to generate anoptimal solution x(y) for these. If indeed y is feasible for (EDE), then (y, x(y)) is an optimalsolution of (P ). Otherwise, the optimal multipliers of the transportation problems (Pi(y)) areused to generate new constraints in (EDE) (i.e., for all i ∈ I, a new index associated with thenew constraint generated using the optimal multipliers of (Pi(y)) is included in W i).

It follows from the relaxation strategy (see [4]) that the optimal value of (EDE) (denoted byv(EDE) is a lower bound LB of the optimal value of (P ) (denoted v(P )); i.e.,

v(EDE) ≤ v(P ).

Furthermore, since (y, x(y)) is a feasible solution of (P ), it follows that

v(y, x(y)) =∑

i∈I

j∈J∪{ji}

k∈K

cijkx(y)i

jk

is an upper bound of v(P ); i.e.

v(P ) ≤ ∑

i∈I

j∈J∪{ji}

k∈K

cijkx(y)i

jk = v(y, x(y)).

9

It is well-known that that the value of LB = v(EDE) is non decreasing, but that the value of(v(y, x(y)) is not necessarily monotone from one iteration to the next. Hence, the current upperbound UB is updated as follows:

UB := Min{UB, v(y, x(y)}.

The Benders algorithm is summarized in Figure 3.1. In this implementation we use the twofollowing stopping criteria:

• UB−LBUB

≤ ε

• a maximal number itermax of iterations have been completed

instead of stopping when y, the optimal solution of (EDE), is feasible for (EDE).

We use the linear programming software LP SOLV E [12] to solve the transportations problems(Pi(y)). The relaxed problems (EDE) are solved with a Tabu Search metaheuristic that will beintroduced in Section 4. But then, the solution y generated by the heuristic is not necessarilyoptimal for (EDE), and thus, the corresponding value z(y) might not be a lower bound on v(P ).Furthermore, the corresponding value z(y) might not necessarily be non decreasing from oneiteration to the next. Nevertheless, we continue to use z(y) as some kind of lower bound, but wemake the following adjustment in Step 1 to replace

LB := v(EDE)

byLB := Max{LB, z(y)}

in order to preserve the monotonicity of the so called lower bound LB.

10

Initialization

• Select randomly an initial solution yo ∈ Y

• Let y := y∗ := yo; iter := 1; UB = ∞; LB := −∞• Proceed to Step 2

Step 1

• iter := iter +1

• Determine an optimal solution y of (EDE)

• LB := v(EDE)

Step 2

• Determine x(y) by solving the NI transportation problems (Pi(y))

• If UB > v(y, x(y)), then UB := v(y, x(y)), x∗ = x(y), and y∗ := y

Step 3

• If UB−LBUB

≤ ε or if iter = itermax, then STOP and (y∗, x∗) is the best solution generated for(P )

Step 4

• For each i ∈ I, use the optimal multipliers of (Pi(y)) to generate a new constraint to beadded to (EDE)

• Repeat Step 1

Figure 3.1 : Benders Algorithm

11

4 Tabu Search Metaheuristic to Solve the Relaxed Prob-

lem

The Tabu Search Metaheuristic was developed independently by Glover [3] and Hansen [5]. Thisneighborhood search technique is an iterative procedure where the next solution is selected in theneighborhood of the current solution. In this section, we introduce the Tabu search procedurethat we implemented together with some additional features to improve its efficiency.

4.1 Tabu Search Procedure

First note that the relaxed problem (EDE) can be written as follows :

Min z(y) =∑

i∈I

{Maxw∈Wi

{−Oji(y)µiw

ji −∑

j∈J

`∈Lj

y`jθ`

jiµiwj +

k∈K

Dkiνiwk }

}

Subject to∑

`∈Lj

y`j = 1 j ∈ J,

y`j = 0 or 1 j ∈ J, ` ∈ Lj

For this problem, a neighboring solution y of a current solution y is specified by modifyingthe current bucking rule `j used at some stand j. Hence the neighborhood N(y) of a solution y isspecified as follows:

N(y) = {y : y = y ⊕ (j, `), j ∈ J, ` ∈ Lj, ` 6= `j}

where y = y ⊕ (j, `) is given by

y`p = y`p , p ∈ J, p 6= j, ` ∈ Lp

yqj = yqj , q ∈ Lj, q 6= `j, q 6= `

y`j = 1 , y`jj = 0.

At each iteration of the procedure, we select a best solution y′ in a subset of the neighborhoodN(y) of the current solution. Then y′ becomes the current solution for the next iteration. Butsince this solution y′ may deteriorate the objective function (i.e., z(y′) may be larger than z(y)),then we need a safeguard to prevent cycling. Hence, we eliminate from the subset of N(y) the Tabusolutions that are generated by using modifications corresponding to the inverse of those recentlyused. We keep track of these recently used modifications in a Tabu List TL. Thus, a solutiony = y ⊕ (j, `) is said to be Tabu if (j, `) ∈ TL. Furthermore, the Tabu List TL is updated at each

12

iteration by including the modification(j, `j) associated with the selected solution y′ = y ⊕ (j, `).The Tabu List TL is cyclic in the sense that a modification (j, `j) remains Tabu for a fixed number|TL| of iterations corresponding to the length of the Tabu List.

Now, it may happen that a Tabu solution is in fact very good. Hence we need an aspirationcriterion to overside the Tabu status of such a solution. In our implementation, this criterion isspecified in terms of the value z(ybest) of the best solution ybest generated so far; i.e., we accepty = y ⊕ (j, `) as the current solution for the next iteration whenever

z(y) < z(ybest)

The solutions in the neighborhood N(y) of the current solution y are generated by consideringall stands sequentially, and for each stand by considering all alternate bucking rules sequentially.Our strategy to select y′ at any iteration requires that at most Nvmax neighboring solutions begenerated. Furthermore, this strategy is agressive in the sense that the generation stops whenevera neighboring solution y⊕ (j, `) satisfies the aspiration criterion, or whenever it is not tabu and itis better than y (i.e. z(y ⊕ (j, `) < z(y)).

Now, at any iteration, suppose that the generation process of the neighborhood stops whenwe are considering some bucking rule of some stand j. In order to move sequentially through allstands during successive iterations, we use a scalar dj = j + 1 to indicate that we should start thegeneration of the neighborhood at the next iteration using bucking rules of stand dj. (Note thatif dj = Nj + 1, then dj := 1.)

The stopping criteria are specified in terms of a maximal number of iterations titermax and amaximal number of consecutive iterations nitermax where the objective function does not improve.

The Tabu Search Procedure is summarized in Figure 4.1. Note that the solution y of (EDE)generated at the previous iteration of the Benders algorithm is used as the initial solution yo forthe Tabu Search Procedure since it is obviously a feasible solution.

Initialization

• Let yo ∈ Y be an initial solution

• Let ybest := y := yo; titer := 0; niter := 0; LT := φ; dj := 1

Step 1

• titer := titer +1; NV := φ

13

• For j = dj, dj+1, . . . , NJ , 1, . . . , dj−1

For ` = `j + 1, `j + 2, . . . , NLj, 1, . . . , `j − 1

If z(y ⊕ (j, `)) < z(ybest), then

ybest := y := y ⊕ (j, `)

dj := j + 1; niter := 0

go to Step 3

If z(y ⊕ (j, `)) < z(y) and (j, `) /∈ LT , then

y := y ⊕ (j, `)

dj := j + 1; niter := niter +1

go to Step 3

If (j, `) /∈ LT , then NV := NV ∪ {y ⊕ (j, `)}If |NV | ≥ NV max, then

dj := j + 1

go to Step 2

Step 2

• y := arg minw∈NV

{z(w)}

• n iter := n iter +1

Step 3

• If titer < titermax and niter < nitermax, then

update the tabu list TL

If dj > NJ , then dj := 1

go to Step 1

• ybest is the best solution generated for (EDE)

Figure 4.1 : Tabu Search Procedure

14

4.2 Variants of the Tabu Search Procedure

Three different strategies are considered to improve the efficiency of the procedure summarizedin Figure 4.1 : the notion of interesting neighborhood, a diversification strategy, and a restartprocess. The underlying goal of these strategies is to reduce shortages first. This is justified bythe fact that shortage costs are much larger than any other costs involved in the problem.

4.2.1 Interesting Neighborhood

We modify the search in the neighborhood of the current solution (Step 1 in Figure 4.1) in orderto reduce the shortages of products first. Consider the 5 products for which the shortage is larger.Determine the subset J ⊂ J of stands where there exist bucking rules generating some of theseproducts. Then we modify Step 1 by considering sequentially only the stands in the subset J .

4.2.2 Diversification Strategy

A diversification strategy [6] can be applied at the end of the Tabu Search Procedure of Figure 4.1to generate a new initial solution yo used to reinitialize the procedure. To implement this strategywe use an iterative procedure where, at each iteration, the current bucking rule in ybest is modifiedfor some stand j. The stand inducing the smallest deterioration is selected. The bucking rule ofany stand is modified at most once. The procedure resumes whenever an improving solution ofybest is generated or whenever the bucking rules of 75% of the stands have been modified.

4.2.3 Restart Strategy

Here we complete the execution of the Tabu Search procedure (or of the variant including thediversification strategy) five consecutive times, relying on the information related to the shortagesof the products to generate the initial solution. More explicitely, consider the solution ybestgenerated during the previous execution (or y, at the beginning of the first execution). Denoteby J ⊂ J the subset of stands that are not currently generating the product having the largestshortage with respect to solution ybest (or y at the first execution), but capable of doing so.Denote also Lj ⊂ Lj the subset of bucking rules at stand j ∈ J capable of producing this product.Then select randomly j ∈ J and ` ∈ Lj to generate ybest⊕(j, `) (or y⊕(j, `)). The initial solutionyo for this execution is

yo = arg min{z(ybest), z(ybest⊕ (j, `))}(or yo = arg min{z(y), z(y ⊕ (j, `))}, at the first execution).

15

A second variant of this strategy is defined using the 5 products with the larger shortages tospecify J and Lj, j ∈ J .

5 Improving Benders Algorithm

Two different strategies are introduced to improve the quality of the solution generated with theBenders algorithm : the first one is improving the upper bound, and the second one is increasingthe number of new contraints (Benders cuts) generated at each iteration.

Referring to Figure 3.1, recall that at the end of Step 2 we have generated a new feasiblesolution (y, x(y)) of (P ). In this new variant, before moving to the next iteration, we try toimprove the upper bound UB by generating a new feasible solution (y, x) of (P ) using the TabuSearch Procedure in Figure 4.1 to solve an approximation (P ) of problem (P ).

Recall that using the notation already introduced, (P ) can be formulated as

(P ) Min v(Y,X(Y )) =∑

i∈I

j∈J∪ji

k∈K

cijkx

ijk(y)

Subject to∑

`∈Lj

y`j= 1

xi(y) ∈ OPT(Pi(y))

where OPT(Pi(y)) = {xi : xi is optimal for (Pi(y))}. The approximation (P ) of (P ) is formulatedas follows:

(P ) Min z(y) =∑

i∈I

j∈J∪ji

k∈K

cijkx

ijk(y)

Subject to∑

`∈Lj

y`j= 1

xi(y) ∈∼

OPT(Pi(y)

where∼

OPT(Pi(y)) = {xi : xi is feasible for (Pi(y)) and generated using the matrix minimumtechnique (see [7])}. Since the matrix minimum technique generates suboptimal solution of (Pi(y)),then for any feasible y for (P ) and (P ),

v(y, x(y)) ≤ z(y).

16

The Tabu Search Procedure to solve (P ) uses y as the initial solution yo. Denote by y thesolution generated by the procedure. Since v(y, x(y)) ≤ z(y), then we solve Pi(y), i ∈ I, and weuse the value v(y, x(y)) to improve the upper bound UB.

The strategy induces the addition of Step 4.1 after Step 4.0 in the Benders Algorithm of Figure3.1, where the instruction “Repeat Step 1” is eliminated. This is summarized in Figure 5.1

Step 4.1

• Determine another feasible solution (y, x(y)) by solving (P ) with the Tabu Search Procedurein Figure 4.1

• If UB > v(y, x(y)), then UB := v(y, x(y)), x∗ := x(y), and y∗ := y

• Repeat Step 1

Figure 5.1 : Improving the Upper Bound UB

The next strategy is a natural consequence of the previous one. Indeed, to evaluate v(y, x(y))we have to solve (using LP SOLVE) the NI transportation problem (Pi(y)), i ∈ I. Hence, we canuse the optimal multipliers of Pi(y) to generate new additional contraints in (EDE). This strategyinduces a new Step 4.2 after Step 4.1 in the Benders Algorithm of Figure 3.1. Note that the instruc-tion “Repeat Step 1” is then eliminated from Step 4.1. It follows that this second strategy allows todouble the number of contraints (Benders cuts) added in (EDE). This is summarized in Figure 5.2

Step 4.2

• For each i ∈ I, use the optimal multipliers of (Pi(y)) to generate a new contraint to be addedto (EDE)

• Repeat Step 1

Figure 5.2 : New Additional Contraints in (EDE)

17

6 Numerical Results

As mentioned in the introduction, one purpose of this study is to analyse the efficiency of differentstrategies to improve Benders decomposition to solve the tree-bucking problem.

Four different problems are used for this analysis. Their sizes are summarized in Table 6.1.The first three problems are randomly generated. The number of bucking rules NLj is a randominteger in the interval [1,6] for all j ∈ J . The transportation costs, the demand for each product ateach destination, and the volume of each product generated by each bucking rule at each stand areinteger random numbers in the interval [0,50]. Problem 4 corresponds to a real life problem wherethe transportation costs are not necessarily integer. Furthermore, in this problem, a stand doesnot necessarily generate all the products. Note also that the size of Problems 3 and 4 correspondsto that of real life problems.

Problem NI NJ NK

1 20 13 92 13 15 163 14 46 204 20 70 6

Table 6.1: Problems

The use of the different strategies to improve Benders decomposition gives rise to severalvariants to be compared. The notation included in Table 6.2 is used to specify the differentvariants. Note that we refer to Tabu 1 and Tabu 2 as the Tabu Search procedures used to solvethe relaxed problem (EDE) and the approximation problem (P ) respectively.

We analyse the influence of the different strategies and we illustrate the behavior of the solutionapproach with some numerical results summarized in Table 6.5. Note that we did not complete anysystematic experiment to optimize the parameters of Tabu 1 or Tabu 2. The values summarized inTable 6.3 were identified using preliminary experimentation. Whenever we use the restart strategy(i.e, RS = 1) the values of the parameters are adjusted accordingly to those summarized in Table6.4.

Each problem is solved with the 40 different variants. For each problem and each variant,Table 6.5 includes the solution time in seconds (time) and the percentage of deviation % to opt.from the optimal value:

%to opt =solution value - optimal value

optimal value.

18

Strategy Option Meaning

RS 0 no restart of Tabu 11 restart of Tabu 1 using the product

having the largest shortageUBI 0 without Step 4.1 to improve UB

1 using Step 4.1 to improve UB with Tabu 22 using Step 4.1 to improve UB with Tabu 2

including the restart strategy using theproduct having the largest shortage

MU 0 without using Step 4.21 using Step 4.2 to generate a second set of

Benders cutsDI 0 no diversification in Tabu 1 and Tabu 2

1 using the diversification strategy oncein Tabu 1 and Tabu 2

NBH 0 using the original neighborhood in Tabu 1and Tabu 2

1 using the interesting neighborhoodin Tabu 1 and Tabu 2

Table 6.2: Strategies for the Benders decomposition

Furthermore, when a problem has not been solved with some variant, this is denoted by notsolved in the table.

Problems 1 and 2 are easier to solve and the optimal value is reached using several variants. Inparticular, since the optimal value of Problem 1 is reached with so many variants, we will not usethis problem in the rest of the analysis. Problems 3 and 4 are larger and more difficult to solve.In order to complete the analysis of the different strategies impact, we use the five best solutionswith respect to % to opt (bold in Table 6.5) of each problem 2, 3, and 4. Note that we use thetime to break ties when two variants generate solutions having the same % to opt.

Table 6.6 is generated using the bold results of problems 2, 3, and 4 in Table 6.5. For eachproblem and each strategy, the corresponding entries in Table 6.6 are equal to the number (Nb)and the percentage (%) of the bold results where the strategy is used. The last column averagein Table 6.6 includes the total number (Nb) (taken over the 3 problems) and the percentage ofthe bold instances where the corresponding strategies are used. We refer to these values % aspercentage of success.

19

Problems NV max nitermax titermax |LT |1 and 2 35 25 50 153 and 4 150 105 200 30

Table 6.3: Parameters for Tabu 1 and Tabu 2

Problems Nvmax nitermax titermax |LT |1 and 2 35 5 10 63 and 4 150 21 40 25

Table 6.4: Parameters for Tabu 1 and Tabu 2 where the restart strategy is used

The results in Table 6.6 give (quite) clear indications about the impact of two of the strategies.Indeed, using the interesting neighborhood in Tabu 1 and Tabu 2 (NBH = 1) and restarting Tabu1 (RS = 1) induce very large percentage of success.

The strategy of improving the upper bound (applied whenever UBI = 1 or 2) seems also goodsince UBI = 1 or 2 in 11 bold instances, i.e. for a percentage of success equal to 73.3%.

As far as the strategy of generating a second sets of Benders cuts (MU = 1) is concerned, weuse only 11 of the 15 shaded instances where UBI = 1 or 2. Indeed, this strategy is not relevantif we are not improving the upper bound (UBI = 0) (i.e., MI = 0 whenever UBI = 0). Thepercentage of success of 63.6% induces that it should be better to generate a second set of Benderscut whenever we improve the upper bound UB.

Finally, the average results relatively to the diversification strategy are not very conclusive inTable 6.6. Nevertheless the analysis induces that diversification strategy should not be used sincethe percentage of success (60%) is higher then, and since it is not used in the unique combination

RS = 1, UBI = 2, MU = 1, DI = 0, NBH = 1

generating one of the best solution for all four problems. One reason to explain the fact thatdiversification does note seem to be necessary to improve the Tabu Search Tabu 1 and Tabu 2 isthat the restart process (RS = 1) can be seen as a diversification procedure for Tabu 1.

20

RS UBI MU DI NBH Problem 1 Problem 2 Problem 3 Problem 4Time %to opt. Time %to opt. Time % to opt. Time %to opt.

0 0 0 0 1 5 0.83% 3 17.34% 47 2.54% 30 20.65%0 0 0 0 0 6 0.84% 2 3.69% 79 1.88% 31 37.20%0 0 0 1 1 7 0.96% 6 3.69% 178 1.64% 210 4.67%0 0 0 1 0 9 1.24% 10 9.99% 282 0.45% 678 14.52%0 1 0 0 1 8 0.00% 10 2.25% 151 1.75% 79 4.54%0 1 0 0 0 21 0.00% 18 2.25% 1527 0.91% 356 14.59%0 1 0 1 1 16 1.47% 11 2.25% 308 1.37% 257 8.16%0 1 0 1 0 16 0.00% 29 2.25% 1786 0.09% 761 14.59%0 1 1 0 1 9 0.00% 5 0.00% 154 1.75% 62 11.58%0 1 1 0 0 16 0.00% 23 0.00% 2047 1.11% 267 8.09%0 1 1 1 1 10 0.00% 17 3.69% 315 1.37% 183 11.99%0 1 1 1 0 19 0.00% 15 2.25% 2016 0.71% 505 7.66%0 2 0 0 1 13 0.00% 5 3.69% 265 0.43% 49 50.42%0 2 0 0 0 19 5.58% 51 23.48% 7019 2.73% 736 144.42%0 2 0 1 1 17 0.00% 9 8.75% 381 1.34% 53 82.09%0 2 0 1 0 20 0.00% 39 23.48% not solved 759 130.64%0 2 1 0 1 13 0.00% 5 3.69% 269 0.43% 49 64.03%0 2 1 0 0 19 2.78% 51 23.48% 6291 2.73% 489 103.06%0 2 1 1 1 11 0.00% 9 28.07% 403 1.34% 52 42.18%0 2 1 1 0 20 0.00% 39 12.63% not solved 500 104.06%1 0 0 0 1 8 0.00% 6 0.00% 221 0.11% 122 21.99%1 0 0 1 0 4 5.60% 5 29.95% 179 2.72% 67 104.72%1 0 0 1 1 14 0.00% 12 14.34% 830 0.19% 408 12.15%1 0 0 1 0 10 2.28% 5 19.54% 441 3.20% 182 48.78%1 1 0 0 1 11 0.65% 10 2.25% 283 1.20% 129 15.66%1 1 0 0 0 not solved 17 23.48% 1570 3.03% 261 56.83%1 1 0 1 1 19 0.00% 18 0.00% 949 0.36% 303 26.12%1 1 0 1 0 18 0.00% 14 23.48% 1604 0.93% 319 61.02%1 1 1 0 1 13 0.00% 10 0.00% 289 1.20% 97 8.12%1 1 1 0 0 13 1.90% 16 23.48% 1573 3.03% 180 117.92%1 1 1 0 1 18 0.00% 16 0.00% 973 0.36% 232 4.00%1 1 1 1 0 11 0.00% 14 12.63% 1609 0.93% 229 111.67%1 2 0 0 1 15 0.65% 18 7.33% 483 0.32% 213 5.52%1 2 0 0 0 21 5.58% 54 23.48% 6372 2.81% 761 21.00%1 2 0 1 1 24 0.00% 14 0.00.% 1195 0.15% 315 26.31%1 2 0 1 0 36 0.00% 42 23.48% 6552 0.65% 814 35.61%1 2 1 0 1 16 0.00% 10 0.00% 476 0.32% 131 7.37%1 2 1 0 0 31 2.78% 53 23.48% 6500 2.81% 502 53.85%1 2 1 1 1 29 0.83% 21 14.34% 1236 0.15% 222 13.43%1 2 1 1 0 22 0.00% 42 12.63% 6561 0.65% 526 99.55%

Table 6.5: Benders decomposition and improving strategies

21

Strategy Problem 2 Problem 3 Problem 4 Average

Nb % Nb % Nb % Nb %RS = 0 1 20% 0 0% 2 40% 3 20%RS = 1 4 80% 5 100% 3 60% 12 80%UBI = 0 1 20% 2 40% 1 20% 4 26.7%UBI = 1 2 40% 0 0% 2 40% 4 26.7%UBI = 2 2 40% 3 60% 2 40% 7 46.6%MU = 0 1 25% 1 33.3% 2 50% 4 36.4%MU = 1 3 75% 2 66.7% 2 50% 7 63.6%DI = 0 4 80% 2 40% 3 60% 9 60%DI = 1 1 20% 3 60% 2 40% 6 40%

NBH = 0 0 0% 0 0% 0 0% 0 0%NBH = 1 5 100% 5 100% 5 100% 15 100%

Table 6.6: Strategies average impact

7 Conclusion

The Benders decomposition is used to deal with the tree-bucking problem formulated as a mixedinteger programming problem including two levels of decision : the selection of the bucking rule foreach stand and the transportation strategy from the stands to the sawmills and the exportationsites. The strategy of using a subset of stands leading to reduce shortages to generate a subsetof the neighborhood and the restart procedure also aiming at reducing shortages seem to improvethe Tabu Search method used to solve the relaxed master problem. Furthermore improving theupper bound UB at each iteration of Benders decomposition using the same Tabu Search methodto solve an approximation of the original problem, and generating a second set of Benders cut ateach iteration also improve the efficiency of the solution procedure.

Finally, it is conjectured that the efficiency of this Benders decomposition procedure can beimproved by making an extensive study to select the values of the different parameters of theTabu Search methods Tabu 1 and Tabu 2, and by using a specific computer code to solve thetransportation problems rather than a general linear programming code like LP−SOLVE

22

References

[1] J.F. Benders, “Partitionning Procedures for Solving Mixed-Variable Programming Problems”,Numerische Mathematik 4(1962), 238–252.

[2] A.M. Geoffrion, “Elements of Large-Scale Mathematical Programming”, Management Science16(1970), 652–691.

[3] F. Glover, “Future Paths for Integer Programming and Links to Artificial Intelligence”, Com-puter and Operations Research 13(1986), 533–549.

[4] F. Glover, M. Laguna, “Tabu Search”, Kluwer Academic Publishers, Boston (1997).

[5] P. Hansen, “The Steepest Ascent Mildest Descent Heuristic for Combinatorial Programming”,Congress on Numerical Methods in Combinatorial Optimization, Capri, Italy (1986).

[6] J.P. Kelley, M. Laguna, F. Glover, “A Study of Diversification Strategies for the QuadraticAssignment Problem”, Computers and Operations Research 21(1994), 885–893.

[7] D.G. Luenberger, “Linear and Nonlinear Programming”, (second edition), Addison-Wesley,Reading (1984).

[8] L. Pradenas, J.A. Ferland, “Tree-Bucking Problem Description and Mathematical Formula-tion”, Publication # 1167, Departement d’informatique et de recherche operationnelle, Uni-versite de Montreal, Montreal, Canada, 1999.

[9] L. Pradenas, V. Parada, C. Munoz, “Solution to the Tree-Bucking Problem by SimulatedAnnealing”, INFORMS Meeting, Montreal, Canada, May 1998.

[10] L. Pradenas, V. Parada, C. Muroz, “Contribucion al Modelamiento y Resolucion del Problemade Trozado de Arboles”, IX CLAIO, Buenos Aires, Argentina, Septiembre 1998.

[11] S. Roussel, “Planification de l’exploitation forestiere par methodes heuristiques”, Memoire demaıtrise, Departement d’informatique et de recherche operationnelle, Universite de Montreal,Montreal, Canada, 2000.

[12] www.wior.uni-karlsruhe.de/Bibliothek/software for OR/Linear Programming/com/aacom.html.


Recommended