OptaPlanner and Drools for 3D Bin Packing and Other Business Process Optimization?

612 views
Skip to first unread message

omar.g...@gmail.com

unread,
Oct 2, 2016, 7:57:28 PM10/2/16
to OptaPlanner development
Hi all:  

I hope you don't mind a couple general inquiries (please bear with me, I'm studying to get up to speed).  I've been looking for a permissive licens open source 3D packing heuristic api and/or library to form the foundation of a business optimization process and user platform for 3D object packing (3D objects of various sizes and shapes).  I finally came across OptaPlanner and Drools and I'm trying to get up to speed.  I've worked on the 3D bin packing problem using a BLF genetic algorithm from a research approach and our results were mixed.  

As much as I enjoy working on the bin-packing algo from a research perspective, I'd rather focus on integrating other peoples more advanced 3D bin packing algos into the business process I'm tasked with optimizing for my clients.  Is this something that OptaPlanner and the associated business optimization software (Drools and jBPM) are built for? 

We've tried to keep our software development environment to just Python and Javascript.  I'll get big pushback on a Java based platform!  One of the issues we had with our previous research using Python is speed.  My colleagues are willing to have some C libraries in the mix for optimization functions if it improves the speed of the optimization task significantly.  Is there a C based equivalent to OptaPlanner?  I've looked, but can't find anything appropriate with a permissive open source license.  Thanks for your patience on this question.  I'm just being thorough as I will get asked if there is a C equivalent to OptaPlanner, but I can't find one and I'm just checking with a community that has more knowledge on this subject than I do.  

The other general question is speed of Optaplanner's 3D bin packing engine, but that is a dependent question so I've leave it alone here.  We just need the engine to be fast and know that speed is something that is actively being worked on/improved by the community.  

Just FYI! I'd like to include OptaPlanner and jBPM and Drools in our environment, but I want to make sure Java stays only with OptaPlanner for optimization tasks/functions and we not forced to become a Java shop for our web and application development(My view is JavaScript as the foundation of our application development and other languages are used when needed where they are best applied).  

Thanks for your help and time.  Appreciated.


Geoffrey De Smet

unread,
Oct 3, 2016, 4:14:16 AM10/3/16
to optapla...@googlegroups.com

OptaPlanner doesn't have out-of-the-box support for 3D volume packing yet
because from my experience, the best approach for that is as follows:

1) Use Local Search to order a List of items (for example with OptaPlanner's <localSearch>)
2) The order of the List is the order of the First Fit Decreasing algorithm. So put in the first item on the bottom left corner, then the second against it, etc.

I've got an old implementation which does use OptaPlanner and does do that approach:
  https://github.com/ge0ffrey/packing-santas-sleigh/
But you'll see "there be dragons".

AFAIK, there aren't any good 3D volume packing open source libs out there yet.

HTH

With kind regards,
Geoffrey De Smet

--
You received this message because you are subscribed to the Google Groups "OptaPlanner development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to optaplanner-d...@googlegroups.com.
To post to this group, send email to optapla...@googlegroups.com.
Visit this group at https://groups.google.com/group/optaplanner-dev.
For more options, visit https://groups.google.com/d/optout.

omar.g...@gmail.com

unread,
Oct 7, 2016, 2:19:35 AM10/7/16
to OptaPlanner development
Thanks, this helps... appreciate the information.

The method you describe using the Optaplanner search to order the items is very similar to how we've been doing things with 3D bin packing.  We're using a different object placement heuristic than the First Fit Decreasing.  

You're confirming my research that there is no permissive license 3D bin packing library/API that is publicly available.  I've been looking for a long time.  Only 3DBinpacking.com describes the type of API we've been looking for in practical application, but they say nothing (no academic papers, etc) about "how" they do things, so we have no interest in using an API we don't understand.

I'll study you're old solution (packing santa's sleigh) and see if we can incorporate our placement heuristic.  

That said, if someone has a 3D bin comprehensive 3D bin packing solution that uses OptaPlanner that they would be not mind allocating under a permission license, please let me know.  Thanks.
Reply all
Reply to author
Forward
0 new messages