#include #include #include /****************************************************************************************** Por: Pablo Navarrete C. Rol: 2373543-1 Problema: Relaxed Time Traveling Tournament Metodo: Simulated Annealing *******************************************************************************************/ int n = 4; int n2 = n + 1; // numero de equipos int fec = 2 * (n - 1); // numero de fechas o partidos int i; int j; int a; int sum; int igual; int temp; //FUNCION QUE CREA LA SOLUCION INICIAL EN MODO RANDOM ------------------------------------ int** crear_solucion(){ int x[n2][n2]; // establece instancia de partidos. valores enter 1 y n // primer valor local, segundo visita int c[n2][n2]; // costos de variable X[i][j] int y[n2][fec + 1]; // formato respuesta int z[n2][fec + 1]; // formato respuesta 2 //Iniciar matriz en 0 for( i = 1 ; i <= n ; i++ ){ for( j = 1 ; j <= n ; j++ ){ x[i][j] = 0; } } i = 1; j = 1; srand ( time(NULL) ); system("clear"); //Genera Matriz Solucion Inicial esigando fechas en random for( i = 1 ; i < n2 ; i++ ){ for( j = i+1 ; j < n2 ; j++ ){ do{ sum = rand() % 2; if(sum == 0){ sum = 1;}else{sum = -1;} x[i][j] = sum*((rand() % (n-1)) + 1); x[j][i] = -1*(x[i][j]); igual = 0; for( a=1 ; a <= n ; a++ ){ if( (abs(x[i][j]) == abs(x[i][a])) && a != j ){ igual = 1; } if( (abs(x[i][j]) == abs(x[a][j])) && a != i ){ igual = 1; } } }while(igual != 0); } } //SOLUCION INICIAL FILA vs COLUMNA EN X[i][j] la FECHA for(i=1;i= (-1)*(n-1) ; i-- ){ for(j=1;j