6#include <boost/thread/recursive_mutex.hpp>
8#ifndef FMTYIELDMODELDECISIONTREE_H_INCLUDED
9#define FMTYIELDMODELDECISIONTREE_H_INCLUDED
30 mutable boost::recursive_mutex mtx;
33 mutable std::map<size_t,std::vector<double>>values;
36 std::unique_ptr<FMToutput> reference;
39 std::vector<FMTconstraint>nodes;
42 std::vector<double>default_values;
45 const std::string JSON_PROP_TREE =
"Tree";
48 const std::string JSON_PROP_DECISIONS =
"Decisions";
51 const std::string JSON_PROP_REFERENCE =
"Reference";
54 const std::string JSON_PROP_DEFAULT =
"Default";
69 Core::FMTconstraint BuildConstraint(
const std::string& name,
const std::string& yld,
const Core::FMTmask& mask,
const double& lowerbound,
const double& upperbound,
const int& lag)
const;
74 size_t GetADecision(
const std::unique_ptr<Models::FMTmodel>& naturalgrowth,
const size_t& constraint_id,
const int& period)
const;
85 std::unique_ptr<FMTyieldmodel> Modify(
const FMTmaskfilter& filter,
86 const std::vector<FMTtheme>& newthemes,
bool presolve =
true)
const;
117 std::unique_ptr<FMTyieldmodel>
Clone()
const;
134 const std::vector<FMTtheme>& newthemes)
const;
140 const std::vector<FMTtheme>& basethemes)
const;
145 virtual operator std::string()
const;
Definition: FMTconstraint.hpp:54
Definition: FMTmask.hpp:96
Definition: FMTmaskfilter.hpp:27
Definition: FMTyieldmodel.hpp:41
Definition: FMTyieldmodeldecisiontree.hpp:26
virtual std::unique_ptr< FMTyieldmodel > presolve(const FMTmaskfilter &filter, const std::vector< FMTtheme > &newthemes) const
const std::vector< double > Predict(const Core::FMTyieldrequest &request) const
virtual std::unique_ptr< FMTyieldmodel > postsolve(const FMTmaskfilter &filter, const std::vector< FMTtheme > &basethemes) const
FMTyieldmodeldecisiontree(const FMTyieldmodeldecisiontree &rhs)
FMTyieldmodeldecisiontree()=default
FMTyieldmodeldecisiontree & operator=(const FMTyieldmodeldecisiontree &rhs)=default
virtual std::vector< std::vector< double > > getperiodicvalues() const
static std::string GetModelType()
std::unique_ptr< FMTyieldmodel > Clone() const
FMTyieldmodeldecisiontree(const boost::property_tree::ptree &jsonProps, const std::vector< std::string > &inputYields, const Core::FMTmask &mainmask)
~FMTyieldmodeldecisiontree()=default
Definition: FMTyieldrequest.hpp:36
Definition: FMTyieldmodel.hpp:26
The Core namespace provides classes for simulating stands/strata growth/harvest through time.
Definition: FMTaction.hpp:31
Namespace containing all enumerator and classes used to construct or manipulate the different type of...
Definition: FMTareaparser.hpp:50