Пример #1
0
/*
main
*/
int main(void){
    
    srand(time(0));

    tabu_search();

    return 0;
}
Пример #2
0
void perform_greedy(matrix* distances, best_solution* best, int p_id)
{
    int i;
    MPI_Request request;
    search_greedy_solution(distances, best, p_id);
    if(best->greedy_distance<best->distance) best->distance = best->greedy_distance;
    for(i=0; i<best->number_of_processes-1; i++)
    {
        MPI_Isend(&best->greedy_distance, 1, MPI_INT, i, TAG_BOUND, MPI_COMM_WORLD, &request);
    }
    simulated_annealing_search(best, distances);
    for(i=0; i<best->number_of_processes-1; i++)
    {
        MPI_Isend(&best->greedy_distance, 1, MPI_INT, i, TAG_BOUND, MPI_COMM_WORLD, &request);
    }
    if(best->greedy_distance<best->distance) best->distance = best->greedy_distance;
    tabu_search(best, distances);
    for(i=0; i<best->number_of_processes-1; i++)
    {
        MPI_Isend(&best->greedy_distance, 1, MPI_INT, i, TAG_BOUND, MPI_COMM_WORLD, &request);
    }
    if(best->greedy_distance<best->distance) best->distance = best->greedy_distance;
}