Advanced BCL Examples
=====================

This directory contains a selection of examples that demonstrate
more advanced uses of Xpress-BCL. 
In their majority, these are examples of solution heuristics implemented 
with BCL. Furthermore, there is an example of working in a thread-safe environment using BCL functions with and without problem pointers.

cutstk
------
  Column generation for a cutting stock problem.
xbcutstk.c:
* iteratively adding new variables
* basis in/output
* working with subproblems

els
---
  An economic lot-sizing (ELS) problem solved by cut&branch and
  branch&cut heuristics.
xbels.c:
* iteratively adding new constraints
* basis in/output
xbelsc.c:
* using the Xpress-Optimizer cut manager callback with BCL cut functions

fixbv
-----
  Implementing a binary fixing heuristic for the complete Coco Problem 
  (see also xbcoco.c in directory IntrExpl).
xbfixbv.c:
* changing bounds directly in the Optimizer
* basis in/output
xbfixbvls.c:
* loading a MIP solution

goalobj
-------
  Archimedian and pre-emptive goal programming using objective functions.
xbgoalobj.c:
* constraint access functions
* repeated solving with modified objectives
  
recurs
------
  A non-linear problem modeled as a successive linear programming (SLP) 
  model. (SLP is also known as 'recursion'.)
xbrecurs.c:
* iteratively changing constraint coefficients
* basis in/output

mt2
---
  Solving two problems in parallel in a thread-safe environment.
xbmt2.c:
* parallel problem solving using multiple threads
* accessing Xpress-Optimizer functions

d1wagon2
--------
  Load balancing of train wagons using heuristic solution as start
  solution for MIP.
xbd1wagon2.c:
* simple MIP problem  
* heuristic to find start MIP sol
* using addmipsol and the solnotify callback

-----------------------------------------------------------------------

Additional examples are located in the directories "IntrExpl" (introductory examples) and "UGExpl" (examples from the Xpress-BCL User Guide and Reference Manual).
