Geoffrey,
Thanks, this was very helpful.
--Bill
From: rules-users-bounces(a)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