Bpp/Graph_problem
Min_cost_tension
Branch_bound
C++
 
 
DESCRIPTION
 

This module provides branch-and-bound algorithms to solve the minimum cost tension problem with binary costs, as defined by the clBinaryArcData class of the Structure module.

 
SOURCE FILES
 

This section allows you to access the C++ source files of the module.

 
PARENT MODULE
 

This module is part of Bpp/Graph_problem/Min_cost_tension.

 
INCLUDED FILES
 

The files listed below are included in the interface part of the module. So any module dependent of this module is also dependent of the files listed here.

  • <bpp/graph_problem/min_cost_tension/aggregation_binary.hpp>

  • <bpp/graph_problem/min_cost_tension/heuristic_binary.hpp>

  • <bpp/graph_problem/min_cost_tension/linear_system.hpp>

 
INTEGRATED NAMESPACES
 

The namespaces listed below are integrated in this module. That means any element declared in one of those namespaces can now be directly used by or from this module.

  • graphProblemMinCostTensionAggregationBinary

  • graphProblemMinCostTensionHeuristicBinary

  • graphProblemMinCostTensionLinearSystem

 
ALIASES
 

The aliases listed below are only used internally by the interface. They are here just to lighten the writing of certain declarations. Never use them, they are local to the interface and can not be used outside of it.

  • tdGraph = class prArcData,class prNodeData

  • tuGraph = prArcData,prNodeData

 
CLASSES
 

Here are listed the classes provided by the module. To use one of them, you have to specify the namespace of the module.

 
clLinearCut
 
 
Declaration

template <tdGraph> class clLinearCut

 
Description

Represents a cut in a linear system modeling the minimum binary cost tension problem. The cut is based on the resolution of the problem in a cycle.

 
Types
  • type clArc<tuGraph> cpArc
    Type of an arc for the problem.

  • type clBinarySolveAlgo<tuGraph> cpBinarySolver
    Type of the solver of the minimum binary cost tension problem.

  • type clGraph<tuGraph> cpGraph
    Type of a graph modeling the problem.

  • type std_vector(clTensionVariable *) clVariableS
    Type of a list of variables of a linear system modeling the problem.

  • type std_map(cpArc *,clTensionVariable *) cpVariableX
    Type of an association of variables of a linear system with arcs of a graph.

 
Attributes
  • clVariableS variables()
    List of the variables of the linear system involved in the cut. Reading and writing access.

  • tyReal boundary()
    Boundary of the cut. Reading and writing access.

  • tyCardinal counter()
    Counter for the number of times the cut has not been used. Reading and writing access.

  • clTensionConstraintP constraint()
    Pointer to the constraint modeling the cut in the linear system. Reading access only.

 
Methods
 
clLinearSystemRelaxation
 
 
Declaration

template <tdGraph> class clLinearSystemRelaxation

 
Description

Represents a relaxation of a linear system modeling the minimum binary cost tension problem. Cuts can be added into the linear system.

 
Types
  • type clBinarySolveAlgo<tuGraph> cpBinarySolver
    Type of the solver of the minimum binary cost tension problem.

  • type clGraph<tuGraph> cpGraph
    Type of a graph modeling the problem.

  • type clLinearCut<tuGraph> cpLinearCut
    Type of a linear cut for the problem.

  • type std_vector(cpLinearCut *) cpLinearCutS
    Type of a list of linear cuts for the problem.

 
Attributes
  • clTensionSystem system()
    Relaxed linear system. Reading and writing access.

  • tyReal lowerBound()
    Lower bound of the original system (i.e. optimal value of the objective of the relaxed system). Reading access only.

  • tyInteger nbIteration()
    Number of iterations Reading access only.

  • cpLinearCutS unusedCuts()
    List of cuts that are not used yet. Reading access only.

  • cpLinearCutS usedCuts()
    List of the cuts that are actually used. Reading access only.

 
Methods
 
clCuttingAlgo
 
 
Declaration

template <tdGraph> class clCuttingAlgo : public clBinarySolver<tuGraph>

 
Description

Represents an algorithm to solve the minimum binary cost tension problem in a graph by adding progressively extra constraints in the relaxed linear model before solving exactly the whole problem.

 
Types
  • type graphProblemMinCostTensionLinearSystem::clBinarySolveAlgo<tuGraph> cpBinarySolver
    Type of the solver of the minimum binary cost tension problem.

 
Methods
 
 
Copyright (c) 1999-2016 - Bruno Bachelet - bruno@nawouak.net - http://www.nawouak.net
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation. See this license for more details (http://www.gnu.org).