#include "local_search_concepts.hpp"
#include "paal/utils/fusion_algorithms.hpp"
#include "paal/utils/infinity.hpp"
#include "paal/data_structures/components/component_traits.hpp"
#include <boost/fusion/include/vector.hpp>
#include <boost/range/algorithm/max_element.hpp>
#include <utility>
#include <algorithm>
#include <functional>
Go to the source code of this file.
Classes | |
struct | paal::local_search::find_positive_predicate |
this predicates returns true if there is a move with positive gain and the commit was successful More... | |
struct | paal::local_search::first_improving_strategy |
This strategy uses find_positive_predicate as stop condition. More... | |
struct | paal::local_search::max_functor |
functor used in fold in order to find the most improving move. More... | |
struct | paal::local_search::best_improving_strategy |
This strategy chooses the best possible move and if it is improving applies it to the solution. More... | |
struct | paal::local_search::best_strategy |
This strategy chooses the best possible move and applies it to the solution. Note that this strategy might commit non-improving moves. More... | |
struct | paal::local_search::detail::local_search_concepts< Solution, SearchComponentsPack > |
struct | paal::local_search::detail::local_search_concepts< Solution, SearchComponents, SearchComponentsPack...> |
struct | paal::local_search::detail::local_search_concepts< Solution > |
Namespaces | |
paal | |
global namespace of project. | |
paal::local_search | |
Local Search namespace. | |
paal::local_search::detail | |
Detail of Local Search namespace. | |
Functions | |
template<typename Delta > | |
bool | paal::local_search::detail::positive_delta (Delta &&d) |
template<typename SearchStrategy , typename ContinueOnSuccess , typename ContinueOnFail , typename Solution , typename... components> | |
bool | paal::local_search::local_search (Solution &solution, SearchStrategy searchStrategy, ContinueOnSuccess succ, ContinueOnFail fail, components...comps) |
detail More... | |
template<typename Solution , typename... components> | |
bool | paal::local_search::first_improving (Solution &solution, components...comps) |
template<typename Solution , typename... components> | |
bool | paal::local_search::best_improving (Solution &solution, components...comps) |
This local search chooses the best possible move and if the move is improving applies it to the solution. More... | |
template<typename Solution , typename ContinueOnSuccess , typename... components> | |
bool | paal::local_search::best (Solution &solution, ContinueOnSuccess on_success, components...comps) |
This local search chooses the best possible move and applies it to the solution. Note that this strategy might commit non-improving moves. More... | |