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

#include <FMToperatingarea.hpp>

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

Public Member Functions

FMToperatingareaoperator+= (const double &value)
 
std::vector< Core::FMTmaskgetneighbors () const
 
double getarea () const
 
double getneihgborsperimeter () const
 
Core::FMTmask getmask () const
 
void setneighbors (const std::vector< Core::FMTmask > &lneighbors)
 
 FMToperatingarea (const Core::FMTmask &lmask, const double &lneihgborsperimeter)
 
void setarea (const double &newarea)
 
 FMToperatingarea ()=default
 
 FMToperatingarea (const FMToperatingarea &rhs)=default
 
FMToperatingareaoperator= (const FMToperatingarea &rhs)=default
 
bool operator== (const FMToperatingarea &rhs) const
 
bool operator!= (const FMToperatingarea &rhs) const
 
virtual ~FMToperatingarea ()=default
 
FMToperatingarea presolveoperatingarea (const Core::FMTmaskfilter &filter, const std::vector< Core::FMTtheme > &presolvedthemes) const
 
FMToperatingarea postsolveoperatingarea (const Core::FMTmaskfilter &filter, const std::vector< Core::FMTtheme > &basethemes) const
 

Protected Attributes

Core::FMTmask mask
 The mask describing the operating area.
 
std::vector< Core::FMTmaskneighbors
 Neighbors mask of the operating area.
 
double neihgborsperimeter
 neighborsperimeter is the ratio a operatingarea needs to share to a other operatingarea to be considered neighbor.
 
double _area
 The initial area of the operating area used as big M for the MIP.
 

Friends

class boost::serialization::access
 

Detailed Description

FMToperatingarea gives informations about a given operating area it's mask,neighbors,neighborsperimeter. FMToperating area have to be based on static themes (not used within transitions).

Constructor & Destructor Documentation

◆ FMToperatingarea() [1/3]

Heuristics::FMToperatingarea::FMToperatingarea ( const Core::FMTmask lmask,
const double &  lneihgborsperimeter 
)

Main FMToperatingarea constructor targeting the user. Before synchronizing everything to the solverinterface, the user has to provide to the heuristics all the green-up, returntime etc.... for each operating area.

◆ FMToperatingarea() [2/3]

Heuristics::FMToperatingarea::FMToperatingarea ( )
default

Default FMToperatingarea constructor

◆ FMToperatingarea() [3/3]

Heuristics::FMToperatingarea::FMToperatingarea ( const FMToperatingarea rhs)
default

FMToperatingarea copy constructor

◆ ~FMToperatingarea()

virtual Heuristics::FMToperatingarea::~FMToperatingarea ( )
virtualdefault

Default FMToperatingarea destructor

Member Function Documentation

◆ getarea()

double Heuristics::FMToperatingarea::getarea ( ) const

Get the area of the operating area.

◆ getmask()

Core::FMTmask Heuristics::FMToperatingarea::getmask ( ) const

Getter returning mask of the operating area.

◆ getneighbors()

std::vector< Core::FMTmask > Heuristics::FMToperatingarea::getneighbors ( ) const

Getter returning a copy of the neighbors masks data of the operatingarea.

◆ getneihgborsperimeter()

double Heuristics::FMToperatingarea::getneihgborsperimeter ( ) const

Getter returning the percentage of perimeter the oprating area needs to share with a other operating area, to be considered neighbor.

◆ operator!=()

bool Heuristics::FMToperatingarea::operator!= ( const FMToperatingarea rhs) const

Comparison operator of FMToperatingarea

◆ operator+=()

FMToperatingarea & Heuristics::FMToperatingarea::operator+= ( const double &  value)

Add area to the operating area.

◆ operator=()

FMToperatingarea & Heuristics::FMToperatingarea::operator= ( const FMToperatingarea rhs)
default

FMToperatingarea copy assignment

◆ operator==()

bool Heuristics::FMToperatingarea::operator== ( const FMToperatingarea rhs) const

Comparison operator of FMToperatingarea

◆ postsolveoperatingarea()

FMToperatingarea Heuristics::FMToperatingarea::postsolveoperatingarea ( const Core::FMTmaskfilter filter,
const std::vector< Core::FMTtheme > &  basethemes 
) const

Using a FMTmask (selectedmask) and the original FMTthemes it returns a postsolved FMTmask.

◆ presolveoperatingarea()

FMToperatingarea Heuristics::FMToperatingarea::presolveoperatingarea ( const Core::FMTmaskfilter filter,
const std::vector< Core::FMTtheme > &  presolvedthemes 
) const

Using a FMTmask (selectedmask) and a subset of the original FMTthemes used to construct the FMTmask, it returns a presolved FMTmask with potentialy less data.

◆ setarea()

void Heuristics::FMToperatingarea::setarea ( const double &  newarea)

Set the area of the operating area.

◆ setneighbors()

void Heuristics::FMToperatingarea::setneighbors ( const std::vector< Core::FMTmask > &  lneighbors)

Setter for the neighbors mask member data.

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

serialize function is for serialization, used to do multiprocessing across multiple cpus (pickle in Pyhton)

Member Data Documentation

◆ _area

double Heuristics::FMToperatingarea::_area
protected

The initial area of the operating area used as big M for the MIP.

◆ mask

Core::FMTmask Heuristics::FMToperatingarea::mask
protected

The mask describing the operating area.

◆ neighbors

std::vector<Core::FMTmask> Heuristics::FMToperatingarea::neighbors
protected

Neighbors mask of the operating area.

◆ neihgborsperimeter

double Heuristics::FMToperatingarea::neihgborsperimeter
protected

neighborsperimeter is the ratio a operatingarea needs to share to a other operatingarea to be considered neighbor.


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