You are on page 1of 15

MA444 Glass Coating Project

Yu Xin, Yihui Feng

January 25 2020

1 Problem Introduction

The question is about glass coating. For a given glass, we need several different layers pf coating
and each with a specific type metal provided by a specific type of cathode. There are several
products and each of them would require a different set of layering with different amount of
metal. There are a list of different types of cathode for coating, with finite number of each type
of cathode available. Each type of cathode is corresponded to a specific metal with a finite
volume of this specific cathode. Our model is to seek for an arrangement of cathodes with
a specific order so that all the products are coated accordingly with a minimized number of
cathodes used.

2 Model

The following sections define the model we built to solve the problem.

2.1 Sets

• Products = The number of different products we need to concern with.

• Cathodes = The type of cathodes that are available.

2.2 Parameters

• M etalp,l = The specific metal type required for layer l of product p.

1
• RequiredV olumep,l = The specific volume amount for layer l of product p.

• Slots = Potential slots to schedule a cathode, equals to total number of available cathodes.

• AvailableN umc = Available number of cathodes for each type c.

• M etalOf Cathodec = The specific metal of the cathode type c.

• V olumeOf Cathodec = The amount of max available volume of the one cathode of type
c.

• M axLayer = The max number of layers needed to be coated of all products.

• Layers = A set from number 1 to M axLayer.

• T otalCathodes= Total number of cathodes available.

2.3 Variables


1,
 if cathode c is used at slot s.
• xc,s =

0,
 else


1,
 if cathode at slot s is used for layer l of product p.
• yp,l,s =

0,
 else

• V olumep,l,s = the volume sprayed by cathode at slot s for layer l of product p.

2.4 Objective

We want to minimize the number of cathodes we used. Formula:

X X
M in. xc,s
c∈Cathodes,c6=0 max{Slots}

2
2.5 Constraints

• We need exactly one cathode for each slot including the zero one.

X
xc,s = 1 ∀s ∈ Slots
c∈Cathodes

• Cannot use more cathodes than provided.

X
xc,s ≤ AvailableN umc ∀c ∈ Cathodes
s∈Slots

• Do not coat for other products’ layers with a mismatched metal

X
yp,l,s + ≤1 ∀p ∈ P roducts, ∀l ∈ Layers, ∀s ∈ Slots
c∈Cathodes,M etalOf Cathodec 6=M etalp,l

• Volume needed by each layer of a product should be satisfied.

X
V olumep,l,s = RequireV olumep,l ∀p ∈ P roducts, ∀l ∈ Layers
s

• If a slot is empty, then it should spray nothing.

V olumep,l,s ≤ RequireV olumep,l · yp,l,s ∀p ∈ P roducts, ∀l ∈ Layers, ∀s ∈ Slots

• This gives the order of coating the layers and other layers cannot proceed if the previous
one is not finished.

yp,l1 ,s1 +yp,l2 ,s2 ≤ 1 given l1 < l2 ands1 < s2 ∀p ∈ P roducts, ∀l1 , l2 ∈ Layers, ∀s1 , s2 ∈ Slots

• Volume sprayed cannot exceed the total metal owned by the cathode

X X
V olumeOf Cathodec · xc,s ≥ V olumep,l,s ∀s ∈ Slots
c,c6=0 (p,l)∈(P roducts,Layers)

3
• After finishing all works, all remaining slots should have cathode 0 (doing nothing).

V olume0,s ≤ V olume0,s+1 f or s ∈ [1, max{Slots} − 1]

3 Solutions

Given the data for some extra problems, our model is able to calculate the solutions out and
the following is some solutions for these problems.

3.1 P1

Line Cathode Metal Volume Product1 Product2 Product3

1 5 1 4000 1900 2100

2 16 3 3500 1300 2000

3 26 5 2000 1000

4 7 2 4000 1000 1000

5 18 4 7500 1000 1000

6 16 3 3500 700 1000

7 26 5 2000 2000

8 5 1 4000 300

9 16 3 3500 2400

10 7 2 4000 2000 2000

11 5 1 4000 2000

12 5 1 4000 4000

optimal value = 12 Time used = 3600 seconds. This result seems to be reasonably good.

3.2 P2

Line Cathode Metal Volume Product1 Product2 Product3

4
1 2 1 500 500

2 9 4 500 200

3 3 1 1000 1000

4 10 4 1000 1000

5 4 2 1000 1000

6 8 3 1000 1000

7 3 1 1000 1000

8 12 5 750 750

