FMT 1.2.0
Forest management tools for forest planning
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
Heuristics::FMTOperatingAreaClusterBinary Class Reference

Definition of a non clustered operating area, used by the FMTOperatingAreaCluster. More...

#include <FMTOperatingAreaClusterBinary.h>

Inheritance diagram for Heuristics::FMTOperatingAreaClusterBinary:
[legend]
Collaboration diagram for Heuristics::FMTOperatingAreaClusterBinary:
[legend]

Public Member Functions

 FMTOperatingAreaClusterBinary ()=default
 Default constructor for FMTOperatingAreaClusterBinary.
 
 FMTOperatingAreaClusterBinary (const FMTOperatingAreaClusterBinary &)=default
 Default copy constructor for FMTOperatingAreaClusterBinary.
 
FMTOperatingAreaClusterBinaryoperator= (const FMTOperatingAreaClusterBinary &)=default
 Default copy assignment operator for FMTOperatingAreaClusterBinary.
 
 ~FMTOperatingAreaClusterBinary ()=default
 Default destructor for FMTOperatingAreaClusterBinary.
 
 FMTOperatingAreaClusterBinary (const FMTOperatingArea &oparea)
 Construct a FMTOperatingAreaClusterBinary from a base operating area.
 
std::vector< FMTOperatingAreaClusterBinaryfilterNeighbors (std::vector< FMTOperatingAreaClusterBinary > potentiallink) const
 Filter a list of potential binary links by looking at the neighbors of each binary to keep only the real neighbors.
 
Core::FMTOutput getOutputIntersect (const Core::FMTOutput &output, const std::vector< Core::FMTTheme > &themes) const
 Intersect the mask of an output with the mask of the operating area to get an output targeting only the operating area.
 
void setStatistic (const double &statvalue)
 Set the statistic of the cluster binary used in the global objective to minimize heterogeneity.
 
void setVariable (const int &lvariable)
 Set the binary variable of the LP model representing the operating area.
 
const int & getVariable () const
 Return the binary variable of the LP model representing the operating area.
 
const double & getStatistic () const
 Return the statistic value of the operating area.
 
- Public Member Functions inherited from Heuristics::FMTOperatingArea
FMTOperatingAreaoperator+= (const double &value)
 Add area to the operating area.
 
std::vector< Core::FMTMaskgetNeighbors () const
 Return a copy of the neighbors masks of the operating area.
 
double getArea () const
 Get the area of the operating area.
 
double getNeighborsPerimeter () const
 Return the percentage of perimeter the operating area needs to share with another operating area to be considered a neighbor.
 
Core::FMTMask getMask () const
 Return the mask of the operating area.
 
void setNeighbors (const std::vector< Core::FMTMask > &lneighbors)
 Set the neighbors masks of the operating area.
 
 FMTOperatingArea (const Core::FMTMask &lmask, const double &lneighborsperimeter)
 Main constructor for FMTOperatingArea from a mask and a neighbors perimeter.
 
void setArea (const double &newarea)
 Set the area of the operating area.
 
 FMTOperatingArea ()=default
 Default constructor for FMTOperatingArea.
 
 FMTOperatingArea (const FMTOperatingArea &rhs)=default
 Copy constructor for FMTOperatingArea.
 
FMTOperatingAreaoperator= (const FMTOperatingArea &rhs)=default
 Copy assignment operator for FMTOperatingArea.
 
bool operator== (const FMTOperatingArea &rhs) const
 Comparison operator for FMTOperatingArea.
 
bool operator!= (const FMTOperatingArea &rhs) const
 Comparison operator for FMTOperatingArea.
 
virtual ~FMTOperatingArea ()=default
 Default destructor for FMTOperatingArea.
 
FMTOperatingArea preSolveOperatingArea (const Core::FMTMaskFilter &filter, const std::vector< Core::FMTTheme > &presolvedthemes) const
 Return a presolved FMTOperatingArea using a mask filter and a subset of the original themes.
 
