Beruflich Dokumente
Kultur Dokumente
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
Thomas Rinneberg
Space Systems Finland Ltd, Keilaranta 8, 02150 Espoo, Finland. E-mail: eljendy@ssf.
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
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.
54
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.
> > > :
d dx f
3.1 Introduction
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.
N fn
f n=1 m=1
Pm;n
1
(4) (5)
f 1; fN 1; (6) where fn is the number of taken blocks in column n beginning from the top row.
56
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.
(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((
(9)
57
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)
1 and mBm;N
i=1
Pi;n:
(12)
58
^ 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
(15) (16)
m=1
^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.
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
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 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
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.
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.1 Example 1
In this example positive numbers represent mineral rich blocks, negative numbers areas of hard rock and zeros removed blocks.
1
62
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.
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
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):
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
+1
+ 12
-1
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
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
t_mn > 0 no Scan next diagonal on the right for maximum profit t_extra
yes
no
t_extra>0 yes
no
yes
yes
67
+1 -25 +20 +5 +5
68
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.