MAiNGO
program.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 progam.h
11  *
12  * @brief File declaring the Program struct for storing ALE objects describing an
13  * optimization problem.
14  *
15  **********************************************************************************/
16 
17 #pragma once
18 
19 #include "expression.hpp"
20 
21 #include <list>
22 
23 namespace maingo {
24 
29 struct Program {
30  ale::expression<ale::real<0>> mObjective;
31  std::list<ale::expression<ale::boolean<0>>> mConstraints;
32  std::list<ale::expression<ale::boolean<0>>> mRelaxations;
33  std::list<ale::expression<ale::boolean<0>>> mSquashes;
34  std::list<ale::expression<ale::real<0>>> mOutputs;
35 };
36 
37 
38 } // namespace maingo
ale::expression< ale::real< 0 > > mObjective
Definition: program.h:30
Container Class for ALE expressions comprising an optimization problem.
Definition: program.h:29
std::list< ale::expression< ale::boolean< 0 > > > mSquashes
Definition: program.h:33
namespace holding all essentials of MAiNGO
Definition: aleModel.h:31
std::list< ale::expression< ale::boolean< 0 > > > mRelaxations
Definition: program.h:32
std::list< ale::expression< ale::boolean< 0 > > > mConstraints
Definition: program.h:31
std::list< ale::expression< ale::real< 0 > > > mOutputs
Definition: program.h:34