/*------------------------------------------------------------------------------ TIA 3. gyakorlat Egygépes termelésütemezési feladat modellezése és megoldása. Az ütemezés célja a befejezési idők összegének minimalizálása, ezáltal az átlagos készletszint minimalizálása. Az SPT (Shortest Processing Time) műveleti idő szerint nemcsökkenő munkasorrend optimális ütemtervet eredményez. -------------------------------------------------------------------------------*/ #include #include typedef struct{ int id; //azonosito: 0,1, ... long ProcT; //muveleti ido long StartT; //kezdeti ido long EndT; //befejezesi ido } T_JOB; //munka void Simulation( T_JOB* job, int NJ, int* s, long t0); void Evaluate( T_JOB* job, int NJ, double* obj_val); void print_obj_val( double* obj_val); void print_job_Gantt(T_JOB* job, int NJ, int* s); void SPT_rule(T_JOB* job, int NJ, int* s); int main(int argc, char* argv[]) { T_JOB* job; //munkak strukturavektora int NJ; //munkak szama int i; //munka indexe int* s; //utemterv double obj_val[3]; //celfuggvenyek printf("\n Egygepes gyartorendszer iranyitasa"); printf("\n Munkak szama="); scanf("%d", &NJ); //betolti az erteket //ellenorzes nincs job = (T_JOB*) calloc(NJ, sizeof(T_JOB) ); //vektor s = (int*) calloc(NJ, sizeof(int) ); //vektor //input adatok generalasa //valos kornyezetben ezek a term.info. rsz-bol jonnek for ( i=0; i job[ s[j] ].ProcT ) index = j; if ( index != i ) { //csere temp = s[ index ]; s[ index ] = s[i]; s[ i ] = temp; } } }