/home/coin/SVN-release/OS-2.4.1/Bcp/examples/MCF-3/Member/MCF3.cpp

Go to the documentation of this file.
00001 #include "MCF3_par.hpp"
00002 #include "MCF3_init.hpp"
00003 #include "MCF3_tm.hpp"
00004 #include "MCF3_lp.hpp"
00005 
00006 using std::make_pair;
00007 
00008 //#############################################################################
00009 
00010 int main(int argc, char* argv[])
00011 {
00012   MCF3_init init;
00013   return bcp_main(argc, argv, &init);
00014 }
00015 
00016 //#############################################################################
00017 
00018 template <>
00019 void BCP_parameter_set<MCF3_par>::create_keyword_list()
00020 {
00021   // Create the list of keywords for parameter file reading
00022   keys.push_back(make_pair(BCP_string("MCF3_AddDummySourceSinkArcs"),
00023                            BCP_parameter(BCP_CharPar, AddDummySourceSinkArcs)));
00024   keys.push_back(make_pair(BCP_string("MCF3_InputFilename"),
00025                            BCP_parameter(BCP_StringPar, InputFilename)));
00026 }
00027 
00028 template <>
00029 void BCP_parameter_set<MCF3_par>::set_default_entries()
00030 {
00031   set_entry(InputFilename, "small");
00032   set_entry(AddDummySourceSinkArcs, true);
00033 }
00034 
00035 //#############################################################################
00036 
00037 USER_initialize * BCP_user_init()
00038 {
00039   return new MCF3_init;
00040 }
00041 
00042 /*---------------------------------------------------------------------------*/
00043 
00044 BCP_user_pack*
00045 MCF3_init::packer_init(BCP_user_class* p)
00046 {
00047   return new MCF3_packer;
00048 }
00049 
00050 /*---------------------------------------------------------------------------*/
00051 
00052 BCP_tm_user *
00053 MCF3_init::tm_init(BCP_tm_prob& p,
00054                    const int argnum, const char * const * arglist)
00055 {
00056   MCF3_tm* tm = new MCF3_tm;
00057   tm->par.read_from_arglist(argnum, arglist);
00058   std::ifstream ifs(tm->par.entry(MCF3_par::InputFilename).c_str());
00059   tm->data.readDimacsFormat(ifs,
00060                             tm->par.entry(MCF3_par::AddDummySourceSinkArcs));
00061   return tm;
00062 }
00063 
00064 /*---------------------------------------------------------------------------*/
00065 
00066 BCP_lp_user *
00067 MCF3_init::lp_init(BCP_lp_prob& p)
00068 {
00069   return new MCF3_lp;
00070 }

Generated on Thu Nov 10 03:05:37 2011 by  doxygen 1.4.7