8#ifndef FMTmodelparameters_Hm_included
9#define FMTmodelparameters_Hm_included
13#include <boost/serialization/export.hpp>
14#include <boost/serialization/array.hpp>
15#include <boost/serialization/vector.hpp>
225 friend class boost::serialization::access;
233 template<
class Archive>
234 void serialize(Archive& ar,
const unsigned int version)
237 ar& boost::serialization::make_nvp(
"FMTobject", boost::serialization::base_object<FMTObject>(*
this));
238 ar& BOOST_SERIALIZATION_NVP(m_intparameters);
239 ar& BOOST_SERIALIZATION_NVP(m_dblparameters);
240 ar& BOOST_SERIALIZATION_NVP(m_boolparameters);
241 ar& BOOST_SERIALIZATION_NVP(m_compresstime);
245 _exhandler->printExceptions(
"",
"FMTModelParameters::serialize", __LINE__, __FILE__);
248 std::array<int, LastIntModelParam> m_intparameters;
249 std::array<double, LastDblModelParam> m_dblparameters;
250 std::array<bool, LastBoolModelParam> m_boolparameters;
251 std::array<std::string, LastStrModelParam> m_strparameters;
252 std::vector<int> m_compresstime;
#define FMTEXPORT
Definition: FMTutility.h:125
Base class of multiple FMT classes holding a shared exception handler pointer and logger.
Definition: FMTObject.h:49
Class containing all the parameters a model needs to be solved by the different types of FMTModel.
Definition: FMTModelParameters.h:97
int getPeriodCompressTime(const int &period) const
Return the compress time for a given period.
bool setIntParameter(FMTintmodelparameters key, const int &value)
Set a integer parameter.
~FMTModelParameters()=default
Default destructor for FMTModelParameters.
bool setDblParameter(FMTdblmodelparameters key, const double &value)
Set a double parameter.
const std::string & getStrParameter(FMTstrmodelparameters p_key) const
Return a string parameter.
bool getBoolParameter(FMTboolmodelparameters key) const
Return a boolean parameter.
bool setPeriodCompressTime(const int &period, const int &value)
Set the compress time for a given period.
FMTModelParameters()
Default constructor for FMTModelParameters.
bool setStrParameter(FMTstrmodelparameters p_key, const std::string &p_value)
Set a string parameter.
FMTModelParameters(const FMTModelParameters &rhs)
Copy constructor for FMTModelParameters.
FMTModelParameters(FMTModelParameters &&rhs)=default
Default move constructor for FMTModelParameters.
double getDblParameter(FMTdblmodelparameters key) const
Return a double parameter.
std::vector< int > getCompressTime() const
Return the compress time for each period.
bool setBoolParameter(FMTboolmodelparameters key, const bool &value)
Set a boolean parameter.
void swap(FMTModelParameters &rhs)
Swap this FMTModelParameters with another.
int getIntParameter(FMTintmodelparameters key) const
Return a integer parameter.
Namespace containing all enumerator and classes used to construct or manipulate the different type of...
Definition: FMTAreaParser.h:54
FMTdblmodelparameters
Enumerator of the double parameters of a FMTModel.
Definition: FMTModelParameters.h:54
@ TOLERANCE
Definition: FMTModelParameters.h:55
@ ANNEALING_RATE
Definition: FMTModelParameters.h:58
@ LastDblModelParam
Definition: FMTModelParameters.h:59
@ GOALING_SCHEDULE_WEIGHT
Definition: FMTModelParameters.h:56
@ INITIAL_ACCEPTANCE_PROBABILITY
Definition: FMTModelParameters.h:57
FMTstrmodelparameters
Enumerator of the string parameters of a FMTModel.
Definition: FMTModelParameters.h:84
@ LastStrModelParam
Definition: FMTModelParameters.h:88
@ WORKING_DIRECTORY
Definition: FMTModelParameters.h:87
@ SOLVER_COLD_START
Definition: FMTModelParameters.h:85
@ SOLVER_WARM_START
Definition: FMTModelParameters.h:86
FMTintmodelparameters
Enumerator of the integer parameters of a FMTModel.
Definition: FMTModelParameters.h:28
@ MAX_CYCLE_MOVES
Definition: FMTModelParameters.h:38
@ MAX_ACCEPTED_CYCLE_MOVES
Definition: FMTModelParameters.h:37
@ MAX_NON_ACCEPTED_MOVES_FOR_TABOU
Definition: FMTModelParameters.h:43
@ LENGTH
Definition: FMTModelParameters.h:29
@ MOVE_SIZE_FACTOR
Definition: FMTModelParameters.h:45
@ MINIMAL_ACCEPTED_MOVES
Definition: FMTModelParameters.h:40
@ TABOU_FLUSH
Definition: FMTModelParameters.h:44
@ MAX_MOVES
Definition: FMTModelParameters.h:36
@ LastIntModelParam
Definition: FMTModelParameters.h:46
@ UPDATE_PERIOD_FACTOR
Definition: FMTModelParameters.h:41
@ SOLUTION_MERGE_ITERATIONS
Definition: FMTModelParameters.h:42
@ WARM_UP_ITERATIONS
Definition: FMTModelParameters.h:39
@ UPDATE
Definition: FMTModelParameters.h:35
@ SEED
Definition: FMTModelParameters.h:30
@ MATRIX_TYPE
Definition: FMTModelParameters.h:34
@ NUMBER_OF_THREADS
Definition: FMTModelParameters.h:33
@ PRESOLVE_ITERATIONS
Definition: FMTModelParameters.h:32
@ NUMBER_OF_ITERATIONS
Definition: FMTModelParameters.h:31
FMTboolmodelparameters
Enumerator of the boolean parameters of a FMTModel.
Definition: FMTModelParameters.h:67
@ DEBUG_MATRIX
Definition: FMTModelParameters.h:73
@ LastBoolModelParam
Definition: FMTModelParameters.h:76
@ SHOW_LOCK_IN_SCHEDULES
Definition: FMTModelParameters.h:71
@ PRESOLVE_CAN_REMOVE_STATIC_THEMES
Definition: FMTModelParameters.h:72
@ SETSOLUTION_THROW
Definition: FMTModelParameters.h:74
@ STRICTLY_POSITIVE
Definition: FMTModelParameters.h:69
@ FORCE_PARTIAL_BUILD
Definition: FMTModelParameters.h:68
@ POSTSOLVE
Definition: FMTModelParameters.h:70
@ QUIET_LOGGING
Definition: FMTModelParameters.h:75