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 want to use large
integer domains.

Where core.logic lvars can only be assigned or fresh, gecode
explicitly represents the domain of each variable and can efficiently
propagate constraints across them. In your example, x and y would both
have domain [0,5]. If you added the constraint x >=3, after
propagation you would have x: [3,5] y:[0,2]

Gecode also has support for custom search strategies which would allow
writing heuristics for minimisation. I'm not sure if gecode would ever
be as fast as a linear programming solution but it's certainly more
flexible.

I wrote a constraint solver in clojoure based on the same ideas -
https://github.com/jamii/mist/tree/master/src/shackles . It's only a
toy and it could do with some macro love to hide the state threading
but it demonstrates the basic ideas.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to