Re: core.logic for constraint logic programming

2012-10-24 Thread nathanmarz
Wow, thanks for the great information everyone. David – I don't know how we'll make it pluggable, I was thinking users could provide functions that return a set of constraints. And there would probably be a cost function that users could override as well. On Oct 24, 3:26 pm, Jamie Brandon wrote:

Re: core.logic for constraint logic programming

2012-10-24 Thread Jamie Brandon
Ok, clearly I've not been keeping up, sorry :) On 24 October 2012 18:17, David Nolen wrote: > On Wed, Oct 24, 2012 at 6:07 PM, Jamie Brandon > wrote: >> >> It sounds like something that would benefit from good constraint >> propagation. If I remember correctly, core.logic only support >> propaga

Re: core.logic for constraint logic programming

2012-10-24 Thread David Nolen
On Wed, Oct 24, 2012 at 6:07 PM, Jamie Brandon wrote: > It sounds like something that would benefit from good constraint > propagation. If I remember correctly, core.logic only support > propagating equality/inequality constraints which can be pretty slow > for exploring large domains. Something

Re: core.logic for constraint logic programming

2012-10-24 Thread Jamie Brandon
It sounds like something that would benefit from good constraint propagation. If I remember correctly, core.logic only support propagating equality/inequality constraints which can be pretty slow for exploring large domains. Something like gecode (http://www.gecode.org) might be a better fit if you

Re: core.logic for constraint logic programming

2012-10-24 Thread David Nolen
On Wed, Oct 24, 2012 at 5:35 PM, Andy Fingerhut wrote: > Nathan: > > I don't know core.logic's capabilities, and I haven't looked at the kinds > of constraints you describe in enough detail to say for sure, but my > initial reaction is that linear/integer programming might be a better fit. > I'm

Re: core.logic for constraint logic programming

2012-10-24 Thread Andy Fingerhut
Nathan: I don't know core.logic's capabilities, and I haven't looked at the kinds of constraints you describe in enough detail to say for sure, but my initial reaction is that linear/integer programming might be a better fit. It has been about 5-10 years, but in the past I've had success with r

Re: core.logic for constraint logic programming

2012-10-24 Thread David Nolen
On Wed, Oct 24, 2012 at 5:17 PM, nathanmarz wrote: > Cool, thanks for the quick response. We'll be looking into this pretty > soon. I ultimately want the logic engine itself being exposed to users > so they can add their own company-specific constraints to resource > scheduling – which will be to

Re: core.logic for constraint logic programming

2012-10-24 Thread Ben Mabey
On 10/24/12 2:56 PM, nathanmarz wrote: I'm looking into rewriting Storm's resource scheduler using core.logic. I want to be able to say constraints like: 1. Topology A's slots should be <= 10 and as close to 10 as possible (minimize the delta between assigned slots and 10) 2. All topologies shou

Re: core.logic for constraint logic programming

2012-10-24 Thread nathanmarz
Cool, thanks for the quick response. We'll be looking into this pretty soon. I ultimately want the logic engine itself being exposed to users so they can add their own company-specific constraints to resource scheduling – which will be totally badass. If you're interested in tracking this, I opened

Re: core.logic for constraint logic programming

2012-10-24 Thread David Nolen
On Wed, Oct 24, 2012 at 4:56 PM, nathanmarz wrote: > I'm looking into rewriting Storm's resource scheduler using > core.logic. I want to be able to say constraints like: > > 1. Topology A's slots should be <= 10 and as close to 10 as possible > (minimize the delta between assigned slots and 10) >

core.logic for constraint logic programming

2012-10-24 Thread nathanmarz
I'm looking into rewriting Storm's resource scheduler using core.logic. I want to be able to say constraints like: 1. Topology A's slots should be <= 10 and as close to 10 as possible (minimize the delta between assigned slots and 10) 2. All topologies should use less than 200 CPU's and less than