private void saveTrajectory() { TrajectoryWithStateFitness traj = new TrajectoryWithStateFitness(dsm.getTrajectoryInfo(), context.calculateFitness()); initialPopulation.add(traj); logger.debug("Initial trajectory found: " + traj.toString()); }
private void saveSolutionAndBacktrack() { context.calculateFitness(); context.newSolution(); logger.debug("Found solution: " + context.getTrajectoryInfo().toString()); logger.debug("Backtrack for more solutions, if needed."); context.backtrackUntilRoot(); }
protected void savePopulationsAsSolutions(List<TrajectoryFitness> survivedPopulation) { for (TrajectoryFitness trajectoryFitness : survivedPopulation) { if (trajectoryFitness.rank == 1) { context.backtrackUntilRoot(); for (Object transition : trajectoryFitness.trajectory) { context.executeAcitvationId(transition); } context.calculateFitness(); context.newSolution(); } } }
@Override public void explore() { while (!(isInterrupted || initialPopulation.size() >= populationSize)) { while (lengthRemaining > 0) { lengthRemaining--; context.executeRandomActivationId(); boolean gcSatisfied = context.checkGlobalConstraints(); if (!gcSatisfied) { context.backtrack(); lengthRemaining++; } } initialPopulation.add(new TrajectoryWithStateFitness(dsm.getTrajectoryInfo(), context.calculateFitness())); dsm.undoUntilRoot(); lengthRemaining = newLength(); } }
Fitness fitness = context.calculateFitness(); if (fitness.isSatisifiesHardObjectives()) { context.newSolution();
queue.add(trajectory); if (minDepthOfFirstPopulation <= trajectory.length && random.nextFloat() < chanceOfSelection) { Fitness fitness = context.calculateFitness(); initialPopulation.add(new TrajectoryWithStateFitness(trajectoryInfo, fitness)); if (populationSize <= initialPopulation.size()) {
Fitness fitness = context.calculateFitness(); if (fitness.isSatisifiesHardObjectives()) { context.newSolution();
Fitness previousFitness = context.calculateFitness(); Fitness fitness = context.calculateFitness(); objectiveComparatorHelper.addTrajectoryFitness( new TrajectoryFitness(context.getTrajectoryInfo().getLastActivationId(), fitness));
Fitness fitness = context.calculateFitness(); if (fitness.isSatisifiesHardObjectives()) { context.newSolution();
boolean succesful = mutation.mutate(parent, context); if (succesful) { Fitness calculateFitness = context.calculateFitness(); TrajectoryInfo trajectoryInfo = context.getTrajectoryInfo(); TrajectoryFitness child = new TrajectoryWithStateFitness(trajectoryInfo, calculateFitness); boolean successful = crossover.mutate(parent1, parent2, context); if (successful) { Fitness calculateFitness = context.calculateFitness(); TrajectoryInfo trajectoryInfo = context.getTrajectoryInfo(); TrajectoryFitness child = new TrajectoryWithStateFitness(trajectoryInfo, calculateFitness); calculateFitness = context.calculateFitness(); trajectoryInfo = context.getTrajectoryInfo(); child = new TrajectoryWithStateFitness(trajectoryInfo, calculateFitness);
final Fitness firstFittness = context.calculateFitness(); if (firstFittness.isSatisifiesHardObjectives()) { context.newSolution(); context.backtrack(); } else { final Fitness nextFitness = context.calculateFitness(); if (nextFitness.isSatisifiesHardObjectives()) { solutionStore.newSolution(context);
Fitness fitness = context.calculateFitness(); if (fitness.isSatisifiesHardObjectives()) { context.newSolution(); } else if (!context.checkGlobalConstraints()) { logger.debug("Global contraint is not satisifed."); } else if (context.calculateFitness().isSatisifiesHardObjectives()) { solutionStore.newSolution(context); logger.debug("Found a solution.");