/* * Copyright © 2010 by Ondrej Skalicka. All Rights Reserved */ package demopackage; import cz.cvut.felk.cig.jcop.algorithm.graphsearch.bfs.BreadthFirstSearch; import cz.cvut.felk.cig.jcop.algorithm.graphsearch.dfs.DepthFirstSearch; import cz.cvut.felk.cig.jcop.algorithm.simulatedannealing.SimulatedAnnealing; import cz.cvut.felk.cig.jcop.problem.sat.SAT; import cz.cvut.felk.cig.jcop.result.render.CSVRender; import cz.cvut.felk.cig.jcop.result.render.SimpleCompareRender; import cz.cvut.felk.cig.jcop.result.render.SimpleRender; import cz.cvut.felk.cig.jcop.result.render.XMLRender; import cz.cvut.felk.cig.jcop.solver.AlgorithmCompareSolver; import cz.cvut.felk.cig.jcop.solver.condition.TimeoutCondition; import java.io.File; import java.io.IOException; /** * @author Ondrej Skalicka */ public class DemoComplexRender { public static void main(String[] args) throws IOException { AlgorithmCompareSolver solver = new AlgorithmCompareSolver(new SAT(new File("data/sat/valid-standard.cnf"))); // add algorithms solver.addAlgorithm(new DepthFirstSearch()); solver.addAlgorithm(new BreadthFirstSearch()); solver.addAlgorithm(new SimulatedAnnealing()); solver.addAlgorithm(new SimulatedAnnealing(100, 0.999)); solver.addAlgorithm(new SimulatedAnnealing(10, 0.90)); // add stop condition solver.addStopCondition(new TimeoutCondition(100)); // every algorithm 100 ms solver.run(); // output to console solver.addRender(new SimpleRender(SimpleRender.OUTPUT_STANDARD)); solver.addRender(new SimpleRender(SimpleRender.OUTPUT_MINI)); // output to txt file solver.addRender(new SimpleRender(SimpleRender.OUTPUT_FULL, new File("../demo/data/demo-output-full.txt"))); solver.addRender(new SimpleRender(SimpleRender.OUTPUT_STANDARD, new File("../demo/data/demo-output-standard.txt"))); solver.addRender(new SimpleRender(SimpleRender.OUTPUT_MINI, new File("../demo/data/demo-output-mini.txt"))); // output to xml file solver.addRender(new XMLRender(new File("../demo/data/demo-output.xml"))); // output to csv file solver.addRender(new CSVRender(new File("../demo/data/demo-output.csv"))); // output to csv file in MS Office format CSVRender csvRender = new CSVRender(new File("../demo/data/demo-output-ms.csv")); csvRender.setDelimiter(';'); solver.addRender(csvRender); // compare algorithms solver.addRender(new SimpleCompareRender()); // render results solver.render(); } }