source: trunk/Cbc/src/CbcHeuristicDiveGuided.hpp

Last change on this file was 2465, checked in by unxusr, 11 months ago

script to format sources

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.5 KB
Line 
1/* $Id: CbcHeuristicDiveGuided.hpp 2465 2019-01-03 19:26:52Z unxusr $ */
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 CbcHeuristicDiveGuided_H
7#define CbcHeuristicDiveGuided_H
8
9#include "CbcHeuristicDive.hpp"
10
11/** DiveGuided class
12 */
13
14class CbcHeuristicDiveGuided : public CbcHeuristicDive {
15public:
16  // Default Constructor
17  CbcHeuristicDiveGuided();
18
19  // Constructor with model - assumed before cuts
20  CbcHeuristicDiveGuided(CbcModel &model);
21
22  // Copy constructor
23  CbcHeuristicDiveGuided(const CbcHeuristicDiveGuided &);
24
25  // Destructor
26  ~CbcHeuristicDiveGuided();
27
28  /// Clone
29  virtual CbcHeuristicDiveGuided *clone() const;
30
31  /// Assignment operator
32  CbcHeuristicDiveGuided &operator=(const CbcHeuristicDiveGuided &rhs);
33
34  /// Create C++ lines to get to current state
35  virtual void generateCpp(FILE *fp);
36
37  /// Tests if the heuristic can run
38  virtual bool canHeuristicRun();
39
40  /// Selects the next variable to branch on
41  /** Returns true if all the fractional variables can be trivially
42        rounded. Returns false, if there is at least one fractional variable
43        that is not trivially roundable. In this case, the bestColumn
44        returned will not be trivially roundable.
45    */
46  virtual bool selectVariableToBranch(OsiSolverInterface *solver,
47    const double *newSolution,
48    int &bestColumn,
49    int &bestRound);
50};
51
52#endif
53
54/* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
55*/
Note: See TracBrowser for help on using the repository browser.