source: trunk/Cbc/src/CbcChooseVariable.hpp @ 1573

Last change on this file since 1573 was 1573, checked in by lou, 8 years ago

Change to EPL license notice.

File size: 1.2 KB
Line 
1/* $Id: CbcChooseVariable.hpp 1286 2009-11-09 23:33:07Z EdwinStraver $ */
2// Copyright (C) 2002, 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 CbcChooseVariable_H
7#define CbcChooseVariable_H
8
9/*  These can be alternative strategies for choosing variables
10    Any descendant can be passed in by setVariableChoice
11*/
12
13// FIXME: Do we want to define UP and DOWN constants (1 and -1) for clarity?
14class CbcChooseVariable {
15public:
16    // Default Constructor
17    CbcChooseVariable () {}
18
19    virtual ~CbcChooseVariable() {}
20    /** If strong branching, then only those passed in (and movement is that length)
21        .  If not strong
22        branching then all passed in and ignore movement.
23        Returns which one chosen (or -1 if none).  way should be +1
24        if branching up, -1 if down */
25    virtual int chosen (const CbcModel * model, int numberToLookAt,
26                        const int * which, const double * downMovement,
27                        const double * upMovement, const double * solution,
28                        int & way, double & value) = 0;
29
30};
31
32#endif
33
Note: See TracBrowser for help on using the repository browser.