Overall, though, I agree with Jordan's point. You don't really need any sophisticated constraint solving to solve the problem as you've described it -- the greedy approach works fine in this context. Simply sort all the applicants in descending order by score divided by amount of money requested, and dole the money out in that order.
On Wed, Mar 5, 2014 at 3:54 PM, Mark Engelberg <mark.engelb...@gmail.com>wrote: > The potential problem with modeling it as a knapsack problem is that it > assumes that grant-giving is an all-or-nothing affair. > > Another reasonable way to model it is to assume that if I'm given, say $80 > out of $100 requested, then I have an 80% chance of going. With such a > model, let's say I have a score of 5 and a grant request of $100. Then, if > I'm granted $100, I contribute 5 points of goodness to the overall value > I'm optimizing. So $1 allocated to me contributes 0.05 points of expected > goodness to the overall value. > > Here's a gist, illustrating how to do this in Loco: > https://gist.github.com/Engelberg/9379157 > > --Mark > > > > > On Wed, Mar 5, 2014 at 3:22 PM, Jordan Berg <jordannealb...@gmail.com>wrote: > >> Sounds like you might be able to model it as a knapsack problem with >> budgets as weights and scores as values. >> > -- 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 --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.