source: trunk/Cbc/src/CbcHeuristicDivePseudoCost.hpp @ 1899

Last change on this file since 1899 was 1899, checked in by stefan, 6 years ago

fixup svn properties

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