software for calculating optimal cut list on stock?

Even with a varying list of lengths - an array of lengths could be built and worked off of. It is easy to make the array all of the same number for the same length. The trick would be the start and end - have two cells for those pointers.
I think a spreadsheet would be useful. Just a little code in the cells. And a data base in an array.
Martin
Martin H. Eastburn @ home at Lions' Lair with our computer lionslair at consolidated dot net TSRA, Endowed; NRA LOH & Patron Member, Golden Eagle, Patriot's Medal. NRA Second Amendment Task Force Charter Founder IHMSA and NRA Metallic Silhouette maker & member.
formatting link

Maxwell wrote:
----== Posted via Pronews.Com - Unlimited-Unrestricted-Secure Usenet News==----
formatting link
The #1 Newsgroup Service in the World! >100,000 Newsgroups ---= - Total Privacy via Encryption =---
Reply to
Martin H. Eastburn
Loading thread data ...
The zip file also includes CUTLIST.EXE which is supposed to run much faster. My understanding of certain comments in the code is that CUTS.EXE does an exhaustive search, while CUTLIST.EXE uses a fast greedy algorithm that might not provide the absolutely best solution. My understanding of other comments in the code is that CUTS.EXE uses a slow greedy algorithm rather than exhaustive search. I haven't actually run either one, but suggest you try both; CUTLIST.EXE is supposed to accept the same data file, run faster, and produce just as good a solution.
REMNANT.EXE, also in the zip file, figures out a cutting list when you start with different lengths of stock instead of all the same. -jiw
Reply to
James Waldby
Grant,
The reason CUTS doesn't provide for a kerf is that I wrote it to test my concept for doing the problem and didn't want to deal with the complication of the kerf.
Do me a favor. Set your problem up with REMNANT. It includes the ability to specify a kerf width in its data file. It's intended to accept unequal length remnants as input but it should work with a collection of equal length pieces of stock as in your case.
Assuming it works, compare the answer you get with what you got with CUTS. They should be similar. And it should run more quickly because REMNANT uses the greedy algorithm while CUTS uses exhaustive search.
I'd do this check myself except I want to do it with your specific data. None of these algorithms are perfect and results can vary depending on the specific problem.
If what I suggest is too much work for you, email me your problem data and I'll do the experiment on my own. My email is: mklotz at alum dot mit dot edu.
Reply to
Marv
REMNANT runs almost instantly on this set of data while CUTS takes about four hours. The output is similar but not identical. It appears that REMNANT has a small floating point issue somewhere - here is a line of its output:
Length 240 - 131, 102.5, 4.625, (0.15 kerf + 1.72499 drop = 1.87499 waste)
My calculator gets 1.725, not 1.72499. Also, it seems anomalous that when you print out the part length you only give 2 decimal places (e.g. 4.63 not 4.625) when below you print out five. I would rather see three decimal places in the part length.
Here is my data if you want to play with it:
stock length: 240
2,131.00 2,127.00 2,124.00 2,120.00 2,117.00 2,113.00 2,102.50 2,100.00 2,98.50 2,96.00 2,54.50 2,50.50 2,46.00 2,43.50 2,42.00 2,39.50 6,16.625 2,16.625 2,10.625 2,4.625
Grant
Reply to
Grant Erwin
The program is using the C language %g format which prints out all non-zero digits. I need to do this since the program has no a priori knowledge of the user's desired print out precision. Roundoff will differ from one machine to another.
For instance, on my (XP) machine, your line...
Length 240 - 131, 102.5, 4.625, (0.15 kerf + 1.72499 drop = 1.87499 waste)
looks like...
Length 240 - 131, 102.5, 4.625, (0.45 kerf + 1.425 drop = 1.875 waste)
[BTW, I can't explain why yours says 0.15 + 1.425 and mine says 0.45 + 1.425. I downloaded and used the program from my web page so we're both using the same code.]
although another line looks like...
Length 240 - 54.5, 54.5, 50.5, 50.5, 16.625, 10.625, (0.9 kerf + 1.85001 drop = 2.75001 waste)
The part lengths are printed with two decimals only to conserve space. Internally, the program uses all the precision specified in the data file.
Since REMNANT runs quickly and produces a thirteen stock length solution, my experiment seems to be successful. I recommend that you use it for future work.
I suggest that we discuss this further via email.
Regards, Marv
Home Shop Freeware - Tools for People Who Build Things
formatting link
Reply to
Marv

Site Timeline

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.