ECF 1.5
Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
SchedulingEvalOp Class Reference
Inheritance diagram for SchedulingEvalOp:
EvaluateOp EvaluateOp

Public Member Functions

FitnessP evaluate (IndividualP individual)
 Evaluate a single individual. Method must create and return a Fitness object. More...
 
void registerParameters (StateP)
 Register evaluator parameters. Called before EvaluateOp::initialize method. More...
 
bool initialize (StateP)
 Initialize the evaluator. Called before first evaluation occurs. More...
 
void write (std::string &output)
 
void ReadTerminals (TreeP)
 
void ReadTerminals (StateP)
 
void DefineNodeNames (void)
 
void ReadConstraints (Matrica &Constraints, int set, int jobs, Matrica &Precedence)
 
void MakeSetup (Matrica &Duration, int set, int jobs, double faktor, Matrica &Setup)
 
double NodeLevel (int set, int node)
 
void ReadIndividual (IndividualP individual)
 
void CalcTimedTerminals (uint &nNiz, uint &nPoslova, uint &nJob, double &dClock, uint nMachine=0, uint nMachines=1)
 
void EvaluateSingle (double &dRawFitness)
 
void EvaluateUniform (double &dRawFitness)
 
void EvaluateUnrelated (double &dRawFitness)
 
void EvaluateUnrelatedPermutation (IndividualP individual, double &dRawFitness)
 
void EvaluateUnrelatedFP (FloatingPointP fp, double &dRawFitness)
 
void EvaluateJobShop (double &dRawFitness)
 
int Before (const void *arg1, const void *arg2)
 
FitnessP evaluate (IndividualP individual)
 Evaluate a single individual. Method must create and return a Fitness object. More...
 
void registerParameters (StateP)
 Register evaluator parameters. Called before EvaluateOp::initialize method. More...
 
bool initialize (StateP)
 Initialize the evaluator. Called before first evaluation occurs. More...
 
virtual FitnessP evaluate (IndividualP)=0
 Evaluate a single individual. Method must create and return a Fitness object. More...
 
virtual void registerParameters (StateP)
 Register evaluator parameters. Called before EvaluateOp::initialize method. More...
 
virtual bool initialize (StateP)
 Initialize the evaluator. Called before first evaluation occurs. More...
 

Public Attributes

StateP state_
 
unsigned int edited
 
unsigned int total
 
unsigned int nItems
 
RPN Evaluator
 
std::string in_file
 

Protected Types

enum  environment {
  SINGLE , UNIFORM , UNRELATED , JOBSHOP ,
  SINGLE , UNIFORM , UNRELATED , JOBSHOP
}
 
enum  environment {
  SINGLE , UNIFORM , UNRELATED , JOBSHOP ,
  SINGLE , UNIFORM , UNRELATED , JOBSHOP
}
 

Protected Member Functions

void ReadConstraints (Matrica &Constraints, int set, int jobs, Matrica &Precedence)
 
void MakeSetup (Matrica &Duration, int set, int jobs, double faktor, Matrica &Setup)
 
double NodeLevel (int set, int node)
 
double EvaluateSingle (TreeP)
 

Protected Attributes

unsigned int sets
 
unsigned int max_jobs
 
unsigned int total_jobs
 
unsigned int max_machines
 
unsigned int max_length
 
unsigned int m_fitness
 
std::string m_genotip
 
unsigned int m_primjer
 
unsigned int m_BestSubset
 
unsigned int m_SubsetSize
 
unsigned int m_InSubset
 
unsigned int m_WorstInSubset
 
double m_WorstSubsetFitness
 
double m_BestSubsetFitness
 
environment m_Environment
 
unsigned int m_SortSet
 
unsigned int m_PopSize
 
bool m_Normalized
 
bool m_Evaluation
 
bool m_TermUsage
 
bool m_editing
 
bool m_LEF
 
double m_LEFVal
 
bool m_setup
 
double m_setup_faktor
 
bool m_dynamic
 
bool m_constrained
 
bool m_stsampling
 
double m_sampling
 
bool * pSamples
 
bool m_Idleness
 
bool * pRasporedjen
 
double * pVrijednosti
 
double * pArray
 
double * pSlack
 
double * pSlackSpeed
 
double * pArrival
 
double * pLevel
 
double * pSetupAvg
 
double * pOperationReady
 
double * pJobReady
 
double * pTotalWorkRemaining
 
double * pTotalWorkDone
 
