Economizing Cuts

theratburger

Member
Join Date
Jan 2008
Location
OHIO
Posts
4
I am currently trying to figure out a routine to find the most economic cutting sequence for a group of pipes of multiple lengths. I have pretty much designed it in quick basic to prove concept using a brute force tactic but was wondering if there was a common formula floating around out there for this.

Here is the scenario. I group together anywhere from 1 to 16 pieces of pipe and call it a batch. The multiple of cuts is anywhere from 1 to 6. The information I am given is the length of each piece of pipe and an acceptable minimum and maximum cut length. They are run together in parallel down a conveyor until they come to a stop that they butt up against, are clampled and then cut.

I want to find based on the length of each pipe, when cut in together as a batch, the most efficient/best bang for the buck, how many cuts and at what lengths to use to get the most overall sellable footage.

Like I said I brute forced it. I divide each pipe by each number 1 to 6, store the results and if they fall between min and max allowable, then take the number that is generated with each division that is between the allowable and divide each individual piece with it, add the good pieces together and decide on cut from there but I keep thinking there might might be some other solution. Let me know what you think.

Sorry my first post is such a big one!!

Thanks,

The Ratburger
 
An example would be nice

If brute force works then go for it, BUT!!!! can you do better manually using your brain?

I don't understand what the minimum and maximum is used for since the pipe should be an exact length.

Normally there is a cut list that consists of exact lengths and number of each length that must be cut out of stock pipe. The length of each piece of stock pipe needs to be known. Normally all stock pipe is the same length except for a left over piece from a previous run. Then the computer find the best combination of cuts considering all the stock pipe and the cut list at once. The solution that uses the fewest number of stock pipes is the winner. In case of ties the solution with the biggest remaining pipe is the winner.

I like problems like this. Now you have me wondering if this can be implemented in a motion controller with a flying cut off that can change the cut lengths on-the-fly. Hmmm.
 
Last edited:
I group together anywhere from 1 to 16 pieces of pipe and call it a batch. The multiple of cuts is anywhere from 1 to 6

OK so you are cutting up to 16 at one shot. Up to 16 pieces of each of up to 6 lengths.

What size is the pipe and what is the material. What is the precut length of pipe? What is your cut tolerance? How often will you change lengths? How many per shift? What kind of saw are you using?

After you get these cut how do you intend to sort the varying lengths?
Dan Bentler
 
The pipe is actually very expensive/high end. Depending on the customer and the order they will give a spec lets say, 40-45 ft. and will accept any that meets the criteria, paying by the foot. It's all packaged together since the lengths don't vary to an extreme, bundled, and shipped. I am going to try and take my "brute force method" and implement it in scl in a siemens plc but was curious if maybe I was missing an easier method. I appreciate your help.

Thanks again
 
Is your stock pipe (the pieces you are cutting from) endless, or does it have a set length, say 60 feet, or something? It seems that will make a difference in the problem solution.

Also, can you select how many pipes are cut in parallel, up to 16?

If the order is for 16 1-foot long pieces, then you can always make 16 cuts off of 16 pipes and have no waste PROVIDED that the stock is endless. I doubt that it is, so the stock length is an important factor that you left off.
 
this is pipe formed in a piercing mill. the pipe could be up to 150 feet long. Since it is a mill process the pipe from the same order could be 5 foot different or more. So, for example, I could have the information 6 pieces, lengths 150, 148.5, 149, 155, 145, 148 to be cut in a batch(parallel) and the order says any length form 39-43 ft. is acceptable. I wrote my routine in visual basic to test it and it can do the calculation in anywhere from 5-15 seconds depending on the range of acceptable lengths. The calculation won't have to be used very often because most of the time you can cut x amount of full lengths and there is no major decision to be made but 1 in 100 times a calculation would save some material. This will probably be an acceptable time period but I didn't know if there was some magic formula for something like this that I didn't know about.

Thanks for everyones time. I will probably pursue the direction I have started in but anyone with any additional ideas/suggestions would be greatly appreciated.

Thank you,
Ratburger
 
this is pipe formed in a piercing mill. the pipe could be up to 150 feet long. Since it is a mill process the pipe from the same order could be 5 foot different or more. So, for example, I could have the information 6 pieces, lengths 150, 148.5, 149, 155, 145, 148 to be cut in a batch(parallel) and the order says any length form 39-43 ft. is acceptable. I wrote my routine in visual basic to test it and it can do the calculation in anywhere from 5-15 seconds depending on the range of acceptable lengths. The calculation won't have to be used very often because most of the time you can cut x amount of full lengths and there is no major decision to be made but 1 in 100 times a calculation would save some material. This will probably be an acceptable time period but I didn't know if there was some magic formula for something like this that I didn't know about.

Thanks for everyones time. I will probably pursue the direction I have started in but anyone with any additional ideas/suggestions would be greatly appreciated.

Thank you, Ratburger

I guess the termi parallel is what gets us confused. If this is a mill rolling or extrusion then you get a length of pipe out and cut it to length ie 150, crank out some more and cut at 148.5, do again for 149, etc.
SO you are not doing parallel multiple piece cuts but doing one at a time? If you go this way you should have no scrap.

Flying cut off saw would work well in this case.

