Teori Pit Optimalisasi

Embed Size (px)

Citation preview

  • Project 3

    MINING PITS OPTIMIZATION

    Jan Brands

    Eindhoven University of Technology,

    P.O.Box 513, 5600 MB Eindhoven, the Netherlands.

    E-mail: [email protected]

    Conny van der Heijden

    Eindhoven University of Technology,

    P.O.Box 513, 5600 MB Eindhoven, the Netherlands.

    E-mail: [email protected]

    Soane Lariani

    INFODIS-TIMC, Institut Albert Bonniot,

    Faculte de medecine, domaine de la merci,

    38706 La tronche Cedex, France.

    E-mail: [email protected]

    Thomas Rinneberg

    Department of Mathematics, University of Kaiserslautern,

    P.O. Box 3049, D-67653 Kaiserslautern, Germany.

    E-mail: [email protected]

    Vicky Helen Saward

    OCIAM, Mathematical Institute,

    Banbury RD, Oxford, GB.

    E-mail: [email protected]

    Instructor: Ahmed Eljendy

    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 maxi-

    mum prot and respects the safety constraints.

    In the report, the simplication 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 prob-

    lems, 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 (some-

    times 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 ex-

    cavate 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 ge-

    omechanical 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

    10m 10m 10m. For each of these smaller cubes is given:

    The percentage of mineral in the cube.

    52

  • 3. Mining Pits Optimization 53

    0

    ymax

    Continuous form

    Extracted area

    y=f(x)

    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 prot is it can make

    and how it should dig the mine pit to obtain this prot.

    We consider three dierent 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 exten-

    sion to three dimensions only requires a few minor modications. 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 modications 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 prot 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 prot. 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 prot of a block as

    P

    mn

    := v

    mn

    c

    mn

    ;

    where c

    mn

    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 dene

    a prot function, which maps the designated area from

    >

    >

    >

    :

    d

    dx

    f

    < (x; f(x))

    f(0) = f(x

    max

    ) = 0

    0 < f(x) < y

    max

    for all x:

    (2)

    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 dicult for us with respect to the given time, so we instead

    focussed on the given format of the problem, namely the discrete formulation.

    3 The discrete approach

    3.1 Introduction

    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 dened in the last section, we now have a prot

    matrix P with

    P

    mn

    = v

    mn

    c

    mn

    ; (3)

  • 3. Mining Pits Optimization 55

    0

    y=fn

    M

    Extracted area

    Discrete form

    N

    Figure 2: The discrete problem.

    where v

    mn

    is the value of the mineral in each block, and c

    mn

    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

    P

    mn

    summed over the extracted blocks.

    Instead of the angle function (x; y) we now have an angle matrix A, where

    A

    mn

    species 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

    dierential in expression (2) by the rst dierence, expressions (1) and (2) become:

    max

    f

    N

    X

    n=1

    f

    n

    X

    m=1

    P

    m;n

    (4)

    subject to jf

    n

    f

    n1

    j A

    n;f

    n

    (5)

    f

    1

    1; f

    N

    1; (6)

    where f

    n

    is the number of taken blocks in column n beginning from the top row.

  • 56 The Ninth ECMI Modelling Week

    1

    1

    1 1 1

    1

    1

    1

    1

    1

    1 1

    1

    1

    M

    The binary matrix:

    All white boxes are zero.

    ON

    1 1 1 1 1 1 1 1 1 1

    1111111

    1

    Figure 3: The binary problem | rst formulation.

    3.3 Binary formulations

    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.1 First formulation

    We introduce a binary variable B

    m;n

    :

    B

    m;n

    =

    (

    1; if block (m,n) is taken,

    0; otherwise.

    (7)

    Look at Figure (3) to see this matrix variable. Then, f

    n

    can be expressed as

    f

    n

    =

    M

    X

    m=1

    B

    m;n

    :

    As a result, (4) and (5) now become

    max

    N

    X

    n=1

    M

    X

    m=1

    P

    m;n

    B

    m;n

    (8)

    subject to

    M

    X

    m=1

    B

    m;n

    M

    X

    m=1

    B

    m;n1

    A

    ((

    P

    M

    m=1

    B

    m;n)

    ;n

    )

    : (9)

  • 3. Mining Pits Optimization 57

    N

    1

    1 1 1

    1

    1

    1

    1

    1

    1 1

    1

    1

    M

    The binary matrix:

    All white boxes are zero.

    O

    Figure 4: The binary problem | second formulation.

    respectively. However, when f

    n

    is represented in this form we do not take into

    consideration the fact that all blocks from the surface to f

    n

    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 specic 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:

    B

    m+1;n

    B

    m

    6= 1 8n: (10)

    Also, the boundary constraints must be added:

    mB

    m;1

    1 and mB

    m;N

    1 8m: (11)

    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.

    For this purpose, we dene a new prot matrix

    ^

    P by

    ^

    P

    m;n

    =

    m

    X

    i=1

    P

    i;n

    : (12)

  • 58 The Ninth ECMI Modelling Week

    This means, that for a certain entry of

    ^

    P we add up the prot of all blocks above

    this block. When doing so, we can dene a new binary function

    ^

    B such that:

    ^

    B

    m;n

    =

    (

    1; if block (m,n) is the deepest block removed,

    0; otherwise.

    (13)

    So

    ^

    B equals one for the lowest points of the pit only, above and below, the values

    are zero. You can see this new variable in Figure (4). With these denitions, we

    can write the objective value as:

    max

    N

    X

    n=1

    M

    X

    m=1

    ^

    P

    m;n

    ^

    B

    m;n

    (14)

    and f

    n

    can be expressed as

    f

    n

    =

    M

    X

    m=0

    m

    ^

    B

    m;n

    :

    Then the constraints simplify to

    M

    X

    m=1

    m

    ^

    B

    m;n

    M

    X

    m=1

    m

    ^

    B

    n1;m

    M

    X

    m=1

    A

    m;n

    ^

    B

    m;n

    8n; (15)

    M

    X

    m=1

    ^

    B

    m;n

    1 8n; (16)

    m

    ^

    B

    m;1

    1 and m

    ^

    B

    m;N

    1 8m: (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 ofM = 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 Sec-

    tion 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 optimisa-

    tion 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. How-

    ever, 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

    2

    MN

    possible solutions, which must be checked for feasibility and protability. This is,

    because each variable

    ^

    B

    m;n

    can have one of the two possible values 0 or 1. For an

    example of M = 11, N = 21 this gives 3:45 10

    69

    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"

    (M + 1)

    N

    possible solutions must be checked for feasibility and protability. 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

    22

    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

    3

    N

    possible solutions, which must be checked for feasibility and protability. For the

    same example as above, this gives 10

    10

    possible solutions. However, in each of

    the three cases, the number of solutions grows exponentially with the number of

    columns.

    5 Constructive algorithms

    5.1 Preliminarys

    5.1.1 Dierent 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 O X

    X X X

    O

    X

    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

    2

    3

    =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:

    X X X

    X

    X

    O

    X X X

    X

    O

    X X X

    O

    arctan(3) 71:65 arctan(2) 63:43 arctan(1) = 45

    X X X X X

    O

    X X X X X X X

    O

    arctan(

    1

    2

    ) 26:57 arctan(

    1

    3

    ) 18:43

    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,

  • 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-eect"

    until we reach an area, where all blocks are already removed, or the ground oor.

    The complexity of this eect lead us to the decision, to focus on constant angles

    rst.

    5.1.2 Total prot

    The algorithms use the concept of `total prot' of individual blocks where the

    total prot t

    mn

    of a block in the mine is the prot or loss involved in removing

    that block and those in the `V' shape above. When a block is removed the prot

    p

    mn

    of that block is set to zero which in turn will change the total prot matrix

    T . For = 45

    he total prot t

    mn

    of a block in the mine is calculated as follows

    (for n (m 1) 0 and n + (m 1) N):

    t

    m;n

    (P ) =

    m

    X

    i=1

    n+(mi)

    X

    j=n(mi)

    p

    i;j

    (18)

    This then measures the actual prot 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 prot 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 prot

    p

    mn

    and positive total prot t

    mn

    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

    1

    removed blocks.

    -1 -1 +4 +1 -1 -1

    Prot=0 -1 -1 +2 -1 -1 -1 Original Layout

    -1 -1 -1 -1 -1 -1

    1

    One may notice that both removed blocks and those with zero prot appear in the grid as

    zeros. This problem can be overcome by recording removed blocks in a separate matrix.

  • 62 The Ninth ECMI Modelling Week

    -1 -1 0 0 -1 -1

    Prot=5 -1 -1 +2 -1 -1 -1 STEP 1

    -1 -1 -1 -1 -1 -1

    -1 0 0 0 -1 -1

    Prot=6 -1 -1 0 -1 -1 -1

    -1 -1 -1 -1 -1 -1

    STEP 2

    As only blocks with a positive total prot are removed the prot 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

    Prot=0 -1 2 5 5 5 -1 Original layout

    -1 -1 -1 2 -1 -1

    -1 0 0 0 0 0

    Prot=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 prot 12. However by

    inspection we can see that the optimum pit shape has prot 13 as shown below:

    0 0 0 0 0 0

    Prot=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 protable 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 prot p

    mn

    and total prot t

    mn

    strictly

    positive:

    If such a block exists it is removed along with those in the `V' shaped region

    above and its prot p

    mn

    is set to zero. This, in turn, changes the total prot

  • 3. Mining Pits Optimization 63

    of the blocks above and necessitates a rescan starting at line k+ 1, where k

    is the highest row aected 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 protable as that obtained

    by the `basic algorithm'. The prot of the mine increases at each step but it still

    does not always nd the optimum pit as it misses certain protable 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 prot blocks located at (2; 2); (2; 3); (3; 3); (3; 4) then

    the total prot t

    mn

    of the blocks are 5;5;1;3 respectively and so our algo-

    rithm will not remove any of them. However if they are removed all together, the

    mine has a prot of +1 which shows that the algorithm is not optimal.

    5.4 Second Improvement

    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 dierent way. Areas which might be removed are denoted by trian-

    gles 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 prot p

    mn

    and maximum

    total prot t

    mn

    (not necessarily positive):

    Step one: If the total prot t

    mn

    is strictly positive the block concerned is

    removed at once as well as the triangle above it. The prot p

    mn

    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 aected

    by the removal of the triangle.

  • 64 The Ninth ECMI Modelling Week

    + 12+ 1

    - 1

    Figure 6: The diagonal form of example 2.

    Step two: If the total prot 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 combina-

    tion of triangles rst turn to the diagonal right of the triangle. Count the

    extra prot (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 prot and compare it with the prot

    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 prots, P

    sum

    , is

    positive, then the triangle as well as the counted upper part of the

    diagonal can be removed. Again jump back to the highest inuenced

    row. If the sum is zero or negative or if the diagonal does not have any

    positive total prots then we have to continue with the next diagonal.

    For the next diagonals not only the diagonal itself has to be taken into ac-

    count, 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 prot P

    sum

    so far. Again nd the maximum positive total prot

    (if possible) and add it to P

    sum

    . If it becomes positive, then remove the area

    that leads to this positive prot and go up as many rows as necessary, else

    continue with the next diagonal. We can continue trying to nd a positive

    P

    sum

    until we arrive at a diagonal which costs are not inuenced 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

    prot P

    sum

    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 prot p

    mn

    and

    maximum total prot t

    mn

    which does not have this sign. If such a block

  • 3. Mining Pits Optimization 65

    -3 +15

    +19-20

    A D

    CB

    Figure 7: Example to show the need for a slight modication.

    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 prot

    and therefore the parts A, B, C and D are removed together. However, B, C and

    D together give a higher positive prot 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 denition 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 inuenced 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

    prot of the deepest triangle is negative, but along with the other areas, the total

    prot 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 prot, dark areas with negative

    prot. The dierent areas are embedded in the gray area, where each block has

    prot -1. As you can see in Figure (11), the algorithm works very well, and the

    pit looks optimal, since there is only some protable blocks left, and it can be

    seen, that these would be too expensive to take out, since there are highly non-

    protable blocks above. The calculation of this example took 30 seconds, which

    justies 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 > 0Remove triangle

    m = MaxChange+1yes

    Scan next diagonal on the right for maximum profit

    t_extra

    t_extra>0no

    t_extra+ t_last > 0

    Remove selected area.

    m = MaxChange+1yes

    yes

    no

    possibilities on the right?

    no

    yes

    Scan next diagonal on the left for

    maximum profit t_extra

    t_extra>0no

    t_extra+ t_last > 0

    possibilities on the left?

    yes

    no

    yes

    no

    Remove selected area.

    m = MaxChange+1yes

    Figure 8: Flow diagram of the new algorithm.

  • 3. Mining Pits Optimization 67

    -25

    +5 +5

    +1

    +20

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

    0 20 40 60 80 100 120 1400

    10

    20

    30

    40

    50

    Figure 10: A bigger example: The initial data.

    0 20 40 60 80 100 120 1400

    10

    20

    30

    40

    50

    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.