NQueensFunctionFactory.getIActionsFunction(),
NQueensFunctionFactory.getResultFunction(),
new NQueensGoalTest());
SimulatedAnnealingSearch search = new SimulatedAnnealingSearch(
new AttackingPairsHeuristic());
SearchAgent agent = new SearchAgent(problem, search);
System.out.println();
printActions(agent.getActions());
System.out.println("Search Outcome=" + search.getOutcome());
System.out.println("Final State=\n" + search.getLastSearchState());
printInstrumentation(agent.getInstrumentation());
} catch (Exception e) {
e.printStackTrace();
}
}