/** * Reset this optimization algorithm. This does also reset the iteration counter but doesn't * affect the total iteration counter. */ @Override public void reset() { super.reset(); this.m_innerPipe.eof(); synchronized (this.m_pop1) { this.m_pop1.clear(); } synchronized (this.m_pop2) { this.m_pop2.clear(); } }
/** * this method is invoked before each iteration is performed * * @param index the index of the current itertion */ @Override protected void beforeIteration(final long index) { // IPopulation<G, PP> p; super.beforeIteration(index); synchronized (this) { p = this.m_pop1; this.m_pop1 = this.m_pop2; this.m_pop2 = p; } p.clear(); this.m_innerPipe.setOutputPipe(p); }
/** * Set that this activity is finished. This leads to a transition into the state <code>TERMINATED * </code>. */ @Override protected void finished() { IPipeIn<? super G, ? super PP> p1; IPipe<G, PP> p2, p3; p1 = this.getOutputPipe(); if (p1 != null) { p2 = new NonPrevalenceFilter<G, PP>(); p2.setOutputPipe(p1); p3 = new NoEofPipe<G, PP>(); p3.setOutputPipe(p2); this.outputResults(p3); p2.eof(); } super.finished(); }
/** * this method is invoked after each iteration is performed * * @param index the index of the current itertion */ @Override protected void afterIteration(final long index) { // this.getHost().flushJobs(); super.afterIteration(index); }