ConicBundle
|
Most classes are specializations/reinterpretations of the class Modification. More...
Classes | |
class | ConicBundle::ModificationBase |
basic routines for the base classes for reorganizing maps More... | |
class | ConicBundle::Modification |
base class for collecting and organizing a sequence of changes to linear data so that it can be carried out in one step later on; this class comprises all features, derived ones are specializations with partial reinterpretations. More... | |
class | ConicBundle::GroundsetModification |
Collects modifications for the unconstrained Groundset for appending, deleting or reassigning variables. More... | |
class | ConicBundle::LPGroundsetModification |
Collects modifications for the linearly constrained LPGroundset for appending, deleting or reassigning variables (with bounds and starting values) and constraints (with bounds) More... | |
class | ConicBundle::AFTModification |
collects modifications for an AffineFunctionTransformation for the scaling and offset constants as well as for appending, deleting or reassigning columns and rows of the transformation data More... | |
class | ConicBundle::FunctionObjectModification |
abstract interface for informing the bundle model routines about changes in the oracle function and, possibly, for modifying the affine transformation of the oracle function's arguments. More... | |
Most classes are specializations/reinterpretations of the class Modification.
Dynamic additions and deletions of variables during the optimization process occur frequently in Lagrangian relaxation of primal linear cutting planes that are separated on basis of a current approximate solution. In the context of sums of convex functions they frequently represent coupling ressource constraints between function subgroups that compete for this ressource. The typical features are thus
If the Lagrangian relaxation of a changing set of linear constraints is modelled via an AffineFunctionTransformation on the support function of the primal groundset, then all aspects can be handled and checked by ConicBundle directly. Indeed, in this case, the function representing the ground set will not be affected by the changes in the argument function. In several applications, however, the changes might also affect the function itself (e.g. if it uses a column generation approach on the primal side) and ConicBundle then needs the cooperation of the function in order to keep a model alive as long as possible. The attempt to support this in any thinkable form entails rather cumbersome details.
Examples modifications for the various oracle classes are NNCBoxSupportModification, SOCSupportModification, PSCAffineModification and AFTModification. The classes Modification and GroundsetModification come in handy in this.