Thanks Peter, Cecil and Charles!
I have attached the code as it stands, sorry for not getting back to you 
sooner.

It's still messy but it works, that is, it outputs a column of economic 
block values in IJK order to be input into an open pit optimiser.
The code is for an open source pit optimiser, I am currently trying to port 
C to Go to use the pseudoflow algorithm outlined here (Berkeley.edu). 
<http://riot.ieor.berkeley.edu/Applications/Pseudoflow/maxflow.html>. 

If you're interested below is a short introduction:

# Introduction

The mining industry is a very relevant economic sector.  In Chile, copper 
exports account for about 62.5% of the total exports and represent a 12% of 
the GDP [1]. Mines can be either open-pit or underground, the actual 
decision depending on different economic and technical considerations. 
Open-pit mines are preferred to underground mines because they can reach 
higher production levels, and have smaller operational costs.  However, 
most of the time, it is necessary to remove material with poor or no ore 
content (waste) in order to have access to economically profitable 
material. In order to define what portions of the terrain must be mined at 
different moments during the life-time of the mine, the planning horizon is 
discretized into time-periods (or time-slots). In turn, the terrain is 
divided into  regular blocks,  which  are  arranged  in  a  3-dimensional 
 array (columns 2,3,4).   For  each  block,  estimations  on  the  ore 
content,  density  and  other  relevant  attributes (...columns)  are 
 constructed  by  using  geostatistical  methods. A block model, namely, 
the set of all blocks and their attributes, is the main input to the mine 
planning process. My csv is a block model. 

Lerchs and Grossman [2] proposed a very simplified version of the problem 
in which block destinations are fixed in advance, slope constraints are 
considered, but capacity or blending constraints are not.  In this case, 
the problem reduces to selecting a subset of blocks such that the 
 contained  value  is  maximized  while  the  precedence  constraint 
 induced  by  the  slope  angles  are  held. This problem is known as the 
ultimate or final  pit problem.  Lerchs and Grossman presented an 
efficient(polynomial) algorithm for solving the ultimate pit problem, and 
showed that reducing the economic value of any given block makes the 
optimal solution of the ultimate pit problem to shrink, in the sense that, 
if the values of the blocks decrease, the new solution is a subset of the 
original one.  Therefore, it is possible to produce nested pits and, by 
trial and error, construct block schedules that satisfy other constraints 
like capacity of the mill.  Present-day commercial software, like Whittle 
[3][4], is based on these facts.

Picard [5] showed that the ultimate pit problem is equivalent to the 
maximum closure problem in which, given a directed graph G = (V,A) with 
weight function w defined over the nodes, one looks for a subset of nodes U 
⊂ V such that ∑ u ∈ U w(u) is maximal but u ∈ U, (u,v) ∈ A ⇒ v ∈ U.  The 
maximum closure problem,  in  turn,  can  be  reduced  to  the min  cut 
problem  (for  more  details  see  [27]).   Using  this  fact, Hochbaum [6] 
proposes to attack the ultimate pit problem by means of existing efficient 
algorithms for the min cut problem.

[1]  Boland, N., Dumitrescu, I., Froyland, G., and Gleixner, A. (2009). 
Lp-based disaggregation approaches to solving the open pit mining 
production scheduling problem with block processing selectivity. Computers 
& Operations Research , 36(4):1064– 1089.
[2] Lerchs, H and Grossmann, I F, (1965). Optimum design of open pit mines, 
The Canadian Mining and Metallurgical Bulletin, Vol. 58, January, pp.47-54. 
[3] Alford, C.G. and Whittle, J., (1986). Application of Lerchs– Grossmann 
pit optimization to the design of open pit mines, In Large Open Pit Mining 
Conference, AusIMM–IE Aust Newman Combined Group, 1986, 201–207.
[4] Osanloo, M., Gholamnejad, J., and Karimi, B. (2008). Long-term open pit 
mine production planning:  a review of models and algorithms. International 
Journal of Mining, Reclamation and Environment, 22(1):3–35.
[5] Picard, J. (1976). Maximal closure of a graph and applications to 
combinatorial problems. Management Science, 22(11):pp.1268–1272.
[6] Hochbaum, D. and Chen, A. (2000).  Performance analysis and best 
implementation of old and new algorithms for the open-pit mining problem. 
Operations Research, 48:894–914.





-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Attachment: csv4.go
Description: Binary data

Reply via email to