/*-------------------------------------------------------------------------------- F2|prmut|Cmax Utemezesi fedadat megoldasa Johnson-algoritmus alkalmazásával. Kétgépes egyutas előzés nélküli termelésiütemezési feladat. Az ütemezés célja a legkésőbbi befejezési időpont minimalizálása, ezáltal a teljes rendeléscsoport átfutási idejének minimalizálása. A megoldás optimális ütemtervet eredményez. --------------------------------------------------------------------------------*/ #include #include #include typedef struct { long st[2], //start time et[2], //end time pt[2]; //proc. time }T_JOB; long kisebb(long a, long b) { return a>b?b:a; } int main(int argc, char* argv[]) { T_JOB* job; int N; int M; int* s; int e, v; int i, j; int m; int* r; int temp; long x, y; clrscr(); printf("\n Egszeru pelda Johnson-alg.-ra."); //ERP printf("\n Munkak szama: "); scanf("%d", &N); //CAPC M = 2; //CAPP randomize(); job = (T_JOB*) calloc(N, sizeof(T_JOB)); for (i=0; i y ) { temp=r[i]; r[i] = r[j]; r[j] = temp; } } //rendezett printf("\n Rendezes utan: \n"); for( i=0; i job[r[i]].pt[1] ) { s[v] = r[i]; v--; } else { s[e] = r[i]; e++; } printf("\n J-alg utan: \n"); for( i=0; i