00001 //===========================================================================// 00002 // This file is part of the Decomp Solver Framework. // 00003 // // 00004 // Decomp is distributed under the Common Public License as part of the // 00005 // COIN-OR repository (http://www.coin-or.org). // 00006 // // 00007 // Author: Matthew Galati, Lehigh University // 00008 // // 00009 // Copyright (C) 2002-2013, Lehigh University, Matthew Galati, and Ted Ralphs// 00010 // All Rights Reserved. // 00011 //===========================================================================// 00012 00013 #ifndef SMALLIP_DECOMPAPP2_INCLUDED 00014 #define SMALLIP_DECOMPAPP2_INCLUDED 00015 00016 //===========================================================================// 00017 #include "DecompApp.h" 00018 00019 //===========================================================================// 00028 //===========================================================================// 00029 class SmallIP_DecompApp : public DecompApp { 00030 private: 00032 const string m_classTag; 00033 00035 double * m_objective; 00036 00038 DecompConstraintSet m_modelPart1; 00039 DecompConstraintSet m_modelPart2; 00040 00042 OsiIpSolverInterface m_osi; 00043 00044 public: 00047 /* Create models. */ 00048 void createModels(); 00049 00050 public: 00051 /* @name Inherited (from virtual) methods. */ 00052 virtual int generateInitVars(DecompVarList & initVars); 00053 virtual DecompSolverStatus solveRelaxed(const int whichBlock, 00054 const double * redCostX, 00055 const double convexDual, 00056 DecompVarList & varList); 00057 00058 public: 00059 SmallIP_DecompApp(UtilParameters & utilParam) : 00060 DecompApp (utilParam), 00061 m_classTag ("SMALL-APP"), 00062 m_objective(NULL) 00063 { 00064 createModels(); 00065 } 00066 00067 virtual ~SmallIP_DecompApp() { 00068 UTIL_DELARR(m_objective); 00069 }; 00070 }; 00071 00072 #endif