Hi,
you are very right about scheduling. We know that it is essential. The way to go as we understand is to have the scheduling propagators and then add a modeling layer for scheduling problems on top (like minimodel does dor arithmetic constraints etc), so thats actually two issues. If you want to make a start we would of course offer support. But I believe that it would be better still if more than a single person would go about it. Parallel means multiple threads (so multi-core or multi CPU). I just got an 8 core machine, so you see why this is bound to happen ;-) Cheers Christian -- Christian Schulte, www.ict.kth.se/~cschulte/ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Javier Andrés Mena Zapata Sent: Wednesday, June 25, 2008 7:20 PM Cc: [EMAIL PROTECTED] Subject: Re: [gecode-users] Gecode 3.0.0: What we will do. What do you want? Hi, I think one important thing missing in Gecode is direct support to modeling scheduling problems. There has been always said (several papers, not Gecode) that that CP is the way to go if you want to model scheduling problems, but when one tries to implement those ideas in Gecode the difficulties arrives quickly, mainly because the missing of direct support to modelling scheduling problems and because the documentation is not very detailed when you want to model new search engines and branchings. You will address those issues in the next versions of Gecode, so in the future it will not be a great problem. I'm very interested in the support of scheduling functions in Gecode, and I would be glad to contribute an initial implementation, if you plan to include those functions in the main line of Gecode (that's no a requirement, but an idea). When you say "parallel support", do you mean multi-core support? or distributed support?. IMHO. Thanks for taking us into account. On Wed, Jun 25, 2008 at 11:07 AM, Christian Schulte <[EMAIL PROTECTED]> wrote: Dear all, as mentioned, we are planning for Gecode 3.0.0. Before going into detail, I would like to share with you the goals we wanted to achieve with the previous major releases and the goals we want to achieve with 3.0 (and even 4.0). Gecode 1.0.0 was the first version where we believed that we had arrived at something that was reasonably complete and robust to be useful to other users but us. The focus has been in particular on getting the basic architecture sufficiently mature. Gecode 2.0.0 achieved a complete set of abstractions needed to do efficient propagation including incremental propagation. We are quite confident that the level of completeness and maturity we reached for propagation will be sufficient for some time to come. Subsequent releases fixed (and will fix) lots of not-so-easy-to-catch bugs as we have been stepping up Gecode's quality. Gecode 3.0.0 will shift the focus away from propagation. The main focus will be documentation and search. In more detail, Gecode 3.0.0 will feature: - a complete rework of branching, including randomization and support for tie-breaking (already finished) - abstractions for cost-based optimization (just define a cost function, done) - a first shot at parallel search (working really great, but integration and legal aspects are not yet resolved) - the first stable version of Gist as an interactive search tool (almost done, we have made amazing progress and have attained a level of efficiency and scalability we thought impossible) - apart from that the usual small stuff, much of it devoted to make Gecode easier to explain - we might re-optimize the crucial abstractions for 64 bit rather than for 32 bit instead (should we? should we optimize both?) The other big thing will be to deliver documentation with Gecode apart from the extensive reference documentation it already comes with. The following topics (as of today's understanding) will be covered: (a) Modeling with Gecode: How to do CP models with Gecode. This will be concerned with Gecode-specific aspects and not be an introduction to CP. (b) Programming Propagators: That will explain the basic issues, the underlying architecture, but also all the programming techniques we developed so far. (c) Programming Branchings: Rather simple. (d) Programming Exploration: how to construct own search engines with a focus on how recomputation works in detail. (e) Programming Variables: how to provide new variable implementations. This is now really easy. The biggest piece will be (b). Together with Gecode 3.0.0 we will definitely release (a) and maybe a short draft of (b). (d) will not come with 3.0.0, (c) and (e) might come. We have not yet decided whether anything but (a) will be released as a freely available document. Depending on our academic publications anything but (a) might be delayed. The later versions of Gecode 3.* will gradually improve the search capabilities, including a better LDS, abstractions for large neighborhood search, automatic configuration of recomputation, etc... There will be a Gecode 2.3.0 release that will change the way memory management is done. This version will also be submitted to the MiniZinc Challenge 2008. It might (to make our live easier) already contain parts mentioned above as parts of 3.0.0. The long term vision is that Gecode 4.0.0 will be something that is fully backed up with high-quality documentation, has very advanced parallel search facilities, and might have unique inference modules (elimination of redundant propagators, automatic choice of consistency level, SAC, ...). What I did not mention is that we will add new propagators (and new variable types, thanks to Filip) if we find the time and we get the requests. But we do hope that we will see contributions here in the hopefully not-so-far future from our users. Last thing, time: - Gecode 2.3.0: end of summer - Gecode 3.0.0: late autumn - Gecode 4.0.0: late autumn 2009 Okay, that was long and boring. Sorry! Now: What do you want? How can you help us? Are we missing something really important? Is there something fundamentally wrong? All the best Christian on behalf of the Gecode team -- Christian Schulte, www.ict.kth.se/~cschulte/ <http://www.ict.kth.se/%7Ecschulte/> _______________________________________________ Gecode users mailing list [EMAIL PROTECTED] https://www.gecode.org/mailman/listinfo/gecode-users -- "El primer paso para llegar a algún sitio, es decidir no quedarse en donde se esté" John Piermont Morgan Javier Andrés Mena Zapata http://StrategicDecision.net/ +57 (2) 318 1000 ext. 2910 Cali - Colombia
_______________________________________________ Gecode users mailing list [EMAIL PROTECTED] https://www.gecode.org/mailman/listinfo/gecode-users