Blis 0.95.0
Loading...
Searching...
No Matches
BlisBranchStrategyBilevel.h
Go to the documentation of this file.
1/*===========================================================================*
2 * This file is part of the BiCePS Linear Integer Solver (BLIS). *
3 * *
4 * ALPS is distributed under the Eclipse Public License as part of the *
5 * COIN-OR repository (http://www.coin-or.org). *
6 * *
7 * Authors: *
8 * *
9 * Yan Xu, Lehigh University *
10 * Ted Ralphs, Lehigh University *
11 * *
12 * Conceptual Design: *
13 * *
14 * Yan Xu, Lehigh University *
15 * Ted Ralphs, Lehigh University *
16 * Laszlo Ladanyi, IBM T.J. Watson Research Center *
17 * Matthew Saltzman, Clemson University *
18 * *
19 * *
20 * Copyright (C) 2001-2023, Lehigh University, Yan Xu, and Ted Ralphs. *
21 * All Rights Reserved. *
22 *===========================================================================*/
23
24#ifndef BlisBranchStrategyBilevel_h_
25#define BlisBranchStrategyBilevel_h_
26
27#include "BcpsBranchObject.h"
28#include "BcpsBranchStrategy.h"
29#include "BlisConfig.h"
30#include "BlisModel.h"
31
33class BLISLIB_EXPORT BlisBranchStrategyBilevel : public BcpsBranchStrategy {
34
35 private:
36
39
40 public:
41
44 type_ = static_cast<int>(BlisBranchingStrategyBilevel);
45 }
46
48 BlisBranchStrategyBilevel(BlisModel *model) : BcpsBranchStrategy(model) {
49 type_ = static_cast<int>(BlisBranchingStrategyBilevel);
50 }
51
54
57
59 virtual BcpsBranchStrategy * clone() const {
60 return new BlisBranchStrategyBilevel(*this);
61 }
62
64 virtual int createCandBranchObjects(int numPassesLeft, double ub);
65
71 virtual int betterBranchObject(BcpsBranchObject * thisOne,
72 BcpsBranchObject * bestSoFar);
73};
74
75#endif
@ BlisBranchingStrategyBilevel
Definition Blis.h:107
This class implements maximum infeasibility branching.
BlisBranchStrategyBilevel(BlisModel *model)
Bilevel Constructor.
virtual int betterBranchObject(BcpsBranchObject *thisOne, BcpsBranchObject *bestSoFar)
Compare branching object thisOne to bestSoFar.
BlisBranchStrategyBilevel()
Bilevel Constructor.
virtual ~BlisBranchStrategyBilevel()
Destructor.
virtual int createCandBranchObjects(int numPassesLeft, double ub)
Create a set of candidate branching objects.
virtual BcpsBranchStrategy * clone() const
Clone a brancing strategy.
BlisBranchStrategyBilevel(const BlisBranchStrategyBilevel &)
Copy constructor.
#define BLISLIB_EXPORT
Definition config.h:5