9.6 release notes - greyconsonarqube is a .net static code analysis tool. its results should be...
TRANSCRIPT
9.6 Release Notes
12th March 2019
The leading provider of Supply Chain Planning & Optimisation, Production Planning & Detailed Scheduling, Forecasting & Manufacturing Execution Systems for roll-based & flat sheet industries.
• Inter-trimming different grades
• Variable-diameter H-Trim
• Stock allocation
• Monthly statistics and customer survey
• Performance improvement
• >7% reduction in time for difficult problems
• 0.9% reduction in pattern count against old baseline,
1.2% against previous release
Highlights
2
• Sometimes we have grades that are very similar, but not identical, e.g.• Baseline = A
• Downgrade = A-
• Upgrade = A+
• If we trim them separately, we may have a lot of waste:
• A 4.0%
• A- 5.0%
• A+ 6.0%
Inter-trimming Different Grades – The Problem
3
Total = 4.9%
• Produced at A-
• Produced at A+
• Produced at A+
• Produced at A
Inter-trimming Different Grades
4
A- A- A-
A
A+ A A-
A+ A+ A-
A A-
Financial Model
• Orders • PM
• Stock
Cost Inputs
5
Replaces the Sizing Cost
Incremental Cost - Solution
6
Can be used as a pattern sorting rule
• Issue: in a variable-diameter context where the problems are not small, you are prepared to increase waste in order to reduce pattern count.
• Solution: H-Trim algorithm now supports variable diameter.
Variable-diameter H-Trim
7
If the problems are small, you would use KC instead, as it has an optimality guarantee.
• Scenario: We are trying to use up some of the existing (exact-match) stock to complement the PM.
• If using Stock Configuration = Optional, then too little of the stock is used.
• If using Stock Configuration = Maximise use of exact match, then too much of the stock is used, leading to high waste.
• Example from a Greycon client:
Stock Allocation
8
Stock Consumption Waste Stock Consumption PM Sets
Optional 0.424% 3 rolls / 16,195 lbs 37
Maximise use of exact match 1.574% 7 rolls / 41,664 lbs 36
• Do not pre-allocate any stock
• Solve with Stock Consumption = Optional
• Use negative numbers here:
Stock Allocation – New Way
9
Stock Allocation – Typical Result
10
Stock Consumption Waste Stock Consumption PM Sets
Optional 0.424% 3 rolls / 16,195 lbs 37
Maximise use of exact match 1.574% 7 rolls / 41,664 lbs 36
MustMake – 5% 0.619% 6 rolls / 35,185 lbs 36
Stock Allocation Configuration
11
• Configurable increments• Can be made part of parameter sets
Monthly Statistics & Client Survey
12
• Pops-up at the beginning of the month
• Shows how much you have used X-Trim
• Asks you to answer three questions
• Scenario: We are supplying some embossed (or coated) orders and we have parent reel stock. Some of the stock is already embossed, some of it is not; the latter can be embossed.
• Solution:
• Use Finished Grade field
• Embossed parent reel stock must have the embossing design in the Finished Grade.
• Unembossed stock has blank Finished Grade
• Unselect this option
Parent Reel Stock
13
• Requirement: what changes have been made to a solution, when and by whom?
Solution Log – Who Moved my Cheese?
14
• Scenario: There are many workcentres and routes in the same work area, but we want to restrict certain users to only access certain sites.
• Solution• Via the Administrator, users may be assigned to a profile that restricts them
to specific sites.
• If so, then X-Trim will now restrict the machines and the routes to those that are available to the user.
• The list of sites is configured via opt-Studio, or, directly by SQL in table GR_SPLAN_SPSIT
Multi-user Restrictions on Site
15
• Issue: Previous versions of X-Trim used the term standard sizes to refer to two different types of entity, which was confusing.
• Solution: Two new terms have been introduced:• The term help sizes now refers to orders that may be
added to improve a solution. These can be added as orders to the order list, or, after a solution has been obtained.
• The term parent reel templates now refers to pre-defined widths (typically based on Finished Family /
Grade) for parent reels.
Simplification: Help Sizes & Parent Reel Templates
16
Both can be edited from here
• Gurobi 7.5 Gurobi 8.1, time in s:
• Comments:• Almost no change for sample runs and pattern reduction
• Major benefit for large and hard instances of performance test suite
Performance Improvement
17
Dataset 9.5 9.6 Difference
Sample runs (616 small instances) 1549 1535 -0.90%
Performance (72 large and hard instances) 4930 4559 -7.53%
Pattern reduction (213 large instances) 15711 15730 0.12%
Cumulative Pattern Reduction
18
0.0%
10.4%
18.2%19.2% 19.7%
25.4% 25.4% 25.8% 25.8% 26.3% 26.3% 26.3% 26.3%27.2%
8.3 8.4 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6
• For the first time since 9.2, Greycon are delivering an improvement in pattern reduction. This 0.9% improvement is small, but useful.
• We had been hoping to deliver additional improvements, but this is hard work and we did not manage to complete it in time for the release. We will either deliver this in a subsequent patch, or in 9.7.
Pattern Reduction Notes
19
• Sample runs 608 626
• When there are no user-defined units of measure, the “N/A” columns are no longer shown
• Order spread display cosmetics have been improved
• Graphical display colour selection has been improved
• Post-solution diagnostic for when there is a winder with Required
Trim
Miscellaneous I
20
• Right-click options on tab to close
• Cosmetic improvements in new-generation solution report
• Three new infographics
Miscellaneous II
21
• Winders• Previous versions had two fields
• Pattern Change Time (s): used to penalise pattern changes in KC algorithm
• Knife Change Time (s): largely unused
• 9.6 has replaced this with one field:
Miscellaneous III
22
• Retirement• Soft quality functionality
• Parent reel length multiplicity
• Split by core end (“charting”)
• Required Trim for stock (replaced by equivalent at the winder level)
• Fixes
• Long-standing bug in KC, when solving with Consume 1 order / pattern.
Retired / Changes / Major Fixes in 9.6
23
Software Engineering – Tests’ Evolution
24
84
307
91
725
39
113
17
125
276
5029 43 42
205
90
100
200
300
400
500
600
700
800
GR9.2 GR9.3 GR9.4 GR9.5 GR9.6
Nu
mb
er o
f Te
sts
Tests Added
Instance Runner nUnit CUIT
1409
17161807
2532 2571
957858
982
1255 1305
50 93 135
340 349
0
500
1000
1500
2000
2500
3000
GR9.2 GR9.3 GR9.4 GR9.5 GR9.6
Nu
mb
er o
f Te
sts
Tests’ Evolution
Instance Runner nUnit CUIT
Software Engineering – Front end Coverage Evolution
25
38.3 39.6
55.4
65.4 65.2
35.4
30.1
39.8
48.4 48.8
0
10
20
30
40
50
60
70
GR9.2 GR9.3 GR9.4 GR9.5 GR9.6
%
Line coverage Branch coverage
0
10
20
30
40
50
60
70
80
%
Line coverage Branch coverage
Software Engineering - SonarQube
26
14,000
12,000 12,000 12,000
10,014
9,178
3,2002,600 2,500 2,500
1,100 1,017
3,100 3,200 3,435 3,435 3,4292,736
0
2,000
4,000
6,000
8,000
10,000
12,000
14,000
16,000
GR9.1 GR9.2 GR9.3 GR9.4 GR9.5 GR9.6
Nu
mb
er o
f Is
sues
"Code smell" "Bugs" "Vulnerabilities"
SonarQube is a .NET static code analysis tool. Its results should be taken with a pinch of salt.
Software Engineering - Consequence
27
4%
7%89%
X-Trim – 498 Defects found in 2018
Found by Client in Test Found in Production Internal Testing
What is interesting here is that this is achieved without a dedicated QA resource.
0
10
20
30
40
50
60
70
80
2018/Jan 2018/Feb 2018/Mar 2018/Apr 2018/May 2018/Jun 2018/Jul 2018/Aug 2018/Sep 2018/Oct 2018/Nov 2018/Dec 2019/Jan 2019/Feb
Low Normal high critical
Defects / Quality
28
• As mentioned in November 2018, Crystal Reports will be retired in
the next releases, i.e. in 9.7. Please let us know if this will create
difficulties. The new generation reports should cover most needs.
• We plan to retire the Landau algorithm as we don’t believe it is being
used.
Ideas & Future Evolution
29
These are thoughts, not promises!
APS Connector 9.6 Release Notes
Robin Soole – March 2019
• In solutions that contains stock, we create one order for the cutting patterns and this order has one input per stock item.
• To keep track of the production process more easily in the MES, when handing over the shifts, the system could keep track of the current pattern, but it could not keep track of which stock item to apply next
• This feature provided the breakdown of how much stock was planned to be consumed in each pattern, so it was easier to pick the stock in the next shift.
• The information is contained in the ExtensionIn table in the BAPI call.
Breakdown of Stock Items per Pattern
31
• Requirement to model an embosser between the winder and secondary machine (which is the cutter, rewinder or direct packing)
• The embosser generates a caliper change.
• This resulted in the wrong caliper being reported in X-Trim for the winder and meant the solutions were slightly under-produced.
• After this change, the caliper in X-Trim is read from the winder level.
Embosser Caliper Change
32
SPX 9.6 Release Notes Release Notes
Robin Soole – March 2019
• The feature allows a single trim solution to have patterns on two or more block planned paper machines.
• In the past, SPX only supported the trimming of a single block at a time.
• When the solution is released, a paper machine trim order will be created in each corresponding blocks where the orders where imported from.
• All the paper machine orders will have the same X-Trim run number.
• In opt-Studio, if you mark any of the paper machine orders for re-trim then all the associated paper machine orders will be marked for re-trim also (in other words you must re-trim the entire trim sheet and not just the patterns associated to a single paper machine).
Multi-machine Solution Release
34
• Finishing estimates
• Better visibility when manually allocating orders to runs
• ATP/CTP considers calendar of last workcentre
• Future stock
• Scheduler now employs two passes so that the replenishment schedule is
guided by the customer orders
• Quality assurance
• New fuzzy testing internal tool to generate randomised user interface tests
Highlights
36
• When manually choosing the run for an order, opt-Studio now shows the calculated despatch date, considering• finishing estimates
• despatch calendar
Finishing Estimates
37
Gives an estimate of when the order would be shipped, depending on the run you allocate it to.
• A finishing estimate can be defined for each route.
• When searching for capacity in the primary stage, ATP/CTP will add the finishing estimate to the end date of the run (or the block, depends on configuration).
• It will also search for capacity and apply the calendar at the despatch workcentre.
ATP/CTP
38
• When scheduling against future stock, the scenario is
Future Stock Scheduling
39
• Primary process• Replenishment• Standard sizes
• Finishing process• Customer orders• Slit to final size
Inventory
• If the replenishment stage is not campaigned, there is a lot of freedom for scheduling.
• We were not exploiting this freedom in order to get a better result for the customer orders.
Future Stock Scheduling
40
Replenishment orders
Customer orders
We were scheduling top-down.
Customer orders subordinated to replenishment. Now we do bottom-up.
Replenishment schedule is driven by the needs of customer orders.
Future Stock Scheduling
41
First three stages are replenishment. Last stage is customer orders.
Note how the idle time and the very late orders are gone, because we calculate the upstream schedule based on the needs at the final stage.
Before
After
• Material release table now includes the following fields:• Filter code
• Material use quantity
• Material use basis
• Material unit
Material Release
42
• A new flag in production update messages tells Integration Manager to also update the completed quantity of the upstream task.
• Useful when a station in the shop floor cannot send updates.
• Typical example:• Primary line cannot send production updates
• You configure the slitting workcentres to send the new flag, so when slitters are updated, so are the primary lines
• To activate, send UPDATE_UPSTREAM_VOLUME = true in the message.
Production Update Upstream Quantity
43
• The setting to Preserve task data on route change was not preserving the frozen status and position. This was fixed.
• Two new order level fields Has finished stock allocations and Has
semi-finished stock allocations.
• Stock properties can now be sent to X-Trim.
• When sending stock to X-Trim, you can configure the system to send only reels, only sheets, both or none.
• New Comment field in the BOM entries.
Miscellaneous
44
• A new way of automatically testing opt-Studio: Fuzzy Testing.
• Each fuzzy test is a sequence of semi-random actions, like:• Add, delete or modify entities (e.g. “delete a run”, “change order priority”)
• Business functions (e.g. “mark for re-trimming”, “allocate to run”, “release”)
• Navigate in the user interface (e.g. “open Gantt chart”, “close all tabs”)
• Executed via the user interface just like a normal user would do.
• Each execution is a brand new test!
• It checks for unhandled errors, crashes, exceptions, etc.
Quality Assurance
45
• So far, this internal tool allowed us to detect and fix:• 8 memory leaks (potential crashes!)
• One unhandled exception that had been reported by a customer long ago but we had not been able to replicate at that time
• By running this on real datasets we are able to find subtle errors that only appear after long hours of using the tool and are usually hard to replicate.
Quality Assurance
46
• We plan to retire the Adjust for downtime option in future versions.• The system will always adjust runs and blocks for downtime.
• We plan not to populate the XTMasterPropertyList release table anymore.• This table tends to get very big and the same information can be obtained
from the opt-Studio property tables.
• Let us know if you think this will create issues.
Future Retirements
47
Development Effort
48
Development Effort by Product
0 20 40 60
Other
opt-Studio
X-Trim
9
23
54
Enhancements
0 100 200
49
104
130
Fixes
Number of Issues
49