12.07.2015 Views

ILOG CPLEX 11.0 User's Manual

ILOG CPLEX 11.0 User's Manual

ILOG CPLEX 11.0 User's Manual

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

NAME locationRNGFILTER f2 -inf 0transport 1.0fixed -1.0ENDATAIncumbent Callback as a FilterIf you need to enforce more complex constraints on solutions (if you need to enforcenonlinear constraints, for example), you can use the incumbent callback in ConcertTechnology or the Callable Library. During the populate procedure, the incumbent callbackis called each time a new solution is found, even if the new solution does not improve theobjective value of the incumbent. The incumbent callback allows your application to acceptor reject the new solution based on your own criteria.Bear in mind that the incumbent callback disables dynamic search. At default parametersettings, the incumbent callback, as a control callback, also disables deterministic parallelMIP optimization (if your application is licensed for parallel MIP optimization) though youcan override this default behavior by setting the parallel mode parameter (ParallelMode,CPX_PARAM_PARALLELMODE) yourself. For more about dynamic search, see Branch & Cutor Dynamic Search on page 265. For more about parallel MIP optimization, see ParallelMIP Optimizer on page 497.To create an incumbent callback, use the following methods or routine:◆In Concert Technology:●●●In the C++ API, derive a subclass of IloCplex::IncumbentCallbackI, theimplementation class documented in the reference manual. Use your user-definedsubclass according to the instructions in the parent class IloCplex::CallbackI.In the Java API, implement a subclass of IloCplex.IncumbentCallback. Use it asdocumented in the parent class IloCplex.Callback.In the .NET API, implement a subclass of Cplex.IncumbentCallback. Use it asdocumented in the parent class Cplex.Callback.◆ In the Callable Library (C API), use the routine CPXsetincumbentcallbackfunc.Callbacks typically demand a profound understanding of the algorithms used by<strong>ILOG</strong> <strong>CPLEX</strong>. Thus they incur a higher risk of incorrect behavior in your application,behavior that can be difficult to debug. For more information, please read UsingOptimization Callbacks on page 445 and Advanced MIP Control Interface on page 483.328 <strong>ILOG</strong> <strong>CPLEX</strong> <strong>11.0</strong> — USER’ S MANUAL

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!