Optimise · Pit limits
Pit optimisation (HPF)
Give it a block model and your economics and it solves the true optimal pit — not an approximation — plus the full ladder of nested shells in a single pass. Exact, fast, and no commercial solver licence.
See it
What it does
Optimal ultimate pit
Solves the maximum-closure 'which blocks to mine' problem exactly for a full 3D block model at your revenue factor.
Nested shells in one pass
Generates shells across a ladder of revenue factors parametrically, reusing the graph low to high.
Real slope control
Azimuth–slope pairs with interpolation or a constant angle, with correct cone geometry on non-cubic blocks.
Whittle-grade economics
Metallurgical and mining recovery, dilution, ore/waste cost adjustment, royalties, TC/RC and per-block cut-off.
Handles irregular models
Explicit-arc mode for reblocked and sub-blocked models — the same precedence that feeds Direct Block Scheduling.
NPV shell selection
Sweep revenue factors and keep the discounted-best shell, not simply the largest.
How it works — the engineeringTechnical detail
Hochbaum Pseudoflow max-flow/min-cut (the MineFlow engine), compiled C++ via pybind11. Precedence comes from Caccetta–Giannini minimum-search cone patterns. The flow network is reused across revenue factors, so a whole shell ladder costs far less than N independent solves.
- In
- block values (or base-revenue + costs), grid dims, slope, block sizes, revenue-factor list or explicit arcs; CSV or .npy.
- Out
- one in-pit boolean mask per revenue factor.
flowopt/services/mineflow_cpp/ · hpf_solver.py · slope_template.py