package org.drools.semantics.builder.model.hierarchy;
import org.drools.planner.config.SolverFactory;
import org.drools.planner.config.XmlSolverFactory;
import org.drools.planner.core.Solver;
import org.drools.semantics.builder.model.OntoModel;
import org.drools.semantics.builder.model.hierarchy.opt.OptimalHierarchy;
public class OptimizedModelProcessor implements ModelHierarchyProcessor {
public void process( OntoModel model ) {
SolverFactory solverFactory = new XmlSolverFactory( "/org/drools/semantics/builder/model/hierarchy/hier_joined_config.xml" );
Solver solver = solverFactory.buildSolver();
OptimalHierarchy problem = new OptimalHierarchy( model );
solver.setPlanningProblem( problem );
solver.solve();
OptimalHierarchy solvedHierarchy = (OptimalHierarchy) solver.getBestSolution();
System.out.println( "\n\n\n\n ********************************************** \n\n\n" );
System.out.println( " Final solution :" );
System.out.println( solvedHierarchy );
System.out.println( "\n\n\n\n ********************************************** \n\n\n" );
solvedHierarchy.updateModel( model );
}
}