Go to the documentation of this file.
00001 /* 00002 * Lurupa, a library for verified linear programming. 00003 * Copyright (C) 2006 by Christian Keil 00004 * 00005 * This file is part of Lurupa. 00006 * 00007 * Lurupa is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU Lesser General Public 00009 * License as published by the Free Software Foundation; either 00010 * version 2.1 of the License, or (at your option) any later version. 00011 * 00012 * This library is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 * Lesser General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public 00018 * License along with this library; if not, write to the Free Software 00019 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 00020 * USA 00021 */ 00022 00034 #ifndef LURUPA_LP_H 00035 #define LURUPA_LP_H 00036 00037 #include <lurupa/globals.h> 00038 #include <lurupa/Lurupa.h> 00039 #include <lurupa/Solver_module.h> 00040 #include <IntervalMatrix.h> 00041 00042 #include <IntervalVector.h> 00043 00051 struct Primal_deflation { 00052 VECTOR a; 00054 VECTOR xl; 00055 VECTOR xu; 00056 }; 00057 00066 class LU_LURUPA_SCOPE Lp { 00067 public: 00068 INTERVAL_MATRIX IA; 00069 INTERVAL_MATRIX IB; 00071 INTERVAL_VECTOR ia; 00072 INTERVAL_VECTOR ib; 00073 INTERVAL_VECTOR ic; 00074 VECTOR xl; 00075 VECTOR xu; 00076 INTERVAL_VECTOR ix; 00078 INTERVAL_VECTOR iy; 00080 INTERVAL_VECTOR iz; 00082 REAL infinite; 00084 int free_variables_size; 00085 int *free_variables; 00086 int non_fixed_vars; 00087 Solver_status feasibility; 00088 bool maximize; 00090 char *name; 00092 Lp_solver *module; 00094 Lurupa *lurupa; 00097 Lp(); 00099 Lp(Lurupa *lurupa); 00100 00102 ~Lp(); 00103 00105 void set_lurupa(Lurupa *lurupa); 00106 00108 bool is_consistent() const; 00109 }; 00110 00111 #endif /* LURUPA_LP_H */