/home/coin/SVN-release/CoinAll-1.1.0/Osi/src/OsiSym/SymWarmStart.hpp

Go to the documentation of this file.
00001 /*===========================================================================*/
00002 /*                                                                           */
00003 /* This file is part of the SYMPHONY Branch, Cut, and Price Callable         */
00004 /* Library.                                                                  */
00005 /*                                                                           */
00006 /* SYMPHONY was jointly developed by Ted Ralphs (tkralphs@lehigh.edu) and    */
00007 /* Laci Ladanyi (ladanyi@us.ibm.com).                                        */
00008 /*                                                                           */
00009 /* (c) Copyright 2004-2006 Ted Ralphs and Lehigh University.                 */
00010 /* All Rights Reserved.                                                      */
00011 /*                                                                           */
00012 /* The authors of this file are Menal Guzelsoy and Ted Ralphs                */
00013 /*                                                                           */
00014 /* This software is licensed under the Common Public License. Please see     */
00015 /* accompanying file for terms.                                              */
00016 /*                                                                           */
00017 /*===========================================================================*/
00018 
00019 #ifndef SymWarmStart_H
00020 #define SymWarmStart_H
00021 
00022 #include "CoinHelperFunctions.hpp"
00023 #include "CoinWarmStart.hpp"
00024 #include <iostream>
00025 #include "symphony.h"
00026 
00027 using namespace std;
00028 
00029 //#############################################################################
00030 
00031 class SymWarmStart : public CoinWarmStart 
00032 {
00033 
00034 public:
00035 
00036    /* Default constructor. Will do nothing! */
00037    SymWarmStart(){}
00038    
00039    /* Initialize the warmStart_ using the given warm start. If dominate
00040       WarmStart is set, then, SymWarmStart will take the control of the 
00041       given description, otherwise, will copy everything.
00042    */
00043    SymWarmStart(warm_start_desc * ws);
00044    
00045    /*Get the warmStart info from a file*/
00046    SymWarmStart(char *f);
00047    
00048    /* Copy constructor */
00049    SymWarmStart(const SymWarmStart & symWS);
00050 
00051    /* Destructor */
00052    virtual ~SymWarmStart();
00053 
00054    /* Clone the warmstart */
00055    virtual CoinWarmStart * clone() const; 
00056 
00057    /* Get the pointer to the loaded warmStart_ */
00058    virtual warm_start_desc * getCopyOfWarmStartDesc();
00059 
00060    /* Move the pointer to the rootnode of the warmStart to another
00061       node which will change the underlying tree 
00062    */
00063    // virtual void setRoot(bc_node *root) {} //FIX_ME! Ask Prof. Ralphs.
00064 
00065    /* Write the current warm start info to a file */
00066    virtual int writeToFile(char * f);
00067 
00068 private:
00069 
00070    /* Private warm start desc. to keep everything */
00071    warm_start_desc *warmStart_;
00072 
00073 };
00074 
00075 #endif

Generated on Sun Nov 14 14:06:40 2010 for Coin-All by  doxygen 1.4.7