[Cbc] Sensitivity analysis with CBC

David Coote dccoote at outlook.com
Tue Nov 19 17:58:23 EST 2019


When I'm doing project analysis for clients with Excel I use the Data/What-if Analysis/Data tables capability for sensitivity analysis in non-optimisation analysis. Typically this involves setting up a Data Table that varies one or two variables in a calculation of interest after which Excel will run multiple iterations of the calculation and present the values.

Some Excel based front-ends to optimisation tools support sensitivity analysis but I found the scale of optimisation problems I'm tackling caused various problems with the Excel front-ends.

I've built a number of project analysis optimisation solutions using Pulp as the interface to CBC. I can do sensitivity analysis for coefficients of decision variables in the objective function by including the relevant code in a loop while varying the value of interest and recording the outputs.

Ted Ralphs presented an overview of the COIN-OR projects in 2018:

https://coral.ie.lehigh.edu/~ted/files/coin-or/slides/COINIntro.pdf

Professor Ralphs mentions sensitivity analysis supported by one experimental MILP tool within the suite: Symphony.

Another of Professor Ralphs' presentations:

https://coral.ie.lehigh.edu/~ted/files/talks/PythonModeling.pdf

mentions (p47-49) sensitivity analysis using Pulp with solvers that support Marginal Price of Constraints. This is useful but differs to the functionality offered by Excel Data Tables.

Is there any out of the box support from CBC for sensitivity analysis akin to Excel Data Tables?

Thanks

David

PS. As an aside, as a practitioner trying to get to get to grips with what the COIN-OR projects offer I found Professor Ralphs' presentations very useful.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/cbc/attachments/20191119/b67b2867/attachment.html>


More information about the Cbc mailing list