source: trunk/Cbc/src/CbcHeuristicDiveLineSearch.hpp @ 945

Last change on this file since 945 was 945, checked in by jpgoncal, 11 years ago

Added two new versions of diving heuristics.

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