Various classes are required to support the linear-programming based branch-and-bound algorithm, e.g., for the management of the branch-and-bound tree, for the storage of the active and inactive constraints, special buffers for newly generated constraints and variables, for the control of the tailing off effect, and for fixing variables by reduced costs. An important part of the inheritance graph in this context is formed by the various branching rules, which allow a very flexible implementation of branching strategies.