|
void | clearcache () |
|
void | clearconstraintlocation () |
|
| FMTlpmodel (const FMTmodel &base, FMTsolverinterface lsolvertype) |
|
| FMTlpmodel () |
|
| FMTlpmodel (const FMTmodel &base, const Graph::FMTgraph< Graph::FMTvertexproperties, Graph::FMTedgeproperties > &lgraph, const FMTlpsolver &lsolver, const std::vector< std::unordered_map< std::string, std::vector< std::vector< int > > > > &lelements) |
|
| FMTlpmodel (const FMTlpmodel &rhs) |
|
bool | initialsolve () |
|
| FMTlpmodel (FMTlpmodel &&rhs)=default |
|
FMTlpmodel & | operator= (FMTlpmodel &&rhs)=default |
|
void | setstrictlypositivesoutputsmatrix () |
|
virtual std::map< std::string, double > | getoutput (const Core::FMToutput &output, int period, Core::FMToutputlevel level=Core::FMToutputlevel::standard) const |
|
virtual std::vector< Core::FMTconstraint > | getreplanningconstraints (const std::string &modeltype, const std::vector< Core::FMTconstraint > &localconstraints, const int &period) const |
|
void | addscheduletoobjective (const Core::FMTschedule &schedule, double weight=1000) |
|
bool | operator== (const FMTlpmodel &rhs) const |
|
bool | operator!= (const FMTlpmodel &rhs) const |
|
Graph::FMTgraphstats | setobjective (const Core::FMTconstraint &objective) |
|
Graph::FMTgraphstats | setconstraint (const Core::FMTconstraint &constraint) |
|
Graph::FMTgraphstats | eraseconstraint (const Core::FMTconstraint &constraint, int period=-1) |
|
std::map< std::string, std::vector< double > > | getvariabilities (const std::vector< Core::FMToutput > &outputs, const int &periodstart, const int &periodstop) |
|
FMTlpmodel | getmodelfromproportions (const std::vector< Core::FMTmask > &globalmasks, std::vector< double > tolerances) const |
|
std::map< std::string, std::vector< double > > | getareavariabilities (const std::vector< Core::FMToutput > &localoutputs, const std::vector< Core::FMTmask > &globalmasks, std::vector< double > tolerances=std::vector< double >()) const |
|
Graph::FMTgraphstats | eraseperiod (bool constraintsonly=false) |
|
std::vector< Heuristics::FMToperatingareascheduler > | getoperatingareaschedulerheuristics (const std::vector< Heuristics::FMToperatingareascheme > &opareas, const Core::FMToutputnode &node, size_t numberofheuristics=1, bool copysolver=true) |
|
std::vector< Heuristics::FMToperatingareaclusterer > | getoperatingareaclustererheuristics (const std::vector< Heuristics::FMToperatingareacluster > &clusters, const Core::FMToutput &statisticoutput, const Core::FMToutput &areaoutput, const int &period, size_t numberofheuristics=1, int minimalnumberofclusters=-1, int maximalnumberofclusters=-1) const |
|
bool | resolve () |
|
FMTlpmodel & | operator= (const FMTlpmodel &rhs) |
|
| ~FMTlpmodel ()=default |
|
FMTlpmodel | getlocalmodel (FMTmodel localmodel=FMTmodel(), int period=0) const |
|
double | getObjValue () const |
|
void | writeLP (const std::string &location) |
|
void | writeMPS (const std::string &location) |
|
virtual std::unique_ptr< FMTmodel > | clone () const |
|
virtual std::unique_ptr< FMTmodel > | presolve (std::vector< Core::FMTactualdevelopment > optionaldevelopments=std::vector< Core::FMTactualdevelopment >()) const |
|
virtual bool | build (std::vector< Core::FMTschedule > schedules=std::vector< Core::FMTschedule >()) |
|
virtual bool | solve () |
|
virtual std::unique_ptr< FMTmodel > | getcopy (int period=0) const |
|
Graph::FMTgraphvertextoyield | getGraphVertexToYield () const |
|
virtual void | postsolve (const FMTmodel &originalbasemodel) |
|
void | setparallellogger (Logging::FMTlogger &logger) override |
|
| FMTsrmodel (const FMTmodel &base, FMTsolverinterface lsolvertype) |
|
| FMTsrmodel () |
|
| FMTsrmodel (const FMTsrmodel &rhs) |
|
| FMTsrmodel (const FMTmodel &base, const Graph::FMTgraph< Graph::FMTvertexproperties, Graph::FMTedgeproperties > &lgraph, const FMTlpsolver &lsolver) |
|
FMTsrmodel & | operator= (const FMTsrmodel &rhs)=default |
|
| FMTsrmodel (FMTsrmodel &&rhs)=default |
|
FMTsrmodel & | operator= (FMTsrmodel &&rhs)=default |
|
| ~FMTsrmodel ()=default |
|
bool | operator== (const FMTsrmodel &rhs) const |
|
bool | operator!= (const FMTsrmodel &rhs) const |
|
bool | unboundsolution (int period) |
|
bool | isperiodbounded (int period) const |
|
void | cleargraphdevelopements () |
|
void | cleargraphcache () |
|
bool | setsolution (int period, const Core::FMTschedule &schedule, double tolerance=FMT_DBL_TOLERANCE) |
|
bool | setsolutionbylp (int period, const Core::FMTschedule &schedule, double tolerance=FMT_DBL_TOLERANCE) |
|
bool | forcesolution (int period, const Core::FMTschedule &proportionschedulewithlock) |
|
Core::FMTschedule | getsolution (int period, bool withlock=false) const final |
|
Core::FMTschedule | getscheduleproportions (int period, bool withlock) const |
|
Graph::FMTgraphstats | getstats () const |
|
virtual std::unique_ptr< FMTmodel > | getcopy (int period=0) const |
|
virtual std::map< std::string, double > | getoutput (const Core::FMToutput &output, int period, Core::FMToutputlevel level=Core::FMToutputlevel::standard) const |
|
Graph::FMTgraphstats | buildperiod (Core::FMTschedule schedule=Core::FMTschedule(), bool forcepartialbuild=false, int compressageclassoperability=1) |
|
int | getfirstactiveperiod () const |
|
virtual std::vector< Core::FMTactualdevelopment > | getarea (int period=0, bool beforegrowanddeath=false) const override |
|
FMTlpsolver * | getsolverptr () |
|
const FMTlpsolver * | getconstsolverptr () const |
|
virtual std::unique_ptr< FMTmodel > | clone () const override |
|
void | passinlogger (const std::shared_ptr< Logging::FMTlogger > &logger) override |
|
virtual std::unique_ptr< FMTmodel > | presolve (std::vector< Core::FMTactualdevelopment > optionaldevelopments=std::vector< Core::FMTactualdevelopment >()) const override |
|
bool | boundsolution (int period, double tolerance=FMT_DBL_TOLERANCE) |
|
bool | setparameter (const FMTintmodelparameters &key, const int &value) override |
|
bool | setparameter (const FMTboolmodelparameters &key, const bool &value) override |
|
Graph::FMTgraphstats | getgraphstats () const |
|
std::set< Core::FMTSerie > | getrorations (const Core::FMTmask &mask, const std::string &aggregate) const |
|
virtual bool | isoptimal () const |
|
virtual double | getobjectivevalue () const |
|
std::vector< const Core::FMTdevelopment * > | getnochoice (const Core::FMTmask &base_mask) const |
|
Models::FMTmodel | aggregateAllActions (const std::vector< std::string > &p_Aggregates) const |
| Aggregate actions together and create en enterly new model with new -actions,transitions,outputs,constraints,yields,lifespan.
|
|
std::vector< Core::FMTschedule > | aggregateSchedules (const std::vector< Core::FMTschedule > &p_schedules) const |
| Build new schedule based on p_schedules with the corresponding aggregated actions.
|
|
virtual void | setparallellogger (Logging::FMTlogger &logger) |
|
virtual void | clearcache () |
|
| FMTmodel (const std::vector< Core::FMTactualdevelopment > &larea, const std::vector< Core::FMTtheme > <hemes, const std::vector< Core::FMTaction > &lactions, const std::vector< Core::FMTtransition > <ransitions, const Core::FMTyields &lyields, const Core::FMTlifespans &llifespan, const std::string &lname, const std::vector< Core::FMToutput > &loutputs, std::vector< Core::FMTconstraint > lconstraints=std::vector< Core::FMTconstraint >(), FMTmodelparameters lparameters=FMTmodelparameters()) |
|
| FMTmodel () |
|
virtual | ~FMTmodel ()=default |
|
| FMTmodel (FMTmodel &&rhs)=default |
|
FMTmodel & | operator= (FMTmodel &&rhs)=default |
|
virtual std::vector< Core::FMTactualdevelopment > | getarea (int period=0, bool beforegrowanddeath=false) const |
|
virtual std::unique_ptr< FMTmodel > | getcopy (int period=0) const |
|
FMTmodel | basepresolve () const |
|
Core::FMTmaskfilter | getpresolvefilter (const std::vector< Core::FMTtheme > &originalthemes) const |
|
Core::FMTmaskfilter | getpostsolvefilter (const std::vector< Core::FMTtheme > &originalthemes, const Core::FMTmask &devmask) const |
|
Core::FMTmask | getselectedmask (const std::vector< Core::FMTtheme > &originalthemes) const |
|
virtual std::unique_ptr< FMTmodel > | presolve (std::vector< Core::FMTactualdevelopment > optionaldevelopments=std::vector< Core::FMTactualdevelopment >()) const |
|
virtual void | postsolve (const FMTmodel &originalbasemodel) |
|
Core::FMTschedule | presolveschedule (const Core::FMTschedule &originalbaseschedule, const FMTmodel &originalbasemodel) const |
|
FMTmodelstats | getmodelstats () const |
|
void | cleanactionsntransitions () |
|
std::string | getname () const |
|
std::vector< Core::FMTtheme > | getthemes () const |
|
std::vector< Core::FMTaction > | getactions () const |
|
std::vector< Core::FMTtransition > | gettransitions () const |
|
Core::FMTyields | getyields () const |
|
Core::FMTlifespans | getlifespan () const |
|
std::vector< Core::FMToutput > | getoutputs () const |
|
std::vector< Core::FMTconstraint > | getconstraints () const |
|
void | addoutput (const std::string &name, const std::string &maskstring, Core::FMTotar outputtarget, std::string action=std::string(), std::string yield=std::string(), std::string description=std::string(), int targettheme=-1) |
|
template<typename T > |
void | addyieldhandlers (const std::vector< T > &yieldhandlers) |
|
void | addyieldhandlersfromptr (const std::vector< std::unique_ptr< Core::FMTyieldhandler > > &yieldhandlers) |
|
bool | operator== (const FMTmodel &rhs) const |
|
bool | operator< (const FMTmodel &rhs) const |
|
void | setarea (const std::vector< Core::FMTactualdevelopment > &ldevs) |
|
void | setthemes (const std::vector< Core::FMTtheme > <hemes) |
|
void | setactions (const std::vector< Core::FMTaction > &lactions) |
|
void | settransitions (const std::vector< Core::FMTtransition > <ransitions) |
|
void | setconstraints (const std::vector< Core::FMTconstraint > &lconstraint) |
|
void | setyields (const Core::FMTyields &lylds) |
|
void | setlifespan (const Core::FMTlifespans &llifespan) |
|
void | setname (const std::string &newname) |
|
void | setoutputs (const std::vector< Core::FMToutput > &newoutputs) |
|
bool | isvalid () |
|
std::vector< Core::FMTtheme > | locatestaticthemes (const Core::FMToutput &output, bool ignoreoutputvariables=false) const |
|
std::vector< Core::FMTtheme > | locatestaticthemes (const Core::FMToutputnode &output, bool ignoreoutputvariables=false) const |
|
std::vector< Core::FMTtheme > | locatedynamicthemes (const Core::FMToutput &outpu, bool ignoreoutputvariables=false) const |
|
Core::FMTmask | getdynamicmask (const Core::FMToutput &output, bool ignoreoutputvariables=false) const |
|
Core::FMTmask | getdynamicmask (const Core::FMToutputnode &node, bool ignoreoutputvariables=false) const |
|
Core::FMTmask | getstaticmask (const Core::FMToutputnode &node, bool ignoreoutputvariables=false) const |
|
bool | isstaticnode (const Core::FMToutputnode &node, double ratioofset=0.1) const |
|
std::vector< Core::FMTtheme > | locatestatictransitionsthemes () const |
|
std::vector< Core::FMTtheme > | locatenodestaticthemes (const Core::FMToutputnode &node, bool ignoreoutputvariables=false, std::vector< Core::FMTtheme > basethemes=std::vector< Core::FMTtheme >()) const |
|
| FMTmodel (const FMTmodel &rhs) |
|
FMTmodel & | operator= (const FMTmodel &rhs) |
|
bool | empty () const |
|
void | push_back (const FMTmodel &rhs) |
|
double | getinitialarea () const |
|
void | setareaperiod (const int &period) |
|
Core::FMTschedule | getpotentialschedule (std::vector< Core::FMTactualdevelopment > toremove, std::vector< Core::FMTactualdevelopment > selection, bool withlock=true) const |
|
virtual std::vector< Core::FMTconstraint > | getreplanningconstraints (const std::string &modeltype, const std::vector< Core::FMTconstraint > &localconstraints, const int &period) const |
|
virtual bool | doplanning (const bool &solve, std::vector< Core::FMTschedule > schedules=std::vector< Core::FMTschedule >()) |
|
virtual std::map< std::string, double > | getoutput (const Core::FMToutput &output, int period, Core::FMToutputlevel level=Core::FMToutputlevel::standard) const |
|
virtual Core::FMTschedule | getsolution (int period, bool withlock=false) const |
|
virtual std::map< std::string, std::vector< std::vector< double > > > | getoutputsfromperiods (const std::vector< Core::FMToutput > &theoutputs, const int &firstperiod, const int &lastperiod, Core::FMToutputlevel level=Core::FMToutputlevel::standard) const |
|
virtual std::unique_ptr< FMTmodel > | clone () const |
|
virtual bool | setparameter (const FMTintmodelparameters &key, const int &value) |
|
virtual bool | setparameter (const FMTdblmodelparameters &key, const double &value) |
|
virtual bool | setparameter (const FMTboolmodelparameters &key, const bool &value) |
|
int | getparameter (const FMTintmodelparameters &key) const |
|
double | getparameter (const FMTdblmodelparameters &key) const |
|
bool | getparameter (const FMTboolmodelparameters &key) const |
|
bool | setcompresstime (const int &periodstart, const int &periodstop, const int &value) |
|
std::vector< int > | getcompresstime () const |
|
std::vector< Core::FMTconstraint > | goalconstraints (double penalty=999999) const |
|
std::vector< Core::FMTconstraint > | gettacticalconstraints (double penalty=999999, double scheduleweight=999999, double objective=0, double objectivefactor=1.0) const |
|
virtual void | showparameters (const bool &showhelp=false) const |
|
virtual bool | build (std::vector< Core::FMTschedule > schedules=std::vector< Core::FMTschedule >()) |
|
virtual bool | solve () |
|
virtual bool | isoptimal () const |
|
virtual double | getobjectivevalue () const |
|
| FMTobject () |
|
virtual | ~FMTobject () |
|
| FMTobject (const std::shared_ptr< Exception::FMTexceptionhandler > exhandler) |
|
| FMTobject (const FMTobject &rhs) |
|
FMTobject & | operator= (const FMTobject &rhs) |
|
virtual void | passinlogger (const std::shared_ptr< Logging::FMTlogger > &logger) |
|
void | passinexceptionhandler (const std::shared_ptr< Exception::FMTexceptionhandler > &exhandler) |
|
void | redirectlogtofile (const std::string &location) |
|
virtual void | setdefaultlogger () |
|
virtual void | setquietlogger () |
|
virtual void | settasklogger () |
|
virtual void | setdebuglogger () |
|
void | setdefaultexceptionhandler () |
|
void | setquietexceptionhandler () |
|
void | setdebugexceptionhandler () |
|
void | setfreeexceptionhandler () |
|
void | disablenestedexceptions () |
|
void | enablenestedexceptions () |
|
void | seterrorstowarnings (const std::vector< Exception::FMTexc > &errors) |
|
void | setmaxwarningsbeforesilenced (const size_t &maxwarningcount) |
|
|
static std::vector< Models::FMTsolverinterface > | getavailablesolverinterface () |
|
static Core::FMTaction | defaultdeathaction (const Core::FMTlifespans &llifespan, const std::vector< Core::FMTtheme > <hemes) |
|
static Core::FMTtransition | defaultdeathtransition (const Core::FMTlifespans &llifespan, const std::vector< Core::FMTtheme > <hemes) |
|
static std::string | getruntimelocation () |
|
static unsigned long long | getavailablememory () |
|
bool | summarize (const std::map< int, double > &variables, std::vector< int > &sumvariables, std::vector< double > &sumcoefficiants) const |
|
Graph::FMTgraphstats | initializematrix () |
|
Graph::FMTgraphstats | updatematrix (const Graph::FMTgraph< Graph::FMTvertexproperties, Graph::FMTedgeproperties >::FMTvertex_pair &targets, const Graph::FMTgraphstats &newstats) |
|
size_t | getgraphsize () const |
|
void | postsolvegraph (const FMTmodel &originalbasemodel) |
|
void | setdefaultobjects () |
|
Core::FMTmask | getbasemask (std::vector< Core::FMTactualdevelopment > optionaldevelopments) const |
|
std::vector< size_t > | getstatictransitionthemes () const |
|
std::vector< Core::FMTtheme > | getstaticpresolvethemes () const |
|
void | clearactionscache () |
|
void | clearyieldcache () |
|
void | cleartransitioncache () |
|
virtual void | swap_ptr (const std::unique_ptr< FMTmodel > &rhs) |
|
std::vector< Core::FMTschedule > | setupschedulesforbuild (const std::vector< Core::FMTschedule > &schedules) const |
|
bool | useactionserie () const |
|
size_t | getseriesmaxsize () const |
|
template<class Archive > |
void | forcesave (Archive &ar, const unsigned int version) const |
|
template<class Archive > |
void | forceload (Archive &ar, const unsigned int version) |
|
void | checksignals () const |
|
void | setCPLhandler () |
|
static std::chrono::time_point< std::chrono::high_resolution_clock > | getclock () |
|
template<class chrono > |
static double | getduration (const std::chrono::time_point< std::chrono::high_resolution_clock > &startclock) |
|
static std::string | getdurationinseconds (const std::chrono::time_point< std::chrono::high_resolution_clock > &startclock) |
|
Graph::FMTgraph< Graph::FMTvertexproperties, Graph::FMTedgeproperties > | graph |
| graph holding the FMTdevelopments for all the periods.
|
|
FMTlpsolver | solver |
| The lpsolver.
|
|
FMTmodelparameters | parameters |
|
std::vector< Core::FMTactualdevelopment > | area |
| Actualdevelopments for period 0, seen in the area section or the shapefile/raster.
|
|
std::vector< Core::FMTtheme > | themes |
| Model themes of the landscape section file.
|
|
std::vector< Core::FMTaction > | actions |
| Model actions from the action file and also the _death action.
|
|
std::vector< Core::FMTtransition > | transitions |
| Model transitions from the transition file and also the _death transition.
|
|
Core::FMTyields | yields |
| Yields data comming from the yield file.
|
|
Core::FMTlifespans | lifespan |
| lifespan data comming from the lifespan file
|
|
std::vector< Core::FMToutput > | outputs |
| Outputs comming from the ouput file.
|
|
std::vector< Core::FMTconstraint > | constraints |
| Outputs comming from the optimization file.
|
|
std::string | name |
| The name of the Model (name of the .pri file without extension)
|
|
std::vector< size_t > | statictransitionthemes |
| The location of the themes static from transitions.
|
|
static std::shared_ptr< Exception::FMTexceptionhandler > | _exhandler |
| A shared pointer to the exception handler.
|
|
static std::shared_ptr< Logging::FMTlogger > | _logger |
| A shared pointer to the logger.
|
|
This model is a type III LP forest planning model. The graph is divided per period. This model is made for replanning and simple forest planning LP optimization. It makes heavy use of FMTgraph for building the matrix. FMTgraph being based on a list structure FMTlpmodel can easely be extended (by the back) using the function buildperiod() or shrinked (by the front) using the function eraseperiod. The matrix is held within the solverinterface pointer.