This article describes how Opti tries to find the best yield and the settings that can affect yields, such as:
- Yield Factor
- Use Max
- Search Depth
- Stock Selection Mode
- Shape Nesting
- Sort By
- Racking
These items are explained further below by definition and examples.
Stock Sheets Grid (Optimization Tab)
The stock sheets grid can be used to adjust optimization settings on a particular release.
The image below displays the Stock Sheets grid before optimization takes place. It is found in Opti-Glass at Releases - Glass Cutting - Optimization Tab. Shown are the stock sheets that are available to be used for optimization, which are determined by the particular glass types on the release and the particular glass types that are enabled on the machine.
Yield Factor
When an optimization can choose from multiple stock sizes, this setting is used to determine how it should balance between getting the best yield and picking the preferred stock sizes. The Yield Factor is a percentage greater than 0 and less than or equal to 100. The higher the value the more likely that stock size is to be used. For example, maybe an optimization will get a 3% yield improvement if it uses the smallest stock size available, but in doing that it would require cutting twice as many sheets. So, the marginal yield improvement is not worth the decrease in productivity caused by extra drops. Setting it to 100 effectively makes that stock size the preferred stock size. If two stock sizes have the same Yield Factor the one that obtains the higher yield will be used.
How It Works – When optimizing the optimizer actually optimizes the release on all stock sizes. Then it determines the Weighted Yields of each optimization to determine which to use. Weighted Yield = (Actual Yield / 100) * (Yield Factor / 100).
- For example, assume there are two stock sizes. Stock Size A is 100x144 and Stock Size B is 72x96. So, A is 100 SqFt and B is 48 SqFt.
- Now say a release is optimized that has that has 190 SqFt of glass total. Assume the optimizer comes up with the following optimizations.
- 2 patterns of Size A: Yield = 95%
- 4 patterns of Size B: Yield = 99%
- If the Yield Factor is equal on these two sizes it will choose to use size B because it obtained a better yield. However, you may prefer it uses Size A to save labor and time.
- Now let’s say that the Yield Factor is 100 percent on Size A and 95 percent on Size B. The optimizer would first find each size’s Adjusted Waste like this.
- Size A: Weighted Yield = (95/100) * (100/100)
- Result = 0.95
- Size B: Weighted Yield = (99/100)*(95/100)
- Result = 0.9405
- Size A: Weighted Yield = (95/100) * (100/100)
- Because the Weighted Yield of Size B is less than the Weighted Yield of Size A, Size A will be used.
Use Max
How many sheets the optimizer can use. Defaults to the Quantity On Hand minus Quantity Allocated for that glass part. Setting this to ‘-1’, will allow the optimizer to use unlimited sheets. Comes from Inventory Settings. Note: When using a machine in Dynamic mode, the quantity allocated is ignored and use max will show the quantity on hand.
Settings
If the user needs to make changes at the release level, the following settings can be reconfigured before optimization. Machine settings are saved in the Settings screen for each release. These are saved when the optimization is created; thus, any changes to Machines setup will not change the settings on existing releases. Select the Settings button to access the following dialog:
- Search depth – This setting controls the amount of effort the algorithm exerts to improve yields. This will be a numeric value between 1 and 10. The higher the number, the harder the algorithm will work, which can result in better yields. However, it will also increase the amount of time it takes to optimize. Users are encouraged to experiment with search depths to find what works best. Additionally, this can be changed per release when optimizing.
-
Stock Selection Mode – This will tell the algorithm if it is more important to get the best possible yield or to minimize the number of times the operator has to switch stock sizes.
- Best yield – Optimizes all stock sizes together and each stock size separately and chooses the best result.
- All sizes – Optimizes only all sizes together.
- One size – Optimizes on each stock size completely and chooses the best result.
- One size except last pattern – Optimizes on each stock size completely but allows use of a different stock size for the last pattern.
-
Shape Nesting – The following settings apply to how the optimizer will attempt to Nest shapes. Nesting shapes is when the diagonal edges of shapes are placed together to limit the amount of scrap generated by a shape.
- Enable – When checked, the machine will attempt to nest any shape that is configured to Allow shape nesting.
- Identical Shapes Only – When checked the machine will only attempt to nest shapes that are identical.
- Nest Factor – Percentage to specify how much of an improvement within a nested pair is needed for nesting to occur. The improvement is determined by the amount of area used. If the area improvement is greater than or equal to the Nest Factor than it will attempt to nest those two shapes together. Otherwise, it will not. 10% is a typical nest factor setting.
- For example, 3 nest-able shapes are on a release. Optimized by themselves, lite 1 consumes 4 SqFt, lite 2 consumes 5 SqFt, and lite 3 consumes 6 SqFt. The Nest Factor is set to 21%. When optimized together, lite 1 and lite 2 take up 7 SqFt. Thus, the area improvement from this nesting would be 22%. This is determined by the formula (Un-nested Area [9] – Nested Area [7]) / (Un-nested Area [9]). Using this scenario, these shapes could be nested together. However, if lite 1 and lite 3 take up 8 SqFt when nested together, then the area improvement would be 20%. Therefore, with a nest factor of 21%, lite 1 and lite 3 would not be allowed to nest together.
- Max Shapes To Nest – Setting to indicate how many shapes can be nested within one block. Can be anywhere from 2 to 10.
-
Sort By – Setting to determine the order in which things will be optimized.
- Rack – The rack sequence honored during optimization.
- Glass – Optimization will sort by glass as determined by Load Sequence. This setting will still sort by racks; however, that sort will be secondary to sorting by glass.
Examples
-
Why is the optimization taking so long in Opti-Glass?
- Try lowering the Search Depth setting. Search Depth can improve yield, but setting it too high can cause an optimization to take too long.
-
What is a typical Search Depth setting value?
- Historically, that has been 3. In Opti version 9.4 and later, the default is 15. Prior to 9.4 the search depth range was 1 to 10. In 9.4 and later, the search depth range is not technically capped, so there is more room to experiment in newer versions.
-
Does database server performance impact optimization performance?
- No. The optimizer does not regularly hit the database server during optimization. The optimizer will hit the database server at the start and end. So, we really cannot correlate server performance to optimizer performance.
-
Why did the optimization use 1 sheet size (like 130x204), instead of using 2 sheets of another size (like 096x130) for a better yield, when "Best Yield" was the setting?
- This is a special case that occurs when all items can be placed on one sheet. When the optimizer is deciding between two generated patterns, it will prefer the patterns that use up all of the production items, regardless of yield. So the concept is, if we can put all of the items onto one sheet, we consider that better than utilizing two sheets of a different stock size, yield is ignored in that case.
- The user can select only a single stock size or try switching the optimization to "One Size" mode which optimizes each stock separately and then compares the yield. The user can add this to their steps of finding the best yield, but normally they'd want to stick to "Best Yield" setting.
- This is a special case that occurs when all items can be placed on one sheet. When the optimizer is deciding between two generated patterns, it will prefer the patterns that use up all of the production items, regardless of yield. So the concept is, if we can put all of the items onto one sheet, we consider that better than utilizing two sheets of a different stock size, yield is ignored in that case.
-
Does the product square footage in OptiGlass include the shape trim, instead of just the square footage of the shape itself?
- Yes, Opti does include the shape trim as "product" area. The reasoning is even though this is scrap, it is "required" to ensure that the shapes are scored properly and broken out properly.
-
Why are two Opti releases yielding different results on stock sheets for different glass types, but are the same total number of lites and total product SQFT on each release?
- The two glass types are being comprised in a schedule's IG units. The 6mm Clear is only using 4 sheets of a 102x144 stock sheet, while the 6mm Bronze is using 5 sheets of a 102x144 sheet. They are being optimized on two different machine definitions which have identical machine settings, but yield different number of patterns. In this case, each rack had differently sized items for each rack-slot. So when optimizing in rack sequence, the user forces the optimizer to place different sizes first. If the rack sequencing is disabled, the pattern are the same.
-
Why is a quote optimization so different from the release optimization?
- One difference is due to racking. When running a quote optimization, there has been no racking yet, since racking runs during schedule release. This means that Opti makes some assumptions and treats the items as one giant rack, not the same as with a true release optimization.
-
We had an issue when optimizing in Opti where it put the same size lite on 2 different sizes of stock sheets causing the larger sheet to have more waste than the other. We did the optimization more than once and it always came out the same. Why would it do this?
- We reviewed the optimization results and confirmed that the same lite size was placed on two different stock sheets—one with more waste.
- This behavior can occur even with “Best yield” selected due to several factors that are worth checking:
- Yield Factors for both stock sheets may be equal, making them equally weighted.
- The optimizer may balance yield against operational efficiency, such as fewer cuts or better rack sequencing.
- Use Max may be set to unlimited, allowing both sheets to be used freely.
Search Depth of 3 may not be sufficient to explore better layout alternatives.
-
To improve optimization results, we recommend experimenting with these settings:
- Lowering the Yield Factor for the less efficient stock sheet.
- Limiting Use Max for the larger sheet to reduce its availability.
- Increasing Search Depth to 4 as a test, to see if a more thorough optimization selects the same stock sheet size more consistently.
- This behavior can occur even with “Best yield” selected due to several factors that are worth checking:
- We reviewed the optimization results and confirmed that the same lite size was placed on two different stock sheets—one with more waste.
-
Outside the settings in this article, how can I improve yield?
- Try applying the Filler Functionality described in this article: OPTI Filler Functionality
-
When using "Filler" I see gaps in my patterns resulting in a lower yield than expected.
- The filler algorithm isn't just looking for a gap in the original pattern and trying to fill the gap. It actually pulls in filler and runs the entire optimization and determines what is a better yield from a release standpoint. Since it is not doing it by pattern-by-pattern, you could find some gaps (spare space) on a pattern.