MineLink
 All Data Structures Functions Variables Pages
delphos::PseudoFlowNestedPitSolver Class Reference

An implementation of a nested pit solver based on the Pseudoflow algorithm. More...

#include <pseudoflownp.h>

Inheritance diagram for delphos::PseudoFlowNestedPitSolver:
Inheritance graph
Collaboration diagram for delphos::PseudoFlowNestedPitSolver:
Collaboration graph

Public Member Functions

 PseudoFlowNestedPitSolver (NestedPitInstance &np, const bool &register_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::NestedPitsGetNestedPits ()
 Returns the nested pits. More...
 
- Public Member Functions inherited from delphos::NestedPitSolver
virtual ~NestedPitSolver ()
 The destructor.
 
 NestedPitSolver (NestedPitInstance &np)
 Creates a new nested Pit Solver based on an instance of the nested Pit Problem. More...
 
const NestedPitInstanceGetInstance () const
 Retrieves the instance being solved.
 
delphos::NestedPitInstanceGetInstancePtr () 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.
 
- Public Member Functions inherited from delphos::BlockModelEntity
 BlockModelEntity (delphos::BlockModel &bm)
 Creates a new block instance associated to a given block model. More...
 
delphos::BlockModelGetBlockModel ()
 Retrieves the block model to which the entity is associated. More...
 
const delphos::BlockModelGetBlockModel () const
 Retrieves the block model to which the entity is associated. More...
 

Detailed Description

An implementation of a nested pit solver based on the Pseudoflow algorithm.

Constructor & Destructor Documentation

delphos::PseudoFlowNestedPitSolver::PseudoFlowNestedPitSolver ( NestedPitInstance np,
const bool &  register_val = true 
)

Creates a new solver based on a given instance.

Parameters
npAn instance of the nested pit problem to be solved.
register_valA flag to specify if the valorization by revenue factor are registered in the block model.

Member Function Documentation

delphos::NestedPits * delphos::PseudoFlowNestedPitSolver::GetNestedPits ( )
virtual

Returns the nested pits.

This implementation is a dummy version that always returns an empty struct.

Reimplemented from delphos::NestedPitSolver.

const bool delphos::PseudoFlowNestedPitSolver::IsSolved ( ) const
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.

bool delphos::PseudoFlowNestedPitSolver::Run ( )
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.


The documentation for this class was generated from the following files: