A presentation of the paper developed in the SAFIRE project titled "Cloud-based dynamic distributed optimisation of integrated process planning and scheduling in smart factories", delivered at the Genetic and Evolutionary Computation Conference (GECCO) at Prague, The Czech Republic in July 2019.
How to Troubleshoot Apps for the Modern Connected Worker
Cloud-based dynamic distributed optimisation of integrated process planning and scheduling in smart factories
1. Cloud-based Dynamic Distributed
Optimisation of Integrated Process
Planning and Scheduling
in Smart Factories
Shuai Zhao1, Piotr Dziurzanski1,
Michal Przewozniczek1, Marcin Komarnicki,
Leandro Soares Indrusiak1
1University of York, UK
2Wroclaw University of Technology, Poland
GECCO 2019 Prague, July 13th-17th 2019 1
2. SAFIRE project
System architecture
Problem description
Cloud deployment – Kubernetes cluster
Dynamic number of islands
Experimental results
Conclusion
GECCO 2019 Prague, July 13th-17th 2019 2
Agenda
3. Funded under: H2020 -
EU.2.1.1. - Industrial
Leadership
Reconfiguration-as-a-
Service for dynamic smart
factories and manufactured
smart products.
Exploits cloud-based
services to continuously
optimise the performance of
production systems and
products.
GECCO 2019 Prague, July 13th-17th 2019 3
SAFIRE project
5. GECCO 2019 Prague, July 13th-17th 2019 5
SAFIRE components
Situation Determination (SD)
Reconfiguration & Optimisation Engine (OE)
Predictive Analytics (PA) Reconfiguration Quality Evaluation Services
based on Digital Twin
time
A
0 100
B
Interval algebra
Smart Factory
6. GECCO 2019 Prague, July 13th-17th 2019 6
Application model - example allocation
decision
A
B
Two dependent manufacturing processes, two
machines
Process A can be assigned to machine M1
Process B can be assigned to machine M1 or M2
M2 is 2* faster than M1
Process A Process B
M1
time0 20 40 60 80
M2
Process A
M1
time0 20 40 60 80
Process B
M2
Or:
7. GECCO 2019 Prague, July 13th-17th 2019 7
Application model
53 2
9 41 9
5 3 6
4 7
8
5
9 9
5 6
7
8
initialisation termination
evaluate fitness
select the fittest
breed pairs / crossover
mutations
replace old population
Input:
manufacturing
processes, plant
situation
(e.g. past
allocations,
machine
availability etc.)
Output:
resource allocations,
resource modes,
time slots
8. GECCO 2019 Prague, July 13th-17th 2019 8
Chromosome encoding
Target
machine
Mode Priority
Target
machine
Mode Priority
Process A Process B
...
9. GECCO 2019 Prague, July 13th-17th 2019 9
Kubernetes (K8s) cluster
Kubernetes cluster
Load balancer
Pod
Services Horizontal Pod Autoscaler
PodAddon
CoreDNS
10. GECCO 2019 Prague, July 13th-17th 2019 10
Execution stages
Pod - Master
...
1st stage 2nd stage
...
Kubernetes cluster
Pod - OE
Pod - OE
Pod - OE
...
Pod - OE
Pod - OE
Pod - OE
Pod - Master Pod - Master
11. Executing islands for i iterations
(=stage)
Adding non-dominated solutions
returned from all islands to (common)
PF
Performing migrations
Deciding on the number of nodes
GECCO 2019 Prague, July 13th-17th 2019 11
Master node functionality
12. One K8s working node can host one or
more OE (islands)
Number of islands – decided by the
Master node
Number of working nodes – decided by
K8s Horizontal Pod Autoscaler based
on the K8s metrics (memory usage)
GECCO 2019 Prague, July 13th-17th 2019 12
Dynamic number of islands / K8s
working nodes
13. Static – baseline
Classic
If CI of PF @ stage s <= CI of PF @ stage s-1
● Delete islands that meet island deletion criteria;
● Create one island with randomly generated
individuals
Active
If CI of PF @ stage s <= CI of PF @ stage s-1
● Delete all islands that do not provide new solutions
to PF
If CI of PF @ stage s <= CI of PF @ stage s-1
● Create one island with randomly generated
individuals
GECCO 2019 Prague, July 13th-17th 2019 13
Number of islands - strategies
15. Metrics
Key objective metrics
● Makespan (minimise)
● Surplus (minimise)
Controlled metrics
● Production line
● Recipes applied
Observable metrics
● Actual process time
per batch
● Energy consumption
15
Optimisation
Prague, July 13th-17th 2019GECCO 2019
16. GECCO 2019 Prague, July 13th-17th 2019 16
Recipes
Paint name Recipe Compatible resources Amount produced Execution time
Std Weiss A Mixer 1 - Mixer 5 5 t 90 min.
B Mixer 6, Mixer 7 10 t 60 min.
C Mixer 8, Mixer 9 10 t 45 min.
D Mixer 8, Mixer 9 10 t 40 min.
Weiss Matt A Mixer 1 - Mixer 5 5 t 90 min.
B Mixer 6, Mixer 7 10 t 60 min.
C Mixer 8, Mixer 9 10 t 45 min.
D Mixer 8, Mixer 9 10 t 40 min.
W Super Glanz A Mixer 1 - Mixer 5 4 t 120 min.
B Mixer 6, Mixer 7 8 t 90 min.
C Mixer 8, Mixer 9 8 t 60 min.
D Mixer 8, Mixer 9 8 t 55 min.
Weiss Basis A Mixer 1 - Mixer 5 6 t 60 min.
B Mixer 6, Mixer 7 12 t 45 min.
C Mixer 8, Mixer 9 12 t 30 min.
D Mixer 8, Mixer 9 12 t 25 min.
18. DCI: (0,0,1)
Amazon Elastic Container Service for Kubernetes
(Amazon EKS) run on 4-cores instances m5 in the
AWS London zone: Static- 15 USD, Classic – 11
USD, Active - 12.1 USD
GECCO 2019 Prague, July 13th-17th 2019 18
Process manufacturing optimisation
results by all managers
20. Metrics
Key objective metrics
● Makespan (minimize)
● Cost/part (minimize)
Controlled metrics:
● Wire
Type
Diameter
● Machine Eco-mode
● Machine model
Observable metrics
● Actual process time per
job/part
● Actual wire consumption
● Energy consumption
● Actual Wire cost.
20
Optimisation
Prague, July 13th-17th 2019GECCO 2019
21. GECCO 2019 Prague, July 13th-17th 2019 21
Order – 16 metal parts
Part
name
Size/
machin
e
MW PL (mm) Speed
(mm/mi
n)
Cutting
time
(min)
Wire
Consum
ption
speed
(kg/h)
Wire
Consum
ption
per part
(kg)
Wire
cost per
kg (€)
Wire
Cost per
part (€)
Machin
e cost
per
hour (€)
Machin
e cost
per part
(€)
Total
cost per
part (€)
P1 Small 1 2400 2.85 842.1 0.250 3.5 8.0 28.1 10 140.4 168.4
Medium 1 2400 2.85 842.1 0.250 3.5 8.0 28.1 15 210.5 238.6
Large 1 2400 2.85 842.1 0.250 3.5 8.0 28.1 35 491.2 519.3
Small 2 2400 2.47 971.4 0.233 3.8 8.0 30.2 10 161.9 192.1
Medium 2 2400 2.47 971.4 0.233 3.8 8.0 30.2 15 242.9 273.1
Large 2 2400 2.47 971.4 0.233 3.8 8.0 30.2 35 566.7 596.9
Small 3 2400 3.17 756.2 0.250 3.2 13.0 41.0 10 126.0 167.0
Medium 3 2400 3.17 756.2 0.250 3.2 13.0 41.0 15 189.0 230.0
Large 3 2400 3.17 756.2 0.250 3.2 13.0 41.0 35 441.1 482.1
Small 4 2400 3.27 733.5 0.258 3.2 17.0 53.7 10 122.3 175.9
Medium 4 2400 3.27 733.5 0.258 3.2 17.0 53.7 15 183.4 237.1
Large 4 2400 3.27 733.5 0.258 3.2 17.0 53.7 35 427.9 481.6
. . .
22. DCI test:
ManagerStatic: 0.852
ManagerActive: 1.0
ManagerClassic: 0.926
The total optimisation cost < 0.5USD for any strategy.
GECCO 2019 Prague, July 13th-17th 2019 22
Cost per part vs Makespan
23. The three managers have been used to optimise 30 randomly
generated manufacturing orders.
28 out of 30: ManagerActive was the best.
ManagerClassicacted better than ManagerStatic in 27 cases.
GECCO 2019 Prague, July 13th-17th 2019 23
Scaling the problem size
24. Two genetic algorithms for multi-objective
optimisation using a dynamic number of
islands have been proposed.
The software implementation of these
algorithms has been deployed to a cloud and
applied to an integrated process planning
and scheduling for two real-world smart
factories representing the process and
discrete manufacturing branches.
The presented experimental results have
confirmed the superiority of the proposed
method over the typical approach using a
static number of islands in terms of solution
quality and computation time.
GECCO 2019 Prague, July 13th-17th 2019 24
Conclusion
25. GECCO 2019 Prague, July 13th-17th 2019 25
Asynchronous architecture
SD
Kubernetes cluster
Load balancer
Pod
OE
Services
Horizontal Pod Autoscaler
Pod
Redis
Addon
CoreDNS