Shark machine learning library
Installation
Tutorials
Benchmarks
Documentation
Quick references
Class list
Global functions
include
shark
Algorithms
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
35
#include <
shark/Algorithms/AbstractOptimizer.h
>
36
#include <
shark/Core/ResultSets.h
>
37
38
namespace
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
52
template
<
typename
Po
int
TypeT>
53
class
AbstractMultiObjectiveOptimizer
:
54
public
AbstractOptimizer
<
55
PointTypeT,
56
RealVector,
57
std::vector< ResultSet< PointTypeT, RealVector > >
58
> {
59
private
:
60
typedef
AbstractOptimizer
<
61
PointTypeT,
62
RealVector,
63
std::vector< ResultSet< PointTypeT, RealVector > >
64
>
super
;
65
public
:
66
typedef
typename
super::SearchPointType
SearchPointType
;
67
typedef
typename
super::SolutionType
SolutionType
;
68
typedef
typename
super::ObjectiveFunctionType
ObjectiveFunctionType
;
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
76
protected
:
77
SolutionType
m_best
;
///< The current Pareto-set/-front.
78
};
79
80
}
81
#endif