1#ifndef SchedulingEvalOp_h
2#define SchedulingEvalOp_h
9#include "IntGenotype.h"
16 FitnessP
evaluate(IndividualP individual);
23 unsigned int edited,total,nItems;
25 void write(std::string &output);
26 void ReadTerminals(TreeP);
27 void ReadTerminals(StateP);
28 void DefineNodeNames(
void);
29 void ReadConstraints(
Matrica &Constraints,
int set,
int jobs,
Matrica &Precedence);
30 void MakeSetup(
Matrica &Duration,
int set,
int jobs,
double faktor,
Matrica &Setup);
31 double NodeLevel(
int set,
int node);
35 void ReadIndividual(IndividualP individual);
36 void CalcTimedTerminals(uint &nNiz, uint &nPoslova, uint &nJob,
double &dClock, uint nMachine=0, uint nMachines=1);
37 void EvaluateSingle(
double &dRawFitness);
38 void EvaluateUniform(
double &dRawFitness);
39 void EvaluateUnrelated(
double &dRawFitness);
40 void EvaluateUnrelatedPermutation(IndividualP individual,
double &dRawFitness);
41 void EvaluateUnrelatedFP(FloatingPointP fp,
double &dRawFitness);
42 void EvaluateJobShop(
double &dRawFitness);
43 int Before(
const void *arg1,
const void *arg2);
55 unsigned int sets,max_jobs,total_jobs,max_machines,max_length;
56 unsigned int m_fitness;
57 std::string m_genotip;
58 unsigned int m_primjer;
59 unsigned int m_BestSubset;
60 unsigned int m_SubsetSize;
61 unsigned int m_InSubset;
62 unsigned int m_WorstInSubset;
63 double m_WorstSubsetFitness;
64 double m_BestSubsetFitness;
65 environment m_Environment;
66 unsigned int m_SortSet;
67 unsigned int m_PopSize;
76 double m_setup_faktor;
84 double *pVrijednosti, *pArray, *pSlack, *pSlackSpeed, *pArrival, *pLevel, *pSetupAvg;
85 double *pOperationReady, *pJobReady, *pTotalWorkRemaining, *pTotalWorkDone, *pTotalMachineWork;
86 double *pMachineWorkRemaining, *pMachineValues;
87 unsigned int *pIndex, *pUsed, *pLastJob, *pPTimeMinMachine, *pMachineScheduled, *pOperationsScheduled;
88 unsigned int *pOperationsWaiting;
89 Matrica N,Duration,Deadline,WeightT,WeightF,WeightE,WeightN, WeightC,Ready,Constraints,Machines,Speed;
90 Matrica SP,SD,
Fitness,Schedule,Precedence,Level,Setup,Terminals,MachineReady,PTimeAvg,PTimeMinMachine;
91 Matrica SortedReady, Values, Durations, MachineIndex;
93typedef boost::shared_ptr<SchedulingEvalOp> SchedulingEvalOpP;
bool initialize(StateP)
Initialize the evaluator. Called before first evaluation occurs.
FitnessP evaluate(IndividualP individual)
Evaluate a single individual. Method must create and return a Fitness object.
void registerParameters(StateP)
Register evaluator parameters. Called before EvaluateOp::initialize method.