Drools Planner--主要方法(第2.1.3章节)

第一章 Drools Planner--主要方法(第2.1.3章节)
版本:5.5.0.Final
2.1 云均衡教程
2.1.1 问题陈述
2.1.2 域模型图(Domain model diagram)
2.1.3 主要方法
自己试下。下载和配置案例在自己喜欢的IDE中.使用默认的资源,配置2分钟就可以运行。执行


代码:
Example 2.1.CloudBalancingHelloWord.java
public class CloudBalancingHelloWorld {
		public static void main(String[] args) {
                  // Build the Solver
                   SolverFactory solverFactory = new XmlSolverFactory(
                  "/org/drools/planner/examples/cloudbalancing/solver/
                  cloudBalancingSolverConfig.xml");
Solver solver = solverFactory.buildSolver();
// Load a problem with 400 computers and 1200 processes
CloudBalance unsolvedCloudBalance = new CloudBalancingGenerator().createCloudBalance(400, // 


Solve the problem
solver.setPlanningProblem(unsolvedCloudBalance);
solver.solve();
CloudBalance solvedCloudBalance = (CloudBalance) solver.getBestSolution();
// Display the result
System.out.println("\nSolved cloudBalance with 400 computers and 1200
processes:\n"
+ toDisplayString(solvedCloudBalance));
}
...
}


 
上面的代码执行:
a.建立Solver是基于Solver配置的(是基于xml)
SolverFactory solverFactory = new XmlSolverFactory(
"/org/drools/planner/examples/cloudbalancing/solver/
cloudBalancingSolverConfig.xml");
Solver solver = solverFactory.buildSolver();


b.加载问题。CloudBalancingGenerator自动生成一个随机问题:你可以替换class加载一个真实的问题,案例是一个数据库。
CloudBalance unsolvedCloudBalance = new CloudBalancingGenerator().createCloudBalance();

c.解决问题
solver.setPlanningProblem(unsolvedCloudBalance);
			solver.solve();
			CloudBalance solvedCloudBalance = (CloudBalance) ;
solver.getBestSolution();


D.显示结果
System.out.println("\nSolved cloudBalance with 400 computers and 1200 processes:\n" + toDisplayString(solvedCloudBalance));
唯一一个不透明的部分是建立资源,需要检测。

你可能感兴趣的:(drools,JBPM5,DroolsPlanner,不了了之)