FMT 1.2.0
Forest management tools for forest planning
Loading...
Searching...
No Matches
Classes | Enumerations
Models Namespace Reference

Namespace containing all enumerator and classes used to construct or manipulate the different type of model in FMT. More...

Classes

class  FMTLpModel
 Type III LP forest planning model, with the graph divided per period. More...
 
class  FMTLpSolver
 Abstract class to ease the usage of the OsiSolverInterface in FMT for linear programming models. More...
 
class  FMTMatrixBuild
 Helper caching rows and columns to add to a solver matrix in batch for efficiency. More...
 
class  FMTModel
 Base class for the different models in FMT. More...
 
class  FMTModelComparator
 Comparator used to compare FMTModel with std::find_if when models are in a stl container. More...
 
class  FMTModelParameters
 Class containing all the parameters a model needs to be solved by the different types of FMTModel. More...
 
class  FMTModelStats
 Class reporting the statistics of a FMTModel, used with the preSolve and postsolve functions. More...
 
class  FMTNssModel
 Non spatial simulation model, mainly used to simulate stochastic actions during the local replanning phase. More...
 
class  FMTSaModel
 Area restricted model (ARM) using the simulated annealing meta-heuristic to solve the spatial optimization problem. More...
 
class  FMTSeModel
 Abstract class for spatially explicit models, parent of FMTSesModel and FMTSaModel. More...
 
class  FMTSerializableMatrix
 Helper for the serialization of an OSI solver interface matrix. More...
 
class  FMTSesModel
 Spatially explicit simulation model using a cellular automaton to simulate actions on a raster stack following a harvest schedule. More...
 
class  FMTSrModel
 Base class holding the attributes and methods shared between the spatially referenced models (FMTLpModel and FMTNssModel). More...
 

Enumerations

enum  FMTmatrixelement {
  goalvariable =0 , levelvariable =1 , objectivevariable =2 , constraint =3 ,
  strictlypositive =4 , nr_items =5
}
 Enum for the matrix element types present within the matrix. More...
 
enum  FMTintmodelparameters {
  LENGTH = 0 , SEED = 1 , NUMBER_OF_ITERATIONS = 2 , PRESOLVE_ITERATIONS = 3 ,
  NUMBER_OF_THREADS = 4 , MATRIX_TYPE = 5 , UPDATE = 6 , MAX_MOVES = 7 ,
  MAX_ACCEPTED_CYCLE_MOVES = 8 , MAX_CYCLE_MOVES = 9 , WARM_UP_ITERATIONS = 10 , MINIMAL_ACCEPTED_MOVES = 11 ,
  UPDATE_PERIOD_FACTOR = 12 , SOLUTION_MERGE_ITERATIONS = 13 , MAX_NON_ACCEPTED_MOVES_FOR_TABOU = 14 , TABOU_FLUSH = 15 ,
  MOVE_SIZE_FACTOR = 16 , LastIntModelParam = 17
}
 Enumerator of the integer parameters of a FMTModel. More...
 
enum  FMTdblmodelparameters {
  TOLERANCE = 0 , GOALING_SCHEDULE_WEIGHT = 1 , INITIAL_ACCEPTANCE_PROBABILITY = 2 , ANNEALING_RATE = 3 ,
  LastDblModelParam = 4
}
 Enumerator of the double parameters of a FMTModel. More...
 
enum  FMTboolmodelparameters {
  FORCE_PARTIAL_BUILD = 0 , STRICTLY_POSITIVE = 1 , POSTSOLVE = 2 , SHOW_LOCK_IN_SCHEDULES = 3 ,
  PRESOLVE_CAN_REMOVE_STATIC_THEMES =4 , DEBUG_MATRIX = 5 , SETSOLUTION_THROW = 6 , QUIET_LOGGING = 7 ,
  LastBoolModelParam = 8
}
 Enumerator of the boolean parameters of a FMTModel. More...
 
enum  FMTstrmodelparameters { SOLVER_COLD_START = 0 , SOLVER_WARM_START = 1 , WORKING_DIRECTORY = 2 , LastStrModelParam = 3 }
 Enumerator of the string parameters of a FMTModel. More...
 
enum class  FMTSolverInterface {
  CLP = 1 , MOSEK = 2 , GLPK = 3 , CPLEX = 4 ,
  GUROBI = 5 , COUNT = 6
}
 Enumerator used to specify the solver to use when solving the FMTLpModel. More...
 

