29.2. 运行 Cloud Balancing Hello World
您可以运行示例"hello world"应用来演示解析器。
流程
- 下载并配置您首选的 IDE 中的示例。有关在 IDE 中下载和配置示例的步骤,请参考 第 30.1.3 节 “在 IDE 中运行 Red Hat Business Optimizer 示例(IntelliJ、Ecli 或 Netbeans)”。
使用以下主类创建运行配置:
org.optaplanner.examples.cloudbalancing.app.CloudBalancingHelloWorld默认情况下,Cloud Balancing Hello World 配置为运行 120 秒。
结果
应用程序执行以下代码:
例 29.4. CloudBalancingHelloWorld.java
public class CloudBalancingHelloWorld {
public static void main(String[] args) {
// Build the Solver
SolverFactory<CloudBalance> solverFactory = SolverFactory.createFromXmlResource("org/optaplanner/examples/cloudbalancing/solver/cloudBalancingSolverConfig.xml");
Solver<CloudBalance> solver = solverFactory.buildSolver();
// Load a problem with 400 computers and 1200 processes
CloudBalance unsolvedCloudBalance = new CloudBalancingGenerator().createCloudBalance(400, 1200);
// Solve the problem
CloudBalance solvedCloudBalance = solver.solve(unsolvedCloudBalance);
// Display the result
System.out.println("\nSolved cloudBalance with 400 computers and 1200 processes:\n" + toDisplayString(solvedCloudBalance));
}
...
}
代码示例执行以下操作:
根据
解析器配置构建 Solver (本例中为 XML 文件cloudBalancingSolverConfig.xml)。构建
Solver是此流程中最复杂的部分。如需了解更多详细信息,请参阅 第 29.3 节 “solver 配置”。SolverFactory<CloudBalance> solverFactory = SolverFactory.createFromXmlResource( "org/optaplanner/examples/cloudbalancing/solver/cloudBalancingSolverConfig.xml"); Solver solver<CloudBalance> = solverFactory.buildSolver();加载问题。
CloudBalancingGenerator生成一个随机问题:您将替换为加载实际问题的类,例如从数据库中。CloudBalance unsolvedCloudBalance = new CloudBalancingGenerator().createCloudBalance(400, 1200);解决问题。
CloudBalance solvedCloudBalance = solver.solve(unsolvedCloudBalance);显示结果。
System.out.println("\nSolved cloudBalance with 400 computers and 1200 processes:\n" + toDisplayString(solvedCloudBalance));