MOOCHO (Single Doxygen Collection)
Version of the Day
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
src
ConstrainedOptPack
src
qpsolvers
ConstrainedOptPack_QPSolverStats.hpp
Go to the documentation of this file.
1
// @HEADER
2
// ***********************************************************************
3
//
4
// Moocho: Multi-functional Object-Oriented arCHitecture for Optimization
5
// Copyright (2003) Sandia Corporation
6
//
7
// Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
8
// license for use of this work by or on behalf of the U.S. Government.
9
//
10
// Redistribution and use in source and binary forms, with or without
11
// modification, are permitted provided that the following conditions are
12
// met:
13
//
14
// 1. Redistributions of source code must retain the above copyright
15
// notice, this list of conditions and the following disclaimer.
16
//
17
// 2. Redistributions in binary form must reproduce the above copyright
18
// notice, this list of conditions and the following disclaimer in the
19
// documentation and/or other materials provided with the distribution.
20
//
21
// 3. Neither the name of the Corporation nor the names of the
22
// contributors may be used to endorse or promote products derived from
23
// this software without specific prior written permission.
24
//
25
// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
26
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
29
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
32
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
34
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36
//
37
// Questions? Contact Roscoe A. Bartlett (rabartl@sandia.gov)
38
//
39
// ***********************************************************************
40
// @HEADER
41
42
#ifndef COP_QP_SOLVER_STATS_H
43
#define COP_QP_SOLVER_STATS_H
44
45
#include "
ConstrainedOptPack_Types.hpp
"
46
47
namespace
ConstrainedOptPack {
48
51
class
QPSolverStats
{
52
public
:
53
54
// Public types
55
57
enum
{
NOT_KNOWN
= -1 };
58
60
enum
ESolutionType
{
61
SOLUTION_TYPE_NOT_KNOWN
=
static_cast<
int
>
(
NOT_KNOWN
),
62
OPTIMAL_SOLUTION
= 0,
63
PRIMAL_FEASIBLE_POINT
= 1,
64
DUAL_FEASIBLE_POINT
= 2,
65
SUBOPTIMAL_POINT
= 3
66
};
68
enum
EConvexity
{
69
CONVEXITY_NOT_KNOWN
=
static_cast<
int
>
(
NOT_KNOWN
),
70
CONVEX
= 0,
71
NONCONVEX
= 1
72
};
73
74
// Public interface
75
77
QPSolverStats
()
78
:
solution_type_
(
SOLUTION_TYPE_NOT_KNOWN
)
79
,
convexity_
(
CONVEXITY_NOT_KNOWN
)
80
,
num_qp_iter_
(
NOT_KNOWN
)
81
,
num_adds_
(
NOT_KNOWN
),
num_drops_
(
NOT_KNOWN
)
82
,
warm_start_
(false),
infeasible_qp_
(false)
83
{}
85
void
set_stats
(
86
ESolutionType
solution_type
,
EConvexity
convexity
87
,
int
num_qp_iter
,
int
num_adds
,
int
num_drops
88
,
bool
warm_start
,
bool
infeasible_qp
)
89
{
90
solution_type_
=
solution_type
;
91
convexity_
=
convexity
;
92
num_qp_iter_
=
num_qp_iter
;
93
num_adds_
=
num_adds
;
94
num_drops_
= num_drops;
95
warm_start_
=
warm_start
;
96
infeasible_qp_
=
infeasible_qp
;
97
}
99
ESolutionType
solution_type
()
const
100
{
101
return
solution_type_
;
102
}
104
EConvexity
convexity
()
const
105
{
106
return
convexity_
;
107
}
109
int
num_qp_iter
()
const
110
{
111
return
num_qp_iter_
;
112
}
114
int
num_adds
()
const
115
{
116
return
num_adds_
;
117
}
119
int
num_drop
()
const
120
{
121
return
num_drops_
;
122
}
124
int
warm_start
()
const
125
{
126
return
warm_start_
;
127
}
129
int
infeasible_qp
()
const
130
{
131
return
infeasible_qp_
;
132
}
133
134
private
:
135
ESolutionType
solution_type_
;
136
EConvexity
convexity_
;
137
int
num_qp_iter_
;
138
int
num_adds_
;
139
int
num_drops_
;
140
bool
warm_start_
;
141
bool
infeasible_qp_
;
142
143
};
// end class QPSolverStats
144
145
inline
146
std::string
toString
(
const
QPSolverStats::ESolutionType
&
solution_type
)
147
{
148
switch
(solution_type) {
149
case
QPSolverStats::SOLUTION_TYPE_NOT_KNOWN
:
150
return
"SOLUTION_TYPE_NOT_KNOWN"
;
151
break
;
152
case
QPSolverStats::OPTIMAL_SOLUTION
:
153
return
"OPTIMAL_SOLUTION"
;
154
break
;
155
case
QPSolverStats::PRIMAL_FEASIBLE_POINT
:
156
return
"PRIMAL_FEASIBLE_POINT"
;
157
break
;
158
case
QPSolverStats::DUAL_FEASIBLE_POINT
:
159
return
"DUAL_FEASIBLE_POINT"
;
160
break
;
161
case
QPSolverStats::SUBOPTIMAL_POINT
:
162
return
"SUBOPTIMAL_POINT"
;
163
break
;
164
default
:
165
TEUCHOS_TEST_FOR_EXCEPT
(
true
);
166
}
167
}
168
169
}
// end namespace ConstrainedOptPack
170
171
#endif // COP_QP_SOLVER_STATS_H
ConstrainedOptPack::QPSolverStats::warm_start_
bool warm_start_
Definition:
ConstrainedOptPack_QPSolverStats.hpp:140
ConstrainedOptPack::QPSolverStats::set_stats
void set_stats(ESolutionType solution_type, EConvexity convexity, int num_qp_iter, int num_adds, int num_drops, bool warm_start, bool infeasible_qp)
Initialize the statistics.
Definition:
ConstrainedOptPack_QPSolverStats.hpp:85
ConstrainedOptPack::QPSolverStats::num_drops_
int num_drops_
Definition:
ConstrainedOptPack_QPSolverStats.hpp:139
ConstrainedOptPack_Types.hpp
ConstrainedOptPack::QPSolverStats::infeasible_qp_
bool infeasible_qp_
Definition:
ConstrainedOptPack_QPSolverStats.hpp:141
ConstrainedOptPack::QPSolverStats::CONVEX
Definition:
ConstrainedOptPack_QPSolverStats.hpp:70
ConstrainedOptPack::QPSolverStats::convexity
EConvexity convexity() const
Definition:
ConstrainedOptPack_QPSolverStats.hpp:104
ConstrainedOptPack::QPSolverStats::EConvexity
EConvexity
Enumeration for the type of projected QP on output.
Definition:
ConstrainedOptPack_QPSolverStats.hpp:68
ConstrainedOptPack::QPSolverStats::QPSolverStats
QPSolverStats()
Construct all unknowns.
Definition:
ConstrainedOptPack_QPSolverStats.hpp:77
ConstrainedOptPack::QPSolverStats::CONVEXITY_NOT_KNOWN
Definition:
ConstrainedOptPack_QPSolverStats.hpp:69
ConstrainedOptPack::toString
std::string toString(const QPSolverStats::ESolutionType &solution_type)
Definition:
ConstrainedOptPack_QPSolverStats.hpp:146
ConstrainedOptPack::QPSolverStats::infeasible_qp
int infeasible_qp() const
Definition:
ConstrainedOptPack_QPSolverStats.hpp:129
ConstrainedOptPack::QPSolverStats::num_adds_
int num_adds_
Definition:
ConstrainedOptPack_QPSolverStats.hpp:138
ConstrainedOptPack::QPSolverStats::SUBOPTIMAL_POINT
Definition:
ConstrainedOptPack_QPSolverStats.hpp:65
ConstrainedOptPack::QPSolverStats::OPTIMAL_SOLUTION
Definition:
ConstrainedOptPack_QPSolverStats.hpp:62
ConstrainedOptPack::QPSolverStats::solution_type_
ESolutionType solution_type_
Definition:
ConstrainedOptPack_QPSolverStats.hpp:135
ConstrainedOptPack::QPSolverStats::DUAL_FEASIBLE_POINT
Definition:
ConstrainedOptPack_QPSolverStats.hpp:64
ConstrainedOptPack::QPSolverStats::num_qp_iter_
int num_qp_iter_
Definition:
ConstrainedOptPack_QPSolverStats.hpp:137
ConstrainedOptPack::QPSolverStats::num_drop
int num_drop() const
Definition:
ConstrainedOptPack_QPSolverStats.hpp:119
ConstrainedOptPack::QPSolverStats
Class for storing statistics about a run of a (active set?) QP solver.
Definition:
ConstrainedOptPack_QPSolverStats.hpp:51
ConstrainedOptPack::QPSolverStats::NONCONVEX
Definition:
ConstrainedOptPack_QPSolverStats.hpp:71
ConstrainedOptPack::QPSolverStats::num_qp_iter
int num_qp_iter() const
Definition:
ConstrainedOptPack_QPSolverStats.hpp:109
ConstrainedOptPack::QPSolverStats::NOT_KNOWN
Definition:
ConstrainedOptPack_QPSolverStats.hpp:57
ConstrainedOptPack::QPSolverStats::warm_start
int warm_start() const
Definition:
ConstrainedOptPack_QPSolverStats.hpp:124
ConstrainedOptPack::QPSolverStats::SOLUTION_TYPE_NOT_KNOWN
Definition:
ConstrainedOptPack_QPSolverStats.hpp:61
ConstrainedOptPack::QPSolverStats::PRIMAL_FEASIBLE_POINT
Definition:
ConstrainedOptPack_QPSolverStats.hpp:63
ConstrainedOptPack::QPSolverStats::ESolutionType
ESolutionType
Enumeration for the type of point returned from solve_qp(...).
Definition:
ConstrainedOptPack_QPSolverStats.hpp:60
TEUCHOS_TEST_FOR_EXCEPT
#define TEUCHOS_TEST_FOR_EXCEPT(throw_exception_test)
ConstrainedOptPack::QPSolverStats::convexity_
EConvexity convexity_
Definition:
ConstrainedOptPack_QPSolverStats.hpp:136
ConstrainedOptPack::QPSolverStats::solution_type
ESolutionType solution_type() const
Definition:
ConstrainedOptPack_QPSolverStats.hpp:99
ConstrainedOptPack::QPSolverStats::num_adds
int num_adds() const
Definition:
ConstrainedOptPack_QPSolverStats.hpp:114
Generated on Wed Dec 2 2015 08:50:25 for MOOCHO (Single Doxygen Collection) by
1.8.6