#include <scheduler.h>
Classes | |
struct | HappeningComparator |
Public Member Functions | |
double | add (double a, double b) |
bool | arcExists (int nodeA, int nodeB) |
int | calcNumberOfNeighbors (int node) |
void | collectChildren (int currentNode, std::list< int > ¤tChildren, bool ignoreNodesInOrdering) |
void | createFillEdges (std::list< int > ¤tChildren) |
void | dumpConnections () |
void | dumpDistances () |
void | dumpSolution () |
std::vector< Happening > | getHappenings (bool useP3C) |
double | getMaximalTimePointInTightestSchedule (bool useP3C) |
int | getNextNodeInOrdering () |
void | initializeArcVectors () |
bool | isNodeAlreadyInOrdering (int node) |
void | makeGraphChordal () |
bool | performDPC () |
void | reset () |
void | setCurrentDistancesAsDefault () |
void | setInterval (int from, int to, double lower, double upper) |
void | setIntervalFromXZero (int to, double lower, double upper) |
void | setSingletonInterval (int from, int to, double lowerAndUpper) |
void | setUnboundedInterval (int from, int to, double lower) |
void | setUnboundedIntervalFromXZero (int to, double lower) |
SimpleTemporalProblem (std::vector< std::string > _variable_names) | |
bool | solution_is_valid () |
void | solve () |
bool | solveWithP3C () |
Private Types | |
typedef std::vector< MatrixLine > | DistanceMatrix |
typedef std::vector< double > | MatrixLine |
Private Member Functions | |
void | extractMinimalDistances () |
void | setDistance (int from, int to, double distance) |
Private Attributes | |
std::vector< std::vector< int > > | m_arcsLarger |
std::vector< std::vector< int > > | m_arcsSmaller |
std::vector< std::vector< short > > | m_connections |
DistanceMatrix | m_defaultDistances |
std::vector< double > | m_minimalDistances |
std::vector< int > | m_numberOfNeighbors |
std::vector< int > | m_orderingIndexIsNode |
std::vector< int > | m_orderingIndexIsOrder |
DistanceMatrix | matrix |
int | number_of_nodes |
std::vector< std::string > | variable_names |
Definition at line 13 of file scheduler.h.
typedef std::vector<MatrixLine> SimpleTemporalProblem::DistanceMatrix [private] |
Definition at line 30 of file scheduler.h.
typedef std::vector<double> SimpleTemporalProblem::MatrixLine [private] |
Definition at line 29 of file scheduler.h.
SimpleTemporalProblem::SimpleTemporalProblem | ( | std::vector< std::string > | _variable_names | ) |
Definition at line 9 of file scheduler.cpp.
double SimpleTemporalProblem::add | ( | double | a, |
double | b | ||
) |
Definition at line 243 of file scheduler.cpp.
bool SimpleTemporalProblem::arcExists | ( | int | nodeA, |
int | nodeB | ||
) | [inline] |
Definition at line 66 of file scheduler.h.
int SimpleTemporalProblem::calcNumberOfNeighbors | ( | int | node | ) |
Definition at line 293 of file scheduler.cpp.
void SimpleTemporalProblem::collectChildren | ( | int | currentNode, |
std::list< int > & | currentChildren, | ||
bool | ignoreNodesInOrdering | ||
) |
Definition at line 266 of file scheduler.cpp.
void SimpleTemporalProblem::createFillEdges | ( | std::list< int > & | currentChildren | ) |
Definition at line 250 of file scheduler.cpp.
Definition at line 371 of file scheduler.cpp.
void SimpleTemporalProblem::dumpDistances | ( | ) |
Definition at line 353 of file scheduler.cpp.
void SimpleTemporalProblem::dumpSolution | ( | ) |
Definition at line 389 of file scheduler.cpp.
void SimpleTemporalProblem::extractMinimalDistances | ( | ) | [private] |
Definition at line 195 of file scheduler.cpp.
std::vector< Happening > SimpleTemporalProblem::getHappenings | ( | bool | useP3C | ) |
Definition at line 402 of file scheduler.cpp.
double SimpleTemporalProblem::getMaximalTimePointInTightestSchedule | ( | bool | useP3C | ) |
Definition at line 324 of file scheduler.cpp.
Definition at line 277 of file scheduler.cpp.
Definition at line 220 of file scheduler.cpp.
bool SimpleTemporalProblem::isNodeAlreadyInOrdering | ( | int | node | ) |
Definition at line 304 of file scheduler.cpp.
Definition at line 166 of file scheduler.cpp.
bool SimpleTemporalProblem::performDPC | ( | ) |
Definition at line 136 of file scheduler.cpp.
void SimpleTemporalProblem::reset | ( | ) |
Definition at line 341 of file scheduler.cpp.
Definition at line 336 of file scheduler.cpp.
void SimpleTemporalProblem::setDistance | ( | int | from, |
int | to, | ||
double | distance | ||
) | [private] |
Definition at line 30 of file scheduler.cpp.
void SimpleTemporalProblem::setInterval | ( | int | from, |
int | to, | ||
double | lower, | ||
double | upper | ||
) |
Definition at line 41 of file scheduler.cpp.
void SimpleTemporalProblem::setIntervalFromXZero | ( | int | to, |
double | lower, | ||
double | upper | ||
) |
Definition at line 62 of file scheduler.cpp.
void SimpleTemporalProblem::setSingletonInterval | ( | int | from, |
int | to, | ||
double | lowerAndUpper | ||
) |
Definition at line 49 of file scheduler.cpp.
void SimpleTemporalProblem::setUnboundedInterval | ( | int | from, |
int | to, | ||
double | lower | ||
) |
Definition at line 57 of file scheduler.cpp.
void SimpleTemporalProblem::setUnboundedIntervalFromXZero | ( | int | to, |
double | lower | ||
) |
Definition at line 68 of file scheduler.cpp.
Definition at line 311 of file scheduler.cpp.
void SimpleTemporalProblem::solve | ( | ) |
Definition at line 74 of file scheduler.cpp.
bool SimpleTemporalProblem::solveWithP3C | ( | ) |
Definition at line 97 of file scheduler.cpp.
std::vector<std::vector<int> > SimpleTemporalProblem::m_arcsLarger [private] |
Definition at line 42 of file scheduler.h.
std::vector<std::vector<int> > SimpleTemporalProblem::m_arcsSmaller [private] |
Definition at line 41 of file scheduler.h.
std::vector<std::vector<short> > SimpleTemporalProblem::m_connections [private] |
Definition at line 43 of file scheduler.h.
Definition at line 34 of file scheduler.h.
std::vector<double> SimpleTemporalProblem::m_minimalDistances [private] |
Definition at line 47 of file scheduler.h.
std::vector<int> SimpleTemporalProblem::m_numberOfNeighbors [private] |
Definition at line 46 of file scheduler.h.
std::vector<int> SimpleTemporalProblem::m_orderingIndexIsNode [private] |
Definition at line 44 of file scheduler.h.
std::vector<int> SimpleTemporalProblem::m_orderingIndexIsOrder [private] |
Definition at line 45 of file scheduler.h.
DistanceMatrix SimpleTemporalProblem::matrix [private] |
Definition at line 35 of file scheduler.h.
int SimpleTemporalProblem::number_of_nodes [private] |
Definition at line 32 of file scheduler.h.
std::vector<std::string> SimpleTemporalProblem::variable_names [private] |
Definition at line 33 of file scheduler.h.