Hi Alexandre, On 26/01/2011 10:11, Alexandre Saidi wrote: > Dear All, > Does anybody tried to interface Eclipse and Coin/Osi. > I need to solve non-linear systems inside Eclipse (actually linear but the objective function is quadratic). Yes, the eplex library of ECLiPSe interfaces to COIN-OR's OSI, which in turn interfaces to various solvers (OSI is itself a solver interface, rather than a solver). The binary distribution of ECLiPSe includes two solver combinations for OSI -- CLP/CBC and CLP/SYMPHONY. The CLP/CBC support is by far the most developed, and this is probably what you should use. In particular, solving of linear problems with a quadratic objective is supported for CLP/CBC. However, solving of MIQP (MIP with a quadratic objective) is not supported, mainly because CBC does not provide its own MIQP solver -- there is a very simple MIQP solver in its example code, but this is almost certainly not good enough for any realistic problems, so we decided not to support it. A further point is that I am not sure how good CLP (the linear solver) is at solving quadratic problems. The main development effort of CLP is towards a fast Simplex solver for linear problems, and although it also support solving of quadratic problems, much less development effort was spent on this. > I know that one can do that by using OSI separately (using external/separate files). > What OSI supports or not is not a simple question, as the individual interfaces to the different solvers are done by different groups, and the whole project depends on a lot of other COIN-OR projects, such as CoinUtils, which provides most of the support routines, such as those to input/load a problem. While there is support for reading in a quadratic objective, it does not mean that the individual OSI interfaces to a specific solver would support solving of such problems. > Should we recompile all sources (Eclipse + Coin)? > I'm using MacOs . > As I said, binaries for CLP/CBC and CLP/SYMPHONY are provided already (although the CLP/SYPHONY binearies are not provided for all platforms), so there is no need to compile anything yourself, unless you want to use some other solver that is supported by OSI. For Mac OS X (as well as other Unix distributions), the binary distribution are in the form of "tarballs", and each eplex/solver combination has its own tarball. For CLP/CBC, you should download the file with a filename starting "if_osiclpcbc". However, we don't have access to a Mac in our normal build infra-structure, so the binaries are not generated automatically. One of our users, Paulo Moura, have kindly provided us with access to the Macs at his University, and I have been able to manually build and upload the Mac binaries to our sourceforge download area, but as I have to do this manually, the binaries there are quite old now. I recently brought an iMac, so I can now compile ECLiPSe locally, and I can send you "unofficial" version of the binaries for the most recent source. In addition, I have been able to build 64 bit binaries for Intel Macs. The 64 bit Intel binaries seems to run somewhat faster than the 32 bit binaries, and of course you can access >4G of memory, although it also uses about twice as much memory as the 32 bit version. So do let me know if you want the latest binaries, and for which platform. You probably should send this to me personally, rather than to the whole mailing list. > If anybody knows some documents explaining how to interface ... I am not certain what you are referring to here. If you simply want to run ECLiPSe with CLP/CBC, the eplex documentation in the manuals is what you need -- eplex is designed so that the code you write in ECLiPSe should run on all the solvers. If you want to compile ECLiPSe yourself, the "ECLiPSe Build-and-Test Setup Guide" may be useful -- It includes instructions on how to compile COIN-OR solvers for ECLiPSe. This is in MS word format (but Preview on my Mac can display this file), and is included with the distribution, but you can also download it from: http://eclipseclp.org/reports/SetupGuide.pdf If you want to extend the eplex interface to other solvers yourself, then this will be more difficult. If you want to extend the support to other solvers supported by OSI, this should still be relatively easy (and I think the Setup guide does talk about this a little), as long as you don't mind the limited functionality this will provide (as I mentioned, OSI only supports a subset of eplex's functionality). Otherwise, it will be difficult, but there are some implementation documentation for eplex in the source distribution (eplex_impl.html, in documents/internal). Cheers, Kish -- This e-mail may contain confidential and privileged material for the sole use of the intended recipient. Any review, use, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender by reply e-mail and delete all copies of this message. Cisco Systems Limited (Company Number: 02558939), is registered in England and Wales with its registered office at 1 Callaghan Square, Cardiff, South Glamorgan CF10 5BT.Received on Wed Jan 26 2011 - 22:37:15 CET
This archive was generated by hypermail 2.2.0 : Thu Feb 02 2012 - 02:31:58 CET