<br><br><div class="gmail_quote">2010/7/27 Cox, Stuart TRAN:EX <span dir="ltr"><<a href="mailto:Stuart.Cox@gov.bc.ca">Stuart.Cox@gov.bc.ca</a>></span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
As a matter of interest, are you using some form of the Bin Packing or<br>
Knapsack algorithms to underpin your woodworking program?<br>
</blockquote><div><br>I think so yes. Only the knapsack weights must be <= a given value, the wood board lengths must be >= the value. Otherwise the same probmem. (Just found those from wikipedia.)<br><br>There is a Cardinal holding the number of possible combinations. It works as a bit mask when lengths are added. It means the max number of boards is 32 now but could be extended to 64 using QWord (or int64). The calculation time raises exponentially of course.<br>
<br>My code is no secret so I include it here as <a class="dO" id=":4c" href="?ui=2&ik=fd78cd74df&view=att&th=12a1d2748f6002f3&attid=0.1&disp=attd" target="_blank">Ohjelma.tar.gz</a>. The UI is in Finnish and is very primitive. I can translate it if someone is interested. Input numbers are on left, one per line, then the wanted value and then a Calculate-button.<br>
<br>I made few optimizations, 2 combinations are counted on one round and an exact match stops the search. This would be a PERFECT candidate for a multithreaded program. Not much data is transferred so the threads would not block each other.<br>
<br><br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Ministry of Transportation and Infrastructure<br></blockquote></div><br>Now I understand. The Knapsack problem and Bin Packing often comes up when doing transportation. :-)<br>
<br><br>Regards,<br>Juha<br><br>