It sure would be nice to know more about the material - my crystal ball is broke. What made out of steel stainless diameter wall thickness, what is travel rate coming out of mill etc etc.

Dan Bentler
 
Last edited:
Ratburger,

It is an algebra problem.

Known variables:
MX = Minimum Acceptable Length
MY = Maximum Acceptable Length
L1,L2,L3,L4,L5 = Available Lengths of Pipe


Find:
CL = Best Length to Cut

Goal: Minimize waste, and maximize the number of salable pieces from the given Available Lengths. The number of cuts will be different for each L.
 
Last edited:
Known variables:
MX = Minimum Acceptable Length
MY = Maximum Acceptable Length
L1,L2,L3,L4,L5 = Available Lengths of Pipe


Find:
CL = Best Length to Cut

Define: MA = Minimum Pipe Advance Distance. This is the minimum trial increment distance to be added to the Mimium Acceptable Length for each trial. It could be 1", 6", 1 foot, or 2 feet. Smaller MA results in a better change of having no waste, and the larger the MA, the faster the program will run.

D = Divisor to use to find cuts with no waste

Program:
D = MX
;Comment: Do Until D > MY
Loop: L1/D = A
If A is Integer, then CL = A; Goto END
Else D = D + MA
If D < MY then Goto Loop
END
 
Last edited:
The way I understand this problem is to maximize the stock - cut the most pieces out of it with the least waste. The stock pipes can be of different lengths, and the batch should be optimized to cut the lengths to minimize the waste.

This is an optimization theory problem - I remember the concept from college.
 
The way I understand this problem is to maximize the stock
You want to minimize the stock pipe and the the most length of the cut pipe.

Dan and Lancie1 appear to be frustrated and I gave up long ago because the problem has not been stated correctly/thoroughly. For instance, nothing has been said if what will happen with the waste and what is waste. When I was writing optimizer code for sawmills equipment we had a value for the chips and nothing was really wasted.

There is no problem if all the pipe are between n*MinLength and n*MaxLength. The only problem occurs when one or more of the pipe is outside that window.

What happens if the stock pipe is 79ft long and the minlength=40 and maxlength=45? If the customers pipe is cut at 40 ft would a 39 ft section really be thrown away or would it be save in case another customer wanted 35-40 ft pipe? No optimization is necessary if the stock pipe length can be selected.

This is an optimization theory problem - I remember the concept from college.
I don't really see where there is much optimization happening. The choices or options are extermely limited. There is no way that finding the solution to this problem should take more a fraction of a second, a very small fraction.
 
Peter, I sincerely disagree.

The way the issue is presented, he wants to make multiple cuts of various lengths.

But like you correctly indicate, would you really throw out a 39' piece of stock? You could still use it for a 20' length if that was in the batch.

Optimization theory would result in a "batch" for this particular piece of stock to have a 40', a 20', with a remainder.
 
I dont understand where the tolerances come in, if the pipe is being driven against an end stop before the cut...... unless it is to be able to pass off the 'waste' end of the cut as a good piece for a different required length.

Surely if you have a tolerance you would cut all your pipes to the minimum tolerance so you can make more cut pipes out of the stock piece
 
I like a good disagreement.

Peter, I sincerely disagree.
What is the end goal? Are you minimizing waste or maximizing pipe sold? Minimizing waste usually provides the best return on investment. Maximizing pipe sold does not as the cost of the stock pipe may be higher the the value of the pipe sold, but you can alway make it up in volume. :)
 
I dont understand where the tolerances come in, if the pipe is being driven against an end stop before the cut......
I am not positive, but I think the tolerances are the range that the customer would accept. So for example if a stock pipe happens to be 150 feet, and the customer order is for a batch of pieces that are 45 to 55 feet, then it would make sense to cut three 50-foot pieces, with no waste. If you cut the minium length, three 45-foot pieces, total 135 feet, you would have 15 of waste and only be able to sell 135 feet, instead of 150 feet.

Another problem is that there are 6 pipes cut in parallel, but apparently all 6 are usually different lengths (+/- 5 feet)! That makes it impossible to minimize the waste for all of the 6. It seems the best that could be done would be to optimize the SHORTEST stock pipe (figuring out lengths of cuts that result in the most sellable length for the shortest stock pipe), and make the same cuts on all 6, leaving some waste on 5 of the 6 parallel pipes.

If you optimized the LONGEST stock pipe, then the other five might not be long enough for the last cut, resulting in 5 "nearly-long-enough" waste pieces.
 
Last edited:

Similar Topics

HI im using win911 V7 and am having a problem with the voice cutting out part way through the call and it stops talking when a alarm is being...
Replies
0
Views
65
I have a curious question and I can't seem to find any information on it. I'm hoping I'm just overlooking something simple. I have 4 machines...
Replies
3
Views
462
Hey folks I was wondering how one puts shortcuts on the logic display for instructions. A few weeks back another programmer added them for me...
Replies
2
Views
971
It is my understanding that an LED is considered a simple device, making its use fairly simple in an IS application. However I am running into a...
Replies
22
Views
5,883
Hello, I am pulling my hair out trying to setup Modbus Master Read/Write Commands on a Prosoft MVI56E-MCM attached to a Clogixs 1756-L82E PLC. It...
Replies
1
Views
1,573
Back
Top Bottom