class BRKGA::AlgorithmStatus

Overview

Defines the current status of the algorithm for a given BRKGA_MP_IPR::run() call. More…

#include <brkga_mp_ipr.hpp>

class AlgorithmStatus {
public:
    // fields

    fitness_t best_fitness {};
    Chromosome best_chromosome {};
    unsigned current_iteration {0};
    unsigned last_update_iteration {0};
    std::chrono::duration<double> current_time {0.0};
    std::chrono::duration<double> last_update_time {0.0};
    unsigned largest_iteration_offset {0};
    unsigned stalled_iterations {0};
    std::chrono::duration<double> path_relink_time {0.0};
    unsigned num_path_relink_calls {0};
    unsigned num_homogenities {0};
    unsigned num_best_improvements {0};
    unsigned num_elite_improvements {0};
    unsigned num_exchanges {0};
    unsigned num_shakes {0};
    unsigned num_resets {0};
};

Detailed Documentation

Defines the current status of the algorithm for a given BRKGA_MP_IPR::run() call.

Note

We use std::chrono::duration<double> instead std::chrono::seconds for keep better precision.

Fields

fitness_t best_fitness {}

Current best fitness value.

Chromosome best_chromosome {}

A pointer to the current best chromosome.

unsigned current_iteration {0}

The current algorithm iteration / generation.

unsigned last_update_iteration {0}

The iteration of the last update.

std::chrono::duration<double> current_time {0.0}

The time of the last update (in seconds).

std::chrono::duration<double> last_update_time {0.0}

The time of the last update (in seconds).

unsigned largest_iteration_offset {0}

The largest number of iterations between two updates.

unsigned stalled_iterations {0}

Last number of iterations without improvement in the best solution.

std::chrono::duration<double> path_relink_time {0.0}

Total time spent on path relinking so far (in seconds).

unsigned num_path_relink_calls {0}

Number of call to path relinking.

unsigned num_homogenities {0}

Number of homogenities, i.e., number of times that the populations are too homogenious and the path reliking could not be performed.

unsigned num_best_improvements {0}

Number of improvements in the best solution by the path reliking.

unsigned num_elite_improvements {0}

Number of improvements in elite individuals, but not the best one, by path reliking.

unsigned num_exchanges {0}

Number of exchange between populations performed (not number of individuals).

unsigned num_shakes {0}

Number of shakes performed.

unsigned num_resets {0}

Number of population resets performed.