Class TsvLogger

    • Field Detail

      • archive

        protected final Archive archive
    • Constructor Detail

      • TsvLogger

        @Inject
        public TsvLogger​(Archive archive,
                         java.lang.String filename,
                         int evaluationStep,
                         int iterationStep)
        Creates an TsvLogger.
        Parameters:
        archive - the archive
        filename - the filename (using namespace TsvLogger)
        evaluationStep - the number of evaluations between two logging events (using namespace TsvLogger)
        iterationStep - the number of iterations between two logging events (using namespace TsvLogger)
    • Method Detail

      • initWriter

        protected java.io.PrintWriter initWriter​(java.lang.String filename)
        Initialize the print write from a filename
        Parameters:
        filename - the filename
        Returns:
        the print writer
      • logEvent

        public void logEvent​(int iteration,
                             int evaluation)
        Description copied from class: AbstractLogger
        Callback method called if the specific number of iterations or evaluations is reached.
        Specified by:
        logEvent in class AbstractLogger
        Parameters:
        iteration - the current iteration number
        evaluation - the current evaluation number
      • logHeader

        public void logHeader​(java.util.Collection<Objective> objectives)
        Description copied from class: AbstractLogger
        Writes the header.
        Specified by:
        logHeader in class AbstractLogger
        Parameters:
        objectives - a collection of objectives
      • getColumnDelimiter

        protected java.lang.String getColumnDelimiter()
        The String separating two columns. The tab character ("\t") is the default, which leads to a tab separated values file format (TSV).
        Returns:
        the delimiter
      • getIndividual

        protected java.lang.String getIndividual​(Individual individual)
        Creates a String representation of the given Individual. Per default, the Values of all Objectives of the individual, separated by getColumnDelimiter(), are returned. The String representation of a Value must not contain the tab character. If one of the values of the Objectives is INFEASIBLE, null is returned.
        Parameters:
        individual - the individual
        Returns:
        the corresponding string or null
        See Also:
        Objective
      • getStatistics

        protected java.lang.String getStatistics​(int iteration,
                                                 int evaluation,
                                                 double time)
        Statistics for the given iteration and evaluation. Per default, the iteration, the number of evaluations and the optimization run time in milliseconds, separated by getColumnDelimiter(), are returned.
        Parameters:
        iteration - the current iteration
        evaluation - the current number of evaluations
        time - the current runtime of the optimization
        Returns:
        the corresponding string
      • getCommentDelimiter

        protected java.lang.String getCommentDelimiter()
        The String starting a line comment. Default is the empty String ("") according to the TSV specification.
        Returns:
        the comment delimiter