![]() |
MineLink
|
An implementation of a nested pit solver based on the Pseudoflow algorithm. More...
#include <pseudoflownp.h>
Public Member Functions | |
PseudoFlowNestedPitSolver (NestedPitInstance &np, const bool ®ister_val=true) | |
Creates a new solver based on a given instance. More... | |
virtual | ~PseudoFlowNestedPitSolver () |
Destructor. | |
virtual bool | Run () |
Calculates the nested pits. More... | |
virtual const bool | IsSolved () const |
true if the problem has been solved, false if not. More... | |
virtual delphos::NestedPits * | GetNestedPits () |
Returns the nested pits. More... | |
![]() | |
virtual | ~NestedPitSolver () |
The destructor. | |
NestedPitSolver (NestedPitInstance &np) | |
Creates a new nested Pit Solver based on an instance of the nested Pit Problem. More... | |
const NestedPitInstance & | GetInstance () const |
Retrieves the instance being solved. | |
delphos::NestedPitInstance * | GetInstancePtr () const |
Return a pointer to the instance being solved. | |
void | SetInstance (delphos::NestedPitInstance &npi) |
Set the instance to be solved. | |
void | SetCallBack (delphos::CallBackPtr fp) |
Set the user run step callback. | |
delphos::CallBackPtr | GetCallBack () |
Returns the user run step callback. | |
![]() | |
BlockModelEntity (delphos::BlockModel &bm) | |
Creates a new block instance associated to a given block model. More... | |
delphos::BlockModel & | GetBlockModel () |
Retrieves the block model to which the entity is associated. More... | |
const delphos::BlockModel & | GetBlockModel () const |
Retrieves the block model to which the entity is associated. More... | |
An implementation of a nested pit solver based on the Pseudoflow algorithm.
delphos::PseudoFlowNestedPitSolver::PseudoFlowNestedPitSolver | ( | NestedPitInstance & | np, |
const bool & | register_val = true |
||
) |
Creates a new solver based on a given instance.
np | An instance of the nested pit problem to be solved. |
register_val | A flag to specify if the valorization by revenue factor are registered in the block model. |
|
virtual |
Returns the nested pits.
This implementation is a dummy version that always returns an empty struct.
Reimplemented from delphos::NestedPitSolver.
|
virtual |
true if the problem has been solved, false if not.
This method checks whether the instance has been already solved or not.
Reimplemented from delphos::NestedPitSolver.
|
virtual |
Calculates the nested pits.
This version uses pseudoflow algorithm to compute the nested pit. For each revenue factor, a value column and a pit column is added to the Block Model. The vector of revenue factors is ordered before compute. In case of only one column stored in block model for all pits, each block corresponds to a pit index value. 0 means that no pit contains it. Integer i means that all pits of revenue factor of index >= i in ordered vector contains it.
Reimplemented from delphos::NestedPitSolver.