Saturday, January 15, 2011

Do you have a bin packing problem or vehicle routing problem?

I am looking for a good bin packing problem or a good vehicle routing problem to implement as an example in Drools Planner. So if your company has a situation similar to these, consider contacting me (or replying to this blog):
  • It has to fill containers with boxes. It wants to minimize the number of containers used.
  • It needs to service a number of customers with a fleet of vehicles. For example an airline, a train company or freight distributing company.
  • It has a paper mill and needs to cut fixed-sized paper rolls into various-sized paper widths (per customer order). It wants to minimize the waste.
A couple of people have already implemented such problems in Drools Planner, but there's no official open source example yet, to show some of the best practices and implementation details. Furthermore, many companies don't realize they can save a lot of money and severely lower their ecological footprint by optimizing their planning.

What's in it for you? You get a free (ASL licensed) prototype, tailored to your planning problem. It should be straightforward to copy that into your (proprietary) company code and integrate it with your live systems.

What do I need from you? A couple of things:
  • Real-world data sets
    • Preferably in XML or TXT format
    • Each data set should be a planning instance that occurred in the past.
    • Preferably at least 5 historical data sets
    • All data that is not relevant for the planning problem should be pruned.
    • If it contains sensitive data (such as employee names), that data should be obfuscated.
  • A clear data format description, except if it is readable XML.
  • A clear description of the hard and soft constraints. For example:
    • HARD: Each airplane cannot transport more passengers than its number of passenger seats.
    • SOFT: Each airplane has a fuel price per km (depending on it's size). Minimize the cost.
    • SOFT: Each airplane has an airport tax per landing. Minimize the cost.
  • It should be possible to calculate the entire cost of a solution in $ or €.
    • And preferably also in liters of fuel or CO² emission or any other ecological footprint.
    • If possible, each historical data set should contain the solution that was executed originally in the past, so we can calculate the original cost and footprint and compare it with the optimized solution, to clearly show the cost and ecological footprint reduction.
  • All this information must be made available under the ASL license because it will be added to the Drools Planner examples.