@Override public void executeAcitvationId(Object activationId) { designSpaceManager.fireActivation(activationId); }
public boolean executeRandomActivationId() { Collection<Object> transitions = getTransitionsFromCurrentState(); int size = transitions.size(); if (size == 0) { return false; } int index = random.nextInt(size); Iterator<Object> iterator = transitions.iterator(); for (int i = 0; i < index; ++i) { iterator.next(); } Object transition = iterator.next(); fireActivation(transition); return true; }
@Override public boolean mutate(TrajectoryFitness parent, ThreadContext context) { DesignSpaceManager dsm = context.getDesignSpaceManager(); context.executeTrajectoryWithMinimalBacktrackWithoutStateCoding(parent.trajectory); Collection<Object> transitions = dsm.getTransitionsFromCurrentState(); int size = transitions.size(); if (size == 0) { return false; } int bestPriority = Integer.MIN_VALUE; for (Object iTransition : transitions) { int priority = priorities.get(dsm.getRuleByActivationId(iTransition)).intValue(); if (priority > bestPriority) { bestPriority = priority; } } List<Object> bestTrasitions = new ArrayList<>(); for (Object iTransition : transitions) { if (priorities.get(dsm.getRuleByActivationId(iTransition)).intValue() == bestPriority) { bestTrasitions.add(iTransition); } } int index = rnd.nextInt(bestTrasitions.size()); Object transition = bestTrasitions.get(index); dsm.fireActivation(transition); return true; }
Object transition = bestTrasitions.get(index); dsm.fireActivation(transition);
dsm.fireActivation(iTransition); if (!dsm.isNewModelStateAlreadyTraversed()) { Object[] trajectory = trajectoryInfo.getTrajectory().toArray(new Object[0]); dsm.fireActivation(iTransition);