Class AReducingSolutionIterator<I1,​O1,​I2,​O2>

  • All Implemented Interfaces:
    java.lang.Iterable<org.api4.java.algorithm.events.IAlgorithmEvent>, java.util.concurrent.Callable<O1>, java.util.Iterator<org.api4.java.algorithm.events.IAlgorithmEvent>, org.api4.java.algorithm.IAlgorithm<I1,​O1>, org.api4.java.algorithm.ISolutionCandidateIterator<I1,​O1>, org.api4.java.common.control.ICancelable, org.api4.java.common.control.ILoggingCustomizable
    Direct Known Subclasses:
    ReducingOptimizer

    public class AReducingSolutionIterator<I1,​O1,​I2,​O2>
    extends ASolutionCandidateIterator<I1,​O1>
    • Constructor Detail

      • AReducingSolutionIterator

        public AReducingSolutionIterator​(I1 problem,
                                         AlgorithmicProblemReduction<I1,​O1,​I2,​O2> problemTransformer,
                                         org.api4.java.algorithm.IAlgorithmFactory<I2,​O2,​?> baseFactory)
    • Method Detail

      • cancel

        public final void cancel()
        Specified by:
        cancel in interface org.api4.java.common.control.ICancelable
        Overrides:
        cancel in class AAlgorithm<I1,​O1>
      • runPreCreationHook

        public void runPreCreationHook()
      • getSolutionEvent

        protected org.api4.java.algorithm.events.result.ISolutionCandidateFoundEvent<O1> getSolutionEvent​(O1 solution)
      • nextWithException

        public final org.api4.java.algorithm.events.IAlgorithmEvent nextWithException()
                                                                               throws org.api4.java.algorithm.exceptions.AlgorithmExecutionCanceledException,
                                                                                      java.lang.InterruptedException,
                                                                                      org.api4.java.algorithm.exceptions.AlgorithmTimeoutedException,
                                                                                      org.api4.java.algorithm.exceptions.AlgorithmException
        Throws:
        org.api4.java.algorithm.exceptions.AlgorithmExecutionCanceledException
        java.lang.InterruptedException
        org.api4.java.algorithm.exceptions.AlgorithmTimeoutedException
        org.api4.java.algorithm.exceptions.AlgorithmException
      • getLoggerName

        public java.lang.String getLoggerName()
        Specified by:
        getLoggerName in interface org.api4.java.common.control.ILoggingCustomizable
        Overrides:
        getLoggerName in class AAlgorithm<I1,​O1>
      • setLoggerName

        public void setLoggerName​(java.lang.String name)
        Specified by:
        setLoggerName in interface org.api4.java.common.control.ILoggingCustomizable
        Overrides:
        setLoggerName in class AAlgorithm<I1,​O1>
      • getLogger

        protected org.slf4j.Logger getLogger()
      • getBaseAlgorithm

        public org.api4.java.algorithm.IAlgorithm<I2,​O2> getBaseAlgorithm()