double * pTotalMachineWork
 
double * pMachineWorkRemaining
 
double * pMachineValues
 
unsigned int * pIndex
 
unsigned int * pUsed
 
unsigned int * pLastJob
 
unsigned int * pPTimeMinMachine
 
unsigned int * pMachineScheduled
 
unsigned int * pOperationsScheduled
 
unsigned int * pOperationsWaiting
 
Matrica N
 
Matrica Duration
 
Matrica Deadline
 
Matrica WeightT
 
Matrica WeightF
 
Matrica WeightE
 
Matrica WeightN
 
Matrica WeightC
 
Matrica Ready
 
Matrica Constraints
 
Matrica Machines
 
Matrica Speed
 
Matrica SP
 
Matrica SD
 
Matrica Fitness
 
Matrica Schedule
 
Matrica Precedence
 
Matrica Level
 
Matrica Setup
 
Matrica Terminals
 
Matrica MachineReady
 
Matrica PTimeAvg
 
Matrica PTimeMinMachine
 
Matrica SortedReady
 
Matrica Values
 
Matrica Durations
 
Matrica MachineIndex
 

Detailed Description

Definition at line 12 of file fitnes.hpp.

Member Enumeration Documentation

◆ environment [1/2]

enum SchedulingEvalOp::environment
protected

Definition at line 48 of file fitnes.hpp.

◆ environment [2/2]

enum SchedulingEvalOp::environment
protected

Definition at line 16 of file SchedulingEvalOp.h.

Constructor & Destructor Documentation

◆ SchedulingEvalOp()

SchedulingEvalOp::SchedulingEvalOp ( )

Definition at line 50 of file fitnes.cpp.

◆ ~SchedulingEvalOp()

SchedulingEvalOp::~SchedulingEvalOp ( )

Definition at line 127 of file fitnes.cpp.

Member Function Documentation

◆ CalcTimedTerminals()

void SchedulingEvalOp::CalcTimedTerminals ( uint &  nNiz,
uint &  nPoslova,
uint &  nJob,
double &  dClock,
uint  nMachine = 0,
uint  nMachines = 1 
)

Definition at line 815 of file fitnes.cpp.

◆ DefineNodeNames()

void SchedulingEvalOp::DefineNodeNames ( void  )

Definition at line 466 of file fitnes.cpp.

◆ evaluate() [1/2]

FitnessP SchedulingEvalOp::evaluate ( IndividualP  )
virtual

Evaluate a single individual. Method must create and return a Fitness object.

Implements EvaluateOp.

Definition at line 571 of file fitnes.cpp.

◆ evaluate() [2/2]

FitnessP SchedulingEvalOp::evaluate ( IndividualP  )
virtual

Evaluate a single individual. Method must create and return a Fitness object.

Implements EvaluateOp.

◆ EvaluateJobShop()

void SchedulingEvalOp::EvaluateJobShop ( double &  dRawFitness)

Definition at line 2170 of file fitnes.cpp.

◆ EvaluateSingle() [1/2]

void SchedulingEvalOp::EvaluateSingle ( double &  dRawFitness)

Definition at line 860 of file fitnes.cpp.

◆ EvaluateSingle() [2/2]

double SchedulingEvalOp::EvaluateSingle ( TreeP  tree)
protected

Definition at line 485 of file SchedulingEvalOp.cpp.

◆ EvaluateUniform()

void SchedulingEvalOp::EvaluateUniform ( double &  dRawFitness)

Definition at line 1126 of file fitnes.cpp.

◆ EvaluateUnrelated()

void SchedulingEvalOp::EvaluateUnrelated ( double &  dRawFitness)

Definition at line 1363 of file fitnes.cpp.

◆ EvaluateUnrelatedFP()

void SchedulingEvalOp::EvaluateUnrelatedFP ( FloatingPointP  fp,
double &  dRawFitness 
)

Definition at line 2004 of file fitnes.cpp.

◆ EvaluateUnrelatedPermutation()

void SchedulingEvalOp::EvaluateUnrelatedPermutation ( IndividualP  individual,
double &  dRawFitness 
)

Definition at line 1758 of file fitnes.cpp.

◆ initialize() [1/2]

bool SchedulingEvalOp::initialize ( StateP  )
virtual

Initialize the evaluator. Called before first evaluation occurs.

Reimplemented from EvaluateOp.

Definition at line 165 of file fitnes.cpp.

◆ initialize() [2/2]

