ROL
Toggle main menu visibility
Loading...
Searching...
No Matches
src
function
polyproj
ROL_PolyhedralProjection.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_POLYHEDRALPROJECTION_H
11
#define ROL_POLYHEDRALPROJECTION_H
12
13
#include "
ROL_BoundConstraint.hpp
"
14
#include "
ROL_Constraint.hpp
"
15
#include <iostream>
16
17
namespace
ROL
{
18
19
template
<
typename
Real>
20
class
PolyhedralProjection
{
21
protected
:
22
const
Ptr<BoundConstraint<Real>>
bnd_
;
23
const
Ptr<Constraint<Real>>
con_
;
24
Ptr<Vector<Real>>
xprim_
,
xdual_
,
mul_
,
res_
;
25
26
public
:
27
virtual
~PolyhedralProjection
() {}
28
29
PolyhedralProjection
(
const
Ptr<
BoundConstraint<Real>
> &bnd);
30
31
PolyhedralProjection
(
const
Vector<Real>
&xprim,
32
const
Vector<Real>
&xdual,
33
const
Ptr<
BoundConstraint<Real>
> &bnd,
34
const
Ptr<
Constraint<Real>
> &con,
35
const
Vector<Real>
&mul,
36
const
Vector<Real>
&res);
37
38
virtual
void
project
(
Vector<Real>
&x, std::ostream &stream = std::cout);
39
40
const
Ptr<Constraint<Real>>
getLinearConstraint
(
void
)
const
;
41
42
const
Ptr<BoundConstraint<Real>>
getBoundConstraint
(
void
)
const
;
43
44
const
Ptr<Vector<Real>>
getMultiplier
(
void
)
const
;
45
46
const
Ptr<Vector<Real>>
getResidual
(
void
)
const
;
47
48
};
// class PolyhedralProjection
49
50
}
// namespace ROL
51
52
#include "
ROL_PolyhedralProjection_Def.hpp
"
53
54
#endif
ROL_BoundConstraint.hpp
ROL_Constraint.hpp
ROL_PolyhedralProjection_Def.hpp
ROL::BoundConstraint
Provides the interface to apply upper and lower bound constraints.
Definition
ROL_BoundConstraint.hpp:39
ROL::Constraint
Defines the general constraint operator interface.
Definition
ROL_Constraint.hpp:52
ROL::PolyhedralProjection::getBoundConstraint
const Ptr< BoundConstraint< Real > > getBoundConstraint(void) const
Definition
ROL_PolyhedralProjection_Def.hpp:49
ROL::PolyhedralProjection::con_
const Ptr< Constraint< Real > > con_
Definition
ROL_PolyhedralProjection.hpp:23
ROL::PolyhedralProjection::xprim_
Ptr< Vector< Real > > xprim_
Definition
ROL_PolyhedralProjection.hpp:24
ROL::PolyhedralProjection::bnd_
const Ptr< BoundConstraint< Real > > bnd_
Definition
ROL_PolyhedralProjection.hpp:22
ROL::PolyhedralProjection::project
virtual void project(Vector< Real > &x, std::ostream &stream=std::cout)
Definition
ROL_PolyhedralProjection_Def.hpp:34
ROL::PolyhedralProjection::mul_
Ptr< Vector< Real > > mul_
Definition
ROL_PolyhedralProjection.hpp:24
ROL::PolyhedralProjection::getResidual
const Ptr< Vector< Real > > getResidual(void) const
Definition
ROL_PolyhedralProjection_Def.hpp:59
ROL::PolyhedralProjection::xdual_
Ptr< Vector< Real > > xdual_
Definition
ROL_PolyhedralProjection.hpp:24
ROL::PolyhedralProjection::~PolyhedralProjection
virtual ~PolyhedralProjection()
Definition
ROL_PolyhedralProjection.hpp:27
ROL::PolyhedralProjection::getMultiplier
const Ptr< Vector< Real > > getMultiplier(void) const
Definition
ROL_PolyhedralProjection_Def.hpp:54
ROL::PolyhedralProjection::res_
Ptr< Vector< Real > > res_
Definition
ROL_PolyhedralProjection.hpp:24
ROL::PolyhedralProjection::PolyhedralProjection
PolyhedralProjection(const Ptr< BoundConstraint< Real > > &bnd)
Definition
ROL_PolyhedralProjection_Def.hpp:16
ROL::PolyhedralProjection::getLinearConstraint
const Ptr< Constraint< Real > > getLinearConstraint(void) const
Definition
ROL_PolyhedralProjection_Def.hpp:44
ROL::Vector
Defines the linear algebra or vector space interface.
Definition
ROL_Vector.hpp:51
ROL
Definition
ROL_ElementwiseVector.hpp:27
Generated by
1.17.0