source: stable/2.4/Cbc/src/CbcHeuristicDivePseudoCost.hpp @ 1271

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

Creating new stable branch 2.4 from trunk (rev 1270)

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