Operational Research Library  1.0
Public Member Functions | List of all members
operational_research::FlowShopSchedulingProblem Class Reference

#include <FlowShopSchedulingProblem.h>

Inheritance diagram for operational_research::FlowShopSchedulingProblem:
Inheritance graph
Collaboration diagram for operational_research::FlowShopSchedulingProblem:
Collaboration graph

Public Member Functions

 FlowShopSchedulingProblem (unsigned int jobs, unsigned int machines, const std::vector< std::vector< double > > &processingTimes)
 Constructor. More...
 
 FlowShopSchedulingProblem (unsigned int jobs, unsigned int machines, double minProcessingTime, double maxProcessingTime, bool integerValues=false)
 Constructor. More...
 
 FlowShopSchedulingProblem (const std::string &filename)
 Constructor. More...
 
void readDataFromFile (const std::string &filename)
 Reads flow shop scheduling problem data from a file with a filename. More...
 
void writeDataToFile (const std::string &filename)
 Writes flow shop scheduling problem data to a file with a filename. More...
 
void showData ()
 Shows flow shop scheduling problem data. More...
 
void setData (unsigned int jobs, unsigned int machines, const std::vector< std::vector< double > > &processingTimes)
 Setter for flow shop scheduling problem data. More...
 
void generateData (unsigned int jobs, unsigned int machines, double minProcessingTime, double maxProcessingTime, bool integerValues=false)
 Generates flow shop scheduling problem data according to setup. More...
 
double evaluatePFSSP (const std::vector< unsigned int > &schedule)
 Evaluates permutative flow shop scheduling problem with unlimited intermediate storage (permutative flow shop scheduling problem). More...
 
double evaluatePFSSP (const std::vector< unsigned int > &schedule, const std::string &filename)
 Evaluates permutative flow shop scheduling problem with unlimited intermediate storage (permutative flow shop scheduling problem) to file with a filename. More...
 
double evaluateFSSPB (const std::vector< unsigned int > &schedule)
 Evaluates flow shop scheduling problem with limited intermediate storage (flow shop scheduling problem with blocking). More...
 
double evaluateFSSPB (const std::vector< unsigned int > &schedule, const std::string &filename)
 Evaluates flow shop scheduling problem with limited intermediate storage (flow shop scheduling problem with blocking) to file with a filename. More...
 
double evaluateFSSPNW (const std::vector< unsigned int > &schedule)
 Evaluates flow shop scheduling problem with no-wait. More...
 
double evaluateFSSPNW (const std::vector< unsigned int > &schedule, const std::string &filename)
 Evaluates flow shop scheduling problem with no-wait to file with a filename. More...
 
unsigned int getJobs () const
 Getter for number of jobs. More...
 
unsigned int getMachines () const
 Getter for number of machines. More...
 
const std::vector< std::vector< double > > & getProcessingTimes () const
 Getter for number of processing times. More...
 
- Public Member Functions inherited from operational_research::IData
virtual ~IData ()
 Virtual destructor. More...
 

Detailed Description

Author
Milan Hlinak
Date
04/14/15

Constructor & Destructor Documentation

operational_research::FlowShopSchedulingProblem::FlowShopSchedulingProblem ( unsigned int  jobs,
unsigned int  machines,
const std::vector< std::vector< double > > &  processingTimes 
)

Constructor.

Parameters
jobsNumber of jobs.
machinesNumber of machines.
processingTimesProcessing times of jobs on machines.
Exceptions
std::invalid_argumentexception.
operational_research::FlowShopSchedulingProblem::FlowShopSchedulingProblem ( unsigned int  jobs,
unsigned int  machines,
double  minProcessingTime,
double  maxProcessingTime,
bool  integerValues = false 
)

Constructor.

Parameters
jobsNumber of machines.
machinesNumber of jobs.
minProcessingTimeMinimal processing time of job on machine.
maxProcessingTimeMaximal processing time of job on machine.
integerValuesTrue if generated data is integer values, false if generated data is real values.
Exceptions
std::invalid_argumentexception.
operational_research::FlowShopSchedulingProblem::FlowShopSchedulingProblem ( const std::string &  filename)

Constructor.

Parameters
filenameFilename.
Exceptions
std::runtime_errorexception.
std::invalid_argumentexception.

Member Function Documentation

double operational_research::FlowShopSchedulingProblem::evaluateFSSPB ( const std::vector< unsigned int > &  schedule)

