Sie sind auf Seite 1von 18

Project 3 MINING PITS OPTIMIZATION

Eindhoven University of Technology, P.O.Box 513, 5600 MB Eindhoven, the Netherlands. E-mail: jrbrands@win.tue.nl Eindhoven University of Technology, P.O.Box 513, 5600 MB Eindhoven, the Netherlands. E-mail: conny@win.tue.nl INFODIS-TIMC, Institut Albert Bonniot, Faculte de medecine, domaine de la merci, 38706 La tronche Cedex, France. E-mail: so ane.lariani@imag.fr Department of Mathematics, University of Kaiserslautern, P.O. Box 3049, D-67653 Kaiserslautern, Germany. E-mail: rinneberg@mathematik.uni-kl.de OCIAM, Mathematical Institute, Banbury RD, Oxford, GB. E-mail: saward@maths.oxford.ac.uk

Jan Brands

Conny van der Heijden So ane Lariani

Thomas Rinneberg

Vicky Helen Saward

Space Systems Finland Ltd, Keilaranta 8, 02150 Espoo, Finland. E-mail: eljendy@ssf.

Instructor: Ahmed Eljendy

51

Abstract
The problem comes from mining industry. It consists in optimisation of what is called open pits. The domain or the area where the mine is located, is divided into cubes. For each cube the geologists and the geomechanics engineers give the following information: The percentage of mineral in the cube. The cost of extracting and processing the cube. The safety restrictions for a safe pit at that point. As safety restriction a maximal allowable angle of the walls of the pit is given. Now it is asked for the nal shape of the pit, which gives the maximum pro t and respects the safety constraints. In the report, the simpli cation of the problem to 2D is formulated as nonlinear continous and linear binary optimization problem. However, standard optimization packages take too much time in solving large problems, therefore a constructive algorithm is developed for the special case of a constant angle of 45 , which is able to nd sub-optimal solutions and needs much less computing time.

1 Introduction
In the mining industry there are two distinct types of pit, open cast mines (sometimes called open cut) and deep shaft mines. Open cast mining is used when the ore lies relatively close to the surface which makes it economically viable to excavate a large area. Deep shaft mining is used when the mineral lies at a greater depth or is inaccessible for some reason and involves the construction of mine shafts to reach the ore. In the problem that we are concerned with, the mineral is distributed in such a way that open cast mining is used. Before mining commences, the mining company employs geologists and geomechanical engineers to investigate the designated area. The mining company not only requires information about the location of the minerals but it also needs to know the geomechanical properties of the rock. This is because the hardness of the rock determines how steep the sides of the mine can be without there being danger of collapse. To obtain this information the engineers drill deep holes and sample the rock at various points throughout the proposed mine site. From this data the mining company can determine the safety constraints for the rock, the cost of extraction and the mineral content. This data is given to us in the following form: The designated area is said to consist of a huge cube and is divided into smaller cubes of approximately 10 m 10 m 10 m. For each of these smaller cubes is given: The percentage of mineral in the cube. 52

3. Mining Pits Optimization


Extracted area 0

53

y=f(x)

ymax

Continuous form

Figure 1: The continuous problem. The cost of extracting and processing the cube. The safety restrictions for a safe pit at that point. The mining company now wants to know what the highest pro t is it can make and how it should dig the mine pit to obtain this pro t. We consider three di erent approaches to nding a solution to the problem: a continuous formulation, a binary formulation and an algorithmic approach. For simplicity we only consider a two dimensional pit although in general an extension to three dimensions only requires a few minor modi cations. In most cases simplifying the safety constraint in such a way that the maximum angle of the sides of the pit is equal to 45 throughout the pit enables us to make more rapid progress with the problem. Possible modi cations to include more general safety data are discussed the report. Although we examine the continuous and binary formulations we focus on developing the algorithmic approach in the report.

2 The Continuous Approach


It is well known that continuous optimisation problems can be tackled using much faster algorithms than discrete problems. We therefore rst formulate the problem as a continuous problem which could enable us to apply a standard optimisation algorithm. As shown in Figure 1, we want to maximise the pro t obtained when we mine a certain part of the designated area. The rst question to answer is therefore,

54