9 4 2 1000 500

10 10 4 1000 1000

11 8 3 1000 1000

12 3 1 1000 1000

13 3 1 1000 1000

14 10 4 1000 1000

15 8 3 1000 1000

16 7 3 500 400

17 9 4 500 500

18 4 2 1000 1000

19 10 4 1000 1000

20 10 4 1000 900

21 4 2 1000 1000

22 8 3 1000 1000

23 3 1 1000 1000

24 4 2 1000 1000

25 10 4 1000 1000

26 9 4 500 400

27 10 4 1000 1000

28 12 5 750 750

29 4 2 1000 500

5
30 3 1 1000 1000

31 10 4 1000 1000

optimal value = 31 Time used = 3600 seconds. This result seems to be OK, though I can’t tell
if this is the globally optimal solution, but it looks each line has not many waste and it should
be close to globally optimal solution.

3.3 P3

Line Cathode Metal Volume Product1 Product2 Product3

1 8 3 1000 1000

2 3 1 1000 1000

3 3 1 1000 1000

4 1 1 300 100

5 8 3 1000 1000

6 11 5 500 500

7 10 4 1000 600

8 8 3 1000 1000

9 7 3 500 300

10 4 2 1000 1000

11 10 4 1000 900

12 4 2 1000 1000

13 10 4 1000 1000

14 11 5 500 500

15 8 3 1000 700

16 4 2 1000 1000

17 4 2 1000 1000

18 4 2 1000 1000

19 9 4 500 400

6
20 3 1 1000 1000

21 10 4 1000 1000

22 10 4 1000 1000

23 10 4 1000 1000

24 8 3 1000 1000

25 3 1 1000 1000

26 10 4 1000 1000

27 8 3 1000 1000

28 11 5 500 500

29 4 2 1000 500

30 3 1 1000 1000

31 12 5 750 750

32 12 5 750 750

33 4 2 500 500

34 3 1 1000 1000

35 10 4 1000 1000

optimal value=35 Time used = 3600 seconds. This result seems to be OK, though I can’t tell
if this is the globally optimal solution, but it looks each line has not many waste and it should
be close to globally optimal solution.

3.4 P4

Line Cathode Metal Volume Product1 Product2 Product3

1 10 4 1000 500

2 10 4 1000 1000

3 8 3 1000 1000

4 12 5 750 750

5 3 1 1000 1000

7
6 3 1 1000 600

7 3 1 1000 500

8 2 2 1000 500 500

9 8 3 1000 800

10 10 4 1000 1000

11 8 3 1000 500

12 3 1 1000 1000

13 3 1 1000 1000

14 10 4 1000 1000

15 4 2 1000 1000

16 10 4 1000 1000

17 8 3 4000 700

18 4 2 1000 1000

19 4 2 1000 500 500

20 10 4 1000 400 500

21 4 2 1000 1000

22 10 4 1000 1000

23 10 4 1000 1000

24 10 4 1000 1000

25 8 3 1000 1000

26 12 5 750 750

27 4 2 500 500

28 3 1 1000 1000

29 3 1 1000 1000

30 10 4 1000 500

31 10 4 1000 100 900

32 3 1 1000 1000

33 3 1 1000 1000

34 10 4 1000 900

8
optimal value = 29 Time used = 3600 seconds. This result seems to be OK, though I can’t tell
if this is the globally optimal solution, but it looks each line has not many waste and it should
be close to globally optimal solution.

3.5 P5

Line Cathode Metal Volume Product1 Product2 Product3 Product 4

1 3 1 1000 1000

2 3 1 1000 000

3 9 4 500 500

4 1 1 300 200 100

5 10 4 1000 1000

6 4 2 1000 1000

7 9 4 500 400

8 8 3 1000 1000

9 8 3 1000 1000

10 8 3 1000 300 700

11 4 2 1000 1000

12 10 4 1000 1000

13 10 4 1000 1000

14 10 4 1000 1000

15 8 3 1000 700 300

16 8 3 1000 1000

17 12 5 750 750

18 4 2 1000 1000

19 11 5 500 250

20 3 1 1000 1000

21 4 2 1000 1000

22 10 4 1000 1000

9
23 9 4 500 400

24 12 5 1000 750

25 3 1 1000 1000

26 4 2 1000 500

27 7 3 500 400

28 4 2 1000 500 500

29 3 1 1000 1000

30 3 1 1000 1000

31 3 1 1000 1000

32 8 3 1000 1000

33 10 4 1000 1000

34 8 3 1000 1000

