Minotaur 0.4.1
Docs for developers
HessianOfLag.h
Go to the documentation of this file.
1//
2// Minotaur -- It's only 1/2 bull
3//
4// (C)opyright 2009 - 2025 The Minotaur Team.
5//
6
14#ifndef MINOTAURHESSIAN_H
15#define MINOTAURHESSIAN_H
16
17#include "Types.h"
18
19namespace Minotaur {
20
21 struct LTHessStor {
22 UInt nz;
23 UInt nlVars;
24 VariablePtr *rows;
25 std::deque<UInt> *colQs;
26 UInt *cols;
27 UInt *starts;
28 };
29
30
48 public:
51
53
59 //HessianOfLag(ConstObjPtr obj, const ConstraintVector & cons,
60 // const UInt n);
61
63 virtual ~HessianOfLag();
64
69 virtual UInt getNumNz() const;
70
81 virtual void fillRowColIndices(UInt *irow, UInt *jcol);
82
89 virtual void fillRowColValues(const double *x, double obj_mult,
90 const double *con_mult, double *values,
91 int *error);
92
94 virtual void negateObj() {};
95
96 virtual void setupRowCol();
97
98 virtual void write(std::ostream &out) const;
99
100 private:
105 double etol_;
106
107 FunctionPtr obj_;
108
122 Problem *p_;
123 LTHessStor stor_;
124
125 };
126
127 typedef HessianOfLag* HessianOfLagPtr;
128 typedef const HessianOfLag* ConstHessianOfLagPtr;
129
130}
131#endif
132
Declare important 'types' used in Minotaur.
Definition: Function.h:37
Definition: HessianOfLag.h:47
virtual UInt getNumNz() const
Definition: HessianOfLag.cpp:75
virtual ~HessianOfLag()
Destroy.
Definition: HessianOfLag.cpp:62
virtual void fillRowColValues(const double *x, double obj_mult, const double *con_mult, double *values, int *error)
Definition: HessianOfLag.cpp:96
HessianOfLag()
Default constructor.
Definition: HessianOfLag.cpp:30
virtual void negateObj()
Ugly hack to solve maximization problem. TODO: delete it.
Definition: HessianOfLag.h:94
virtual void fillRowColIndices(UInt *irow, UInt *jcol)
Definition: HessianOfLag.cpp:81
Definition: Problem.h:74
Definition: Variable.h:31
Definition: ActiveNodeStore.h:20
unsigned int UInt
Unsigned integer.
Definition: Types.h:30
Definition: HessianOfLag.h:21

Minotaur source code documented by Doxygen 1.9.4 on Thu Apr 24 2025