The Ninth ECMI Modelling Week

how we can calculate this pro t. For this purpose, we do not use the percentage of mineral in a block, as given in the problem, but the value v of the mineral. Then we can calculate the pro t of a block as Pmn := vmn ? cmn; where cmn is the cost of extracting block (m,n), which depends only upon the nature of the rock and not of it's depth. In the continous case, we therefore de ne a pro t function, which maps the designated area from < into <: p(x; y) := v(x; y) ? c(x; y): The pro t we obtain, is then the integral of the pro t function over all the mined area. This is written down in expression (1). The mined area is de ned by the bottom curve y = f (x) of the mine.
2

p(x; y)dy dx; (1) Furthermore, we have the safety constraints, which force us to take care of the slope of f (x) at each point, which is not allowed to be bigger than it is stated in an angle function (x; y), which represents the tangent of the desired angle. Also, we must stay within the designated area, that is, the surface of the mine must be on level zero at x = 0 and x = xmax , and we are not allowed to dig deeper than a certain depth. These three constraints are formulated in expressions (2).
0 0

max F (f ) = f

xmax Z f (x)

< (x; f (x)) subject to f (0) = f (xmax ) = 0 (2) 0 < f (x) < ymax for all x: When we look at these expressions, we see, that this problem is not standard, namely because of the function f (x), over which must be maximised, and which appears as the upper bound in the double integral and also as an argument in the function . Of course, some properties of the function space of f can be found, but this problem was too di cult for us with respect to the given time, so we instead focussed on the given format of the problem, namely the discrete formulation.
> > > :

8 > > > <

d dx f

3 The discrete approach


In Figure (2) you can see how the discrete problem looks like. We consider the proposed site of the mine divided up into a grid of M by N square blocks with coordinates (m; n). As already de ned in the last section, we now have a pro t matrix P with Pmn = vmn ? cmn; (3)

3.1 Introduction

3. Mining Pits Optimization


Extracted area 0 N

55

y=fn

M Discrete form

Figure 2: The discrete problem. where vmn is the value of the mineral in each block, and cmn is the cost of extracting each block. In order to optimize the shape of the pit we have to nd the maximum value of P Pmn summed over the extracted blocks. Instead of the angle function (x; y) we now have an angle matrix A, where Amn speci es the tangent of the maximum allowable angle with the horizontal.

3.2 The integer formulation


Looking at the continuous formulation of the problem (see expressions (1) and (2)), one can easily formulate the given problem as an discrete and therefore integer problem. Replacing the integrals in expression (1) by nite sums and the di erential in expression (2) by the rst di erence, expressions (1) and (2) become: max
X X

N fn

f n=1 m=1

Pm;n
1

(4) (5)

subject to jfn ? fn? j An;fn


1

f 1; fN 1; (6) where fn is the number of taken blocks in column n beginning from the top row.

56

The Ninth ECMI Modelling Week


The binary matrix:
O N 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

M All white boxes are zero.

Figure 3: The binary problem | rst formulation.

Since the vector f , which must be optimised appears as the upper bound of the sum in expression (4), this problem is not of the standard form. In order to apply a standard optimisation algorithm, like Land and Doigs Branch and Bound algorithm (see any textbook on integer programming or the work by Land and Powell 1]), we must reformulate the problem.

3.3 Binary formulations

3.3.1 First formulation

We introduce a binary variable Bm;n: 1; if block (m,n) is taken, Bm;n = 0 ; otherwise.


