ROL
Toggle main menu visibility
Loading...
Searching...
No Matches
src
function
objective
ROL_ObjectiveFromConstraint.hpp
Go to the documentation of this file.
1
// @HEADER
2
// *****************************************************************************
3
// Rapid Optimization Library (ROL) Package
4
//
5
// Copyright 2014 NTESS and the ROL contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
#ifndef ROL_OBJECTIVE_FROM_CONSTRAINT_H
11
#define ROL_OBJECTIVE_FROM_CONSTRAINT_H
12
13
#include "
ROL_Objective.hpp
"
14
#include "
ROL_Constraint.hpp
"
15
23
24
namespace
ROL
{
25
26
template
<
typename
Real>
27
class
ObjectiveFromConstraint
:
public
Objective
<Real> {
28
private
:
29
Ptr<Constraint<Real>>
con_
;
30
Ptr<Vector<Real>>
l_
;
// Lagrange multiplier
31
Ptr<Vector<Real>>
c_
;
// Constraint vector
32
33
public
:
34
virtual
~ObjectiveFromConstraint
() {}
35
ObjectiveFromConstraint
(
const
Ptr<
Constraint<Real>
> &con,
36
const
Vector<Real>
&l );
37
38
void
update
(
const
Vector<Real>
&x,
UpdateType
type,
int
iter = -1 )
override
;
39
void
update
(
const
Vector<Real>
&x,
bool
flag =
true
,
int
iter = -1 )
override
;
40
Real
value
(
const
Vector<Real>
&x, Real &tol )
override
;
41
void
gradient
(
Vector<Real>
&g,
const
Vector<Real>
&x, Real &tol )
override
;
42
void
hessVec
(
Vector<Real>
&hv,
const
Vector<Real>
&v,
const
Vector<Real>
&x, Real &tol )
override
;
43
void
updateMultiplier
(
const
Vector<Real>
&l );
44
45
};
// class ObjectiveFromConstraint
46
47
}
// namespace ROL
48
49
#include "
ROL_ObjectiveFromConstraint_Def.hpp
"
50
51
#endif
// ROL_OBJECTIVE_FROM_CONSTRAINT_H
ROL_Constraint.hpp
ROL_ObjectiveFromConstraint_Def.hpp
ROL_Objective.hpp
ROL::Constraint
Defines the general constraint operator interface.
Definition
ROL_Constraint.hpp:52
ROL::ObjectiveFromConstraint::hessVec
void hessVec(Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
Definition
ROL_ObjectiveFromConstraint_Def.hpp:45
ROL::ObjectiveFromConstraint::value
Real value(const Vector< Real > &x, Real &tol) override
Definition
ROL_ObjectiveFromConstraint_Def.hpp:33
ROL::ObjectiveFromConstraint::update
void update(const Vector< Real > &x, UpdateType type, int iter=-1) override
Definition
ROL_ObjectiveFromConstraint_Def.hpp:23
ROL::ObjectiveFromConstraint::c_
Ptr< Vector< Real > > c_
Definition
ROL_ObjectiveFromConstraint.hpp:31
ROL::ObjectiveFromConstraint::gradient
void gradient(Vector< Real > &g, const Vector< Real > &x, Real &tol) override
Definition
ROL_ObjectiveFromConstraint_Def.hpp:40
ROL::ObjectiveFromConstraint::updateMultiplier
void updateMultiplier(const Vector< Real > &l)
Definition
ROL_ObjectiveFromConstraint_Def.hpp:50
ROL::ObjectiveFromConstraint::ObjectiveFromConstraint
ObjectiveFromConstraint(const Ptr< Constraint< Real > > &con, const Vector< Real > &l)
Definition
ROL_ObjectiveFromConstraint_Def.hpp:16
ROL::ObjectiveFromConstraint::~ObjectiveFromConstraint
virtual ~ObjectiveFromConstraint()
Definition
ROL_ObjectiveFromConstraint.hpp:34
ROL::ObjectiveFromConstraint::l_
Ptr< Vector< Real > > l_
Definition
ROL_ObjectiveFromConstraint.hpp:30
ROL::ObjectiveFromConstraint::con_
Ptr< Constraint< Real > > con_
Definition
ROL_ObjectiveFromConstraint.hpp:29
ROL::ROL::Objective::Objective
Objective()
Definition
ROL_Constraint_SerialSimOpt.hpp:53
ROL::Vector
Defines the linear algebra or vector space interface.
Definition
ROL_Vector.hpp:51
ROL
Definition
ROL_ElementwiseVector.hpp:27
ROL::UpdateType
UpdateType
Definition
ROL_UpdateType.hpp:18
Generated by
1.17.0