/home/coin/SVN-release/Osi-0.95.1/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 <iostream>
00023 
00024 #include "CoinHelperFunctions.hpp"
00025 #include "CoinWarmStart.hpp"
00026 #include "symphony.h"
00027 
00028 using namespace std;
00029 
00030 //#############################################################################
00031 
00032 class SymWarmStart : public CoinWarmStart 
00033 {
00034 
00035 public:
00036 
00037    /* Default constructor. Will do nothing! */
00038    SymWarmStart(){}
00039    
00040    /* Initialize the warmStart_ using the given warm start. If dominate
00041       WarmStart is set, then, SymWarmStart will take the control of the 
00042       given description, otherwise, will copy everything.
00043    */
00044    SymWarmStart(warm_start_desc * ws);
00045    
00046    /*Get the warmStart info from a file*/
00047    SymWarmStart(char *f);
00048    
00049    /* Copy constructor */
00050    SymWarmStart(const SymWarmStart & symWS);
00051 
00052    /* Destructor */
00053    virtual ~SymWarmStart();
00054 
00055    /* Clone the warmstart */
00056    virtual CoinWarmStart * clone() const; 
00057 
00058    /* Get the pointer to the loaded warmStart_ */
00059    virtual warm_start_desc * getCopyOfWarmStartDesc();
00060 
00061    /* Move the pointer to the rootnode of the warmStart to another
00062       node which will change the underlying tree 
00063    */
00064    virtual void setRoot(bc_node *root) {} //FIX_ME! Ask Prof. Ralphs.
00065 
00066    /* Write the current warm start info to a file */
00067    virtual int writeToFile(char * f);
00068 
00069 private:
00070 
00071    /* Private warm start desc. to keep everything */
00072    warm_start_desc *warmStart_;
00073 
00074 };
00075 
00076 #endif

Generated on Fri May 16 00:06:30 2008 by  doxygen 1.4.7