/*------------------------------------------------------------------------------ 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 typedef struct{ long id, SetT, ProcT, OptT, StartT, EndT; }T_JOB; int scheduler(int* Sch, T_JOB* job, int n); long simulation(int* Sch, T_JOB* job, int n, long ref_T); int main(int argc, char* argv[]) { T_JOB* job; int n; //jobok darabszama int i; //job futoindex int * Sch; //utemterv long sum_EndT; //virtualis adatbazis lekerdeze randomize(); printf("\n Kerem a jobok szamat:"); scanf("%d", &n); //n erteket kap bill-rol job = (T_JOB*) calloc(n, sizeof(T_JOB) ); for (i=0; i job[ Sch[j] ].OptT) { //nem csokkeno OptT ertek szerint temp = Sch[i]; Sch[i] = Sch[j]; Sch[j] = temp; } return 1; } long simulation(int* Sch, T_JOB* job, int n, long ref_T) { long sum_EndT = 0; int i; job[Sch[0]].StartT = ref_T; //kezdet job[Sch[0]].EndT = job[Sch[0]].StartT + job[Sch[0]].OptT; sum_EndT = job[Sch[0]].EndT; for (i=1; i