Dip 0.95.0
Loading...
Searching...
No Matches
AlpsDecompTreeNode.h
Go to the documentation of this file.
1//===========================================================================//
2// This file is part of the DIP Solver Framework. //
3// //
4// DIP is distributed under the Eclipse Public License as part of the //
5// COIN-OR repository (http://www.coin-or.org). //
6// //
7// Authors: Matthew Galati, SAS Institute Inc. (matthew.galati@sas.com) //
8// Ted Ralphs, Lehigh University (ted@lehigh.edu) //
9// Jiadong Wang, Lehigh University (jiw408@lehigh.edu) //
10// //
11// Copyright (C) 2002-2019, Lehigh University, Matthew Galati, Ted Ralphs //
12// All Rights Reserved. //
13//===========================================================================//
14
15#ifndef AlpsDecompTreeNode_h_
16#define AlpsDecompTreeNode_h_
17
18//===========================================================================//
19#include "Alps.h"
20#include "AlpsTreeNode.h"
21
22//===========================================================================//
23class AlpsNodeDesc;
24class AlpsDecompModel;
25
26//===========================================================================//
28private:
30 std::string m_classTag;
31
32 std::vector< std::pair<int, double> > downBranchLB_;
33 std::vector< std::pair<int, double> > downBranchUB_;
34 std::vector< std::pair<int, double> > upBranchLB_;
35 std::vector< std::pair<int, double> > upBranchUB_;
36
37public:
41 m_classTag ("ALPSTN")
42
43 {
44 //quality_ = -ALPS_OBJ_MAX;//MVG?
45 }
46
49 }
50
52 const DecompSolution* decompSol);
53
54 //---
55 //--- pure virtual functions from AlpsTreeNode or AlpsTreeNode
56 //---
57
60
63
64
65 //point direct to DECOMP?
67 int process(bool isRoot = false, bool rampUp = false);
68
73 std::vector< CoinTriple<AlpsNodeDesc*, AlpsNodeStatus, double> > branch();
74
75};
76
77#endif
Derivation of AlpsModel for DECOMP.
int process(bool isRoot=false, bool rampUp=false)
Performing the bounding operation.
virtual ~AlpsDecompTreeNode()
Destructor.
AlpsDecompTreeNode()
Default constructor.
std::vector< CoinTriple< AlpsNodeDesc *, AlpsNodeStatus, double > > branch()
Takes the explicit description of the current active node and creates the children's descriptions,...
int chooseBranchingObject(AlpsModel *model)
To be defined.
bool checkIncumbent(AlpsDecompModel *model, const DecompSolution *decompSol)
AlpsTreeNode * createNewTreeNode(AlpsNodeDesc *&desc) const
Create a new node based on given desc.