IPM is a specialized interior-point code for multicommodity network flows developed by Jordi Castro. The algorithm is specially appropriate for large and difficult multicommodity problems (such as the PDS -Patient Distribution System- ones).

There are two versions of the code, both of them free of charge for academic/research purposes. The first one makes use of the Sparspak package by George and Liu. To obtain this version just get this file, gunzip and untar it on the directory where IPM will be installed, and read the README file that will be obtained. The second version uses the more efficient Sparse Cholesky package developed by E. Ng and B. Peyton. To obtain this more powerful version of IPM, get this file, gunzip and untar it on the directory where IPM will be installed, and read the README file that will appear. Note that to use this second version of IPM you need the permission of the authors of the Sparse Cholesky package (you can send a message to E. Ng).

There is also available a parallel version of IPM, named pIPM, for SGI Origin 2000 environments. This version was developed in collaboration with Antonio Frangioni, from the Università di Pisa. pIPM also makes use of the E. Ng and B. Peyton Sparse Cholesky package. To obtain this parallel version you must retrieve this file. As before you need the permission of E. Ng or B. Peyton to use their Sparse Cholesky package.

You can obtain a description of the algorithm implemented in IPM, together with computational results, in this paper . For details about the parallel version pIPM download this paper .

The default input format read by the front-end routine provided with IPM (which permits using it as a stand-alone package) is the same than that used in the PPRN package. A description of this format can be found in the user's guide (DR 94/06) of the PPRN package.

You can obtain some multicommodity problem generators from this page, due to Antonio Frangioni. You can also get a distribution for the mnetgen and PDS generators (together with a translator to the PPRN format), ready to be used by IPM from this file (gunzip, untar it, and read the README file).

Remember that the algorithm implemented is under development, and there are still some open questions that have not been solved yet. Therefore, new additional refinements must still be introduced.

REMEMBER that you can only use the package for academic purposes. For other types of usage, please contact with the author sending a message to jordi.castroupc.edu.