Types of constraints and variables (2024)

Types of constraints and variables (1) Types of constraints and variables (2) Types of constraints and variables (3)
Next: Main classes: BB_prob, BB_tm, Up: BAC : A BCP Previous: Data structures

BCP has three types of constraints (or cuts):

  • Core constraints come from the initial LP formulation and arepresent in the LP at every node of the tree.
  • Algorithmic constraints are cuts given implicitly by a separation algorithm. Algorithmic constraints, unlike core constraints, might be added or removed from the node LP. The user controls which cuts are added, butcut removal is done by BCP based on a value called ``row effectiveness''(number of consecutive iterations for which the corresponding slack variableis zero, for example). Limited user input (through the parameter file discussedin Section 8) is used for the definition of row effectiveness.
  • Indexed constraints are constraints in bijection with a set of integers,such that (user defined) functions to generate the constraint from the corresponding integerand vice-versa are available. Indexed constraints can be seen as a special type of algorithmic cuts,having an extremely compact representation. They might be removed from thenode LP similarly to the algorithmic cuts.

A typical use of indexed constraints is in the situation wheresome of the constraints of the initial formulationare more important than others and the initial formulation has a largenumber of constraints: Important constraints will become core constraints andthe remaining ones will be indexed constraints, stored in an (indexed) array of constraints,

When developing a new application, the first decision to make is howto partition the constraints into the three classes.

Example: For the example described in Section 2, the core constraints are chosen as:

Types of constraints and variables (4)

The indexed constraints are chosen as:

Types of constraints and variables (5)

Finally, the algorithmic constraints are chosen as:

Types of constraints and variables (6)

Types of constraints and variables (7)

Instead of storing the sense (``Types of constraints and variables (8)'', ``Types of constraints and variables (9)'', or ``Types of constraints and variables (10)'') and righthand side of an inequality, BCP stores a lower bound and an upper boundfor each inequality (``ranged'' constraints). Setting one of the boundsto Types of constraints and variables (11), or setting both bounds to the same valueallows for the three possible senses.

BCP does not have have (yet) the possibility of using global cuts: all cuts passed to BCP are handled as local cuts, valid only in the subtree rooted at the node where the constraint is generated. The user may of courseimplement pools for holding global cuts, but he will then be responsible forthe management of those cuts. While this might be done relatively easilyfor a non-parallel implementation, this becomes trickier when parallelism is involved.

In the example, coefficients of core and indexed constraints are stored in CoinPackedMatricesin the class BB_prob. To store algorithmic cuts, the class BB_cutis used (file include/BB_cut.hpp and Member/BB_cut.cpp). It implementsin a standard way a representation of a cut as its set of nonzero coefficients.

The variables in BCP may also be of one of the three types: core, algorithmic, or indexed.Since we focus here on a Branch-and-Cut, all variables are core variables.Each variable has an upper and a lower bound, possibly Types of constraints and variables (12).In addition, each variable is labeled as integer, binary or continuous.Variables are internally numbered with integers, starting at 0. WhenBCP reports information related to variables, it is with respect to its internal numbering.

Types of constraints and variables (13) Types of constraints and variables (14) Types of constraints and variables (15)
Next: Main classes: BB_prob, BB_tm, Up: BAC : A BCP Previous: Data structures
IP Seminar Series2003-12-01
Types of constraints and variables (2024)
Top Articles
Latest Posts
Article information

Author: Allyn Kozey

Last Updated:

Views: 6122

Rating: 4.2 / 5 (63 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Allyn Kozey

Birthday: 1993-12-21

Address: Suite 454 40343 Larson Union, Port Melia, TX 16164

Phone: +2456904400762

Job: Investor Administrator

Hobby: Sketching, Puzzles, Pet, Mountaineering, Skydiving, Dowsing, Sports

Introduction: My name is Allyn Kozey, I am a outstanding, colorful, adventurous, encouraging, zealous, tender, helpful person who loves writing and wants to share my knowledge and understanding with you.