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