Evaluates flow shop scheduling problem with limited intermediate storage (flow shop scheduling problem with blocking).

Parameters
scheduleSchedule.
Returns
Cost function value for given schedule.
Exceptions
std::invalid_argumentexception.
double operational_research::FlowShopSchedulingProblem::evaluateFSSPB ( const std::vector< unsigned int > &  schedule,
const std::string &  filename 
)

Evaluates flow shop scheduling problem with limited intermediate storage (flow shop scheduling problem with blocking) to file with a filename.

Parameters
scheduleSchedule.
filenameFilename.
Returns
Cost function value for given schedule.
Exceptions
std::invalid_argumentexception.
std::runtime_errorexception.
double operational_research::FlowShopSchedulingProblem::evaluateFSSPNW ( const std::vector< unsigned int > &  schedule)

Evaluates flow shop scheduling problem with no-wait.

Parameters
scheduleSchedule.
Returns
Cost function value for given schedule.
Exceptions
std::invalid_argumentexception.
double operational_research::FlowShopSchedulingProblem::evaluateFSSPNW ( const std::vector< unsigned int > &  schedule,
const std::string &  filename 
)

Evaluates flow shop scheduling problem with no-wait to file with a filename.

Parameters
scheduleSchedule.
filenameFilename.
Returns
Cost function value for given schedule.
Exceptions
std::invalid_argumentexception.
std::runtime_errorexception.
double operational_research::FlowShopSchedulingProblem::evaluatePFSSP ( const std::vector< unsigned int > &  schedule)

Evaluates permutative flow shop scheduling problem with unlimited intermediate storage (permutative flow shop scheduling problem).

Parameters
scheduleSchedule.
Returns
Cost function value for given schedule.
Exceptions
std::invalid_argumentexception.
double operational_research::FlowShopSchedulingProblem::evaluatePFSSP ( const std::vector< unsigned int > &  schedule,
const std::string &  filename 
)

Evaluates permutative flow shop scheduling problem with unlimited intermediate storage (permutative flow shop scheduling problem) to file with a filename.

Parameters
scheduleSchedule.
filenameFilename.
Exceptions
std::invalid_argumentexception.
std::runtime_errorexception.
void operational_research::FlowShopSchedulingProblem::generateData ( unsigned int  jobs,
unsigned int  machines,
double  minProcessingTime,
double  maxProcessingTime,
bool  integerValues = false 
)

Generates flow shop scheduling problem data according to setup.

Parameters
jobsNumber of machines.
machinesNumber of jobs.
minProcessingTimeMinimal processing time of job on machine.
maxProcessingTimeMaximal processing time of job on machine.
integerValuesTrue if generated data is integer values, false if generated data is real values.
Exceptions
std::invalid_argumentexception.
unsigned int operational_research::FlowShopSchedulingProblem::getJobs ( ) const
inline

Getter for number of jobs.

Returns
Number of jobs.
unsigned int operational_research::FlowShopSchedulingProblem::getMachines ( ) const
inline

Getter for number of machines.

Returns
Number of machines.
const std::vector<std::vector<double> >& operational_research::FlowShopSchedulingProblem::getProcessingTimes ( ) const
inline

Getter for number of processing times.

Returns
Processing times.
void operational_research::FlowShopSchedulingProblem::readDataFromFile ( const std::string &  filename)
virtual

Reads flow shop scheduling problem data from a file with a filename.

Parameters
filenameFilename.
Exceptions
std::runtime_errorexception.
std::invalid_argumentexception.

Implements operational_research::IData.

void operational_research::FlowShopSchedulingProblem::setData ( unsigned int  jobs,
unsigned int  machines,
const std::vector< std::vector< double > > &  processingTimes 
)

Setter for flow shop scheduling problem data.

Parameters
jobsNumber of jobs.
machinesNumber of machines.
processingTimesProcessing times of jobs on machines.
Exceptions
std::invalid_argumentexception.
void operational_research::FlowShopSchedulingProblem::showData ( )
virtual

Shows flow shop scheduling problem data.

Implements operational_research::IData.

void operational_research::FlowShopSchedulingProblem::writeDataToFile ( const std::string &  filename)
virtual

Writes flow shop scheduling problem data to a file with a filename.

Parameters
filenameFilename.
Exceptions
std::runtime_errorexception.

Implements operational_research::IData.


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