FMTOperatingArea postSolveOperatingArea (const Core::FMTMaskFilter &filter, const std::vector< Core::FMTTheme > &basethemes) const
 Return a postsolved FMTOperatingArea using a mask filter and the original themes.
 

Friends

class boost::serialization::access
 

Additional Inherited Members

- Protected Attributes inherited from Heuristics::FMTOperatingArea
Core::FMTMask m_mask
 The mask describing the operating area.
 
std::vector< Core::FMTMaskm_neighbors
 Neighbors mask of the operating area.
 
double m_neighborsperimeter
 neighborsperimeter is the ratio a operatingarea needs to share to a other operatingarea to be considered neighbor.
 
double m_area
 The initial area of the operating area used as big M for the MIP.
 

Detailed Description

Definition of a non clustered operating area, used by the FMTOperatingAreaCluster.

Each cluster binary has a binary variable id, a maximal and minimal row statistic and the statistic value of the binary used to compute the objective function.

Constructor & Destructor Documentation

◆ FMTOperatingAreaClusterBinary() [1/3]

Heuristics::FMTOperatingAreaClusterBinary::FMTOperatingAreaClusterBinary ( )
default

Default constructor for FMTOperatingAreaClusterBinary.

◆ FMTOperatingAreaClusterBinary() [2/3]

Heuristics::FMTOperatingAreaClusterBinary::FMTOperatingAreaClusterBinary ( const FMTOperatingAreaClusterBinary )
default

Default copy constructor for FMTOperatingAreaClusterBinary.

◆ ~FMTOperatingAreaClusterBinary()

Heuristics::FMTOperatingAreaClusterBinary::~FMTOperatingAreaClusterBinary ( )
default

Default destructor for FMTOperatingAreaClusterBinary.

◆ FMTOperatingAreaClusterBinary() [3/3]

Heuristics::FMTOperatingAreaClusterBinary::FMTOperatingAreaClusterBinary ( const FMTOperatingArea oparea)

Construct a FMTOperatingAreaClusterBinary from a base operating area.

Parameters
[in]opareathe operating area.

Member Function Documentation

◆ filterNeighbors()

std::vector< FMTOperatingAreaClusterBinary > Heuristics::FMTOperatingAreaClusterBinary::filterNeighbors ( std::vector< FMTOperatingAreaClusterBinary potentiallink) const

Filter a list of potential binary links by looking at the neighbors of each binary to keep only the real neighbors.

Parameters
[in]potentiallinkthe potential binary links.
Returns
the filtered neighbors.

◆ getOutputIntersect()

Core::FMTOutput Heuristics::FMTOperatingAreaClusterBinary::getOutputIntersect ( const Core::FMTOutput output,
const std::vector< Core::FMTTheme > &  themes 
) const

Intersect the mask of an output with the mask of the operating area to get an output targeting only the operating area.

Parameters
[in]outputthe output.
[in]themesthe themes.
Returns
the intersected output.

◆ getStatistic()

const double & Heuristics::FMTOperatingAreaClusterBinary::getStatistic ( ) const
inline

Return the statistic value of the operating area.

Returns
the statistic value.

◆ getVariable()

const int & Heuristics::FMTOperatingAreaClusterBinary::getVariable ( ) const
inline

Return the binary variable of the LP model representing the operating area.

Returns
the binary variable.

◆ operator=()

FMTOperatingAreaClusterBinary & Heuristics::FMTOperatingAreaClusterBinary::operator= ( const FMTOperatingAreaClusterBinary )
default

Default copy assignment operator for FMTOperatingAreaClusterBinary.

Returns
a reference to this FMTOperatingAreaClusterBinary.

◆ setStatistic()

void Heuristics::FMTOperatingAreaClusterBinary::setStatistic ( const double &  statvalue)

Set the statistic of the cluster binary used in the global objective to minimize heterogeneity.

Parameters
[in]statvaluethe statistic value.

◆ setVariable()

void Heuristics::FMTOperatingAreaClusterBinary::setVariable ( const int &  lvariable)

Set the binary variable of the LP model representing the operating area.

Parameters
[in]lvariablethe binary variable.

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

The documentation for this class was generated from the following file: