source: branches/sandbox/Cbc/src/CbcHeuristicDiveGuided.hpp @ 1273

Last change on this file since 1273 was 1271, checked in by forrest, 10 years ago

Creating new stable branch 2.4 from trunk (rev 1270)

File size: 1.4 KB
Line 
1/* $Id: CbcHeuristicDiveGuided.hpp 1173 2009-06-04 09:44:10Z forrest $ */
2// Copyright (C) 2008, International Business Machines
3// Corporation and others.  All Rights Reserved.
4#ifndef CbcHeuristicDiveGuided_H
5#define CbcHeuristicDiveGuided_H
6
7#include "CbcHeuristicDive.hpp"
8
9/** DiveGuided class
10 */
11
12class CbcHeuristicDiveGuided : public CbcHeuristicDive {
13public:
14
15  // Default Constructor
16  CbcHeuristicDiveGuided ();
17
18  // Constructor with model - assumed before cuts
19  CbcHeuristicDiveGuided (CbcModel & model);
20 
21  // Copy constructor
22  CbcHeuristicDiveGuided ( const CbcHeuristicDiveGuided &);
23   
24  // Destructor
25  ~CbcHeuristicDiveGuided ();
26
27  /// Clone
28  virtual CbcHeuristicDiveGuided * clone() const;
29 
30  /// Assignment operator
31  CbcHeuristicDiveGuided & operator=(const CbcHeuristicDiveGuided& rhs);
32
33  /// Create C++ lines to get to current state
34  virtual void generateCpp( FILE * fp) ;
35
36  /// Tests if the heuristic can run
37  virtual bool canHeuristicRun();
38
39  /// Selects the next variable to branch on
40  /** Returns true if all the fractional variables can be trivially
41      rounded. Returns false, if there is at least one fractional variable
42      that is not trivially roundable. In this case, the bestColumn
43      returned will not be trivially roundable.
44  */
45  virtual bool selectVariableToBranch(OsiSolverInterface* solver,
46                                      const double* newSolution,
47                                      int& bestColumn,
48                                      int& bestRound);
49
50};
51
52#endif
Note: See TracBrowser for help on using the repository browser.