Geoffrey,

Thanks, this was very helpful.

--Bill

 

From: rules-users-bounces@lists.jboss.org [mailto:rules-users-bounces@lists.jboss.org] On Behalf Of Geoffrey De Smet
Sent: Friday, October 12, 2012 11:11 AM
To: Rules Users List
Subject: Re: [rules-users] Drools Planner for purchasing optimization - good fit for problem?

 

 

Op 11-10-12 21:34, Schneider, Bill schreef:

Geoffrey,

Thanks for the quick response. 

 

As I’m learning more about my scenario, it feels more like a mixed-integer problem than a combinatorial problem.  The objective function is linear in the decision variables.  I would model the decision variables as the quantities of each item from each vendor.

This might be the biggest hurdle in Planner. A variable that represents a quantity, for which is it's unrealistic to make a pool of all values is currently difficult (but not impossible) in Planner. Future work will improve support for this - but currently you 'll likely need to implement custom moves (see manual).

The conditional offers I could model as a separate vendor/bid, with a binary decision variable for “condition met?” and inequalities to constrain the quantities that depend on the binary variable.   Some of the global constraints can be modeled in the same way, like “at most two vendors.”

It sounds like there are some advantages to using Drools Planner in terms of readability and maintainability of the relationships and constraints – you have the full expressive power of DRL (or Java), and are not limited to inequalities.   That could make it easier to program for new types of rules or constraints later. 

 

Are there any advantages to using Drools Planner from a computational-complexity standpoint as well?  Would it *hurt* to use in terms of CPU/memory, or even learning curve, for a problem that is possibly not combinatorial, and might be solvable with other means?

In my experience, if it scales beyond 10 000 values (= bids) and 10 000 purchases, LP and MIP's memory requirements are impossible today and metaheuristics are the only way.
See Google roadef 2012 competition: http://blog.athico.com/2012/06/roadef-2012-first-results-for-dataset-b.html
And that's even without scaling out the number of constraints (= score rules).

 

Also – are you aware of any case studies or examples of Drools Planner being used in the purchasing domain like this? 

Not in the purchasing domain - I suspect the quantity complexity is hindering adoption in that area currently.

 

Thanks again!

 

--Bill