00001 00002 // 00003 // Module : Node.cpp 00004 // Description : The variable. 00005 // Author : Steffen Rebennack 00006 // Email : srebenac@ix.urz.uni-heidelberg.de; 00007 // steffen.rebennack@web.de 00008 // Copyright : (C) 2006 by the University of Heidelberg 00009 // Created on : 00010 // Last modified by : 00011 // Last modified on : 00012 // Update count : 00013 // 00015 // 00016 // Date Name Changes/Extensions 00017 // ---- ---- ------------------ 00018 // 00020 00021 #include "abacus/master.h" 00022 #include "Node.hh" 00023 00024 00025 00026 // ----------------------------------------------------------------------------- 00027 // C o n s t r u c t o r 00028 // 00029 // The main purpose of this constructor is to initialize an ABA_VARIABLE. It 00030 // calls the contructor of this class with several arguments: 00031 // 1.) A pointer to the corresponding master of the optimization 00032 // 2.) A pointer to the subproblem associated with this variable. Because the 00033 // variables for each node are independent of a sub problem, the pointer 00034 // is a 0-pointer. 00035 // 3.) Do not delete this variable from the set of active variables. 00036 // 4.) The variables are not local valid, but global. 00037 // 5.) The objective function coefficient 00038 // 6.) The lower bound of the variable is 0. 00039 // 7.) The upper bound of the variable is 1. 00040 // 8.) The Variable is of binary type. 00041 // ----------------------------------------------------------------------------- 00042 Node::Node(ABA_MASTER *master, int nodesNumber, double objectiveCoefficient): 00043 ABA_VARIABLE(master, 0, false, false, objectiveCoefficient, 00044 0.0, 1.0, ABA_VARTYPE::Binary), 00045 numberOfNode(nodesNumber) 00046 { 00047 } 00048 00049 00050 // ----------------------------------------------------------------------------- 00051 // D e s t r u c t o r 00052 // ----------------------------------------------------------------------------- 00053 Node::~Node() { 00054 } 00055 00056 00057 // ----------------------------------------------------------------------------- 00058 // n o d e N u m b e r 00059 // 00060 // Receive the number of the node corresponding to this variable. 00061 // ----------------------------------------------------------------------------- 00062 int Node::nodeNumber() const { 00063 return numberOfNode; 00064 } 00065 00066