bool SchedulingEvalOp::initialize ( StateP  )
virtual

Initialize the evaluator. Called before first evaluation occurs.

Reimplemented from EvaluateOp.

◆ MakeSetup()

void SchedulingEvalOp::MakeSetup ( Matrica Duration,
int  set,
int  jobs,
double  faktor,
Matrica Setup 
)

Definition at line 715 of file fitnes.cpp.

◆ NodeLevel()

double SchedulingEvalOp::NodeLevel ( int  set,
int  node 
)

Definition at line 794 of file fitnes.cpp.

◆ ReadConstraints()

void SchedulingEvalOp::ReadConstraints ( Matrica Constraints,
int  set,
int  jobs,
Matrica Precedence 
)

Definition at line 685 of file fitnes.cpp.

◆ ReadIndividual()

void SchedulingEvalOp::ReadIndividual ( IndividualP  individual)

Definition at line 751 of file fitnes.cpp.

◆ ReadTerminals() [1/2]

void SchedulingEvalOp::ReadTerminals ( StateP  state)

Definition at line 499 of file fitnes.cpp.

◆ ReadTerminals() [2/2]

void SchedulingEvalOp::ReadTerminals ( TreeP  tree)

Definition at line 474 of file fitnes.cpp.

◆ registerParameters() [1/2]

void SchedulingEvalOp::registerParameters ( StateP  )
virtual

Register evaluator parameters. Called before EvaluateOp::initialize method.

Reimplemented from EvaluateOp.

Definition at line 154 of file fitnes.cpp.

◆ registerParameters() [2/2]

void SchedulingEvalOp::registerParameters ( StateP  )
virtual

Register evaluator parameters. Called before EvaluateOp::initialize method.

Reimplemented from EvaluateOp.

◆ write()

void SchedulingEvalOp::write ( std::string &  output)

Definition at line 679 of file fitnes.cpp.

Member Data Documentation

◆ Constraints

Matrica SchedulingEvalOp::Constraints
protected

Definition at line 89 of file fitnes.hpp.

◆ Deadline

Matrica SchedulingEvalOp::Deadline
protected

Definition at line 89 of file fitnes.hpp.

◆ Duration

Matrica SchedulingEvalOp::Duration
protected

Definition at line 89 of file fitnes.hpp.

◆ Durations

Matrica SchedulingEvalOp::Durations
protected

Definition at line 91 of file fitnes.hpp.

◆ edited

unsigned int SchedulingEvalOp::edited

Definition at line 23 of file fitnes.hpp.

◆ Evaluator

RPN SchedulingEvalOp::Evaluator

Definition at line 24 of file fitnes.hpp.

◆ Fitness

Matrica SchedulingEvalOp::Fitness
protected

Definition at line 90 of file fitnes.hpp.

◆ in_file

std::string SchedulingEvalOp::in_file

Definition at line 44 of file fitnes.hpp.

◆ Level

Matrica SchedulingEvalOp::Level
protected

Definition at line 90 of file fitnes.hpp.

◆ m_BestSubset

unsigned int SchedulingEvalOp::m_BestSubset
protected

Definition at line 59 of file fitnes.hpp.

◆ m_BestSubsetFitness

double SchedulingEvalOp::m_BestSubsetFitness
protected

Definition at line 64 of file fitnes.hpp.

◆ m_constrained

bool SchedulingEvalOp::m_constrained
protected

Definition at line 78 of file fitnes.hpp.

◆ m_dynamic

bool SchedulingEvalOp::m_dynamic
protected

Definition at line 77 of file fitnes.hpp.

◆ m_editing

bool SchedulingEvalOp::m_editing
protected

Definition at line 72 of file fitnes.hpp.

◆ m_Environment

environment SchedulingEvalOp::m_Environment
protected

Definition at line 65 of file fitnes.hpp.

◆ m_Evaluation

bool SchedulingEvalOp::m_Evaluation
protected

Definition at line 70 of file fitnes.hpp.

◆ m_fitness

unsigned int SchedulingEvalOp::m_fitness
protected

Definition at line 56 of file fitnes.hpp.

◆ m_genotip

std::string SchedulingEvalOp::m_genotip
protected

Definition at line 57 of file fitnes.hpp.

◆ m_Idleness

bool SchedulingEvalOp::m_Idleness
protected

Definition at line 82 of file fitnes.hpp.

◆ m_InSubset

unsigned int SchedulingEvalOp::m_InSubset
protected