35 8 3 1000 1000

36 2 1 500 500

37 12 5 750 750

38 11 5 500 500

39 12 5 750 750

40 4 2 1000 1000

41 4 2 1000 1000

42 2 1 500 500

43 10 4 1000 1000

44 3 1 1000 1000

45 3 1 1000 500 500

optimal value=45 Time used = 3600 seconds. This result seems to be OK, though I can’t tell
if this is the globally optimal solution, but it looks each line has not many waste and it should
be close to globally optimal solution.

10
3.6 P6

Can not find a solution within a time limit of 7200 seconds which is strange. The model has
uninitialized value by the time is up.

3.7 P7

Line Cathode Metal Volume Product1 Product2 Product3 Product 4 Product 5

1 1 1 300 300

2 9 4 500 500

3 3 1 1000 1000

4 8 3 1000 1000

5 8 3 1000 1000

6 8 3 1000 1000

7 10 4 1000 1000

8 4 2 1000 1000

9 3 1 1000 1000

10 3 1 1000 1000

11 3 1 1000 200 800

12 8 3 1000 700

13 8 3 1000 700 300

14 8 3 1000 1000 750

15 12 5 750 750

16 8 3 1000 1000

17 11 5 500 250

18 4 2 1000 1000

19 12 5 750 750

20 4 2 1000 1000

21 10 4 1000 1000

22 10 4 1000 600 400

23 4 2 1000 1000

11
24 3 1 1000 1000

25 10 4 1000 1000

26 3 1 1000 1000

27 4 2 1000 500

28 4 2 1000 1000

29 10 4 1000 1000

30 8 3 1000 1000

31 10 4 1000 1000

32 10 4 1000 1000

33 10 4 500 800

optimal value=33 Time used = 3600 seconds. This result seems to be OK, though I can’t tell
if this is the globally optimal solution, but it looks each line has not many waste and it should
be close to globally optimal solution.

3.8 P8

Line Cathode Metal Volume Product1 Product2 Product3 Product 4 Product 5

1 3 1 1000 300 700

2 3 1 1000 600 400

3 1 1 300 300

4 3 1 1000 700 300

5 10 4 1000 1000

6 3 1 1000 300 700 1000

7 8 3 1000 1000

8 8 3 1000 1000

9 8 3 1000 700 300

10 9 4 1000 500

11 8 3 1000 1000

12
12 8 3 1000 1000

13 4 2 1000 1000

14 8 3 1000 1000

15 11 5 500 250

16 10 4 1000 1000

17 12 5 750 750

18 4 2 1000 500

19 4 2 1000 1000

20 10 4 1000 1000

21 10 4 1000 1000

22 12 5 750 750

23 4 2 1000 500 500

24 10 4 1000 400 400

25 10 4 1000 400 600

26 10 4 1000 1000

27 8 3 1000 1000

28 8 3 1000 700 200

29 4 2 1000 1000

30 4 2 1000 1000

31 10 4 1000 1000

32 8 3 1000 200 800

33 3 1 1000 1000

34 3 1 1000 1000

35 3 1 1000 1000

36 3 1 1000 1000

37 7 3 500 500

38 12 5 750 750

13
optimal value=38 Time used = 3600 seconds. This result seems to be OK, though I can’t tell
if this is the globally optimal solution, but it looks each line has not many waste and it should
be close to globally optimal solution.

3.9 P20

Line Cathode Metal Volume Product1 Product2 Product3 Product4 Product5

1 6 1 4000 300

2 6 1 4000 1900 2100

3 16 3 3500 2000 1000

4 16 3 3500 2400 1000

5 18 4 7500 1000 1500

6 7 2 4000 1000 1000

7 26 5 2000 1000 750

8 7 2 4000 1000 500

9 18 4 7500 1000 2400 2400

10 7 2 4000 1000 1000

11 18 4 7500 1000

12 6 1 4000 2000 2000

13 26 5 2000 750

14 16 3 3500 700

15 7 2 4000 2000 500

16 6 1 4000 4000

17 18 4 7500 1000 1500

18 26 5 2000 2000

19 16 3 3500 1300

20 7 2 4000 1000

21 18 4 7500 1000

22 16 3 3500 700

23 7 2 4000 1000

14
24 18 4 7500 2400

optimal value = 24 Time used = 3600 seconds. This result seems to be OK, though I can’t tell
if this is the globally optimal solution. It looks like there are multiple lines only coating for one
product, making me suspect this model can still be improved.

15

You might also like