/*------------------------------------------------------------------------------ 1||Szum(Ci) Utemezesi fedadat megoldasa SPT ütemezési szabály alkalmazásával. Egygépes termelésiütemezési feladat. Az ütemezés célja a befejezési idők összegének minimalizálása, ezáltal az átlagos készletszint minimalizálása. SPT Shortest Processing Time (műveleti idő szerint nemcsökkenő munkasorrend) A megoldás optimális ütemtervet eredményez. -------------------------------------------------------------------------------*/ #include #include #include #include typedef struct{ int id; long ProcT, StartT, EndT; }T_JOB; typedef struct{ long Csum; }T_OBJF; void Simulation(T_JOB* job, int N, int* sch, long t); void Evaluation(T_JOB* job, int N, T_OBJF* obj); void print_job(T_JOB* job, int N); void SPT_rule(T_JOB* job, int N, int* sch); int main(int argc, char* argv[]) { T_JOB* job; int* sch; T_OBJF obj; int N; int i; printf("\n Kerem a munkak szamat:"); scanf("%d", &N); randomize(); job = (T_JOB*) calloc( N, sizeof(T_JOB)); for (i=0; iCsum = 0; for (i=0; iCsum += job[i].EndT; } void print_job(T_JOB* job, int N) { int i; printf("\n id \t StartT \t ProcT \t EndT"); for (i=0; i job[ sch[j] ].ProcT ) { temp = sch[i]; sch[i] = sch[j]; sch[j] = temp; } } }