Definition at line 61 of file fitnes.hpp.

◆ m_LEF

bool SchedulingEvalOp::m_LEF
protected

Definition at line 73 of file fitnes.hpp.

◆ m_LEFVal

double SchedulingEvalOp::m_LEFVal
protected

Definition at line 74 of file fitnes.hpp.

◆ m_Normalized

bool SchedulingEvalOp::m_Normalized
protected

Definition at line 69 of file fitnes.hpp.

◆ m_PopSize

unsigned int SchedulingEvalOp::m_PopSize
protected

Definition at line 67 of file fitnes.hpp.

◆ m_primjer

unsigned int SchedulingEvalOp::m_primjer
protected

Definition at line 58 of file fitnes.hpp.

◆ m_sampling

double SchedulingEvalOp::m_sampling
protected

Definition at line 80 of file fitnes.hpp.

◆ m_setup

bool SchedulingEvalOp::m_setup
protected

Definition at line 75 of file fitnes.hpp.

◆ m_setup_faktor

double SchedulingEvalOp::m_setup_faktor
protected

Definition at line 76 of file fitnes.hpp.

◆ m_SortSet

unsigned int SchedulingEvalOp::m_SortSet
protected

Definition at line 66 of file fitnes.hpp.

◆ m_stsampling

bool SchedulingEvalOp::m_stsampling
protected

Definition at line 79 of file fitnes.hpp.

◆ m_SubsetSize

unsigned int SchedulingEvalOp::m_SubsetSize
protected

Definition at line 60 of file fitnes.hpp.

◆ m_TermUsage

bool SchedulingEvalOp::m_TermUsage
protected

Definition at line 71 of file fitnes.hpp.

◆ m_WorstInSubset

unsigned int SchedulingEvalOp::m_WorstInSubset
protected

Definition at line 62 of file fitnes.hpp.

◆ m_WorstSubsetFitness

double SchedulingEvalOp::m_WorstSubsetFitness
protected

Definition at line 63 of file fitnes.hpp.

◆ MachineIndex

Matrica SchedulingEvalOp::MachineIndex
protected

Definition at line 91 of file fitnes.hpp.

◆ MachineReady

Matrica SchedulingEvalOp::MachineReady
protected

Definition at line 90 of file fitnes.hpp.

◆ Machines

Matrica SchedulingEvalOp::Machines
protected

Definition at line 89 of file fitnes.hpp.

◆ max_jobs

unsigned int SchedulingEvalOp::max_jobs
protected

Definition at line 55 of file fitnes.hpp.

◆ max_length

unsigned int SchedulingEvalOp::max_length
protected

Definition at line 55 of file fitnes.hpp.

◆ max_machines

unsigned int SchedulingEvalOp::max_machines
protected

Definition at line 55 of file fitnes.hpp.

◆ N

Matrica SchedulingEvalOp::N
protected

Definition at line 89 of file fitnes.hpp.

◆ nItems

unsigned int SchedulingEvalOp::nItems

Definition at line 23 of file fitnes.hpp.

◆ pArray

double * SchedulingEvalOp::pArray
protected

Definition at line 84 of file fitnes.hpp.

◆ pArrival

double * SchedulingEvalOp::pArrival
protected

Definition at line 84 of file fitnes.hpp.

◆ pIndex

unsigned int * SchedulingEvalOp::pIndex
protected

Definition at line 87 of file fitnes.hpp.

◆ pJobReady

double * SchedulingEvalOp::pJobReady
protected

Definition at line 85 of file fitnes.hpp.

◆ pLastJob

unsigned int * SchedulingEvalOp::pLastJob
protected

Definition at line 87 of file fitnes.hpp.

◆ pLevel

double * SchedulingEvalOp::pLevel
protected

Definition at line 84 of file fitnes.hpp.

◆ pMachineScheduled

unsigned int * SchedulingEvalOp::pMachineScheduled
protected

Definition at line 87 of file fitnes.hpp.

◆ pMachineValues

double * SchedulingEvalOp::pMachineValues
protected

Definition at line 86 of file fitnes.hpp.

◆ pMachineWorkRemaining

double * SchedulingEvalOp::pMachineWorkRemaining
protected

Definition at line 86 of file fitnes.hpp.

◆ pOperationReady

double * SchedulingEvalOp::pOperationReady
protected

Definition at line 85 of file fitnes.hpp.

◆ pOperationsScheduled

unsigned int * SchedulingEvalOp::pOperationsScheduled
protected

