MineLink
 All Data Structures Functions Variables Pages
fp.h
1 #ifndef __FP_H__
2 #define __FP_H__
3 
4 #include <string>
5 #include "../../data_structures/bm/blockmodel.h"
6 #include "../../data_structures/precs/precs.h"
7 #include "../../data_structures/bm/blocksel.h"
8 
9 using std::string;
10 namespace delphos{
22 private:
23  const string _attribute;
24  const Precedence & _prec;
25 public:
35  FinalPitInstance(const string & attribute, const Precedence& prec);
36 
41  const string ValueAttribute() const;
42 
46  const string GetValueAttribute() const;
47 
51  const Precedence & GetPrecedence() const;
52 };
53 
58 private:
59  FinalPitInstance* _fp;
60 public:
64  virtual ~FinalPitSolver();
70  FinalPitSolver(const FinalPitInstance & fp);
71 
77  FinalPitSolver(const BlockModel& bm);
78 
84  virtual bool Run();
85 
92  virtual BlockSelection* FinalPit();
93 
99  virtual BlockSelection * GetFinalPit();
100 
104  const FinalPitInstance & GetInstance() const;
105 
106  #ifndef DOXYGEN
107  delphos::FinalPitInstance* GetInstancePtr() const;
108  #endif
109 
115 
121  virtual const bool IsSolved() const;
122 
129  virtual double PitValue();
130 
136  virtual double GetPitValue();
137 
138 };
139 }
140 #endif
141 
FinalPitInstance(const string &attribute, const Precedence &prec)
Creates a new instance of the Final Pit Problem.
Definition: fp.cpp:4
Abstracts a set of blocks (subset of a blockmodel).
Definition: blocksel.h:33
virtual double GetPitValue()
Computes the value of the final pit.
Definition: fp.cpp:74
virtual BlockSelection * FinalPit()
Reports the result of the computation as a block selection.
Definition: fp.cpp:49
Defines a case for the final pit problem.
Definition: fp.h:21
const Precedence & GetPrecedence() const
Returns the precedence used in the computation.
Definition: fp.cpp:21
virtual double PitValue()
Computes the value of the final pit.
Definition: fp.cpp:61
const string GetValueAttribute() const
Retrieves the name of the attribute to be maximized.
Definition: fp.cpp:17
virtual bool Run()
Calculates the final pit. Returns true on success.
Definition: fp.cpp:45
void SetInstance(delphos::FinalPitInstance *fp)
Sets a final pit instance.
Definition: fp.cpp:35
FinalPitSolver(const FinalPitInstance &fp)
Creates a new Final Pit Solver based on an instance of the Final Pit Problem.
Definition: fp.cpp:25
Abstracts a container of blocks as a table with arbitrary number of attributes that can be accessed b...
Definition: blockmodel.h:62
Implements a precedence as an explicit set of arcs between blocks. Provides utility functions...
Definition: precs.h:22
const string ValueAttribute() const
Retrieves the name of the attribute to be maximized. Deprecated.
Definition: fp.cpp:13
A dummy class that specifies the methods of an algorithm that can solve a final pit instance...
Definition: fp.h:57
const FinalPitInstance & GetInstance() const
retrieves the instance being solved.
Definition: fp.cpp:32
A base class for object associated to a given block model.
Definition: blockmodel.h:1356
virtual ~FinalPitSolver()
The destructor.
Definition: fp.cpp:87
virtual const bool IsSolved() const
Checks if the solver was already run or not.
Definition: fp.cpp:57
virtual BlockSelection * GetFinalPit()
Reports the result of the computation as a block selection.
Definition: fp.cpp:53