Bpp/Linear_system
Structure
C++
 
 
DESCRIPTION
 

This module defines the structure of a linear program. What we reference here as a linear system is in fact a linear program (it has a linear objective function).

 
SOURCE FILES
 

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

 
PARENT MODULE
 

This module is part of Bpp/Linear_system.

 
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.

  • <algorithm>

  • <bpp/standard.hpp>

 
NEEDED FILES
 

The files listed below are needed by the implementation part of the module. But a module dependent of this module is not necessary dependent of the files listed here.

  • <bpp/modules.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.

  • standard

 
TYPES
 

Here are listed the types defined in the module. To use one of them, you have to specify the namespace of the module.

  • type tyCardinal tyVariableKey
    Key identifying a variable in a linear system.

  • enumeration { equality, inferiority, superiority } tyConstraintKind
    Kind of constraint of a linear system.

  • enumeration { minimum, maximum } tyOptimum
    Kind of objective of a linear system.

  • enumeration { realVariable, integralVariable } tyVariableKind
    Kind of variable of a linear system.

  • type std_map(tyVariableKey,tyReal) clCoefficientX
    List of coefficients, each associated with a variable of a linear system.

 
ERRORS
 

Here are listed the errors that are supported or generated by the module. To use one of them, you do not have to specify the namespace of the module.

  • erIncompatibleConstraints
    The two constraints are incompatible (not the same number of coefficients).

  • erIncompatibleObjectives
    The two objectives are incompatible (not the same number of coefficients).

  • erInconsistentConstraintStructure
    The structure of the constraint is inconsistent.

  • erInvalidConstraintKindString
    The contraint kind specified is not valid.

  • erInvalidConstraintNumber
    The constraint number is not valid.

  • erInvalidOptimumString
    The string does not represent an objective kind.

  • erInvalidVariableKindString
    The string does not represent a variable kind.

  • erInvalidVariableKey
    The variable key is not valid.

  • erVariableKeyAlreadyExists
    The variable key already exists.

 
FUNCTIONS
 

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

 
CLASSES
 

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

 
clConstraint
 
 
Declaration

template <class prContent> class clConstraint

 
Description

Represents a constraint of a linear system. The parameter of the template is the type of data the variables of the linear system carry.

 
Types
  • type clConstraint<prContent> cpConstraint
    This class.

  • type clLinearSystem<prContent> cpLinearSystem
    Type of linear system the constraint belongs to.

  • type clObjective<prContent> cpObjective
    Type of objective the constraint is associated with.

  • type clVariable<prContent> cpVariable
    Type of variable the constraint is associated with.

  • type std_vector(cpConstraint *) cpConstraintS
    List of constraints.

  • type std_map(tyVariableKey,cpVariable *) cpVariableX
    List of variables.

 
Attributes
  • tyMark mark()
    Mark used by some algorithms. Reading and writing access.

  • clCoefficientX coefficients()
    Coefficients of the constraint. Reading access only.

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

  • tyConstraintKind kind()
    Kind of the constraint. Reading and writing access.

 
Methods
 
clLinearSystem
 
 
Declaration

template <class prContent> class clLinearSystem

 
Description

Represents a linear system. The parameter of the template is the type of data the variables carry.

 
Types
  • type clConstraint<prContent> cpConstraint
    Type of constraints the linear system contains.

  • type clLinearSystem<prContent> cpLinearSystem
    This class.

  • type clObjective<prContent> cpObjective
    Type of objective the linear system contains.

  • type clVariable<prContent> cpVariable
    Type of variable the linear system contains.

  • type std_vector(cpConstraint *) cpConstraintS
    List of constraints.

  • type std_map(tyVariableKey,cpVariable *) cpVariableX
    List of variables.

 
Attributes
  • tyBoolean solved()
    Indicates if the system is solved. Reading and writing access.

  • tyMark mark()
    Mark used by some algorithms. Reading and writing access.

  • cpVariableX variables()
    Variables of the system. Reading access only.

  • cpConstraintS constraints()
    Constraints of the system. Reading access only.

 
Methods
 
clObjective
 
 
Declaration

template <class prContent> class clObjective

 
Description

Represents the objective of a linear system. The parameter of the template is the type of data the variables of the linear system carry.

 
Types
  • type clConstraint<prContent> cpConstraint
    Type of constraints the objective is associated with.

  • type clLinearSystem<prContent> cpLinearSystem
    Type of linear system the objective belongs to.

  • type clObjective<prContent> cpObjective
    This class.

  • type clVariable<prContent> cpVariable
    Type of variable the objective is associated with.

  • type std_vector(cpConstraint *) cpConstraintS
    List of constraints.

  • type std_map(tyVariableKey,cpVariable *) cpVariableX
    List of variables.

 
Attributes
  • clCoefficientX coefficients()
    Coefficients of the objective. Reading access only.

  • tyOptimum kind()
    Kind of objective. Reading and writing access.

 
Methods
 
clVariable
 
 
Declaration

template <class prContent> class clVariable

 
Description

Represents a variable of a linear system. The parameter of the template is the type of data the variable carries.

 
Types
  • type clConstraint<prContent> cpConstraint
    Type of constraints the variable is associated with.

  • type clLinearSystem<prContent> cpLinearSystem
    Type of linear system the variable belongs to.

  • type clObjective<prContent> cpObjective
    Type of objective the variable is associated with.

  • type clVariable<prContent> cpVariable
    This class.

  • type std_vector(cpConstraint *) cpConstraintS
    List of constraints.

  • type std_map(tyVariableKey,cpVariable *) cpVariableX
    List of variables.

 
Attributes
  • tyVariableKey key()
    Key identifying the variable in a linear system. Reading access only.

  • tyMark mark()
    Mark used by some algorithms. Reading and writing access.

  • tyVariableKind kind()
    Kind of the variable. Reading and writing access.

  • prContent content()
    Content of the variable. Reading and writing access.

  • tyReal value()
    Value of the variable. Reading and writing access.

 
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).