main() { tsp_instance t; /* tsp points */ tsp_solution s; /* tsp solution */ double initCost, finCost; read_tsp(&t); initialize_solution(t.n, &s); initCost=solution_cost(&s,&t); printf("solution_cost = %7.1f\n",initCost); print_solution(&s); solution_count=0; repeated_annealing(&t,5,&s); finCost = solution_cost(&s,&t); printf("repeated annealing %d iterations, cost = %7.1f improvement %%%2.0f\n", solution_count, finCost, (finCost/initCost)*100); print_solution(&s); }
main() { tsp_instance t; /* tsp points */ tsp_solution s; /* tsp solution */ int i; /* counter*/ double solution_cost(); read_tsp(&t); /*print_tsp(&t);*/ read_solution(&s); printf("OPTIMAL SOLUTION COST = %7.1f\n",solution_cost(&s,&t)); print_solution(&s); initialize_solution(t.n, &s); printf("solution_cost = %7.1f\n",solution_cost(&s,&t)); print_solution(&s); /* solution_count=0; random_sampling(&t,1500000,&s); printf("random sampling %d iterations, cost = %7.1f\n", solution_count,solution_cost(&s,&t)); print_solution(&s); solution_count=0; repeated_hill_climbing(&t,195,&s); printf("repeated hill climbing %d iterations, cost = %7.1f\n", solution_count,solution_cost(&s,&t)); print_solution(&s); */ solution_count=0; repeated_annealing(&t,3,&s); printf("repeated annealing %d iterations, cost = %7.1f\n", solution_count,solution_cost(&s,&t)); print_solution(&s); }