MCF_Instance.h

Go to the documentation of this file.
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-2015, Lehigh University, Matthew Galati, and Ted Ralphs//
00010 // All Rights Reserved.                                                      //
00011 //===========================================================================//
00012 
00013 #ifndef MCF_INSTANCE_INCLUDED
00014 #define MCF_INSTANCE_INCLUDED
00015 
00016 //===========================================================================//
00017 #include "UtilMacros.h"
00018 //===========================================================================//
00019 class MCF_Param;
00020 using namespace std;
00021 //===========================================================================//
00022 
00023 //===========================================================================//
00036 //===========================================================================//
00037 class MCF_Instance {
00038 public:
00040    struct arc {
00041       int    tail;
00042       int    head;
00043       int    lb;
00044       int    ub;
00045       double weight;
00046    };
00047    struct commodity {
00048       int    source;
00049       int    sink;
00050       int    demand;
00051    };
00052    string            m_problemName;
00053    arc*              m_arcs;
00054    commodity*        m_commodities;
00055    int               m_numNodes;
00056    int               m_numArcs;
00057    int               m_numCommodities;
00058 
00059 public:
00061    int readInstance(string& fileName,
00062                     bool     addDummyArcs = true);
00063 
00064    inline void initMembers() {
00065       m_problemName     = "";
00066       m_arcs            = NULL;
00067       m_commodities     = NULL;
00068       m_numNodes        = 0;
00069       m_numArcs         = 0;
00070       m_numCommodities  = 0;
00071    }
00072 
00073 public:
00077    MCF_Instance() {
00078       initMembers();
00079    };
00080 
00082    MCF_Instance(string& fileName) {
00083       initMembers();
00084       readInstance(fileName);
00085    }
00086 
00088    ~MCF_Instance() {
00089       UTIL_DELARR(m_arcs);
00090       UTIL_DELARR(m_commodities);
00091    };
00092 };
00093 
00094 #endif

Generated on 5 Apr 2015 for Dip-All by  doxygen 1.6.1