(

(7)

Look at Figure (3) to see this matrix variable. Then, fn can be expressed as

fn =
As a result, (4) and (5) now become max subject to
X

m=1

Bm;n:

X X

N M M

n=1 m=1
X

Pm;nBm;n
1

(8)
P

m=1

Bm;n ?

m=1

Bm;n?

A((

: M B m=1 m;n );n)

(9)

3. Mining Pits Optimization


The binary matrix:
O N 1 1 1 1 1 1 1 1 1 1 1 1 1

57

M All white boxes are zero.

Figure 4: The binary problem | second formulation. respectively. However, when fn is represented in this form we do not take into consideration the fact that all blocks from the surface to fn must be removed. For this reason, an additional constraint is required for each column. Therefore we state, that as we go down each column, there are no 0-1 steps allowed. To clarify, suppose that we look at one speci c column, and consider the blocks systematically one after another from top to bottom; if we nd a block which is to remain in the mine ( with a zero B - value) then the block below it can not be removed and therefore can not have B -value 1. This can be written mathematically as:

Bm mBm;

+1

;n ? Bm

6= 1 8n:
1 8m:

(10) (11)

Also, the boundary constraints must be added:


1

1 and mBm;N

3.3.2 Second formulation


When we look at expression (9), we see, that B , over which should be maximized, has vanished as an upper bound of the sum, but that it still is present as an argument of the matrix A. So we think of another binary model to overcome this disadvantage. ^ by For this purpose, we de ne a new pro t matrix P ^m;n = P
X

i=1

Pi;n:

(12)

58

The Ninth ECMI Modelling Week

^ we add up the pro t of all blocks above This means, that for a certain entry of P ^ such that: this block. When doing so, we can de ne a new binary function B ^m;n = 1; if block (m,n) is the deepest block removed, B 0; otherwise.
(

(13)

^ equals one for the lowest points of the pit only, above and below, the values So B are zero. You can see this new variable in Figure (4). With these de nitions, we can write the objective value as: max and fn can be expressed as
X X

N M

n=1 m=1
X

^m;nB ^m;n P

(14)

fn =
Then the constraints simplify to
X

m=0

^m;n : mB
M

m=1

^m;n ? mB

m=1 M

^n? ;m mB
1

m=1

^m;n 8n; Am;nB

(15) (16)

m=1

^m;n 1 8n; B 1 8m:

^m; mB

^m;N 1 and mB

(17)

3.3.3 Results
We posed the problem as described in expressions (12) to (17) in Section 3.3.2 to the standard optimisation package CPLEX. For a small example of M = 4, N = 7, it worked well and took less than two seconds computing time. However, for an example of M = 11, N = 21, the program stopped after several minutes and told us: Node limit. 20.000 nodes examined, no optimal solution found. Obviously, the search tree had already grown too large in this example. In Section 4, when we state something about the complexity of the problem, we look into this further. We may conclude, that the binary formulation together with standard optimisation algorithms does not seem to be suitable for solving the problem. It might be possible, because of the special character of the problem, to adapt a standard algorithm in a way that it takes advantage of the structure of the problem. However, we focus on nding an constuctive algorithm, which will be described in Section 5.

3. Mining Pits Optimization

59

4 Complexity considerations
When we look at the binary formulation in section 3.3.2, especially at expression (14),we nd, not considering the constraints, that there are 2MN possible solutions, which must be checked for feasibility and pro tability. This is, ^m;n can have one of the two possible values 0 or 1. For an because each variable B example of M = 11, N = 21 this gives 3:45 10 possible solutions. This is the reason, why the CPLEX-program would not work for this example. If we remember, that actually, in each column only one (or no) block is allowed to have value 1, which is expressed in expression (16), this changes a little. Taking this constraint into consideration, we nd, that \only"
69

(M + 1)N possible solutions must be checked for feasibility and pro tability. This is, because for each of the N columns, one of the blocks number 0 up to M can have value 1. For the above example, this gives 4:6 10 possible solutions. For a constant angle of 45 , we can lower this bound further. We know, that for the rst block on the left, there are only two possibilities: taking it or leaving it. For column two, there are in each case three possibilities: taking the block one row above, in the same row or one row deeper. In each of the three cases there are again these three possibilities and so on. Of course, we must take care not to come over the top row, because we cannot take a block which is above the ground. But as an upper bound, we can state, that there are at most
22

3N possible solutions, which must be checked for feasibility and pro tability. For the same example as above, this gives 10 possible solutions. However, in each of the three cases, the number of solutions grows exponentially with the number of columns.
10

5 Constructive algorithms
5.1 Preliminarys
5.1.1 Di erent angles
In this section we take for simplicity to be constant and equal to 45 . This means that in order to extract a block we have to remove all blocks above in a `V' shaped pattern as illustrated in Figure (5). Considering angles not only constant 45 all over the mine, two problems arise:

60

The Ninth ECMI Modelling Week

Figure 5: The V-shape, needed to extract a block. How can continous angles be discretized? How can we take care of a change of angle within the mining area? Looking naively at the rst problem, we consider the one-pixel neighbourhood: X X X X X O X O O =0 = 45 = 90 We see, that only three angles can be expressed that way: 0 , which never occurs in practise, 45 and 90 , which also does not occur. It would be dangerous to discretize all angles to these three categorys, since for instance an angle of 70 would be taken into the latter cathegory (It is bigger than 90 =60). But this would mean, if, as an example, 70 is the allowable angle all over the mine, a pit with walls of 90 is possible. This is a result we surely do not want. We therefore look for the following possibility:
2 3

X X X X X X X X X O O arctan(3) 71:65 arctan(2) 63:43

X X X O arctan(1) = 45

X X X X X X X X X X X X O O arctan( ) 18:43 arctan( ) 26:57 Here we see, that for a meaningfull discretization, we need more than only the one-pixel neighbourhood. But this leads us to the second problem. Suppose,
1 2 1 3

3. Mining Pits Optimization

61

that a certain block needs an angle of 70 , therefore requires a pit as shown for arctan(3) (The considered block is marked by "O"). It then could happen, that two layers above this block, suddenly another {smaller{ angle is required. Our pit must then be partially replaced by the atter pit, required by this new block. But this then can happen for the new pit also, we therefore get a "snowball-e ect" until we reach an area, where all blocks are already removed, or the ground oor. The complexity of this e ect lead us to the decision, to focus on constant angles rst.

5.1.2 Total pro t


The algorithms use the concept of `total pro t' of individual blocks where the total pro t tmn of a block in the mine is the pro t or loss involved in removing that block and those in the `V' shape above. When a block is removed the pro t pmn of that block is set to zero which in turn will change the total pro t matrix T . For = 45 he total pro t tmn of a block in the mine is calculated as follows (for n ? (m ? 1) 0 and n + (m ? 1) N ):

tm;n(P ) =

m?i) m n+( X

i=1 j =n?(m?i)

pi;j

(18)

This then measures the actual pro t or loss obtained when a block is removed and can be used to ascertain whether it is worthwhile to mine a certain block.

5.2 Basic Algorithm


Our rst algorithm called the `basic algorithm' was designed so that the pro t of the mine increases at each stage. Starting from the top left hand corner of the mine the algorithm scans the mine row by row. All blocks with both a positive pro t pmn and positive total pro t tmn are removed as demonstrated in the following simple example.

5.2.1 Example 1
In this example positive numbers represent mineral rich blocks, negative numbers areas of hard rock and zeros removed blocks.
1

-1 -1 +4 +1 -1 -1 Pro t=0 -1 -1 +2 -1 -1 -1 Original Layout -1 -1 -1 -1 -1 -1


One may notice that both removed blocks and those with zero pro t appear in the grid as zeros. This problem can be overcome by recording removed blocks in a separate matrix.
1

62

The Ninth ECMI Modelling Week


-1 -1 0 0 -1 -1 Pro t=5 -1 -1 +2 -1 -1 -1 STEP 1 -1 -1 -1 -1 -1 -1 -1 0 0 0 -1 -1 Pro t=6 -1 -1 0 -1 -1 -1 STEP 2 -1 -1 -1 -1 -1 -1

As only blocks with a positive total pro t are removed the pro t from the mine increases at each step. However the next example shows that this algorithm does not always give the optimum pit shape.

5.2.2 Example 2
Consider the following pit: -1 -1 -1 -1 -1 -1 Pro t=0 -1 2 5 5 5 -1 Original layout -1 -1 -1 2 -1 -1 -1 0 0 0 0 0 Pro t=12 -1 2 0 0 0 -1 STEP 1 -1 -1 -1 0 -1 -1 After carrying out the algorithm we have a pit with pro t 12. However by inspection we can see that the optimum pit shape has pro t 13 as shown below: 0 0 0 0 0 0 Pro t=13 -1 0 0 0 0 -1 -1 -1 -1 0 -1 -1 This motivates the quest for a new algorithm which does not miss out blocks which become pro table after the removal of other blocks.

5.3 First Improvement

We improve our `basic algorithm' by rescanning the pit area each time a block is removed. The algorithm scans the mine line by line from top to bottom. Starting from the left of each row it looks for blocks with pro t pmn and total pro t tmn strictly positive: If such a block exists it is removed along with those in the `V' shaped region above and its pro t pmn is set to zero. This, in turn, changes the total pro t

3. Mining Pits Optimization

63

of the blocks above and necessitates a rescan starting at line k + 1, where k is the highest row a ected by the removal of blocks, using the new values of T. If there are no blocks with T > 0 the next line is scanned until the last row has been scanned. The algorithm will give a pit which is at least as pro table as that obtained by the `basic algorithm'. The pro t of the mine increases at each step but it still does not always nd the optimum pit as it misses certain pro table combinations of blocks as the following example demonstrates.

5.3.1 Example 3
Consider the following pit, which has already been partially mined, with zeros representing mined blocks. 0 -7 0 0 0 0 -1 +2 +2 0 0 -1 -1 -1 +2 +2 -1 -1 If we look at the positive pro t blocks located at (2; 2); (2; 3); (3; 3); (3; 4) then the total pro t tmn of the blocks are ?5; ?5; ?1; ?3 respectively and so our algorithm will not remove any of them. However if they are removed all together, the mine has a pro t of +1 which shows that the algorithm is not optimal. The algorithm which is described in this section will give an equal or even better pit than the algorithm mentioned in the last subsection. However, we have neither been able to prove that the algorithm will always nd the optimal solution nor to nd a counterexample to show that is does not. To ease the understanding of this improvement we will look at the problem in a slightly di erent way. Areas which might be removed are denoted by triangles instead of step functions based on cubic blocks. For instance, example 2 is represented this way in Figure (6). The new algorithm again scans the mine line by line from top to bottom. On each row it searches for the block with strictly positive pro t pmn and maximum total pro t tmn (not necessarily positive):

5.4 Second Improvement

Step one: If the total pro t tmn is strictly positive the block concerned is
removed at once as well as the triangle above it. The pro t pmn of all blocks removed is set to zero. As in the algorithm in the last subsection, this necessitates returning to row k + 1, with k being the highest row a ected by the removal of the triangle.

64

The Ninth ECMI Modelling Week

+1

+ 12

-1

Figure 6: The diagonal form of example 2.

Step two: If the total pro t is zero or negative there is no reason to remove the

block immediately. However it is possible that the combination with other triangles will give a positive result (c.f. example 3). To nd such combination of triangles rst turn to the diagonal right of the triangle. Count the extra pro t (possibly negative) that is gained by removing this diagonal, given that the original triangle has been removed. Find the upper part of the diagonal with maximum positive pro t and compare it with the pro t of the original triangle. Ensure that the diagonal does not exceed row m. 1. When this maximum is negative then continue to the next diagonal on the right. 2. When the maximum is positive and the sum of both pro ts, Psum, is positive, then the triangle as well as the counted upper part of the diagonal can be removed. Again jump back to the highest in uenced row. If the sum is zero or negative or if the diagonal does not have any positive total pro ts then we have to continue with the next diagonal. For the next diagonals not only the diagonal itself has to be taken into account, but also the blocks from the last diagonals which have to be removed to mine a certain block and which are not already on the list of the area that leads to our pro t Psum so far. Again nd the maximum positive total pro t (if possible) and add it to Psum. If it becomes positive, then remove the area that leads to this positive pro t and go up as many rows as necessary, else continue with the next diagonal. We can continue trying to nd a positive Psum until we arrive at a diagonal which costs are not in uenced anymore by the blocks that are listed to be removed or until we have reached the edge of the restricted mining area. At that point we can apply the same process to the left of the original triangle. If this also does not lead to a positive pro t Psum than we may conclude that according to our algorithm there is no reason to take the block out. We will mark this block with a \false" sign and search again in the same row for a block with positive pro t pmn and maximum total pro t tmn which does not have this sign. If such a block

3. Mining Pits Optimization


B A -3 +19 C -20 D +15

65

Figure 7: Example to show the need for a slight modi cation. can not be found, than we continue with the next row. Otherwise the same algorithm of scanning the diagonals is applied again. The example in Figure (7) shows that this algorithm still needs a slight modi cation. When applying the algorithm the way it is stated above, then rst the triangle ABC will be looked at. Together with area D it gives a positive pro t and therefore the parts A, B, C and D are removed together. However, B, C and D together give a higher positive pro t and there is no reason to remove A also. To solve this problem each row has to be scanned two times before continuing with the next row. Say we have arrived at row m. Then the rst time the possible diagonals range from row 1 to row m-1, and the second time they range from row 1 to row m. A more formal de nition of the second algorithm is found in the ow diagram of Figure (8). In this Figure the function MaxChange is used. This function searches for the highest row that is in uenced by the area that is removed. For reasons of simplicity the diagram only shows the basic idea and it is for instance not mentioned that each row has to be scanned two times. An example of the algorithm is given in Figure (9). It can be seen that the pro t of the deepest triangle is negative, but along with the other areas, the total pro t becomes positive. If the algorithm had started on the left-hand side of the triangle, then a positive pit would have been found faster. But since we have to start at the top again the areas on the right will also be taken out, only a bit later. So it really does not matter whether we start on the right or on the left. In Figures (10) and (11) you can see a bigger example of 50 rows and 150 columns. We created the data by a simple program and tested the algorithm on it. Here light areas show blocks with positive pro t, dark areas with negative pro t. The di erent areas are embedded in the gray area, where each block has pro t -1. As you can see in Figure (11), the algorithm works very well, and the pit looks optimal, since there is only some pro table blocks left, and it can be seen, that these would be too expensive to take out, since there are highly nonpro table blocks above. The calculation of this example took 30 seconds, which justi es the usage of this algorithm instead of an standard optimization method.

66

The Ninth ECMI Modelling Week

Start row m=1

Find positive block n with maximum total profit t_mn

t_mn > 0 no Scan next diagonal on the right for maximum profit t_extra

yes

Remove triangle m = MaxChange+1

Scan next diagonal on the left for maximum profit t_extra

no

t_extra>0 yes

no

t_extra>0 yes t_extra+ t_last > 0 no Remove selected area. m = MaxChange+1

Remove selected area. m = MaxChange+1

yes

t_extra+ t_last > 0 no

yes

yes possibilities on the right? no

yes possibilities on the left?

Figure 8: Flow diagram of the new algorithm.

3. Mining Pits Optimization

67

+1 -25 +20 +5 +5

Figure 9: An example of diagonals found by the algorithm.

50 40 30 20 10 0 0 20 40 60 80 100 120 140

Figure 10: A bigger example: The initial data.

50 40 30 20 10 0 0 20 40 60 80 100 120 140

Figure 11: A bigger example: The nal pit.

68

The Ninth ECMI Modelling Week

6 Conclusion
We constructed an algorithm that nds a solution. We do not have a proof of the correctness of our algorithm, but solutions found by the algorithm will always be at least `sub-optimal'. This means that a more sophisticated algorithm might nd a better solution, but that it will always be able to nd this better solution by starting from the solution our algorithm found. This always works, because our algorithm is constructed in such a way that it never takes out any unnecessary blocks. Our algorithm is also not better that any already existing algorithm to the problem. On the other hand, the binary formulation together with standard optimisation algorithms does not seem to be suitable for solving the problem. But as already stated, it might still be possible, because of the special character of the problem, to adapt a standard algorithm to the structure of our problem. We also looked at a continuous model of our problem. We feel that it should be possible to solve it, possibly resulting in a much faster algorithm than the current one. However, our team does not posses the necessary knowledge to solve it. Further work should therefore also investigate the possibilities of solving this continuous model. Although we only implemented the algorithm for the two dimensional case and a xed angle of 45 , adjusting it to the general case of the three dimensional problem is straightforward. The current implementation in C can be improved, thereby making it faster. One way to do this, is by rewriting it to an iterative procedure instead of a recursive one.

References
1] Land, A.; Powell, S.: "Computer Codes for Problems of Integer Programming" Discrete Optimization II, P.L. Hammer, E.J. Johnson and B.H. Korte, eds. Annals of Discrete Mathematics 5, pp. 221-269.

Das könnte Ihnen auch gefallen