Definition at line 87 of file fitnes.hpp.

◆ pOperationsWaiting

unsigned int * SchedulingEvalOp::pOperationsWaiting
protected

Definition at line 88 of file fitnes.hpp.

◆ pPTimeMinMachine

unsigned int * SchedulingEvalOp::pPTimeMinMachine
protected

Definition at line 87 of file fitnes.hpp.

◆ pRasporedjen

bool * SchedulingEvalOp::pRasporedjen
protected

Definition at line 83 of file fitnes.hpp.

◆ Precedence

Matrica SchedulingEvalOp::Precedence
protected

Definition at line 90 of file fitnes.hpp.

◆ pSamples

bool * SchedulingEvalOp::pSamples
protected

Definition at line 81 of file fitnes.hpp.

◆ pSetupAvg

double * SchedulingEvalOp::pSetupAvg
protected

Definition at line 84 of file fitnes.hpp.

◆ pSlack

double * SchedulingEvalOp::pSlack
protected

Definition at line 84 of file fitnes.hpp.

◆ pSlackSpeed

double * SchedulingEvalOp::pSlackSpeed
protected

Definition at line 84 of file fitnes.hpp.

◆ PTimeAvg

Matrica SchedulingEvalOp::PTimeAvg
protected

Definition at line 90 of file fitnes.hpp.

◆ PTimeMinMachine

Matrica SchedulingEvalOp::PTimeMinMachine
protected

Definition at line 90 of file fitnes.hpp.

◆ pTotalMachineWork

double * SchedulingEvalOp::pTotalMachineWork
protected

Definition at line 85 of file fitnes.hpp.

◆ pTotalWorkDone

double * SchedulingEvalOp::pTotalWorkDone
protected

Definition at line 85 of file fitnes.hpp.

◆ pTotalWorkRemaining

double * SchedulingEvalOp::pTotalWorkRemaining
protected

Definition at line 85 of file fitnes.hpp.

◆ pUsed

unsigned int * SchedulingEvalOp::pUsed
protected

Definition at line 87 of file fitnes.hpp.

◆ pVrijednosti

double * SchedulingEvalOp::pVrijednosti
protected

Definition at line 84 of file fitnes.hpp.

◆ Ready

Matrica SchedulingEvalOp::Ready
protected

Definition at line 89 of file fitnes.hpp.

◆ Schedule

Matrica SchedulingEvalOp::Schedule
protected

Definition at line 90 of file fitnes.hpp.

◆ SD

Matrica SchedulingEvalOp::SD
protected

Definition at line 90 of file fitnes.hpp.

◆ sets

unsigned int SchedulingEvalOp::sets
protected

Definition at line 55 of file fitnes.hpp.

◆ Setup

Matrica SchedulingEvalOp::Setup
protected

Definition at line 90 of file fitnes.hpp.

◆ SortedReady

Matrica SchedulingEvalOp::SortedReady
protected

Definition at line 91 of file fitnes.hpp.

◆ SP

Matrica SchedulingEvalOp::SP
protected

Definition at line 90 of file fitnes.hpp.

◆ Speed

Matrica SchedulingEvalOp::Speed
protected

Definition at line 89 of file fitnes.hpp.

◆ state_

StateP SchedulingEvalOp::state_

Definition at line 21 of file fitnes.hpp.

◆ Terminals

Matrica SchedulingEvalOp::Terminals
protected

Definition at line 90 of file fitnes.hpp.

◆ total

unsigned int SchedulingEvalOp::total

Definition at line 23 of file fitnes.hpp.

◆ total_jobs

unsigned int SchedulingEvalOp::total_jobs
protected

Definition at line 55 of file fitnes.hpp.

◆ Values

Matrica SchedulingEvalOp::Values
protected

Definition at line 91 of file fitnes.hpp.

◆ WeightC

Matrica SchedulingEvalOp::WeightC
protected

Definition at line 89 of file fitnes.hpp.

◆ WeightE

Matrica SchedulingEvalOp::WeightE
protected

Definition at line 89 of file fitnes.hpp.

◆ WeightF

Matrica SchedulingEvalOp::WeightF
protected

Definition at line 89 of file fitnes.hpp.

◆ WeightN

Matrica SchedulingEvalOp::WeightN
protected

Definition at line 89 of file fitnes.hpp.

◆ WeightT

Matrica SchedulingEvalOp::WeightT
protected

Definition at line 89 of file fitnes.hpp.


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