#include #include #include #include typedef struct { int id; long int SetT, ProcT, OpT, StartT, EndT, D, L; }T_JOB; typedef struct { long Tmax, Csum; /* legnagyobb keses, bef. idok osszege*/ }T_OBJF; /*celfuggvenyek*/ void simulation(T_JOB* job, int* sch, int NJ, long t); void evaluation(T_JOB* job, int NJ, T_OBJF* objf); void print_objf(T_OBJF* objf); void print_Gantt(T_JOB* job, int* sch, int NJ); int main(int argc, char* argv[]) { int NJ; /* munkak szama*/ int i, j; T_JOB* job; /* munkak strvektre mutato*/ int* sch; /* utemterv */ T_OBJF objf; /* modellepites, utemezes, szimulacio, ertekeles*/ /*modellepites*/ printf("\n Kerem a munkak aktualis szamat:"); scanf("%d", &NJ); job = calloc(sizeof(T_JOB), NJ); randomize(); for (i=0; iCsum = 0; objf->Tmax = 0; for (i=0; iCsum += job[i].EndT; job[i].L = job[i].EndT - job[i].D; /*keses*/ Ti = max(0, job[i].L); /*csuszas*/ if (i==0) objf->Tmax = Ti; else if ( objf->Tmax < Ti ) objf->Tmax = Ti; } } void print_objf(T_OBJF* objf) { printf("\n Csum= %ld", objf->Csum); printf("\n Tmax= %ld", objf->Tmax); } void print_Gantt(T_JOB* job, int* sch, int NJ) { int i; printf("\n n: job_id \t StarT \t OpT \t EndT \t D \t L"); for ( i=0; i