From fdfd59554c094170937dd2dc691bd141299616ee Mon Sep 17 00:00:00 2001 From: Manlio Morini Date: Fri, 5 Apr 2024 10:36:57 +0200 Subject: [PATCH] [DOC] Releasing v3.0.0 Project is now in maintenance mode. See NEWS.md for details. --- NEWS.md | 8 ++++++- doc/doxygen/doxygen.h | 2 +- src/kernel/evolution_replacement.tcc | 32 +++++++++++----------------- src/setversion.py | 4 ++-- 4 files changed, 23 insertions(+), 23 deletions(-) diff --git a/NEWS.md b/NEWS.md index 46c76382..a93e0166 100644 --- a/NEWS.md +++ b/NEWS.md @@ -3,7 +3,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). -## [Unreleased] +## [3.0.0] - 2024-04-05 + +Project is now in maintenance mode. Occasional bug fixes and security patches will still be issued. + +Development efforts will concentrate on [Ultra](https://github.com/morinim/ultra) which is our new evolutionary algorithms framework with all the wonderful bells and whistles you could only hope for... + +So far it's in (pre) alpha state but please take a look at it, I'd love your feedback on it. ### Added - Support for concurrent access to the fitness cache (hash table). The current solution uses a global [(shared) lock](https://en.cppreference.com/w/cpp/thread/shared_lock). diff --git a/doc/doxygen/doxygen.h b/doc/doxygen/doxygen.h index bfbcb6d7..8be2672c 100644 --- a/doc/doxygen/doxygen.h +++ b/doc/doxygen/doxygen.h @@ -10,7 +10,7 @@ * You can obtain one at http://mozilla.org/MPL/2.0/ * * - * \mainpage VITA v2.1.0 + * \mainpage VITA v3.0.0 * * \section Introduction * Welcome to the Vita project. diff --git a/src/kernel/evolution_replacement.tcc b/src/kernel/evolution_replacement.tcc index a5ae5978..09dbeb62 100644 --- a/src/kernel/evolution_replacement.tcc +++ b/src/kernel/evolution_replacement.tcc @@ -2,7 +2,7 @@ * \file * \remark This file is part of VITA. * - * \copyright Copyright (C) 2013-2022 EOS di Manlio Morini. + * \copyright Copyright (C) 2013-2024 EOS di Manlio Morini. * * \license * This Source Code Form is subject to the terms of the Mozilla Public @@ -18,8 +18,8 @@ #define VITA_EVOLUTION_REPLACEMENT_TCC /// -/// \param[in] pop current population. -/// \param[in] eva current evaluator. +/// \param[in] pop current population +/// \param[in] eva current evaluator /// template strategy::strategy(population &pop, evaluator &eva) : pop_(pop), @@ -92,17 +92,18 @@ void family_competition::run( } /// -/// \param[in] parent coordinates of the candidate parents. Many selection -/// algorithms sort the vector in descending fitness (with -/// some exceptions, e.g. selection::random). -/// Anyway here we assume that the last element contains the -/// coordinates of the worst individual of the selection -/// phase. -/// \param[in] offspring vector of the "children". -/// \param[in,out] s statistical summary. +/// \param[in] parent coordinates of the candidate parents. Many +/// selection algorithms sort the vector in descending +/// fitness (with some exceptions, e.g. +/// `selection::random`). +/// Anyway here we assume that the last element +/// contains the coordinates of the worst individual +/// of the selection phase +/// \param[in] offspring vector of the "children" +/// \param[in,out] s statistical summary /// /// Parameters from the environment: -/// * elitism is `true` => child replaces a member of the population only if +/// - elitism is `true` => child replaces a member of the population only if /// child is better. /// template @@ -118,13 +119,6 @@ void tournament::run( // In old versions of Vita, the individual to be replaced was chosen with // an ad-hoc kill tournament. - // Now we perform just one tournament for choosing the parents; the - // individual to be replaced is selected among the worst individuals of - // this tournament. - // The new way is simpler and more general. Note that when tournament_size - // is greater than 2 we perform a traditional selection / replacement - // scheme; if it's smaller we perform a family competition replacement - // (aka deterministic / probabilistic crowding). const auto rep_idx(parent.back()); const auto f_rep_idx(this->eva_(pop[rep_idx])); const bool replace(f_rep_idx < fit_off); diff --git a/src/setversion.py b/src/setversion.py index a15ff65d..9dca4f45 100755 --- a/src/setversion.py +++ b/src/setversion.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -# Copyright (C) 2017-2020 EOS di Manlio Morini. +# Copyright (C) 2017-2024 EOS di Manlio Morini. # # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this file, @@ -87,7 +87,7 @@ def main(): print("\n\nRELEASE NOTE\n") print("1. Build. cmake -DCMAKE_BUILD_TYPE=Release -B build/ src/ ; cmake --build build/") - print("2. Check. cd build/ ; ./tests") + print("2. Check. cd build/test ; ./tests") print('3. Commit. git commit -am "[DOC] Changed revision number to v' + version_str(args) + '"') print("4. Tag. git tag -a v" + version_str(args) + " -m \"tag message\"")