The most important change in this version is that we now use the automatically built CBC binaries (https://bintray.com/coin-or/download/Cbc/) for Linux and for Windows. This has several advantages, the first one is that now it will be much easier to release new versions of Python-MIP. The second one is that for Windows, we can now use MingW builds. Different from the standard Visual Studio builds, these builds include support for parallel processing and efficient routines for the factorization of dense matrixes (using lapack, blas, cholmod and AMD). Thus, this is the first Python-MIP release where the windows build should perform as well as the Linux builds. I would like to thank tkralphs and svigerske for helping to improve these builds.
Another important change is related to performance. Some users observed that querying the solution values for variables was slow. I identified that this was due to some checks that were performed in Python. I moved these checks to the CBC C Interface. The result is that querying the solutions values is now ~30 times faster.
It is now possible to specify a random seed for a model. This introduces small perturbations in the solution process so that executing the solution process many times with different seeds you can obtain different performances. This is a good approach for those who have computer with many cores and would like to use the "bet and run" approach: start several search threads in parallel and pick the result of the one that finishes first. Details of this approach can be found here:
Fischetti, Matteo, and Michele Monaci. "Exploiting erraticism in search." Operations Research 62.1 (2014): 114-122.