anchor.diff:    </scoreDirectorFactory>
   ----
   
  -First, we want to make sure that all computers have enough CPU, RAM and network bandwidth to support all their processes, so we make these hard constraints:
  -
  +. We want to make sure that all computers have enough CPU, RAM and network bandwidth to support all their processes, so we make these hard constraints:
  ++
   .cloudBalancingScoreRules.drl - Hard Constraints
   ====
   [source,options="nowrap"]
  
positive.code: ----
          CloudBalance unsolvedCloudBalance = new CloudBalancingGenerator().createCloudBalance(400, 1200);
  ----
  * Solve the problem.
  +
  
  [source,java,options="nowrap"]
  ----
          CloudBalance solvedCloudBalance = solver.solve(unsolvedCloudBalance);
  ----
  * Display the result.
  +
  
  [source,java,options="nowrap"]
  
negative.code:                 "org/optaplanner/examples/cloudbalancing/solver/cloudBalancingSolverConfig.xml");
          Solver solver<CloudBalance> = solverFactory.buildSolver();
  ----
  
  . Load the problem. 
  +
  `CloudBalancingGenerator` generates a random problem: you will replace this with a class that loads a real problem, for example from a database.
  +
  