MAiNGO
ubpStructure.h
Go to the documentation of this file.
1 /**********************************************************************************
2  * Copyright (c) 2019 Process Systems Engineering (AVT.SVT), RWTH Aachen University
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License 2.0 which is available at
6  * http://www.eclipse.org/legal/epl-2.0.
7  *
8  * SPDX-License-Identifier: EPL-2.0
9  *
10  * @file ubpStructure.h
11  *
12  * @brief File containing definition of struct for storing information on the
13  * structure and sparsity patterns of problems for upper bounding.
14  *
15  **********************************************************************************/
16 
17 #pragma once
18 
19 #include "constraint.h"
20 
21 #include <utility>
22 #include <vector>
23 
24 
25 namespace maingo {
26 
27 
28 namespace ubp {
29 
30 
35 struct UbpStructure {
36 
37  //For information on sparsity structure see https://www.coin-or.org/Ipopt/documentation/node38.html
38  unsigned nnonZeroJac;
39  unsigned nnonZeroHessian;
40  std::vector<unsigned> nonZeroJacIRow;
41  std::vector<unsigned> nonZeroJacJCol;
42  std::vector<unsigned> nonZeroHessianIRow;
43  std::vector<unsigned> nonZeroHessianJCol;
44  std::vector<std::vector<std::pair<std::vector<unsigned>, CONSTRAINT_DEPENDENCY>>> jacProperties;
45 };
46 
47 
48 } // end namespace ubp
49 
50 
51 } // end namespace maingo
std::vector< unsigned > nonZeroHessianJCol
Definition: ubpStructure.h:43
std::vector< unsigned > nonZeroHessianIRow
Definition: ubpStructure.h:42
CONSTRAINT_DEPENDENCY
Enum for representing the constraint dependency. Note that the dependency is increasing meaning that ...
Definition: constraint.h:81
std::vector< unsigned > nonZeroJacIRow
Definition: ubpStructure.h:40
std::vector< std::vector< std::pair< std::vector< unsigned >, CONSTRAINT_DEPENDENCY > > > jacProperties
Definition: ubpStructure.h:44
unsigned nnonZeroHessian
Definition: ubpStructure.h:39
namespace holding all essentials of MAiNGO
Definition: aleModel.h:31
Struct for storing structure information for the upper bounding solver.
Definition: ubpStructure.h:35
unsigned nnonZeroJac
Definition: ubpStructure.h:38
std::vector< unsigned > nonZeroJacJCol
Definition: ubpStructure.h:41