[Coin-discuss] Contribution ?

Laszlo Ladanyi ladanyi at us.ibm.com
Thu Mar 8 10:58:47 EST 2001


Hi Bertrand,

On Thu, 8 Mar 2001, Bertrand Le cun wrote:

> 
> Hi,
> 
> I am Bertrand Le cun, a french researcher (Opale team, of the PRiSM
> Laboratory in University  of Versailles, France) working in the field of
> software/library for writing parallel, multithreaded  Combinatorial
> Optimization algorithms.

Nice to hear from you.

> 
> I have produce Bob a C library working for sequential or parallel Branch and 
> Bound, and A*.

Yes, we've heard about it, in fact BoB is referenced in the manual that's in
the works.

> 
> I am working on Bob++ its evolution in C++/Java (2 versions exist).
> At this time, i have worked on the design of the API for different
> algorithms (Branch and Bound/Price/Cut, but also Dynamic programming, and
> A*. All of them could be parallel or distributed.
> I would to integrate other algorithms like metaheuristic (I focus on Tabu).

I think Bob Harder has already replied regarding Tabu searches :-).
Integration of these algorithms would be certainly desirable. Although we had
constraint logic programming in mind first.

> 
> So when i discover COIN, i stoped, i do not want to reinvent the wheel.
> But maybe could be more interesting that i contribute to the COIN
> developpement ?

It would be great!

> 
> I have several Questions about the choice of your design.
> 
> 1- Why use PVM or Serial communication library, MPI, or Multithreaded
> libraries like PM2 (http://www.pm2.org/), or other could be a better choice. 
> An application could be executed on Cluster of SMP, (like IBM SP3, i think).

The reason is that at the time the project started MPI-2 implementations
weren't around at all, therefore spawning new processes was impossible. And we
really wanted the ability of deleting processors or adding new processors to
the configuration on the fly thus harnessing unused workstations. Also, for
the purposes of branch and cut and price (unlike for branch and bound) latency
and bandwith is not a big problem since search tree nodes are processed for a
relatively lengthy time.

However, message passing is encapsulated with an abstract base class in BCP,
so it would be very easy to add an MPI interface (I have to check out PM2
first to make the same claim :-).

> 
> 2- it seems that you focus on MIP algorithms. 
> Could it be hard to implement a Branch and Bound base algo, to let to the 
> user to use it without a solver ? 

True, at the moment it is geared towards problems that have an LP relaxation.
It could concievably extended to further generalize the solver to be a generic
lower bounding technique.

> I have seen on your FAQ that you plan to use your OSI interface  and not
> only OSL.
> 
> 3- Do you plan to add lp_solve or soplex solvers in OSI that are free
> solvers ?

Actually, the version I'm working on is the development branch in the CVS
tree, and it uses OSI now. The reason why the devel branch is not yet made to
be the main branch switch is that we had to extend the functionality of the
main-branch-OSI and not all actual solver interfaces have been extended yet.
OSL and the volume algorithm is there, cplex is nearly there (Tobias Pfender
is working on it) and we hope xpress will be there soon. As soon as cplex or
xpress is done we'll do the switch. 

Adding lp_solve or soplex interfaces would be very good, we just lack the
manpower to do it. If anyone is interested in contributing... :-) It should
not be too hard.

To look at the development branch do a 'cvs checkout -r devel MaxCut' after
logging in anonymously. It contains the html documentation as well as the
manual in TeX and is PostScript form. Unfortunately it is accessible only
through CVS at the moment. If there is enough interest, we can make nightly
tar files out of it.

> 
> 4- The final question : 
>    Do you plan to add a language like AMPL on top of your library ?

The idea came up, but I guess it's further in the future. I believe that when 
COIN really takes off then eventually a modelling language of some sort might
be added.

> 
> I really interesting to contribute to the development of COIN.
> I precise that i really prefer to develop on Unix (Linux or Solaris) but not
> really on windows. 

Yes!!! (This was a strictly personal note.)

> So if you are interesting in "me", let me know where, and how i can
> contribute... 

We are definitely interested and you found the right place to ask :-).
Essentially, you should just check out the codes you are interested in, ponder
on it. Feel free to ask in either on this mailing list (this is preferable
since then everyone sees the answer) or in a personal email from any of the
maintainers. When you think you have added something that would be worthwile
to include in the main distribution then mail it to the maintainer of that
module. It'll be looked over and added immediately if good, if there are
design differences then they'll be discussed, etc. If you contribute good
things then you'll be added to those who can write the CVS tree directly,
i.e., you become a maintainer (which brings on the responsibility to look over
other people's contributions). In other words, this is (just like other open
source projects) is a brutal meritocracy :-).

> 
> Information Field
> 
> I am the responsable of the EURO Working Group PAREO (EURO is the European
> association for OR). The PAREO working group aims to bring together
> researchers from both academia and industry who are interested in the
> development of parallel algorithms for problems in the area of operations
> research. The group is not reserved to european (See my home page). 
> 
> The annual PAREO event is organized during the Annual EURO conference
> (http://www.euro2001.org/). Maybe are you interesting in to give a talk in 
> the PAREO Session ?
> 
> Best regards,
> 
> 
> Bertrand-
> PS: sorry for my english ;-(
> +----------------------------------------------------------------------+
> |                           Bertrand LE CUN                            |
> +----------------------------------------------------------------------+
> | Universite de Versailles St Quentin, Laboratoire PRiSM, OPALE Team   |
> | 45, avenue des Etats-Unis 78000 Versailles                           |
> | email: Bertrand.Lecun at prism.uvsq.fr       Phone: (+33 1) 39 25 40 50 |
> | Web  : http://www.prism.uvsq.fr/~blec
> +----------------------------------------------------------------------+
> 
> 
> 
> _______________________________________________
> Coin-discuss mailing list
> Coin-discuss at oss.software.ibm.com
> http://oss.software.ibm.com/developerworks/opensource/mailman/listinfo/coin-discuss
> 

--Laci
  ladanyi at us.ibm.com




More information about the Coin-discuss mailing list