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

Last change on this file since 2464 was 2464, checked in by unxusr, 10 months ago

.clang-format with proposal for formatting code

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