AbstractMultiObjectiveOptimizer.h
Go to the documentation of this file.
1/*!
2 *
3 *
4 * \brief AbstractMultiObjectiveOptimizer
5 *
6 *
7 *
8 * \author T.Voss, T. Glasmachers, O.Krause
9 * \date 2010-2011
10 *
11 *
12 * \par Copyright 1995-2017 Shark Development Team
13 *
14 * <BR><HR>
15 * This file is part of Shark.
16 * <https://shark-ml.github.io/Shark/>
17 *
18 * Shark is free software: you can redistribute it and/or modify
19 * it under the terms of the GNU Lesser General Public License as published
20 * by the Free Software Foundation, either version 3 of the License, or
21 * (at your option) any later version.
22 *
23 * Shark is distributed in the hope that it will be useful,
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26 * GNU Lesser General Public License for more details.
27 *
28 * You should have received a copy of the GNU Lesser General Public License
29 * along with Shark. If not, see <http://www.gnu.org/licenses/>.
30 *
31 */
32#ifndef SHARK_OBJECTIVEFUNCTIONS_ABSTRACTMULTIOBJECTIVEOPTIMIZER_H
33#define SHARK_OBJECTIVEFUNCTIONS_ABSTRACTMULTIOBJECTIVEOPTIMIZER_H
34
37
38namespace shark {
39
40///\defgroup multidirect Multi-objective Direct-Search optimizers
41///\ingroup optimizers
42/// Group of optimization algorithms that find a pareto front of the solutions on a multi-objective function
43/// without using gradient information, only function values
44
45/// \brief base class for abstract multi-objective optimizers for arbitrary search spaces.
46///
47/// Models an abstract multi-objective optimizer for arbitrary search spaces. The objective space
48/// is assumed to be \f$ \mathbb{R}^m\f$.
49///
50/// \tparam PointType The type of the points that make up the searchspace.
51/// \ingroup optimizers
52template<typename PointTypeT>
55 PointTypeT,
56 RealVector,
57 std::vector< ResultSet< PointTypeT, RealVector > >
58> {
59private:
60typedef AbstractOptimizer<
61 PointTypeT,
62 RealVector,
63 std::vector< ResultSet< PointTypeT, RealVector > >
64> super;
65public:
69
70 /// \brief Accesses the current approximation of the Pareto-set and -front, respectively.
71 /// \returns The current set of candidate solutions.
72 SolutionType const& solution() const {
73 return m_best;
74 }
75
76protected:
77 SolutionType m_best; ///< The current Pareto-set/-front.
78};
79
80}
81#endif