Open Questions in Job Sequencing and Tool Switching Problem�(potential topics for grants, research, dissertations and just fun)�Introduction to Data Correcting Algorithms
Boris Goldengorin
MIPT
E-mail: goldengorin@gmail.com�
Outline of Lecture 3
Lecture 3 Voronovo 2021
2
Job Sequencing and Tool Switching Problem (SSP)
Задача оптимизации управлением конвейерного производтсва и алгоритмы поиска оптимальной последовательности выполнения заранее заданного множества работ, минимизирующей количество замен приспособлений.
Ошибочность подавляющего большинства публикаций состоит в сведении SSP к обычной задаче коммивояжера, в которой расстояние между двумя городами (работами между приспособлениями) зависит только от предшествующего города (работы).
В общем случае это расстояние зависит от разного количества городов.
Максимальное такое расстояние будем называть пороговым.
Lecture 3 Voronovo 2021
3
Example of SSP
Lecture 3 Voronovo 2021
4
Задачи по лекциям Вороново 2021
Lecture 3 Voronovo 2021
5
Литература к Задаче 1
M. Raghavachari and V. L. Mote. Generalization of Dilworth's Theorem on Minimal Chain Decomposition. Management Science, Vol. 16, No. 7, Theory Series (Mar., 1970), pp. 508-511.
Anne Kaldewaij. Some algorithms based on the dual of Dilworth's theorem. Science of Computer Programming, Volume 9, Issue 1, August 1987, Pages 85-89
Selma Ikiz, Vijay K. Garg. Efficient Incremental Optimal Chain Partition of Distributed Program Traces. 26th IEEE International Conference on Distributed Computing Systems, ICDCS 2006, 4-7 July 2006, Lisboa, Portugal, 12 pages
http://www.it.uom.gr/teaching/distrubutedSite/eceutexas/dist2/termPapers/Selma.pdf
András A. Benczúr, Jörg Förster, Zoltán Király: Dilworth's Theorem and Its Application for Path Systems of a Cycle - Implementation and Analysis. ESA 1999, Lecture Notes in Computer Science, volume 164, 498-509
Henry Shum, L.E.Trotter Jr. Cardinality-restricted chains and antichains in partially ordered sets. Discrete Applied Mathematics, 65(1-3): 421-439 (1996)
János Balogh, Cosmin Bonchis, Diana Dinis, Gabriel Istrate, Ioan Todinca: On the heapability of finite partial orders. Discret. Math. Theor. Comput. Sci. 22(1) (2020)
Lecture 3 Voronovo 2021
6
Dilworth theorem (1950) Application to Job Sequencing and Tool Switching Problem.
Применение теоремы Дилуорса (1950) к Задаче Упорядочивания Работ и Перезагрузке Приспособлений
Задача 2. Как вычислить истинное (пороговое) расстояние между следующей работой (или следующей последовательностью работ) в зависимости от предыдущей последовательности работ, которые в тривиaльном случае могут состоять только из одной работы.
Lecture 3 Voronovo 2021
7
Проекты по Задаче 2
Lecture 3 Voronovo 2021
8
Dilworth Theorem
Dilworth, Robert P. (1950), "A Decomposition Theorem for Partially Ordered Sets", Annals of Mathematics, 51 (1): 161–166, doi:10.2307/1969503
Lecture 1 Voronovo 2021
9
The minimum number of chains necessary and sufficient to cover all subsets is equal to the size of a maximum antichain
Задача 3
Задача 3. Зная истинное расстояние между парами последовательностей работ, найти адекватную математическую модель для задачи оптимизации управлением конвейерного производтсва и соответствующий алгоритм поиска оптимальной последовательности выполнения заранее заданного множества работ, минимизирующей количество замен приспособлений.
Lecture 3 Voronovo 2021
10
Проекты по Задаче 3
Lecture 3 Voronovo 2021
11
Литература, 1�
Lecture 3 Voronovo 2021
12
Литература, 2�
Lecture 3 Voronovo 2021
13
Ссылка на курс Прикладная Комбинаторная Оптимизация
https://drive.google.com/drive/u/0/folders/14K1sn4zTcpM3qyZm06EK-1YG3lV-TUE8
Lecture 3 Voronovo 2021
14
Литература по допускам: References on Tolerances
References on Tolerances: Theory and Applications
Turkensteen, Marcel; Ghosh, Diptesh; Goldengorin, Boris; Sierksma, Gerard. Tolerance based branch and bound algorithms for the ATSP. Euro-pean J. Oper. Res. 189 (2008), no. 3, 775–788.
R. Germs, B. Goldengorin, M. Turkensteen. Lower tolerance-based Branch and Bound algorithms for the ATSP. Computers & Operations Research, 2012, 39(2), 291-298.
Гольденгорин Б. И., Пардалос П. О., Чистяков В. В. Глобальные допуски в задачах комбинаторной оптимизации с аддитивной целевой функцией
Доклады Академии наук. 2012. Т. 446. № 1. С. 21-24.
G. Jager, C. Dong, B. Goldengorin, P. Molitor, D. Richter. Backbone Based TSP Heuristics for Large Instances. Journal of Heuristics, 2014, 20(1):107–124.
Lecture 3 Voronovo 2021
15
Data Correcting Approaches in Combinatorial Optimization
Lecture 3 Voronovo 2021
17
“A Data Correcting (DC) algorithm (typically applied to NP-hard optimization problems) is a branch-and-bound type algorithm, in which the input data are “heuristically corrected” at the various stages whereby two goals are pursued simultaneously. First, the modified input instance should belong to a (more) tractable (polynomially solvable) subproblem. Second, the solution that is optimal for the corrected data should be within a prespecified (additive!) deviation from the solution that is optimal for the original data.
…
The DC approach seems to come very close to a mature technology for (heuristically) solving a reasonably wide range of NP-hard combinato- rial optimization problems.”
Hans-Ulrich Simon, Ruhr University Bochum, Germany
Lecture 3 Voronovo 2021
18
Data Correcting Approach in Optimization. 1
We propose a data correcting (DC) algorithm - an approximation algorithm that makes use of poly-nomially solvable special cases to arrive at high-quality solutions.
The basic insight that leads to this algorithm is the fact that it is often easy to compute an upper bound on the difference in cost between an optimal solution of a problem instance and any feasible solution to the instance.
Lecture 3 Voronovo 2021
19
Data Correcting Approach in Optimization. 2
The approximation in the DC algorithm is in terms of an accuracy parameter, which is an upper bound on the difference between the objective value of an optimal solution to the instance and that of a solution returned by the DC algorithm.
Note that this is not expressed as a fraction of the optimal objective value for this instance. In this respect, the algorithm is different from common ε -optimal algorithms, in which ε is defined as a fraction of the optimal objective function value.
Lecture 3 Voronovo 2021
20
Our Objective
Given a function f, to be minimized over a domain D, and an accuracy parameter α, find xα ∈ D such that
f(xα) ≤ min{f(x): x ∈ D}+α
Lecture 3 Voronovo 2021
21
α and ε Approximation
α-approx: find xα s.t. f(xα) ≤ min{f(x): x ∈ D}+α
ε-approx: find xε s.t. f(xε) ≤ (1+ε).min{f(x): x ∈ D}
Optimal solution value
Allowed
suboptimality
α approx
ε approx
Lecture 3 Voronovo 2021
22
A Real Valued Function
D
f(x)
x
f(x*)
x*
Lecture 3 Voronovo 2021
23
α-Optimal Solutions
D
f(x)
x
x*
α
Acceptable solutions
or α-minima
Lecture 3 Voronovo 2021
24
Assertion
The minimum point of any function g(x) lying within the two
dashed lines is an α-minimum for the original function.
D
α/2
α/2
g(x)
Lecture 3 Voronovo 2021
25
Assertion
The minimum point of any function g(x) lying within the two
dashed lines is an α-minimum for the original function.
D
α/2
α/2
g(x)
xα
x*
g(xα) ≤ g(x*)
f(xα) - α/2 ≤
≤ f(x*) + α/2
Lecture 3 Voronovo 2021
26
Finding the α-Minimum
D
Lecture 3 Voronovo 2021
27
Finding the α-Minimum
D
D1
xα1
Lecture 3 Voronovo 2021
28
Finding the α-Minimum
D
D1
xα1
xα2
xα3
xα4
D2
D4
D3
α-minimum ∈ arg min{ f(xα1), f(xα2), f(xα3), f(xα4) }
Lecture 3 Voronovo 2021
29
Finding the α-Minimum
D
D1
xα1
xα2
xα3
xα4
D2
D4
D3
α-minimum ∈ arg min{ f(xα1), f(xα2), f(xα3), f(xα4) }
Lecture 3 Voronovo 2021
30
Points to Note
Lecture 3 Voronovo 2021
31
To Combinatorial Optimization…
Continuous Optimization
Combinatorial Optimization
Lecture 3 Voronovo 2021
32
Data Correcting versus Branch and Bound
Data Correcting
Branch and Bound
Lecture 3 Voronovo 2021
33
Asymmetric
TSP
Example
Lecture 3 Voronovo 2021
34
An Asymmetric TSP Example
A B C D E F
A -- 10 16 19 25 22
B 19 -- 10 13 13 10
C 10 28 -- 22 16 13
D 19 25 13 -- 10 19
E 16 22 19 13 -- 11
F 13 22 15 13 10 --
A
B
D
E
C
F
Solution to the
Assignment Problem
on the same matrix
Lecture 3 Voronovo 2021
35
An Asymmetric TSP Example
A B C D E F
A -- 10 16 19 25 22
B 19 -- 10 13 13 10
C 10 28 -- 22 16 13
D 19 25 13 -- 10 19
E 16 22 19 13 -- 11
F 13 22 15 13 10 --
A
B
D
E
C
F
Lecture 3 Voronovo 2021
36
An Asymmetric TSP Example
A B C D E F
A -- 10 16 19 25 22
B 19 -- 10 13 13 10
C 10 28 -- 22 16 13
D 19 25 13 -- 10 19
E 16 22 19 13 -- 11
F 13 22 15 13 10 --
A
B
D
E
C
F
13
15
10
13
Lecture 3 Voronovo 2021
37
An Asymmetric TSP Example
A B C D E F
A -- 10 16 19 25 22
B 19 -- 10 12 13 10
C 10 28 -- 22 16 13
D 19 25 13 -- 10 19
E 16 22 19 13 -- 11
F 13 22 11 13 10 --
A
B
D
E
C
F
Lecture 3 Voronovo 2021
38
An Asymmetric TSP Example
A B C D E F
A -- 10 16 19 25 22
B 19 -- 10 13 13 10
C 10 28 -- 22 16 13
D 19 25 13 -- 10 19
E 16 22 19 13 -- 11
F 13 22 15 13 10 --
A B C D E F
A -- 10 16 19 25 22
B 19 -- 10 12 13 10
C 10 28 -- 22 16 13
D 19 25 13 -- 10 19
E 16 22 19 13 -- 11
F 13 22 11 13 10 --
Original Instance (O)
Optimal Tour : To
(unknown)
Corrected Instance (C)
Optimal Tour: Tc
(A-B-D-E-F-C-A)
cost(Tc) - cost(To) ≤ |13-12| + |15-11| = 5
Lecture 3 Voronovo 2021
39
An Asymmetric TSP Example
If you are satisfied with an accuracy (α) of 5, you
have an α-optimal solution already!
f(x)
x
nice function
Lecture 3 Voronovo 2021
40
An Asymmetric TSP Example
But if you need an accuracy of less than 5,
f(x)
x
you need to partition the problem domain!
nice function
Lecture 3 Voronovo 2021
41
An Asymmetric TSP Example
But if you need an accuracy of less than 5,
f(x)
x
you need to partition the problem domain!
Lecture 3 Voronovo 2021
42
An Asymmetric TSP Example
All Tours
Tours incl.
B→D
Tours excl.
B→D
A B C D E F
A -- 10 16 19 25 22
B 19 -- 10 ∞ 13 10
C 10 28 -- 22 16 13
D 19 25 13 -- 10 19
E 16 22 19 13 -- 11
F 13 22 15 13 10 --
A B C E F
A -- 10 16 25 22
C 10 28 -- 16 13
D 19 25 13 10 19
E 16 22 19 -- 11
F 13 22 15 10 --
Lecture 3 Voronovo 2021
43
An Asymmetric TSP Example
Lecture 3 Voronovo 2021
44
Uncapacitated
Facility Location
Problem
Lecture 3 Voronovo 2021
45
An Example of the UFLP
Four sites, four customers
Sites
A
B
C
D
Fixed
costs
9
4
3
6
Customers I II III IV
Transportation
costs
7 12 22 13
8 9 18 17
16 17 10 27
9 13 10 11
Lecture 3 Voronovo 2021
46
Pseudo-Boolean Representation
Our formulation is a PENALTY based approach
Variables
yj = 0 if a facility is located at site j;
= 1 if a facility is not located at site j.
Lecture 3 Voronovo 2021
47
Pseudo-Boolean Representation
9 | 7 12 22 13
4 | 8 9 18 17
3 | 16 17 10 27
6 | 9 13 10 11
Total Cost
Setting up
cost
Transportation
cost
9(1-y1) + 4(1-y2) +
3(1-y3) + 6(1-y4)
Cost for customer 1 +
Cost for customer 2 +
Cost for customer 4.
Cost for customer 3 +
+
Lecture 3 Voronovo 2021
48
Pseudo-Boolean Representation
Total Cost
Setting up
cost
Transportation
cost
9(1-y1) + 4(1-y2) +
3(1-y3) + 6(1-y4)
7 + 1y1 + 1y1y2+ 7y1y2y4 +
Cost for customer 2 +
Cost for customer 4.
Cost for customer 3 +
+
9 | 7 12 22 13
4 | 8 9 18 17
3 | 16 17 10 27
6 | 9 13 10 11
Lecture 3 Voronovo 2021
49
Pseudo-Boolean Representation
Total Cost
Setting up
cost
Transportation
cost
9(1-y1) + 4(1-y2) +
3(1-y3) + 6(1-y4)
7 + 1y1 + 1y1y2+ 7y1y2y4 +
9 + 3y2 + 1y1y2+ 4y1y2y4 +
11 + 2y4 + 4y1y4+ 10y1y2y4.
10 + 0y3 + 8y3y4+ 4y2y3y4 +
+
= 59 - 8y1 - y2 - 3y3 - 4y4 + 2y1y2 + 4y1y4 + 8y3y4 + 21y1y2y4 + 4y2y3y4
Hammer Function
9 | 7 12 22 13
4 | 8 9 18 17
3 | 16 17 10 27
6 | 9 13 10 11
Lecture 3 Voronovo 2021
50
Conventional Preprocessing�(based on Khumawala 1972)
Consider a site j:
Rule 1: If the coefficient of yj in the linear term of the Hammer function is non-negative, then locate a facility at site j.
Rule 2: If the coefficient of yj in the linear term is negative, and the sum of this coefficient and those of all non-linear terms containing yj is negative, then do not locate a facility at site j.
Lecture 3 Voronovo 2021
51
New Preprocessing
H(y) = 59-8y1-y2-3y3-4y4+2y1y2+4y1y4+8y3y4+21y1y2y4+4y2y3y4
Increasing cost
Optimal Solution
Lower Bound (Relaxation)
Upper Bound (Heuristic solution)
Lecture 3 Voronovo 2021
52
New Preprocessing
H(y) = 59-8y1-y2-3y3-4y4+2y1y2+4y1y4+8y3y4+21y1y2y4+4y2y3y4
Upper bound for optimal solution = 50 (say)
Lower bound for solutions with no facility
at 1, 2, or 4 (i.e. y1 = y2 = y4 = 1) = 70
What if 21y1y2y4 is changed to 20y1y2y4 in H(y)?
We can reduce the coefficient of 21y1y2y4 to anything more
than 1 without affecting the optimality of the
optimal solution to H(y).
Lecture 3 Voronovo 2021
53
New Preprocessing
So we can change
to
without changing the optimal solution!
H1(y) = 59-8y1-y2-3y3-4y4+2y1y2+4y1y4+8y3y4+1y1y2y4+4y2y3y4
H(y) = 59-8y1-y2-3y3-4y4+2y1y2+4y1y4+8y3y4+21y1y2y4+4y2y3y4
Khumawala’s rules reduce this to optimality
(locate plants at sites 2 and 4)
Lecture 3 Voronovo 2021
54
OR-Lib Instances
Problem Number Preprocessing� of sites Conv. New
cap071 16 4 0
cap072 16 6 0
cap073 16 6 3
cap074 16 2 0
cap101 25 9 0
cap102 25 13 0
cap103 25 14 0
cap104 25 12 0
cap131 50 34 8
cap132 50 27 5
cap133 50 25 10
cap134 50 19 0
Lecture 3 Voronovo 2021
55
OR-Lib Instances
Problem Non-linear Preprocessing� terms Conv. New
cap071 699 6 0
cap072 699 12 0
cap073 699 13 2
cap074 699 1 0
cap101 1147 24 0
cap102 1147 33 0
cap103 1147 38 0
cap104 1147 29 0
cap131 2389 163 8
cap132 2389 112 3
cap133 2389 101 11
cap134 2389 62 0
Lecture 3 Voronovo 2021
56
Other Standard Problem Sets
DC took 7% of the time to solve problems
93% CPU time reduction�
DC took <1% of the time to solve the problems
More than 99% CPU time reduction
Lecture 3 Voronovo 2021
57
Another New Preprocessing Rule: Introducing Suboptimality
H1(y) = 54 - 2y1 - 3y2 - 3y3 - 4y4 + 2y1y2 + 10y3y4 +
4y1y4 + 11y1y2y4 + 10y1y3y4 + 2y2y3y4
The optimal solution for H1(y) and H2(y) differ
by at most 2 units.
H2(y) = 54 - 0y1 - 3y2 - 3y3 - 4y4 + 2y1y2 + 10y3y4 +
4y1y4 + 11y1y2y4 + 10y1y3y4 + 2y2y3y4
Lecture 3 Voronovo 2021
58
Another New Preprocessing Rule: Introducing Suboptimality
H1(y) = 54 - 2y1 - 3y2 - 3y3 - 4y4 + 2y1y2 + 10y3y4 +
4y1y4 + 11y1y2y4 + 10y1y3y4 + 2y2y3y4
No preprocessing possible
Lecture 3 Voronovo 2021
59
Another New Preprocessing Rule: Introducing Suboptimality
H2(y) = 54 - 0y1 - 3y2 - 3y3 - 4y4 + 2y1y2 + 10y3y4 +
4y1y4 + 11y1y2y4 + 10y1y3y4 + 2y2y3y4
H2(y) = 54 - 3y2 - 3y3 - 4y4 + 10y3y4 + 2y2y3y4
y1 = 0
H2(y) = 51 - 3y3 - 4y4 + 12y3y4
y2 = 1
Lecture 3 Voronovo 2021
60
Summary of the Rule
H1(y) : 11 non-trivial terms, no preprocessing possible
(data correcting, with accuracy ≥ 2 units)
H2(y) : 10 non-trivial terms
(conventional preprocessing, two sites preprocessed)
H2(y) : 4 non-trivial terms, no preprocessing possible
Lecture 3 Voronovo 2021
61
Data Structures
Sites
A
B
C
D
Fixed
Costs
9
4
3
6
Customers I II III IV
Transportation costs
7 12 22 13
8 9 18 17
16 17 10 27
9 13 10 11
Permutation Matrix
Π
1 2 3 4
2 1 4 1
4 4 2 2
3 3 1 3
Skip Data Structure Details
Lecture 3 Voronovo 2021
62
Data Structures
Client k
Fk = 10
Tk = 5
3
7
8
4
2
9
Hammer function for this client:
10 + 2 + y6 + y2y6 + y2y5y6
+ 2y1y2y5y6 + y1y2y3y5y6
+ y1y2y3y4y5y6
Lecture 3 Voronovo 2021
63
Data Structures: Computing Linear Terms
Client k
Fk = 10
Tk = 5
3
7
8
4
2
9
Δk
1
1
1
2
1
1
0
Πk
6
2
5
1
3
4
7
L
NL
Linear term:
Look at the position of pointer L;
If that position is p, then coefficient
of linear term is Δ(p-1),k
Hammer function for this client:
10 + 2 + y6 + y2y6 + y2y5y6
+ 2y1y2y5y6 + y1y2y3y5y6
+ y1y2y3y4y5y6
Lecture 3 Voronovo 2021
64
Data Structures: Computing Non-linear Terms
Client k
Fk = 10
Tk = 5
3
7
8
4
2
9
Δk
1
1
1
2
1
1
0
Πk
6
2
5
1
3
4
7
L
NL
Non-Linear Term involving y1:
Locate the position p of 1 in Πk;
p
Add Δk values from the position
of NL to p (i.e. 0+1+1+2 = 6)
Hammer function for this client:
10 + 2 + y6 + y2y6 + y2y5y6
+ 2y1y2y5y6 + y1y2y3y5y6
+ y1y2y3y4y5y6
Lecture 3 Voronovo 2021
65
Data Structures: Updating the �L-pointer
Client k
Fk = 10
Tk = 5
3
7
8
4
2
9
Δk
1
1
1
2
1
1
0
Πk
6
2
5
1
3
4
7
L
NL
If y6 is set to 1 then
L points to the next position in
Πk.
L
Hammer function for this client:
10 + 2 + y6 + y2y6 + y2y5y6
+ 2y1y2y5y6 + y1y2y3y5y6
+ y1y2y3y4y5y6
Lecture 3 Voronovo 2021
66
Data Structures: Updating the�NL-pointer
Client k
Fk = 10
Tk = 5
3
7
8
4
2
9
Δk
1
1
1
2
1
1
0
Πk
6
2
5
1
3
4
7
L
NL
If (say) y3 is set to 0 then
NL points to the position
before that of 3 in Πk.
NL
Hammer function for this client:
10 + 2 + y6 + y2y6 + y2y5y6
+ 2y1y2y5y6 + y1y2y3y5y6
+ y1y2y3y4y5y6
Lecture 3 Voronovo 2021
67
The Data Correcting Algorithm
procedure data_correcting(H(.), y, α)
begin
do conventional preprocessing;
do new preprocessing with an accuracy α0 ≤ α;
partition the solution space by choosing a
branching variable yj;
/* New Hammer function is H’(.) */
set yj = 1;
sol1 = data_correcting(H’(.), y, α−α0);
set yj = 0;
sol0 = data_correcting(H’(.), y, α−α0);
return the better of sol1 and sol0;
end;
We do this step
only at the root
Lecture 3 Voronovo 2021
68
Körkel-Ghosh Instances (size 65)
Lecture 3 Voronovo 2021
69
Körkel-Ghosh Instances (size 65)
Lecture 3 Voronovo 2021
70
Körkel-Ghosh Instances (size 100)
Lecture 3 Voronovo 2021
71
Körkel-Ghosh Instances (size 100)
Lecture 3 Voronovo 2021
72
Summary
Lecture 3 Voronovo 2021
73
Research Directions
Lecture 3 Voronovo 2021
74
Literature 1
Lecture 3 Voronovo 2021
75
Literature 2
Lecture 3 Voronovo 2021
76
Literature 3
Lecture 3 Voronovo 2021
77
Thank you!