Detailed Description

Namespace containing all enumerator and classes used to construct or manipulate the different type of model in FMT.

Enumeration Type Documentation

◆ FMTboolmodelparameters

Enumerator of the boolean parameters of a FMTModel.

Enumerator
FORCE_PARTIAL_BUILD 

Force partial build of the graph if schedules are passed to doPlanning

STRICTLY_POSITIVE 

Force matrix to have bound >= 0 for the outputs use in constraints or objective if coefficient is negative and it contains a yield for FMTLpModel

POSTSOLVE 

Return a postsolved model for the doPlanning

SHOW_LOCK_IN_SCHEDULES 
PRESOLVE_CAN_REMOVE_STATIC_THEMES 
DEBUG_MATRIX 
SETSOLUTION_THROW 
QUIET_LOGGING 
LastBoolModelParam 

End marker, used to allocate a fixed-sized array to store bool parameters.

◆ FMTdblmodelparameters

Enumerator of the double parameters of a FMTModel.

Enumerator
TOLERANCE 

Double tolerance used in doPlanning

GOALING_SCHEDULE_WEIGHT 

Not needed ... maybe more for task ....The weight to use when trying goal a schedule from a strategic model

INITIAL_ACCEPTANCE_PROBABILITY 
ANNEALING_RATE 

Cooling rate used by the exponential cooling schedule in FMTsamodel

LastDblModelParam 

End marker, used to allocate a fixed-sized array to store double parameters.

◆ FMTintmodelparameters

Enumerator of the integer parameters of a FMTModel.

Enumerator
LENGTH 

The number of period to optimize or simulate

SEED 

The seed used for stochastique process in FMTSaModel, FMTNssModel and FMTSesModel

NUMBER_OF_ITERATIONS 

The number of iterations to do in FMTSesModel::greedyReferenceBuild

PRESOLVE_ITERATIONS 

The number of iterations to do in FMTModel::preSolve

NUMBER_OF_THREADS 

Number of thread use by solver for optimisation

MATRIX_TYPE 

matrix forest model TYPE I,II,III (1,2,3)

UPDATE 

At which period the model update period stop (excluded) if stops at 2 (2 is part of optimization) but 1 in update

MAX_MOVES 

Maximal number of moves allowed by SA

MAX_ACCEPTED_CYCLE_MOVES 

Maximal number of accepted moves per cycle

MAX_CYCLE_MOVES 

Maximal number of accepted moves per cycle

WARM_UP_ITERATIONS 

Number of iterations in the SA warm up

MINIMAL_ACCEPTED_MOVES 

Minimal number of accepted moves per cycle before a move is allowed

UPDATE_PERIOD_FACTOR 

Multiplicator factor for period 1

SOLUTION_MERGE_ITERATIONS 

Number of iterations on the greedy merge

MAX_NON_ACCEPTED_MOVES_FOR_TABOU 

Number of non accepted moves before a move becomes tabou

TABOU_FLUSH 

Number of iterations before flushing the tabou

MOVE_SIZE_FACTOR 

Factor applied to the move size

LastIntModelParam 

End marker, used to allocate a fixed-sized array to store int parameters.

◆ FMTmatrixelement

Enum for the matrix element types present within the matrix.

The private members of the FMTLpModel use these enumerators to locate constraints, objectives and levels in the matrix for each period.

Enumerator
goalvariable 
levelvariable 
objectivevariable 
constraint 
strictlypositive 
nr_items 

◆ FMTSolverInterface

enum class Models::FMTSolverInterface
strong

Enumerator used to specify the solver to use when solving the FMTLpModel.

Enumerator
CLP 

Coin-or linear programming solver : https://github.com/coin-or/Clp

MOSEK 

MOSEK optimization software : https://www.mosek.com

GLPK 
CPLEX 

IBM CPLEX Optimizer : https://www.ibm.com/analytics/cplex-optimizer

GUROBI 

Gurobi optimizer : https://www.gurobi.com/

COUNT 

◆ FMTstrmodelparameters

Enumerator of the string parameters of a FMTModel.

Enumerator
SOLVER_COLD_START 
SOLVER_WARM_START 
WORKING_DIRECTORY 
LastStrModelParam 

End marker, used to allocate a fixed-sized array to store bool parameters.