Welcome to the CSIG, a Special Interest Group of the ACGNJ. The subject for this month is a utility for packing shipping containers. (Again.) It uses the latest C++ compiler in Microsoft's Visual Studio 2005.
Here are the details of this utility. Object: This program takes as input a list of boxes to be shipped in a container. It then iterates a large number of possible locations for the placement of the boxes while calculating the volume of the container. When the program finishes, the dimensions of the smallest container is displayed along with the packing efficiency. The ideal is 100 percent. For example: 5 boxes dimensioned 3x4x4 will fit in a 9x5x8 container with a packing efficiency of 66.7 percent.
Last month's meeting was quite lively with everyone participating in the discussion about the latest computers and programming issues. We then discussed the main technical subject about "Bin Sorting Algorithms" using the "Monty Carlo" technique. There were comments from just about everyone and many of the suggestions have been incorporated in the second half of the presentation for February. Here are some of the comments:
// 1. How about doing the long iteration in another thread. // 2. Check Wikipedia for Bin Packing algorithms. // 3. Watch out for strange object sizes like a baseball bat. // 4. Provide more user control for the solution. // 5. Make it easier to input box sizes. // 6. Why use fixed orientation of the boxes? Let the computer rotate them. // 7. Wikipedia suggests sorting the boxes by volume first. // 8. Provide box locations after the program finds a solution. // 9. Use bit algorithms for the flags; then, "AND" results to check. // 10. Provide a graphical output for the solution. // 11. Improve basic algorithm. // 12. If packing has reached 90 percent, quit. // 13. Check for no-data condition. // 14. Zero Progress Bar when new data is entered.
Virtually all of the comments have been addressed. The most exciting changes involve running the 1,000,000 calculations as a separate thread and then displaying the results in a 3d-like diagram. We will spend time this month discussing these and any special questions.