SymWarmStart.hpp
Go to the documentation of this file.
1 /*===========================================================================*/
2 /* */
3 /* This file is part of the SYMPHONY Branch, Cut, and Price Callable */
4 /* Library. */
5 /* */
6 /* SYMPHONY was jointly developed by Ted Ralphs (tkralphs@lehigh.edu) and */
7 /* Laci Ladanyi (ladanyi@us.ibm.com). */
8 /* */
9 /* (c) Copyright 2004-2006 Ted Ralphs and Lehigh University. */
10 /* All Rights Reserved. */
11 /* */
12 /* The authors of this file are Menal Guzelsoy and Ted Ralphs */
13 /* */
14 /* This software is licensed under the Common Public License. Please see */
15 /* accompanying file for terms. */
16 /* */
17 /*===========================================================================*/
18 
19 #ifndef SymWarmStart_H
20 #define SymWarmStart_H
21 
22 #include "CoinHelperFunctions.hpp"
23 #include "CoinWarmStart.hpp"
24 #include <iostream>
25 #include "symphony.h"
26 
27 using namespace std;
28 
29 //#############################################################################
30 
31 class SymWarmStart : public CoinWarmStart
32 {
33 
34 public:
35 
36  /* Default constructor. Will do nothing! */
38 
39  /* Initialize the warmStart_ using the given warm start. If dominate
40  WarmStart is set, then, SymWarmStart will take the control of the
41  given description, otherwise, will copy everything.
42  */
43  SymWarmStart(warm_start_desc * ws);
44 
45  /*Get the warmStart info from a file*/
46  SymWarmStart(char *f);
47 
48  /* Copy constructor */
49  SymWarmStart(const SymWarmStart & symWS);
50 
51  /* Destructor */
52  virtual ~SymWarmStart();
53 
54  /* Clone the warmstart */
55  virtual CoinWarmStart * clone() const;
56 
57  /* Get the pointer to the loaded warmStart_ */
58  virtual warm_start_desc * getCopyOfWarmStartDesc();
59 
60  /* Move the pointer to the rootnode of the warmStart to another
61  node which will change the underlying tree
62  */
63  // virtual void setRoot(bc_node *root) {} //FIX_ME! Ask Prof. Ralphs.
64 
65  /* Write the current warm start info to a file */
66  virtual int writeToFile(char * f);
67 
68 private:
69 
70  /* Private warm start desc. to keep everything */
71  warm_start_desc *warmStart_;
72 
73 };
74 
75 #endif