public CTSP_BranchAndBound(ref CTSP_Distances distances, int upperBound, int numVertex)
        {
            _distances = distances;
            _upperBound = upperBound + ((upperBound * _PERCUP) / 100);
            _numVertex = numVertex;
            _bestCost = int.MaxValue;

            _optimalRoute = new List<int>();

            _tree = new CBranch(-1,-1, 0, _upperBound, new List<int>());

            _TSPupperBound = new CTSP_UpperBound(ref _distances);
        }
 public void exec_UpperBound()
 {
     _upperBound = new CTSP_UpperBound(ref _distances);
     _upperBound.run();
 }